|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2 of 3] x86/mm: Teach paging to page table-based p2m
At 08:46 -0700 on 15 Mar (1331801170), Andres Lagar-Cavilla wrote:
> > Righto. In that case, I'd be happy with just clipping MFNs and not
> > trying to unpack them. But I think it should happen in the main
> > pte-building macros, not scattered around the p2m code. It should just
> > be a matter of using PADDR_MASK in the right place.
>
> Something along these lines? (RFC, not tested yet)
> Andres
>
> /* Construct a pte from a pfn and access flags. */
> #define l1e_from_pfn(pfn, flags) \
> - ((l1_pgentry_t) { ((intpte_t)(pfn) << PAGE_SHIFT) | put_pte_flags(flags)
> })
> + ((l1_pgentry_t) { ((intpte_t)((pfn) & (PADDR_MASK >> PAGE_SHIFT)) << \
> + PAGE_SHIFT) | put_pte_flags(flags) })
Yes, that's the idea. I think
> + ((l1_pgentry_t) { (((intpte_t)(pfn) << PAGE_SHIFT) & PADDR_MASK) \
> + | put_pte_flags(flags) })
is a little neater, maybe?
In any case, I'd like Keir's ack on this, since it will affect all the
PV pagetable code too (hopefully in a trivial and correct way).
Tim.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |