[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH V5 06/12] x86/hvm: factor out and rename vm_event related functions
>>> On 13.02.15 at 17:33, <tamas.lengyel@xxxxxxxxxxxx> wrote: > +static void hvm_event_cr(uint32_t reason, unsigned long value, > + unsigned long old) > +{ > + vm_event_request_t req = { > + .reason = reason, > + .vcpu_id = current->vcpu_id, > + .u.mov_to_cr.new_value = value, > + .u.mov_to_cr.old_value = old > + }; > + uint64_t parameters = 0; > + > + switch(reason) Coding style. Also I continue to think using switch() here rather than having the caller pass both VM_EVENT_* and HVM_PARAM_* is ugly/ inefficient (even if the compiler may be able to sort this out for you). > + { > + case VM_EVENT_REASON_MOV_TO_CR0: > + parameters = current->domain->arch.hvm_domain > + .params[HVM_PARAM_MEMORY_EVENT_CR0]; > + break; > + case VM_EVENT_REASON_MOV_TO_CR3: > + parameters = current->domain->arch.hvm_domain > + .params[HVM_PARAM_MEMORY_EVENT_CR3]; > + break; > + case VM_EVENT_REASON_MOV_TO_CR4: > + parameters = current->domain->arch.hvm_domain > + .params[HVM_PARAM_MEMORY_EVENT_CR4]; > + break; > + }; In any event, if you stay with the current model, latch current (used four times) into local variable. > +void hvm_event_msr(unsigned int msr, uint64_t value) > +{ > + struct vcpu *curr = current; > + vm_event_request_t req = { > + .reason = VM_EVENT_REASON_MOV_TO_MSR, > + .vcpu_id = curr->vcpu_id, > + .u.mov_to_msr.msr = msr, > + .u.mov_to_msr.value = value, > + }; > + uint64_t params = current->domain->arch.hvm_domain Why "current" when you have "curr"? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |