[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 06/14] hw/i386/vmport: Define enum for all commands
From: |
Michael S. Tsirkin |
Subject: |
Re: [PATCH 06/14] hw/i386/vmport: Define enum for all commands |
Date: |
Tue, 10 Mar 2020 07:23:09 -0400 |
On Tue, Mar 10, 2020 at 01:16:51PM +0200, Liran Alon wrote:
>
> On 10/03/2020 11:28, Michael S. Tsirkin wrote:
> > On Tue, Mar 10, 2020 at 01:54:03AM +0200, Liran Alon wrote:
> > > No functional change.
> > >
> > > Defining an enum for all VMPort commands have the following advantages:
> > > * It gets rid of the error-prone requirement to update VMPORT_ENTRIES
> > > when new VMPort commands are added to QEMU.
> > > * It makes it clear to know by looking at one place at the source, what
> > > are all the VMPort commands supported by QEMU.
> > >
> > > Reviewed-by: Nikita Leshenko <address@hidden>
> > > Signed-off-by: Liran Alon <address@hidden>
> > > ---
> > >
> > > diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
> > > index d5ac76d54e1f..7f15a01137b1 100644
> > > --- a/include/hw/i386/pc.h
> > > +++ b/include/hw/i386/pc.h
> > > @@ -138,12 +138,21 @@ GSIState *pc_gsi_create(qemu_irq **irqs, bool
> > > pci_enabled);
> > > #define TYPE_VMPORT "vmport"
> > > typedef uint32_t (VMPortReadFunc)(void *opaque, uint32_t address);
> > > +typedef enum {
> > > + VMPORT_CMD_GETVERSION = 10,
> > > + VMPORT_CMD_GETRAMSIZE = 20,
> > > + VMPORT_CMD_VMMOUSE_DATA = 39,
> > > + VMPORT_CMD_VMMOUSE_STATUS = 40,
> > > + VMPORT_CMD_VMMOUSE_COMMAND = 41,
> > > + VMPORT_ENTRIES
> > > +} VMPortCommand;
> > > +
> > Please don't, let's leave pc.h alone. If you must add a new header for
> > vmport/vmmouse and put this stuff there.
>
> As you can see, pc.h already contains definitions which are specific to
> vmport. E.g. TYPE_VMPORT, VMPortReadFunc(), vmport_register(),
> vmmouse_get_data(), vmmouse_set_data(). Adding this enum is not what makes
> the difference.
> It is possible to create a new vmport.h header file but it's not really
> related to this patch. It's just general refactoring. I can do that in v2 if
> you think it's appropriate.
>
> -Liran
Well I just don't want lots of enums in pc.h
> >
> > > static inline void vmport_init(ISABus *bus)
> > > {
> > > isa_create_simple(bus, TYPE_VMPORT);
> > > }
> > > -void vmport_register(unsigned char command, VMPortReadFunc *func, void
> > > *opaque);
> > > +void vmport_register(VMPortCommand command, VMPortReadFunc *func, void
> > > *opaque);
> > > void vmmouse_get_data(uint32_t *data);
> > > void vmmouse_set_data(const uint32_t *data);
> > > --
> > > 2.20.1
- Re: [PATCH 12/14] i386/cpu: Store LAPIC bus frequency in CPU structure, (continued)
[PATCH 14/14] hw/i386/vmport: Assert vmport initialized before registering commands, Liran Alon, 2020/03/09
[PATCH 13/14] hw/i386/vmport: Add support for CMD_GETHZ, Liran Alon, 2020/03/09
[PATCH 06/14] hw/i386/vmport: Define enum for all commands, Liran Alon, 2020/03/09
[PATCH 07/14] hw/i386/vmport: Add support for CMD_GETBIOSUUID, Liran Alon, 2020/03/09
Re: [PATCH 07/14] hw/i386/vmport: Add support for CMD_GETBIOSUUID, Michael S. Tsirkin, 2020/03/10