Пример #1
0
void IPC_msgNotifyMaster(void)
{
		// make sure all data transactions complete before next instruction is executed
		__DSB();  	
							
		// now trigger the remote processor
		__sev();
}
void IPC_sendInterrupt(void) {

	/* make sure all data transactions complete before next instruction is executed */
	__DSB();  	
							
	/* now trigger the remote processor */
	__sev();
}
Пример #3
0
void IPC_sendMsg(mbxId_t mbxNum, msg_t msg, msgId_t msgNum, mbxParam_t param) {

    Mbx* rPtr = (Mbx*)(mbxRemoteTablePtr);
    rPtr += mbxNum;

    // prepare the information
    rPtr->mbxHeader.msg = msg;
    rPtr->mbxHeader.msgId = msgNum;
    rPtr->mbxParam = param;
    rPtr->mbxStatus = PROCESS;

    // make sure all data transactions complete before next instruction is executed
    __DSB();

    // now trigger the remote processor
    __sev();
}
Пример #4
0
// ARM-LABEL: test_sev
// AArch32: call void @llvm.arm.hint(i32 4)
// AArch64: call void @llvm.aarch64.hint(i32 4)
void test_sev(void) {
  __sev();
}
Пример #5
0
void sev() {
  __sev();
}
void check__sev(void) {
  __sev();
}