[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen/x86: Clean up vm_event-related code in asm-x86/domain.h
On 08/14/2015 01:21 PM, Jan Beulich wrote: >>>> On 14.08.15 at 11:54, <rcojocaru@xxxxxxxxxxxxxxx> wrote: >> @@ -571,7 +571,7 @@ void hvm_do_resume(struct vcpu *v) >> } >> >> /* Inject pending hw/sw trap */ >> - if ( v->arch.hvm_vcpu.inject_trap.vector != -1 ) >> + if ( v->arch.hvm_vcpu.inject_trap.vector != -1 ) > > Stray whitespace change to unrelated code. Understood, thought I'd remove the trailing whitespace there, but I will leave the unrelated code alone. >> @@ -3371,13 +3371,13 @@ int hvm_set_cr0(unsigned long value, bool_t >> may_defer) >> monitor_ctrlreg_bitmask(VM_EVENT_X86_CR0)) && >> value != old_value ) >> { >> - ASSERT(currad->event_write_data != NULL); >> + ASSERT(v->arch.vm_event != NULL); > > May I recommend dropping the redundant != NULL namely in ASSERT() > expressions (the only effect they have is produce larger string literals > in debug builds). Of course, I'll change it. >> if ( hvm_event_crX(CR0, value, old_value) ) >> { >> /* The actual write will occur in hvm_do_resume(), if >> permitted. */ >> - currad->event_write_data[v->vcpu_id].do_write.cr0 = 1; >> - currad->event_write_data[v->vcpu_id].cr0 = value; >> + v->arch.vm_event->write_data.do_write.cr0 = 1; >> + v->arch.vm_event->write_data.cr0 = value; > > Looks like this leaves just a single use of currad in the function, in > which case I'd like to see the variable go away. I'll remove it. >> --- a/xen/include/asm-x86/domain.h >> +++ b/xen/include/asm-x86/domain.h >> @@ -8,6 +8,7 @@ >> #include <asm/hvm/domain.h> >> #include <asm/e820.h> >> #include <asm/mce.h> >> +#include <public/vm_event.h> > > It looks like both this and ... > >> @@ -460,6 +459,18 @@ typedef enum __packed { >> SMAP_CHECK_DISABLED, /* disable the check */ >> } smap_check_policy_t; >> >> +/* >> + * Should we emulate the next matching instruction on VCPU resume >> + * after a vm_event? >> + */ >> +struct vm_event { >> + uint32_t emulate_flags; >> + unsigned long gpa; >> + unsigned long eip; >> + struct vm_event_emul_read_data emul_read_data; >> + struct monitor_write_data write_data; >> +}; > > ... this would better go into asm-x86/vm_event.h (despite it meaning > that the file will then be included by basically everything). Ack. Thank you for the prompt review! Thanks, Razvan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |