Files
TAIXIN/sdk/include/lib/rpc/cpurpc.h

24 lines
761 B
C
Raw Normal View History

#ifndef _HGIC_CPURPC_H_
#define _HGIC_CPURPC_H_
#ifdef __cplusplus
extern "C" {
#endif
int32 cpu_rpc_init(uint32 mbox_addr, uint32 rx_irq, uint32 tx_irq);
int32 cpu_rpc2_init(uint32 t_box, uint32 r_box, uint32 ctrl_base, uint32 irq);
int32 cpu_rpc_call(uint32 func_id, uint32 *args, uint32 arg_cnt, uint32 sync);
const void *cpu_rpc_func(uint32 func_id);
int32 cpu_splock_init(uint32 addr, uint32 irq_num);
int32 cpu_splock_lock(CPU_SPLOCK_ID lock_id);
int32 cpu_splock_unlock(CPU_SPLOCK_ID lock_id);
#define CPU_RPC_CALL(f) cpu_rpc_call(RPC_FUNCID_##f, args, ARRAY_SIZE(args), 1)
#define CPU_RPC_CALL_ASYNC(f) cpu_rpc_call(RPC_FUNCID_##f, args, ARRAY_SIZE(args), 0)
#define RPC_FUNC_DEF(f) [RPC_FUNCID_##f]=f
#ifdef __cplusplus
}
#endif
#endif