xen/arm: mm: Clean-up mfn_to_xen_entry

The physical address is computed from the machine frame number, so
checking if the physical address is page aligned is pointless.

Furthermore, directly assigned the MFN to the corresponding field in the
entry rather than converting to a physical address and orring the value.
It will avoid to rely on the field position and make the code clearer.

Signed-off-by: Julien Grall <julien.grall@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
This commit is contained in:
Julien Grall authored and Stefano Stabellini committed 2017-06-15 16:52:59 -07:00
1 parent b8d6b337d9
commit 7ddc55f2e3
1 file changed
+2 -5
+2 -5
View File
@@ -261,7 +261,6 @@ void dump_hyp_walk(vaddr_t addr)
*/
static inline lpae_t mfn_to_xen_entry(unsigned long mfn, unsigned attr)
{
paddr_t pa = ((paddr_t) mfn) << PAGE_SHIFT;
lpae_t e = (lpae_t) {
.pt = {
.valid = 1, /* Mappings are present */
@@ -316,11 +315,9 @@ static inline lpae_t mfn_to_xen_entry(unsigned long mfn, unsigned attr)
break;
}
ASSERT(!(pa & ~PAGE_MASK));
ASSERT(!(pa & ~PADDR_MASK));
ASSERT(!(pfn_to_paddr(mfn) & ~PADDR_MASK));
/* XXX shifts */
e.bits |= pa;
e.pt.base = mfn;
return e;
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.