sparc32: convert eccmemctl to reset + vmsd

Also remove unused include directive.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
Blue Swirl 2009-10-24 14:14:39 +00:00
parent 1c6a50e71c
commit 0284dc5410

View file

@ -22,7 +22,6 @@
* THE SOFTWARE. * THE SOFTWARE.
*/ */
#include "sun4m.h"
#include "sysbus.h" #include "sysbus.h"
//#define DEBUG_ECC //#define DEBUG_ECC
@ -276,9 +275,9 @@ static const VMStateDescription vmstate_ecc = {
} }
}; };
static void ecc_reset(void *opaque) static void ecc_reset(DeviceState *d)
{ {
ECCState *s = opaque; ECCState *s = container_of(d, ECCState, busdev.qdev);
if (s->version == ECC_MCC) if (s->version == ECC_MCC)
s->regs[ECC_MER] &= ECC_MER_REU; s->regs[ECC_MER] &= ECC_MER_REU;
@ -310,9 +309,8 @@ static int ecc_init1(SysBusDevice *dev)
ecc_diag_mem_write, s); ecc_diag_mem_write, s);
sysbus_init_mmio(dev, ECC_DIAG_SIZE, ecc_io_memory); sysbus_init_mmio(dev, ECC_DIAG_SIZE, ecc_io_memory);
} }
vmstate_register(-1, &vmstate_ecc, s); ecc_reset(&s->busdev.qdev);
qemu_register_reset(ecc_reset, s);
ecc_reset(s);
return 0; return 0;
} }
@ -320,6 +318,8 @@ static SysBusDeviceInfo ecc_info = {
.init = ecc_init1, .init = ecc_init1,
.qdev.name = "eccmemctl", .qdev.name = "eccmemctl",
.qdev.size = sizeof(ECCState), .qdev.size = sizeof(ECCState),
.qdev.vmsd = &vmstate_ecc,
.qdev.reset = ecc_reset,
.qdev.props = (Property[]) { .qdev.props = (Property[]) {
DEFINE_PROP_HEX32("version", ECCState, version, -1), DEFINE_PROP_HEX32("version", ECCState, version, -1),
DEFINE_PROP_END_OF_LIST(), DEFINE_PROP_END_OF_LIST(),