On 05/12/2011 05:37 PM, Avi Kivity wrote:
I've considered something similar for mmio - use hypercalls for
ordinary mmio to avoid calling into the emulator - but virtio uses pio
which isn't emulated and we don't have massive consumers of mmio
(except perhaps hpet).
Say,
enum {
KVM_OP_MMIO_READ = 1,
KVM_OP_MMIO_WRITE = 2,
KVM_OP_PIO_READ = 3,
KVM_OP_PIO_WRITE = 4,
KVM_OP_MSR_READ = 5,
KVM_OP_MSR_WRITE = 6,
KVM_OP_HLT = 7, /* so we can program the apic timer and sleep */
}
struct kvm_batch_op {
u8 op;
u8 result;
u8 size;
u8 reserved[5];
u64 address;
u64 data;
};
int kvm_batch(int nr, u64 kvm_batch_op_phys);
This is really repeating Xen PV though (different ops), not sure it's
worth the intrusiveness.
--
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html