sun4m: avoid structure holes spotted by pahole
commit61999750d3df96ee3f2b111420c7d0a117e57df7
authorBlue Swirl <blauwirbel@gmail.com>
Sun, 7 Aug 2011 19:22:46 +0000 (7 19:22 +0000)
committerBlue Swirl <blauwirbel@gmail.com>
Sun, 21 Aug 2011 19:52:35 +0000 (21 19:52 +0000)
tree91701cba2a0949b48bf9a7cc6798b1d0c72fa9a0
parent427a66c3a5674cf69efcd2d82f32ffdf91f2044a
sun4m: avoid structure holes spotted by pahole

Edited report from pahole on amd64 host:
struct sun4c_hwdef {
...
uint8_t                    nvram_machine_id;     /*   112     1 */

/* XXX 1 byte hole, try to pack */
...
/* size: 136, cachelines: 3 */
/* sum members: 135, holes: 1, sum holes: 1 */
/* last cacheline: 8 bytes */
}; /* definitions: 1 */

struct sun4d_hwdef {
...
uint8_t                    nvram_machine_id;     /*   128     1 */

/* XXX 1 byte hole, try to pack */
...
/* size: 152, cachelines: 3 */
/* sum members: 151, holes: 1, sum holes: 1 */
/* last cacheline: 24 bytes */
}; /* definitions: 1 */

struct sun4m_hwdef {
...
uint8_t                    nvram_machine_id;     /*   260     1 */

/* XXX 1 byte hole, try to pack */

uint16_t                   machine_id;           /*   262     2 */
uint32_t                   iommu_version;        /*   264     4 */

/* XXX 4 bytes hole, try to pack */
...
/* size: 288, cachelines: 5 */
/* sum members: 283, holes: 2, sum holes: 5 */
/* last cacheline: 32 bytes */
}; /* definitions: 1 */

Fix by rearranging the structures to avoid padding.

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