summary refs log tree commit diff stats
path: root/hw/sun4m_iommu.c
diff options
context:
space:
mode:
authorBlue Swirl <blauwirbel@gmail.com>2011-08-07 19:09:50 +0000
committerBlue Swirl <blauwirbel@gmail.com>2011-08-21 19:52:32 +0000
commit149e1ea154efebf0b3a7aae20538ce7673d78b77 (patch)
tree97ec753688ca8128d11b7b0ecb5e97058178ae50 /hw/sun4m_iommu.c
parent07dd0035d83727ed2b1922a85cd5aea5b010025b (diff)
downloadfocaccia-qemu-149e1ea154efebf0b3a7aae20538ce7673d78b77.tar.gz
focaccia-qemu-149e1ea154efebf0b3a7aae20538ce7673d78b77.zip
sun4m_iommu: avoid structure holes spotted by pahole
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 <blauwirbel@gmail.com>
Diffstat (limited to 'hw/sun4m_iommu.c')
-rw-r--r--hw/sun4m_iommu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/sun4m_iommu.c b/hw/sun4m_iommu.c
index 7f5dad535c..6eeadfa184 100644
--- a/hw/sun4m_iommu.c
+++ b/hw/sun4m_iommu.c
@@ -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)