On 12/5/24 19:15, Richard Henderson wrote:
On 12/5/24 00:07, Zhao Liu wrote:
The MemTxAttrs structure is composed of bitfield members, and bindgen is
unable to generate an equivalent macro definition for
MEMTXATTRS_UNSPECIFIED.
I'm happy to move away from bit fields to uint32_t or suchlike to enable
MEMTXATTRS_UNSPECIFIED be a compile-time constant.
Yeah, if we go from
typedef struct MemTxAttrs {
unsigned int unspecified:1;
unsigned int secure:1;
unsigned int space:2;
unsigned int user:1;
unsigned int memory:1;
unsigned int requester_id:16;
unsigned int pid:8;
} MemTxAttrs;
to
typedef struct MemTxAttrs {
uint8_t unspecified;
uint8_t secure;
uint8_t space;
uint8_t user;
uint8_t memory;
uint8_t pid;
uint16_t requester_id;
} MemTxAttrs;
is still decently packed and simplifies things a lot. Zhao, can you
submit that as an independent patch?
Paolo