[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v4 08/13] xen/arm: Fold pmap and fixmap into MMU system
From: Penny Zheng <penny.zheng@xxxxxxx> fixmap and pmap are MMU-specific features, so fold them to MMU system. Do the folding for pmap by moving the HAS_PMAP Kconfig selection under HAS_MMU. Do the folding for fixmap by moving the implementation of virt_to_fix() to mmu/mm.c, so that unnecessary stubs can be avoided. Signed-off-by: Penny Zheng <penny.zheng@xxxxxxx> Signed-off-by: Henry Wang <Henry.Wang@xxxxxxx> --- v4: - Rework "[v3,11/52] xen/arm: mmu: fold FIXMAP into MMU system", change the order of this patch and avoid introducing stubs. --- xen/arch/arm/Kconfig | 2 +- xen/arch/arm/include/asm/fixmap.h | 7 +------ xen/arch/arm/mmu/mm.c | 7 +++++++ 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig index 0e38e9ba17..1b60a938c2 100644 --- a/xen/arch/arm/Kconfig +++ b/xen/arch/arm/Kconfig @@ -15,7 +15,6 @@ config ARM select HAS_DEVICE_TREE select HAS_PASSTHROUGH select HAS_PDX - select HAS_PMAP select HAS_UBSAN select IOMMU_FORCE_PT_SHARE @@ -71,6 +70,7 @@ choice config HAS_MMU bool "MMU for a VMSA system" + select HAS_PMAP endchoice source "arch/Kconfig" diff --git a/xen/arch/arm/include/asm/fixmap.h b/xen/arch/arm/include/asm/fixmap.h index 734eb9b1d4..5d5de6995a 100644 --- a/xen/arch/arm/include/asm/fixmap.h +++ b/xen/arch/arm/include/asm/fixmap.h @@ -36,12 +36,7 @@ extern void clear_fixmap(unsigned int map); #define fix_to_virt(slot) ((void *)FIXMAP_ADDR(slot)) -static inline unsigned int virt_to_fix(vaddr_t vaddr) -{ - BUG_ON(vaddr >= FIXADDR_TOP || vaddr < FIXADDR_START); - - return ((vaddr - FIXADDR_START) >> PAGE_SHIFT); -} +extern unsigned int virt_to_fix(vaddr_t vaddr); #endif /* __ASSEMBLY__ */ diff --git a/xen/arch/arm/mmu/mm.c b/xen/arch/arm/mmu/mm.c index b70982e9d6..1d6267e6c5 100644 --- a/xen/arch/arm/mmu/mm.c +++ b/xen/arch/arm/mmu/mm.c @@ -1136,6 +1136,13 @@ int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns) return xen_pt_update(virt, INVALID_MFN, nr_mfns, _PAGE_POPULATE); } +unsigned int virt_to_fix(vaddr_t vaddr) +{ + BUG_ON(vaddr >= FIXADDR_TOP || vaddr < FIXADDR_START); + + return ((vaddr - FIXADDR_START) >> PAGE_SHIFT); +} + /* * Local variables: * mode: C -- 2.25.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |