guo ecf2d82159
sync branch rt-smart. (#6641)
* Synchronize the code of the rt mart branch to the master branch.
  * TTY device
  * Add lwP code from rt-smart
  * Add vnode in DFS, but DFS will be re-write for rt-smart
  * There are three libcpu for rt-smart:
    * arm/cortex-a, arm/aarch64
    * riscv64

Co-authored-by: Rbb666 <zhangbingru@rt-thread.com>
Co-authored-by: zhkag <zhkag@foxmail.com>
2022-12-03 12:07:44 +08:00

40 lines
846 B
C

#ifndef __MESSAGEBOX__H__
#define __MESSAGEBOX__H__
#include <stdint.h>
enum cpu_type {
ARM_MSG_CORE,
RISC_V_MSG_CORE,
MIPS_MSG_CORE,
OPENRISC_MSG_CORE,
DSP0_MSG_CORE,
DSP1_MSG_CORE,
};
struct msg_endpoint {
uint32_t local_amp;
uint32_t remote_amp;
uint32_t write_ch;
uint32_t read_ch;
struct msg_endpoint *next;
void *data;
void (*rec)(uint32_t l, void *d);
void (*tx_done)(void *d);
/* use in driver */
void *private;
};
uint32_t hal_msgbox_init(void);
uint32_t hal_msgbox_alloc_channel(struct msg_endpoint *edp, uint32_t remote,
uint32_t read, uint32_t write);
uint32_t hal_msgbox_channel_send(struct msg_endpoint *edp, uint8_t *bf,
uint32_t len);
void hal_msgbox_free_channel(struct msg_endpoint *edp);
#endif /* __MESSAGEBOX__H__ */