sun4m: fix slavio sysctrl and led register sizes
These were being incorrectly declared as MISC_SIZE (1 byte) rather than 4 bytes and 2 bytes respectively. As a result accesses clamped to the real register size would unexpectedly fail. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> CC: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <1427987370-15897-1-git-send-email-mark.cave-ayland@ilande.co.uk> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
339240b5cd
commit
0e1cd6576c
@ -68,6 +68,7 @@ typedef struct APCState {
|
|||||||
} APCState;
|
} APCState;
|
||||||
|
|
||||||
#define MISC_SIZE 1
|
#define MISC_SIZE 1
|
||||||
|
#define LED_SIZE 2
|
||||||
#define SYSCTRL_SIZE 4
|
#define SYSCTRL_SIZE 4
|
||||||
|
|
||||||
#define AUX1_TC 0x02
|
#define AUX1_TC 0x02
|
||||||
@ -452,13 +453,13 @@ static int slavio_misc_init1(SysBusDevice *sbd)
|
|||||||
/* 16 bit registers */
|
/* 16 bit registers */
|
||||||
/* ss600mp diag LEDs */
|
/* ss600mp diag LEDs */
|
||||||
memory_region_init_io(&s->led_iomem, OBJECT(s), &slavio_led_mem_ops, s,
|
memory_region_init_io(&s->led_iomem, OBJECT(s), &slavio_led_mem_ops, s,
|
||||||
"leds", MISC_SIZE);
|
"leds", LED_SIZE);
|
||||||
sysbus_init_mmio(sbd, &s->led_iomem);
|
sysbus_init_mmio(sbd, &s->led_iomem);
|
||||||
|
|
||||||
/* 32 bit registers */
|
/* 32 bit registers */
|
||||||
/* System control */
|
/* System control */
|
||||||
memory_region_init_io(&s->sysctrl_iomem, OBJECT(s), &slavio_sysctrl_mem_ops, s,
|
memory_region_init_io(&s->sysctrl_iomem, OBJECT(s), &slavio_sysctrl_mem_ops, s,
|
||||||
"system-control", MISC_SIZE);
|
"system-control", SYSCTRL_SIZE);
|
||||||
sysbus_init_mmio(sbd, &s->sysctrl_iomem);
|
sysbus_init_mmio(sbd, &s->sysctrl_iomem);
|
||||||
|
|
||||||
/* AUX 1 (Misc System Functions) */
|
/* AUX 1 (Misc System Functions) */
|
||||||
|
Loading…
Reference in New Issue
Block a user