On 01.11.2023 20:20, Andrew Cooper wrote: > --- a/xen/arch/x86/hvm/vmx/vmx.c > +++ b/xen/arch/x86/hvm/vmx/vmx.c > @@ -4097,10 +4097,6 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs) > case EXIT_REASON_MCE_DURING_VMENTRY: > do_machine_check(regs); > break; > - > - case EXIT_REASON_INIT: > - printk(XENLOG_ERR "Error: INIT received - ignoring\n"); > - return; /* Renter the guest without further processing */ > }
Wouldn't the printk() better remain where it was, and just the "return" be purged? Otherwise between here and ... > @@ -4390,6 +4386,12 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs) > case EXIT_REASON_TRIPLE_FAULT: > hvm_triple_fault(); > break; > + > + case EXIT_REASON_INIT: > + /* TODO: Turn into graceful shutdown. */ > + printk(XENLOG_ERR "Error: INIT received - ignoring\n"); > + break; ... here there are various paths which bypass the main switch(), and hence there would be no trace left of the unexpected INIT in certain cases. Jan
