mirror of
https://github.com/ipxe/ipxe
synced 2025-12-15 17:12:54 +03:00
40 lines
1.3 KiB
C
40 lines
1.3 KiB
C
|
|
#ifndef _ARBEL_H
|
||
|
|
#define _ARBEL_H
|
||
|
|
|
||
|
|
struct MLX_DECLARE_STRUCT ( arbelprm_completion_queue_entry );
|
||
|
|
struct MLX_DECLARE_STRUCT ( arbelprm_completion_with_error );
|
||
|
|
struct MLX_DECLARE_STRUCT ( arbelprm_cq_ci_db_record );
|
||
|
|
struct MLX_DECLARE_STRUCT ( arbelprm_qp_db_record );
|
||
|
|
struct MLX_DECLARE_STRUCT ( arbelprm_send_doorbell );
|
||
|
|
struct MLX_DECLARE_STRUCT ( arbelprm_ud_address_vector );
|
||
|
|
struct MLX_DECLARE_STRUCT ( arbelprm_wqe_segment_ctrl_send );
|
||
|
|
struct MLX_DECLARE_STRUCT ( arbelprm_wqe_segment_data_ptr );
|
||
|
|
struct MLX_DECLARE_STRUCT ( arbelprm_wqe_segment_next );
|
||
|
|
struct MLX_DECLARE_STRUCT ( arbelprm_wqe_segment_ud );
|
||
|
|
|
||
|
|
#define ARBELPRM_MAX_GATHER 1
|
||
|
|
|
||
|
|
struct arbelprm_ud_send_wqe {
|
||
|
|
struct arbelprm_wqe_segment_next next;
|
||
|
|
struct arbelprm_wqe_segment_ctrl_send ctrl;
|
||
|
|
struct arbelprm_wqe_segment_ud ud;
|
||
|
|
struct arbelprm_wqe_segment_data_ptr data[ARBELPRM_MAX_GATHER];
|
||
|
|
} __attribute__ (( packed ));
|
||
|
|
|
||
|
|
union arbelprm_completion_entry {
|
||
|
|
struct arbelprm_completion_queue_entry normal;
|
||
|
|
struct arbelprm_completion_with_error error;
|
||
|
|
} __attribute__ (( packed ));
|
||
|
|
|
||
|
|
union arbelprm_doorbell_record {
|
||
|
|
struct arbelprm_cq_ci_db_record cq_ci;
|
||
|
|
struct arbelprm_qp_db_record qp;
|
||
|
|
} __attribute__ (( packed ));
|
||
|
|
|
||
|
|
union arbelprm_doorbell_register {
|
||
|
|
struct arbelprm_send_doorbell send;
|
||
|
|
uint32_t dword[2];
|
||
|
|
} __attribute__ (( packed ));
|
||
|
|
|
||
|
|
#endif /* _ARBEL_H */
|