|
From: | Anthony Liguori |
Subject: | [Qemu-devel] Re: [PATCH 0/2] fix virtio_blk serial pci config breakage |
Date: | Tue, 29 Sep 2009 12:26:13 -0500 |
User-agent: | Thunderbird 2.0.0.23 (X11/20090825) |
Michael S. Tsirkin wrote:
On Tue, Sep 29, 2009 at 09:14:56AM -0500, Anthony Liguori wrote:Michael S. Tsirkin wrote:We can do feature negotiation in virtio-pci. That lets us continue exposing the first 246 bytes of the config space in PIO and guests can negotiate a second bar for access to larger config spaces.I don't think it's such a good idea. We want to keep exposing most of config space in i/o bar because of backwards compatibility. And we want to keep datapath operations such as vq kicks, in i/o space.Regards, Anthony Liguoriguests can't negotiate a bar.
The host always exposes the config in two places. config[0..235] in bytes 20-255 in BAR0 and the full config space in BAR2 (or BAR1 + offset if desired). Old drivers will just ignore the new config location.
What I think we want to do - Use i/o for small fields (2-4 bytes) as we did previously we won't run out anytime soon - For large fields, put them in memory BAR1 and report the offset in i/o space
This is at best a band aid as a large number of small fields can result in the same problem.
- For huge fields, provide a mailbox in i/o space where guest writes an offset and reads out a value
Regards, Anthony Liguori
[Prev in Thread] | Current Thread | [Next in Thread] |