hexo/ipi.h header reference
[Hardware abstraction layer module]
The source code of this header can be browsed online.
Description [link]
Inter-processor interrupts
Members [link]
Types [link]
- struct ipi_endpoint_s
- typedef void (ipi_msg_func_t)(void *priv)
- typedef [...] * ipi_queue_item_t
- struct ipi_request_s
Functions [link]
- bool_t ipi_endpoint_isvalid(struct ipi_endpoint_s *endpoint)
- error_t ipi_post(struct ipi_endpoint_s *endpoint)
- error_t ipi_post_rq(struct ipi_endpoint_s *endpoint, struct ipi_request_s *rq)
- void ipi_process_rq(void )
Variable [link]
- struct ipi_endpoint_s ipi_endpoint
Members detail [link]
#define GCT_CONTAINER_ALGO_idle_cpu_queue [link]
This macro is declared in hexo/ipi.h source file, line 50.
#define GCT_CONTAINER_ALGO_ipi_queue [link]
This macro is declared in hexo/ipi.h source file, line 54.
#define GCT_CONTAINER_LOCK_ipi_queue [link]
This macro is declared in hexo/ipi.h source file, line 53.
#define GCT_CONTAINER_ORPHAN_idle_cpu_queue [link]
This macro is declared in hexo/ipi.h source file, line 51.
#define IPI_H_ [link]
This macro is declared in hexo/ipi.h source file, line 29.
#define IPI_MSG_FUNC(n) [link]
This macro is declared in hexo/ipi.h source file, line 46.
struct ipi_endpoint_s ipi_endpoint [link]
This variable is declared in hexo/ipi.h source file, line 81.
This declaration involves expansion of the CPU_LOCAL macro.
bool_t ipi_endpoint_isvalid(struct ipi_endpoint_s *endpoint) [link]
This function is declared in hexo/ipi.h source file, line 117.
Checks whether a given endpoint may receive IPIs.
Parameter list:
- endpoint: IPI endpoint to check
The return value is whether endpoint may receive IPIs
struct ipi_endpoint_s [link]
This struct is declared in device/class/icu.h source file, line 43.
Field | Description |
---|---|
struct device_s * icu_dev; | |
void * priv; | |
ipi_queue_root_t ipi_fifo; |
typedef void (ipi_msg_func_t)(void *priv) [link]
This typedef is declared in hexo/ipi.h source file, line 49.
error_t ipi_post(struct ipi_endpoint_s *endpoint) [link]
This function is declared in hexo/ipi.h source file, line 90.
Send an ipi to given endpoint.
Parameter list:
- endpoint: Pointer to ipi endpoint
The return value is zero if ipi was sent
error_t ipi_post_rq(struct ipi_endpoint_s *endpoint, struct ipi_request_s *rq) [link]
This function is declared in hexo/ipi.h source file, line 101.
Attach the given callback for execution on target processor and send an ipi to given endpoint.
Parameter list:
- endpoint: Pointer to ipi endpoint
- rq: Request buffer
The return value is zero if message was attached and ipi sent
See also CPU_LOCAL_ID_ADDR.
void ipi_process_rq(void ) [link]
This function is declared in hexo/ipi.h source file, line 107.
Request processing of pending messages on current processor. Must be called from icu driver
typedef void * ipi_queue_entry_t [link]
This typedef is declared in hexo/ipi.h source file, line 65.
typedef struct ipi_request_s * ipi_queue_item_t [link]
This typedef is declared in hexo/ipi.h source file, line 65.
typedef void * ipi_queue_root_t [link]
This typedef is declared in hexo/ipi.h source file, line 65.
struct ipi_request_s [link]
This struct is declared in hexo/ipi.h source file, line 58.
Field | Description |
---|---|
ipi_msg_func_t * func; | |
void * priv; |
See also ipi_queue_item_t.