mirror of https://gitee.com/openkylin/qemu.git
slavio_misc: avoid structure holes spotted by pahole
Report from pahole on amd64 host: struct MiscState { SysBusDevice busdev; /* 0 5648 */ /* --- cacheline 88 boundary (5632 bytes) was 16 bytes ago --- */ qemu_irq irq; /* 5648 8 */ uint32_t dummy; /* 5656 4 */ uint8_t config; /* 5660 1 */ uint8_t aux1; /* 5661 1 */ uint8_t aux2; /* 5662 1 */ uint8_t diag; /* 5663 1 */ uint8_t mctrl; /* 5664 1 */ uint8_t sysctrl; /* 5665 1 */ uint16_t leds; /* 5666 2 */ /* XXX 4 bytes hole, try to pack */ qemu_irq fdc_tc; /* 5672 8 */ /* size: 5680, cachelines: 89 */ /* sum members: 5676, holes: 1, sum holes: 4 */ /* last cacheline: 48 bytes */ }; /* definitions: 1 */ Fix by rearranging the structure to avoid padding. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
f90074f493
commit
97bbb109b1
|
@ -37,13 +37,13 @@
|
||||||
typedef struct MiscState {
|
typedef struct MiscState {
|
||||||
SysBusDevice busdev;
|
SysBusDevice busdev;
|
||||||
qemu_irq irq;
|
qemu_irq irq;
|
||||||
|
qemu_irq fdc_tc;
|
||||||
uint32_t dummy;
|
uint32_t dummy;
|
||||||
uint8_t config;
|
uint8_t config;
|
||||||
uint8_t aux1, aux2;
|
uint8_t aux1, aux2;
|
||||||
uint8_t diag, mctrl;
|
uint8_t diag, mctrl;
|
||||||
uint8_t sysctrl;
|
uint8_t sysctrl;
|
||||||
uint16_t leds;
|
uint16_t leds;
|
||||||
qemu_irq fdc_tc;
|
|
||||||
} MiscState;
|
} MiscState;
|
||||||
|
|
||||||
typedef struct APCState {
|
typedef struct APCState {
|
||||||
|
|
Loading…
Reference in New Issue