]> Git Repo - qemu.git/commitdiff
sun4m_iommu: avoid structure holes spotted by pahole
authorBlue Swirl <[email protected]>
Sun, 7 Aug 2011 19:09:50 +0000 (19:09 +0000)
committerBlue Swirl <[email protected]>
Sun, 21 Aug 2011 19:52:32 +0000 (19:52 +0000)
Report from pahole on amd64 host:
struct IOMMUState {
SysBusDevice               busdev;               /*     0  5648 */
/* --- cacheline 88 boundary (5632 bytes) was 16 bytes ago --- */
uint32_t                   regs[4096];           /*  5648 16384 */
/* --- cacheline 344 boundary (22016 bytes) was 16 bytes ago --- */
target_phys_addr_t         iostart;              /* 22032     8 */
uint32_t                   version;              /* 22040     4 */

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

qemu_irq                   irq;                  /* 22048     8 */

/* size: 22056, cachelines: 345 */
/* sum members: 22052, holes: 1, sum holes: 4 */
/* last cacheline: 40 bytes */
}; /* definitions: 1 */

Fix by rearranging the structure to avoid padding.

Signed-off-by: Blue Swirl <[email protected]>
hw/sun4m_iommu.c

index 7f5dad535ca8d9e2d354eaadd5a5fbac527e7f86..6eeadfa18438b9faa7c8e80004d4560a1055fc6d 100644 (file)
@@ -130,8 +130,8 @@ typedef struct IOMMUState {
     SysBusDevice busdev;
     uint32_t regs[IOMMU_NREGS];
     target_phys_addr_t iostart;
-    uint32_t version;
     qemu_irq irq;
+    uint32_t version;
 } IOMMUState;
 
 static uint32_t iommu_mem_readl(void *opaque, target_phys_addr_t addr)
This page took 0.023872 seconds and 4 git commands to generate.