ZCOM Tables and Data Structures

Message Header

Message Header

In the buffer header (i.e., BFDATA pointer), there is a message header that describes the message type, the source and destination addresses, and the type of response expected from the message. The message header is the first 30 bytes of the buffer data area. When the data buffer is allocated, the initial data offset is chosen so that the message data starts on a specific boundary depending on its purpose (e.g. for a inbound DMA buffer, the data area must be on a 64-byte boundary). For inbound DMA buffer, enough space is left at the end of the buffer so that the final

64-byte boundary is within the buffer area but beyond the end of the data area. These boundary limits ensure that the DMA reads and writes will not cause side effects by corrupting other buffers. Besides, the size of the buffer is rounded up to a multiple of 8-bytes, to satisfy the 64-bit alignment which is needed for the 64-bit kernel.

Message Header (zmhd_type)

 

Table 3-33 shows the information in the message header (zmhd_type).

Table 3-33

Message Header (zmhd_type)

 

 

 

 

 

 

 

Field Name

 

Field Description

Field Type

Size

 

(Bytes)

 

 

 

 

 

 

 

 

 

MID

 

Message ID header

struct

24

 

 

 

 

 

MRQ

 

Message request block

struct

6

 

 

 

 

 

112

Chapter 3