[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] x86/shadow: Correct guest behaviour when creating PTEs above maxphysaddr
At 16:04 +0000 on 14 Feb (1487088291), Andrew Cooper wrote: > Hmm ok. With the other bugfix of not dropping the first line, this hunk > is now simply: > > @@ -504,7 +505,7 @@ void recalculate_cpuid_policy(struct domain *d) > > p->extd.maxphysaddr = min(p->extd.maxphysaddr, max->extd.maxphysaddr); > p->extd.maxphysaddr = min_t(uint8_t, p->extd.maxphysaddr, > - d->arch.paging.gfn_bits + PAGE_SHIFT); > + paging_max_paddr_bits(d)); > p->extd.maxphysaddr = max_t(uint8_t, p->extd.maxphysaddr, > (p->basic.pae || p->basic.pse36) ? 36 : > 32); That looks good to me. Reviewed-by: Tim Deegan <tim@xxxxxxx> > >> @@ -360,6 +361,21 @@ void paging_dump_vcpu_info(struct vcpu *v); > >> int paging_set_allocation(struct domain *d, unsigned int pages, > >> bool *preempted); > >> > >> +/* Maxphysaddr supportable by the paging infrastructure. */ > >> +static inline unsigned int paging_max_paddr_bits(const struct domain *d) > >> +{ > >> + unsigned int bits = paging_mode_hap(d) ? hap_paddr_bits : paddr_bits; > >> + > >> + if ( !IS_ENABLED(BIGMEM) && paging_mode_shadow(d) && > >> + (!is_pv_domain(d) || opt_allow_superpage) ) > >> + { > >> + /* Shadowed superpages store GFNs in 32-bit page_info fields. */ > >> + bits = min(bits, 32U + PAGE_SHIFT); > >> + } > >> + > >> + return bits; > >> +} > > Does this really need to be an inline function? With the overall goal > > of not including every header everywhere, I particularly dislike the > > need to include xen/kconfig.h here for things to build. > > It is not on a critically path, but it seems wasteful to force something > this small to be out of line. It could be a macro, too. FWIW I agree with you that a static inline is best. Cheers, Tim. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |