Re: [RFC PATCH 0/3] generic hypercall support

Chris Wright
2009-05-07T20:25:48Z

* Gregory Haskins (gregory.haskins@gmail.com) wrote:
> What I am not clear on is how you would know to flag the address to
> begin with.

That's why I mentioned pv_io_ops->iomap() earlier. Something I'd expect
would get called on IORESOURCE_PVIO type. This isn't really transparent
though (only virtio devices basically), kind of like you're saying below.

> Here's a thought: "PV" drivers can flag the IO (e.g. virtio-pci knows it
> would never be a real device). This means we route any io requests from
> virtio-pci though pv_io_ops->mmio(), but not unflagged addresses. This
> is not as slick as boosting *everyones* mmio speed as Avi's original
> idea would have, but it is perhaps a good tradeoff between the entirely
> new namespace created by my original dynhc() proposal and leaving them
> all PF based.
>
> This way, its just like using my dynhc() proposal except the mmio-addr
> is the substitute address-token (instead of the dynhc-vector).
> Additionally, if you do not PV the kernel the IO_COND/pv_io_op is
> ignored and it just slow-paths through the PF as it does today. Dynhc()
> would be dependent on pv_ops.
>
> Thoughts?