pcnet: avoid structure holes spotted by pahole
authorBlue Swirl <blauwirbel@gmail.com>
Sun, 7 Aug 2011 19:38:49 +0000 (19:38 +0000)
committerBlue Swirl <blauwirbel@gmail.com>
Sun, 21 Aug 2011 19:52:38 +0000 (19:52 +0000)
commit16183437bf6aaa88620aa25758a1cf3e4a3607fb
treec0df5368a612e1dd9e3d53fb1790d39731eaf19c
parentf6cdd21112f6f7254af82059ad7bf429489b2ea3
pcnet: avoid structure holes spotted by pahole

Edited report from pahole on amd64 host:
struct PCNetState_st {
...
uint16_t                   bcr[32];              /*   340    64 */

/* XXX 4 bytes hole, try to pack */
...
int                        tx_busy;              /*  4520     4 */

/* XXX 4 bytes hole, try to pack */

qemu_irq                   irq;                  /*  4528     8 */
void                       (*phys_mem_read)(void *, target_phys_addr_t, uint8_t *, int, int); /*  4536     8 */
/* --- cacheline 71 boundary (4544 bytes) --- */
void                       (*phys_mem_write)(void *, target_phys_addr_t, uint8_t *, int, int); /*  4544     8 */
void *                     dma_opaque;           /*  4552     8 */
int                        looptest;             /*  4560     4 */

/* size: 4568, cachelines: 72 */
/* sum members: 4556, holes: 2, sum holes: 8 */
/* padding: 4 */
/* last cacheline: 24 bytes */
}; /* definitions: 2 */

Fix by rearranging the structure to avoid padding.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
hw/pcnet.h