From: Steve Ofsthun <sofsthun@virtualiron.com>
To: James Harper <james.harper@bendigoit.com.au>
Cc: Andy Grover <andy.grover@oracle.com>,
cgriffin@novell.com, xen-devel <xen-devel@lists.xensource.com>
Subject: Re: RE: GPL Win PV driver issues
Date: Fri, 14 Dec 2007 14:21:41 -0500 [thread overview]
Message-ID: <4762D7C5.70504@virtualiron.com> (raw)
In-Reply-To: <AEC6C66638C05B468B556EA548C1A77D0131A4CB@trantor>
James Harper wrote:
>> hg URL: http://xenbits.xensource.com/ext/win-pvdrivers.hg
>>
>> Hi James and Clyde,
>>
>> I'm pleased to report that the net driver now sends and receives
>> packets, and gets an IP via DHCP. I have not done any stress or
>> performance work yet, however.
>
> w00t!
Congrats, this is great news.
>> One issue is that the driver has the same mac address as the qemu net
>> device. The approach you were taking was the "XenHide" driver, that
>> would hide (filter out) emulated devices in favor of pv ones. I'd like
>> to get xenhide filtering out the qemu net device, but also wanted to
> ask
>> the other implementers of winpv drivers if there is a better or
>> preferred way to accomplish this?
At Virtual Iron, we currently manage domains directly (no xend, xm,
etc). To deal with PV driver devices we have marked devices in xenstore
as being QEMU devices or PV "accelerated" devices. Devices are allowed
to show up as both, but they don't default that way. This allows us to
control visibility on a device by device basis. This has been useful
for development but is not really visible to our customers. Our product
just allows either all QEMU or all PV, but not both or any mix.
I think the official Xen approach has been to use guest OS boot options
to "hide" QEMU devices. Hiding QEMU devices automatically after the
fact (say in response to a PV driver being loaded) is difficult since
the emulated devices don't support device removal as far as the guest OS
is concerned.
In the specialized case of boot devices, we need to access the QEMU
device from the BIOS boot sequence. We chose not to change the BIOS to
access the PV devices via Xenbus, etc. Instead we added a probe limit
option to QEMU devices that basically says that devices are only allowed
to respond to device probes X times. For booting with the current BIOS
we limit IDE probes to 1 (the BIOS only). This allows all BIOS access
to the device to proceed, but the guest OS probe will fail to detect the
emulated device. As the guest OS boots, it only sees the device via the
PV drivers.
> Xenhide still may not do the trick in your case. It will prevent Windows
> from seeing the device, but the tap device will still be there and
> attached to the bridge, which may cause problems of its own...
In our case, only QEMU flagged devices will create emulation
infrastructure (tap, etc).
> I have a scsiport driver working nicely now... almost... it crashes
> occasionally and of course it won't write out a crash dump for me :)
In our environment we just mark the system disk as QEMU only and dump to
that. Can't you do something similar? Bring your PV disk up as a
second disk in Windows. If you don't want Windows to see a second copy
of the system disk, just hack your driver to ignore that disk for debug.
> James
Now, generally speaking we are not too happy with this particular
deviation from the standard Xen code. We just wanted a solution that
was controlled by dom0, not the frontend drivers or the guest OS
environment. We haven't submitted these particular changes since they
are tied to our own management stack. As we merge up to 3.2.0, we will
once again be revisiting this code. Any suggestions that might make
these changes more acceptable would certainly be welcome.
Steve
next prev parent reply other threads:[~2007-12-14 19:21 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-13 21:05 GPL Win PV driver issues Andy Grover
2007-12-14 0:13 ` James Harper
2007-12-14 19:21 ` Steve Ofsthun [this message]
2007-12-14 19:36 ` Luciano Rocha
2007-12-14 19:42 ` Stefan de Konink
2007-12-14 20:16 ` Luciano Rocha
2007-12-14 22:19 ` James Harper
2007-12-14 20:40 ` Daniel P. Berrange
2007-12-14 21:51 ` Steve Ofsthun
2007-12-15 4:09 ` Mark Williamson
2007-12-15 16:50 ` Daniel P. Berrange
2007-12-15 16:52 ` Daniel P. Berrange
2007-12-16 5:59 ` James Harper
2007-12-14 22:21 ` James Harper
2007-12-14 22:37 ` Andy Grover
2007-12-14 22:53 ` James Harper
2007-12-14 22:17 ` James Harper
2008-01-01 19:06 ` Brian Wolfe
2008-01-02 2:45 ` James Harper
2008-01-02 3:32 ` Brian Wolfe
2008-01-02 4:20 ` James Harper
2008-01-02 7:24 ` Brian Wolfe
2008-01-02 8:44 ` James Harper
2008-01-20 10:19 ` Stephan Seitz
2008-01-20 10:29 ` James Harper
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4762D7C5.70504@virtualiron.com \
--to=sofsthun@virtualiron.com \
--cc=andy.grover@oracle.com \
--cc=cgriffin@novell.com \
--cc=james.harper@bendigoit.com.au \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.