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

From: Avi Kivity
Date: Thu May 07 2009 - 08:30:14 EST


Gregory Haskins wrote:
Chris Wright wrote:
* Gregory Haskins (ghaskins@xxxxxxxxxx) wrote:
Chris Wright wrote:
But a free-form hypercall(unsigned long nr, unsigned long *args, size_t count)
means hypercall number and arg list must be the same in order for code
to call hypercall() in a hypervisor agnostic way.
Yes, and that is exactly the intention. I think its perhaps the point
you are missing.
Yes, I was reading this as purely any hypercall, but it seems a bit
more like:
pv_io_ops->iomap()
pv_io_ops->ioread()
pv_io_ops->iowrite()

Right.

Hmm, reminds me of something I thought of a while back.

We could implement an 'mmio hypercall' that does mmio reads/writes via a hypercall instead of an mmio operation. That will speed up mmio for emulated devices (say, e1000). It's easy to hook into Linux (readl/writel), is pci-friendly, non-x86 friendly, etc.

It also makes the device work when hypercall support is not available (qemu/tcg); you simply fall back on mmio.

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/