qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC] pc: Register machine classes directly instead of


From: Marcel Apfelbaum
Subject: Re: [Qemu-devel] [RFC] pc: Register machine classes directly instead of using QEMUMachine
Date: Thu, 12 Jun 2014 11:12:01 +0300

On Thu, 2014-06-12 at 10:02 +0200, Igor Mammedov wrote:
> On Thu, 12 Jun 2014 03:22:24 -0300
> Eduardo Habkost <address@hidden> wrote:
> 
> > This is a (mostly) blind and mechanical conversion of the PC QEMUMachine
> > definitions to corresponding class registration code.
> > 
> > Having the PC code converted to pure QOM registration code will help us
> > move PC-specific machine state that is currently held in static
> > variables inside PC machine objects, and reduce duplication between
> > pc_piix.c and pc_q35.c.
> 
> Getting rid of *_machine_options() functions and doing nested
> inheritance with necessary overrides in respective *_class_init()
> functions, would make code more readable/understandable.
While I agree with you that this is the right direction, Eduardo's
patch is a good step forward getting rid of QEMUMachine and those
defines. I say we implement the hierarchy on top of this patch.
 
> 
> > 
> > Signed-off-by: Eduardo Habkost <address@hidden>
> > ---
> >  hw/i386/pc.c         |  13 ++
> >  hw/i386/pc_piix.c    | 473 
> > +++++++++++++++++++++++++++++++++++----------------
> >  hw/i386/pc_q35.c     | 171 +++++++++++++------
> >  include/hw/i386/pc.h |  20 ++-
> >  4 files changed, 465 insertions(+), 212 deletions(-)
> > 
> > diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> > index 32d1632..56720cd 100644
> > --- a/hw/i386/pc.c
> > +++ b/hw/i386/pc.c
> > @@ -1456,3 +1456,16 @@ void ioapic_init_gsi(GSIState *gsi_state, const char 
> > *parent_name)
> >          gsi_state->ioapic_irq[i] = qdev_get_gpio_in(dev, i);
> >      }
> >  }
> > +
> > +static TypeInfo pc_machine_type_info = {
> > +        .name       = TYPE_PC_MACHINE,
> > +        .parent     = TYPE_MACHINE,
> > +        .abstract   = true,
> > +};
Igor's series already introduces TYPE_PC_MACHINE, you may want to rebase on it:
http://lists.gnu.org/archive/html/qemu-devel/2014-06/msg00133.html

Thanks,
Marcel





reply via email to

[Prev in Thread] Current Thread [Next in Thread]