Markus Armbruster <arm...@redhat.com> 于2018年11月27日周二 下午2:59写道:
> Li Qiang <liq...@gmail.com> writes: > > > Signed-off-by: Li Qiang <liq...@gmail.com> > > --- > > hw/i386/pc.c | 9 +++------ > > hw/sparc64/sun4u.c | 2 +- > > include/hw/i386/pc.h | 7 +++++++ > > 3 files changed, 11 insertions(+), 7 deletions(-) > > > > diff --git a/hw/i386/pc.c b/hw/i386/pc.c > > index f095725dba..5d3fd86b83 100644 > > --- a/hw/i386/pc.c > > +++ b/hw/i386/pc.c > > @@ -502,9 +502,6 @@ void pc_cmos_init(PCMachineState *pcms, > > qemu_register_reset(pc_cmos_init_late, &arg); > > } > > > > -#define TYPE_PORT92 "port92" > > -#define PORT92(obj) OBJECT_CHECK(Port92State, (obj), TYPE_PORT92) > > - > > /* port 92 stuff: could be split off */ > > typedef struct Port92State { > > ISADevice parent_obj; > > @@ -1543,10 +1540,10 @@ static void pc_superio_init(ISABus *isa_bus, > bool create_fdctrl, bool no_vmport) > > fdctrl_init_isa(isa_bus, fd); > > } > > > > - i8042 = isa_create_simple(isa_bus, "i8042"); > > + i8042 = isa_create_simple(isa_bus, TYPE_I8042); > > if (!no_vmport) { > > vmport_init(isa_bus); > > - vmmouse = isa_try_create(isa_bus, "vmmouse"); > > + vmmouse = isa_try_create(isa_bus, TYPE_VMMOUSE); > > } else { > > vmmouse = NULL; > > } > > @@ -1555,7 +1552,7 @@ static void pc_superio_init(ISABus *isa_bus, bool > create_fdctrl, bool no_vmport) > > qdev_prop_set_ptr(dev, "ps2_mouse", i8042); > > qdev_init_nofail(dev); > > } > > - port92 = isa_create_simple(isa_bus, "port92"); > > + port92 = isa_create_simple(isa_bus, TYPE_PORT92); > > > > a20_line = qemu_allocate_irqs(handle_a20_line_change, first_cpu, 2); > > i8042_setup_a20_line(i8042, a20_line[0]); > > diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c > > index f76b19e4e9..c49a416b95 100644 > > --- a/hw/sparc64/sun4u.c > > +++ b/hw/sparc64/sun4u.c > > @@ -305,7 +305,7 @@ static void ebus_realize(PCIDevice *pci_dev, Error > **errp) > > parallel_hds_isa_init(s->isa_bus, MAX_PARALLEL_PORTS); > > > > /* Keyboard */ > > - isa_create_simple(s->isa_bus, "i8042"); > > + isa_create_simple(s->isa_bus, TYPE_I8042); > > > > /* Floppy */ > > for (i = 0; i < MAX_FD; i++) { > > diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h > > index 136fe497b6..29db770d86 100644 > > --- a/include/hw/i386/pc.h > > +++ b/include/hw/i386/pc.h > > @@ -169,6 +169,13 @@ void gsi_handler(void *opaque, int n, int level); > > #define TYPE_VMPORT "vmport" > > typedef uint32_t (VMPortReadFunc)(void *opaque, uint32_t address); > > > > +#define TYPE_PORT92 "port92" > > +#define PORT92(obj) OBJECT_CHECK(Port92State, (obj), TYPE_PORT92) > > Why move these to the header? They're used only in hw/i386/pc.c. > > > + > > +/* vmmouse.c */ > > +#define TYPE_VMMOUSE "vmmouse" > > +#define VMMOUSE(obj) OBJECT_CHECK(VMMouseState, (obj), TYPE_VMMOUSE) > > + > > Likewise, why define these in the header? > > Hello Markus, Thanks for your review. Seems there is an error. I have made a new revision just touch the necessary code. A new revision has been sent out. Thanks, Li Qiang > TYPE_VMMOUSE is used just once, in hw/i386/pc.c. VMMOUSE() isn't used > at all. I'm okay with adding macros anyway, for consistency. > > > static inline void vmport_init(ISABus *bus) > > { > > isa_create_simple(bus, TYPE_VMPORT); >