From patchwork Thu Nov 1 13:04:16 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [14/29] cirrus: add qom property for isa-cirrus-vga Date: Thu, 01 Nov 2012 03:04:16 -0000 From: Michael Roth X-Patchwork-Id: 196195 Message-Id: <1351775071-7644-15-git-send-email-mdroth@linux.vnet.ibm.com> To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, peter.maydell@linaro.org, aliguori@us.ibm.com, quintela@redhat.com, blauwirbel@gmail.com, pbonzini@redhat.com Signed-off-by: Michael Roth --- hw/cirrus_vga.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c index 220525a..4f00758 100644 --- a/hw/cirrus_vga.c +++ b/hw/cirrus_vga.c @@ -2903,6 +2903,23 @@ static void cirrus_init_common(CirrusVGAState * s, int device_id, int is_pci, * ***************************************/ +static void isa_cirrus_vga_get_state(Object *obj, Visitor *v, void *opaque, + const char *name, Error **errp) +{ + ISADevice *isa = ISA_DEVICE(obj); + ISACirrusVGAState *s = DO_UPCAST(ISACirrusVGAState, dev, isa); + QIDL_VISIT_TYPE(ISACirrusVGAState, v, &s, name, errp); +} + +static void isa_cirrus_vga_set_state(Object *obj, Visitor *v, void *opaque, + const char *name, Error **errp) +{ + ISADevice *isa = ISA_DEVICE(obj); + ISACirrusVGAState *s = DO_UPCAST(ISACirrusVGAState, dev, isa); + QIDL_VISIT_TYPE(ISACirrusVGAState, v, &s, name, errp); + cirrus_post_load(&s->cirrus_vga, -1); +} + static int vga_initfn(ISADevice *dev) { ISACirrusVGAState *d = DO_UPCAST(ISACirrusVGAState, dev, dev); @@ -2918,6 +2935,10 @@ static int vga_initfn(ISADevice *dev) rom_add_vga(VGABIOS_CIRRUS_FILENAME); /* XXX ISA-LFB support */ /* FIXME not qdev yet */ + object_property_add(OBJECT(d), "state", "ISACirrusVGAState", + isa_cirrus_vga_get_state, isa_cirrus_vga_set_state, + NULL, NULL, NULL); + QIDL_SCHEMA_ADD_LINK(ISACirrusVGAState, OBJECT(d), "state_schema", NULL); return 0; }