[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 3/6] x86: Handle the Xen MSRs via the new guest_{rd, wr}msr() infrastructure
>>> On 26.02.18 at 18:35, <andrew.cooper3@xxxxxxxxxx> wrote: > --- a/xen/arch/x86/msr.c > +++ b/xen/arch/x86/msr.c > @@ -183,6 +183,10 @@ int guest_rdmsr(const struct vcpu *v, uint32_t msr, > uint64_t *val) > } > > /* Fallthrough. */ > + case 0x40000200 ... 0x400002ff: These again want to have #define-s added. > --- a/xen/arch/x86/traps.c > +++ b/xen/arch/x86/traps.c > @@ -776,29 +776,26 @@ static void do_trap(struct cpu_user_regs *regs) > trapnr, trapstr(trapnr), regs->error_code); > } > > -/* Returns 0 if not handled, and non-0 for success. */ > -int rdmsr_hypervisor_regs(uint32_t idx, uint64_t *val) > +int guest_rdmsr_xen(const struct vcpu *v, uint32_t idx, uint64_t *val) > { > - struct domain *d = current->domain; > + const struct domain *d = v->domain; > /* Optionally shift out of the way of Viridian architectural MSRs. */ > uint32_t base = is_viridian_domain(d) ? 0x40000200 : 0x40000000; > > switch ( idx - base ) > { > case 0: /* Write hypercall page MSR. Read as zero. */ > - { > *val = 0; > - return 1; > - } > - } > + return X86EMUL_OKAY; > > - return 0; > + default: > + return X86EMUL_EXCEPTION; > + } > } Could I talk you into adjusting the code to have a "return" at the end of the function, e.g. by dropping the default case? Also on the write path then? With at least the #define-s added, Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |