
On Wed, Dec 04, 2013 at 08:39:58AM -0700, Eric Blake wrote:
On 12/03/2013 11:31 PM, Hu Tao wrote:
pvpanic is a qemu term, but I could see the feasibility of other hypervisors having a paravirt device with a sole purpose of notifying the host about panics. Do we want to come up with a more generic name?
Give it a generic name is easy, but what about attributes? different hypervisors may have different paravirt devices with different attributes, we can't just mix attributes of unrelated devices into one generic device. Make the devices concrete and accept/reject it if hypervisors recognize it or not is better.
Then do what we've done in the past - separate the presence of a type of device from the driver-specific attributes, something like:
<devices> <panic> <driver type='qemu' ioport='0x505'/> </panic> ...
where we use the type='' field of <driver> to toggle between a discriminated union of any other per-hypervisor specific attributes. By default, you don't need a <driver> subelement; requesting <panic/> is sufficient to use the defaults for the current hypervisor.
Dan, do you have any thoughts on the best representation to use? Or is Hu's original proposal of:
<pvpanic ioport='0x505'/>
I'm not a fan of doing a special case attribute for 'ioport' - this is something something that should be part of an <address> element, since ioport numbers are a generic addressing concept for many devices. eg ISA serial / parallel ports have IRQ / IO ports IIUC. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|