I wonder if anyone can provide some detailed info as how guest i/o comes to the
host emulation layer (user space). For example, how does "outb port_num,
val" instruction travel from guest kernel to host user space on AMD64
with VT-x/AMD-V?
The reason I aksed is that I was wondering if performance would be further
improved if moving some emulation layer from host user space to host kernel
layer? that should at least saves two context switches.
KVM provides some callbacks, any similar api exists for VBox?
kvm_context_t kvm_init(struct kvm_callbacks callbacks, void *opaque);
static struct kvm_callbacks my_callbacks = {
.inb = my_inb,
.inw = my_inw,
.inl = my_inl,
.outb = my_outb,
.outw = my_outw,
.outl = my_outl,
.mmio_read = my_mmio_read,
.mmio_write = my_mmio_write,
.debug = my_debug,
.halt = my_halt,
.io_window = my_io_window,
.try_push_interrupts = my_try_push_interrupts,
.try_push_nmi = my_try_push_nmi,
.post_kvm_run = my_post_kvm_run,
.pre_kvm_run = my_pre_kvm_run,
.tpr_access = my_tpr_access
};
_______________________________________________
vbox-dev mailing list
[email protected]
http://vbox.innotek.de/mailman/listinfo/vbox-dev