qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] virtio-console: Have a static instance of virtc


From: Amit Shah
Subject: Re: [Qemu-devel] [PATCH] virtio-console: Have a static instance of virtconsole
Date: Fri, 4 Sep 2009 22:21:44 +0530
User-agent: Mutt/1.5.19 (2009-01-05)

On (Fri) Sep 04 2009 [19:45:41], Blue Swirl wrote:
> On Fri, Sep 4, 2009 at 7:40 PM, Amit Shah<address@hidden> wrote:
> >> >> > Currently the VirtIOConsole struct is allocated from the call
> >> >> > to virtio_common_init, also doing an UP_CAST implicitly.
> >> >> >
> >> >> > The new multiport functionality will need a few arrays and
> >> >> > it's easier to move to the new VMState infrastructure by
> >> >> > keeping it all within one struct.
> >> >>
> >> >> > +VirtIOConsole virtconsole;
> >> >>
> >> >> IMHO this is going to wrong direction. What kind of code would need a
> >> >> static instance?
> >> >
> >> > Adding multiple ports to the console device, we'll have to store an
> >> > array of ports here as well as config space. Both of these are
> >> > device-specific.
> >>
> >> There could be a master device which managed all ports.
> >
> > There's only one instance of a virtio device created, and this device
> > hosts multiple ports. And VirIOConsole is the master structure.
> 
> But instead of this, you should have a separate structure for the
> master one, if that way you can avoid the static instance.

The problem with that is that the config space and the ports array have
to be made static anyway (because they get used at command-line parsing
time, before the virtio-console init function is called). So there's no
net gain for doing it that way and we're just keeping things outside of
the struct. And that doesn't fit well with the new proposed VMState
handlers.

                Amit




reply via email to

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