[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 3/4] x86/mce: Translate passed-in GPA to host machine address
On Tue, Sep 15, 2015 at 07:24:34AM -0600, Jan Beulich wrote: > >>> On 15.09.15 at 10:29, <haozhong.zhang@xxxxxxxxx> wrote: > > @@ -1422,6 +1423,38 @@ long do_mca(XEN_GUEST_HANDLE_PARAM(xen_mc_t) > > u_xen_mc) > > if (mc_msrinject->mcinj_count == 0) > > return 0; > > > > + if (mc_msrinject->mcinj_flags & MC_MSRINJ_F_GPADDR) { > > Perhaps you earlier patch fixing coding style didn't go far enough: > Patch context as well as you additions make immediately clear that > this file (or just this function) doesn't follow either Xen or Linux > coding style. Going through the file as whole I see attempts to > follow Xen style, so please at least make sure new addition follow > that style rather than the surrounding broken one. > I was also confused by the mixed code style in this file and just followed the surrounding one. I'll update my changes to follow Xen style in the next version. > > + struct domain *d; > > + struct mcinfo_msr *msr; > > + int i; > > unsigned int > will fix in the next version > > + uint64_t gaddr, gpfn, mfn, haddr; > > paddr_t and unsigned long. will fix in the next version > > > + p2m_type_t t; > > + > > + d = get_domain_by_id(mc_msrinject->mcinj_domid); > > + if (d == NULL) > > + return x86_mcerr("do_mca inject: illegal domain id", > > -EINVAL); > > + > > + for (i = 0, msr = &mc_msrinject->mcinj_msr[0]; > > + i < mc_msrinject->mcinj_count; i++, msr++) { > > + gaddr = msr->value; > > + gpfn = gaddr >> PAGE_SHIFT; > > PFN_DOWN() > will fix in the next version > > + mfn = mfn_x(get_gfn(d, gpfn, &t)); > > + > > + if (mfn == INVALID_MFN) { > > + put_domain(d); > > + return x86_mcerr("do_mca inject: illegal MSR value", > > + -EINVAL); > > This message should be better distinguishable from the one further > down (or else it's pretty pointless) - perhaps you mean GPFN instead > of MSR? > Yes, I'll change it to "do_mca_inject: illegal GPFN". > > + } > > + > > + haddr = (mfn << PAGE_SHIFT) | (gaddr & (PAGE_SIZE - 1)); > > pfn_to_paddr() > will fix in the next version > > + msr->value = haddr; > > I also don't see the purpose of the intermediate variable here. > will be merged with the previous line > Jan > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |