mirror of https://gitee.com/openkylin/qemu.git
uninorth: remove token register from uninorth device
>From observation of various OS sources it can be seen that the token register
introduced in 4e46dcdbd3
"PPC: Newworld: Add uninorth token register" is not
required, since the only register currently implemented is the uninorth hardware
version which is read-only.
Remove the token register implementation and instead return the uninorth
version corresponding to the hardware.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
56e7404bc1
commit
45fefe7c4d
|
@ -524,19 +524,18 @@ static void unin_write(void *opaque, hwaddr addr, uint64_t value,
|
|||
unsigned size)
|
||||
{
|
||||
trace_unin_write(addr, value);
|
||||
if (addr == 0x0) {
|
||||
*(int *)opaque = value;
|
||||
}
|
||||
}
|
||||
|
||||
static uint64_t unin_read(void *opaque, hwaddr addr, unsigned size)
|
||||
{
|
||||
uint32_t value;
|
||||
|
||||
value = 0;
|
||||
switch (addr) {
|
||||
case 0:
|
||||
value = *(int *)opaque;
|
||||
value = UNINORTH_VERSION_10A;
|
||||
break;
|
||||
default:
|
||||
value = 0;
|
||||
}
|
||||
|
||||
trace_unin_read(addr, value);
|
||||
|
@ -555,7 +554,7 @@ static void unin_init(Object *obj)
|
|||
UNINState *s = UNI_NORTH(obj);
|
||||
SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
|
||||
|
||||
memory_region_init_io(&s->mem, obj, &unin_ops, &s->token, "unin", 0x1000);
|
||||
memory_region_init_io(&s->mem, obj, &unin_ops, s, "unin", 0x1000);
|
||||
|
||||
sysbus_init_mmio(sbd, &s->mem);
|
||||
}
|
||||
|
|
|
@ -29,6 +29,9 @@
|
|||
|
||||
#include "hw/ppc/openpic.h"
|
||||
|
||||
/* UniNorth version */
|
||||
#define UNINORTH_VERSION_10A 0x7
|
||||
|
||||
#define TYPE_UNI_NORTH_PCI_HOST_BRIDGE "uni-north-pci-pcihost"
|
||||
#define TYPE_UNI_NORTH_AGP_HOST_BRIDGE "uni-north-agp-pcihost"
|
||||
#define TYPE_UNI_NORTH_INTERNAL_PCI_HOST_BRIDGE "uni-north-internal-pci-pcihost"
|
||||
|
@ -57,7 +60,6 @@ typedef struct UNINState {
|
|||
SysBusDevice parent_obj;
|
||||
|
||||
MemoryRegion mem;
|
||||
int token[1];
|
||||
} UNINState;
|
||||
|
||||
#define TYPE_UNI_NORTH "uni-north"
|
||||
|
|
Loading…
Reference in New Issue