On Tue, Aug 06, 2013 at 12:35:10PM +0200, Andreas Färber wrote: > Am 06.08.2013 11:32, schrieb Gleb Natapov: > > On Tue, Aug 06, 2013 at 12:21:48PM +0300, Michael S. Tsirkin wrote: > >> On Tue, Aug 06, 2013 at 11:36:25AM +0300, Gleb Natapov wrote: > >>> On Tue, Aug 06, 2013 at 11:33:10AM +0300, Michael S. Tsirkin wrote: > >>>> On Tue, Aug 06, 2013 at 10:21:52AM +0300, Gleb Natapov wrote: > >>>>>> This is a PV technology which to me looks like it was > >>>>>> rushed through and not only set on by default, but > >>>>>> without a way to disable it - apparently on the assumption > >>>>>> there's 0 chance it can cause any damage. Now that > >>>>>> we do know the chance it's not there, why not go back > >>>>>> to the standard interface, and why not give > >>>>>> users a chance to enable/disable it? > >>>>> You should be able to disable it with: -device pvpanic,ioport=0 > >>>> > >>>> Doesn't work for me. > >>> Bug that should be fixed. With this command line _STA should return > >>> zero. > >> > >> It doesn't have anything to do with _STA: device still appears in QOM. > > You said disabled, not removed. So does -global pvpanic,ioport=0 > > disables the device for you? > > > >> It's a QEMU issue, devices that are added with -device are > >> documented in -device help and removed by dropping them from > >> command line. Devices added by default have no way to > >> be dropped from QOM except -nodefaults. > >> > > Are you saying that because pvpanic is added automatically QEMU -device > > help does not print help about it? Why not fix that? What QEMU --help > > issues has to do with deciding which devices should or should not be > > present by default? > > You misunderstand: -device pvpanic,? will document that there is a > numeric port property, which as such is self-documenting. But there's no Yes, this is how I found it.
> way for us to document there that port=0 has special meaning of "disable > this device in ACPI". > Adding capability to describe a property should solve that and is a good idea regardless, no? "pvpanic.ioport=uint16" is not very descriptive. > Disabling a device usually requires to not include that device (or in > the future to "unrealize" it), which would require some way to suppress > having the device created internally by default. As done for floppy, > serial, etc. devices in x86 IIUC, which are in the same PIO situation as > the pvpanic device, except that they represent physical devices. > Adding some -no-pvpanic switch might be an alternative. And if not done > already, disabling the pvpanic device should definitely be documented > for the man page. We should not add -no-pvpanic! If there is a legitimate use for -no-pvpanic we should go with MST suggestion and do not create it by default. The question is why would anyone use -no-pvpanic? Legit reason, not just "to remove pvpanic". > > To me this is less a concrete problem with Windows guests but a > conceptual question of how we go about enabling/disabling QEMU devices > in a hopefully consistent way. Agree. Now I see that some devises always present (even with -nodefualts) and some do not. The logic is not clear, but seams to be: if there is not legit reason to disable device or for stable topology device placemen need to be controlled, disable it with -nodefualts. In that case I do not see why pvpanic would not be always present. The reason this whole thread started with is non issue. > > Writing a driver does not solve it fully, you'd still need to actively > install that driver, same issue as with virtio. virtio is opt-in, so for > customers not using our VM Driver Pack we offer AHCI as driver-less > alternative. There is no functionality loss without a driver. User is not required to install drivers. > > I wonder if IPMI might be such an alternative in the future, in which > case we should come up with some way to fully disable pvpanic device > creation. CC'ing Corey. > IPMI was considered, to complicated for what was needed. -- Gleb.