m48t59: avoid structure holes spotted by pahole
Report from pahole on amd64 host:
struct M48t59State {
uint32_t type; /* 0 4 */
/* XXX 4 bytes hole, try to pack */
qemu_irq IRQ; /* 8 8 */
uint32_t io_base; /* 16 4 */
uint32_t size; /* 20 4 */
time_t time_offset; /* 24 8 */
time_t stop_time; /* 32 8 */
struct tm alarm; /* 40 56 */
/* --- cacheline 1 boundary (64 bytes) was 32 bytes ago --- */
struct QEMUTimer * alrm_timer; /* 96 8 */
struct QEMUTimer * wd_timer; /* 104 8 */
uint8_t lock; /* 112 1 */
/* XXX 1 byte hole, try to pack */
uint16_t addr; /* 114 2 */
/* XXX 4 bytes hole, try to pack */
uint8_t * buffer; /* 120 8 */
/* --- cacheline 2 boundary (128 bytes) --- */
/* size: 128, cachelines: 2 */
/* sum members: 119, holes: 3, sum holes: 9 */
}; /* definitions: 1 */
Fix by rearranging the structure to avoid padding.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
d7b9553489
commit
42c812b98b
|
|
@ -50,8 +50,6 @@
|
|||
*/
|
||||
|
||||
struct M48t59State {
|
||||
/* Model parameters */
|
||||
uint32_t type; // 2 = m48t02, 8 = m48t08, 59 = m48t59
|
||||
/* Hardware parameters */
|
||||
qemu_irq IRQ;
|
||||
uint32_t io_base;
|
||||
|
|
@ -64,9 +62,12 @@ struct M48t59State {
|
|||
struct QEMUTimer *alrm_timer;
|
||||
struct QEMUTimer *wd_timer;
|
||||
/* NVRAM storage */
|
||||
uint8_t lock;
|
||||
uint16_t addr;
|
||||
uint8_t *buffer;
|
||||
/* Model parameters */
|
||||
uint32_t type; /* 2 = m48t02, 8 = m48t08, 59 = m48t59 */
|
||||
/* NVRAM storage */
|
||||
uint16_t addr;
|
||||
uint8_t lock;
|
||||
};
|
||||
|
||||
typedef struct M48t59ISAState {
|
||||
|
|
|
|||
Loading…
Reference in New Issue