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.