On 12/07/16 19:13, Tamas K Lengyel wrote: > This patch implements sending notification to a monitor subscriber when an > x86/vmx guest executes the CPUID instruction. > > Signed-off-by: Tamas K Lengyel <tamas.leng...@zentific.com>
From an x86 point of view, Reviewed-by: Andrew Cooper <andrew.coop...@citrix.com>, with one nit that I can fix on commit if needs be. > @@ -3524,10 +3526,28 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs) > hvm_task_switch((uint16_t)exit_qualification, reasons[source], > ecode); > break; > } > - case EXIT_REASON_CPUID: > - is_pvh_vcpu(v) ? pv_cpuid(regs) : vmx_do_cpuid(regs); > - update_guest_eip(); /* Safe: CPUID */ > + case EXIT_REASON_CPUID: { Brace on a newline here. > + int rc; > + > + if ( is_pvh_vcpu(v) ) > + { > + pv_cpuid(regs); > + rc = 0; > + } > + else > + rc = vmx_do_cpuid(regs); > + > + /* > + * rc < 0 error in monitor/vm_event, crash > + * !rc continue normally > + * rc > 0 paused waiting for response, work here is done > + */ > + if ( rc < 0 ) > + goto exit_and_crash; > + if ( !rc ) > + update_guest_eip(); /* Safe: CPUID */ > break; > + } > case EXIT_REASON_HLT: > update_guest_eip(); /* Safe: HLT */ > hvm_hlt(regs->eflags); > _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel