mirror of https://github.com/xemu-project/xemu.git
lasi: move initialisation of iar and rtc to new lasi_reset() function
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Acked-by: Helge Deller <deller@gmx.de> Message-Id: <20220504092600.10048-27-mark.cave-ayland@ilande.co.uk> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
This commit is contained in:
parent
2683758c7c
commit
b3cdb7e4b2
|
@ -303,7 +303,6 @@ DeviceState *lasi_initfn(MemoryRegion *address_space)
|
||||||
|
|
||||||
dev = qdev_new(TYPE_LASI_CHIP);
|
dev = qdev_new(TYPE_LASI_CHIP);
|
||||||
s = LASI_CHIP(dev);
|
s = LASI_CHIP(dev);
|
||||||
s->iar = CPU_HPA + 3;
|
|
||||||
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
|
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
|
||||||
|
|
||||||
/* LAN */
|
/* LAN */
|
||||||
|
@ -319,11 +318,6 @@ DeviceState *lasi_initfn(MemoryRegion *address_space)
|
||||||
parallel_mm_init(address_space, LASI_LPT_HPA + 0x800, 0,
|
parallel_mm_init(address_space, LASI_LPT_HPA + 0x800, 0,
|
||||||
lpt_irq, parallel_hds[0]);
|
lpt_irq, parallel_hds[0]);
|
||||||
|
|
||||||
/* Real time clock (RTC), it's only one 32-bit counter @9000 */
|
|
||||||
|
|
||||||
s->rtc = time(NULL);
|
|
||||||
s->rtc_ref = 0;
|
|
||||||
|
|
||||||
if (serial_hd(1)) {
|
if (serial_hd(1)) {
|
||||||
/* Serial port */
|
/* Serial port */
|
||||||
qemu_irq serial_irq = qemu_allocate_irq(lasi_set_irq, s,
|
qemu_irq serial_irq = qemu_allocate_irq(lasi_set_irq, s,
|
||||||
|
@ -341,6 +335,17 @@ DeviceState *lasi_initfn(MemoryRegion *address_space)
|
||||||
return dev;
|
return dev;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void lasi_reset(DeviceState *dev)
|
||||||
|
{
|
||||||
|
LasiState *s = LASI_CHIP(dev);
|
||||||
|
|
||||||
|
s->iar = CPU_HPA + 3;
|
||||||
|
|
||||||
|
/* Real time clock (RTC), it's only one 32-bit counter @9000 */
|
||||||
|
s->rtc = time(NULL);
|
||||||
|
s->rtc_ref = 0;
|
||||||
|
}
|
||||||
|
|
||||||
static void lasi_init(Object *obj)
|
static void lasi_init(Object *obj)
|
||||||
{
|
{
|
||||||
LasiState *s = LASI_CHIP(obj);
|
LasiState *s = LASI_CHIP(obj);
|
||||||
|
@ -356,6 +361,7 @@ static void lasi_class_init(ObjectClass *klass, void *data)
|
||||||
{
|
{
|
||||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||||
|
|
||||||
|
dc->reset = lasi_reset;
|
||||||
dc->vmsd = &vmstate_lasi;
|
dc->vmsd = &vmstate_lasi;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue