Sean Christopherson <sean.j.christopherson@xxxxxxxxx> writes: > On Tue, Mar 03, 2020 at 11:26:21AM +0100, Paolo Bonzini wrote: >> On 26/02/20 18:29, Vitaly Kuznetsov wrote: >> >> struct x86_emulate_ctxt { >> >> + void *vcpu; >> > Why 'void *'? I changed this to 'struct kvm_vcpu *' and it seems to >> > compile just fine... >> > >> >> I guess because it's really just an opaque pointer; using void* ensures >> that the emulator doesn't break the emulator ops abstraction. > > Ya, it prevents the emulator from directly deferencing the vcpu. > Makes sense, a comment like /* Should never be dereferenced by the emulater */ would've helped) -- Vitaly