[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86/pv: Drop create_pae_xen_mappings()
>>> On 23.08.17 at 20:11, <andrew.cooper3@xxxxxxxxxx> wrote: > This is leftovers from the 32bit hypervisor days. The only Xen content in > this virtual range for 32bit PV guests is the compat M2P. It is not critical > that the mapping is present, nor is it critical that the slot is unshared. Hmm, while technically correct this would allow 32-bit guests to run on newer hypervisors that would fail on older ones. I'm not sure this is a good idea, but I'm also not entirely opposed to it. > --- a/xen/arch/x86/mm.c > +++ b/xen/arch/x86/mm.c > @@ -1429,46 +1429,6 @@ static int alloc_l1_table(struct page_info *page) > return ret; > } > > -static int create_pae_xen_mappings(struct domain *d, l3_pgentry_t *pl3e) > -{ > - struct page_info *page; > - l3_pgentry_t l3e3; > - > - if ( !is_pv_32bit_domain(d) ) > - return 1; > - > - pl3e = (l3_pgentry_t *)((unsigned long)pl3e & PAGE_MASK); > - > - /* 3rd L3 slot contains L2 with Xen-private mappings. It *must* exist. */ > - l3e3 = pl3e[3]; > - if ( !(l3e_get_flags(l3e3) & _PAGE_PRESENT) ) > - { > - gdprintk(XENLOG_WARNING, "PAE L3 3rd slot is empty\n"); > - return 0; > - } > - > - /* > - * The Xen-private mappings include linear mappings. The L2 thus cannot > - * be shared by multiple L3 tables. The test here is adequate because: > - * 1. Cannot appear in slots != 3 because get_page_type() checks the > - * PGT_pae_xen_l2 flag, which is asserted iff the L2 appears in slot > 3 > - * 2. Cannot appear in another page table's L3: > - * a. alloc_l3_table() calls this function and this check will fail > - * b. mod_l3_entry() disallows updates to slot 3 in an existing table For consistency wouldn't you then better also delete the check in mod_l3_entry() that's being referred to here? And relax the respective checking in alloc_l3_table() to at least allow the entry to be non-present? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |