On 2013-02-11 11:07, Nadav Har'El wrote: > On Sun, Feb 10, 2013, Jan Kiszka wrote about "[PATCH] KVM: nVMX: Improve I/O exit handling": >> +static bool nested_vmx_exit_handled_io(struct kvm_vcpu *vcpu, >> + struct vmcs12 *vmcs12) >> +{ >> + unsigned long exit_qualification; >> + gpa_t bitmap, last_bitmap; >> + bool string, rep; >> + u16 port; >> + int size; >> + u8 b; >> + >> + if (nested_cpu_has(get_vmcs12(vcpu), CPU_BASED_UNCOND_IO_EXITING)) >> + return 1; > > Instead of calling get_vmcs12(vcpu), you can just use "vmcs12" variable > which you already have. I see I left the same redundant call also in > nested_vmx_exit_handled_msr :( Indeed, copy&pasted from there... > >> + if (port < 0x8000) >> + bitmap = vmcs12->io_bitmap_a; >> + else >> + bitmap = vmcs12->io_bitmap_b; >> + bitmap += port / 8; > > In the port >= 0x8000, I believe need to subtract 0x8000 from the port > number before using it as an offset into io_bitmap_b? Oops. There was already a stupid bug in that path, failed to validate it again. v2 will follow. Thanks for reviewing, Jan
Attachment:
signature.asc
Description: OpenPGP digital signature