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
signature.asc
Description: OpenPGP digital signature
