move it to Kconfig.
The define CONFIG_DOMAIN_PAGE indicates whether the architecture provide
helpers to map/unmap a domain page. Rename it to CONFIG_ARCH_MAP_DOMAIN_PAGE
so it is clearer that support for domain page is not something that
can be disabled in Xen.
Take the opportunity to move CONFIG_MAP_DOMAIN_PAGE to Kconfig as this
will soon be necessary to use it in the Makefile.
Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com> #arm part
config ARM_32
def_bool y
depends on "$(ARCH)" = "arm32"
+ select ARCH_MAP_DOMAIN_PAGE
config ARM_64
def_bool y
#ifdef CONFIG_ARM_32
-#define CONFIG_DOMAIN_PAGE 1
#define CONFIG_SEPARATE_XENHEAP 1
#define FRAMETABLE_VIRT_START _AT(vaddr_t,0x02000000)
#endif
BUILD_BUG_ON(first_table_offset(XEN_VIRT_START));
BUILD_BUG_ON(second_linear_offset(XEN_VIRT_START) >= XEN_PT_LPAE_ENTRIES);
-#ifdef CONFIG_DOMAIN_PAGE
+#ifdef CONFIG_ARCH_MAP_DOMAIN_PAGE
BUILD_BUG_ON(DOMHEAP_VIRT_START & ~FIRST_MASK);
#endif
/*
BUG_ON(res != 0);
}
-#ifdef CONFIG_DOMAIN_PAGE
+#ifdef CONFIG_ARCH_MAP_DOMAIN_PAGE
/*
* Prepare the area that will be used to map domheap pages. They are
* mapped in 2MB chunks, so we need to allocate the page-tables up to
select ACPI_LEGACY_TABLES_LOOKUP
select ACPI_NUMA
select ALTERNATIVE_CALL
+ select ARCH_MAP_DOMAIN_PAGE
select ARCH_SUPPORTS_INT128
select CORE_PARKING
select HAS_ALTERNATIVE
#define CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS 1
#define CONFIG_DISCONTIGMEM 1
#define CONFIG_NUMA_EMU 1
-#define CONFIG_DOMAIN_PAGE 1
#define CONFIG_PAGEALLOC_MAX_ORDER (2 * PAGETABLE_ORDER)
#define CONFIG_DOMU_MAX_ORDER PAGETABLE_ORDER
config ALTERNATIVE_CALL
bool
+config ARCH_MAP_DOMAIN_PAGE
+ bool
+
config HAS_ALTERNATIVE
bool
void clear_domain_page(mfn_t mfn);
void copy_domain_page(mfn_t dst, const mfn_t src);
-#ifdef CONFIG_DOMAIN_PAGE
+#ifdef CONFIG_ARCH_MAP_DOMAIN_PAGE
/*
* Map a given page frame, returning the mapped virtual address. The page is
return map_domain_page_global(page_to_mfn(pg));
}
-#else /* !CONFIG_DOMAIN_PAGE */
+#else /* !CONFIG_ARCH_MAP_DOMAIN_PAGE */
#define map_domain_page(mfn) __mfn_to_virt(mfn_x(mfn))
#define __map_domain_page(pg) page_to_virt(pg)
static inline void unmap_domain_page_global(const void *va) {};
-#endif /* !CONFIG_DOMAIN_PAGE */
+#endif /* !CONFIG_ARCH_MAP_DOMAIN_PAGE */
#define UNMAP_DOMAIN_PAGE(p) do { \
unmap_domain_page(p); \