|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2 2/5] xen/domain.h: Centrialize is_domain_direct_mapped()
Currently direct mapped domain is only supported by the Arm
architecture at the domain creation time by setting the CDF_directmap
flag. There is not a need for every non-Arm architecture, i.e. x86,
RISC-V and PPC, to define a stub is_domain_direct_mapped() in arch
header.
Move is_domain_direct_mapped() to a centralized place at xen/domain.h
and evaluate CDF_directmap for non-Arm architecture to 0.
Signed-off-by: Henry Wang <xin.wang2@xxxxxxx>
---
v2:
- New patch
---
xen/arch/arm/include/asm/domain.h | 2 --
xen/arch/ppc/include/asm/domain.h | 2 --
xen/arch/riscv/include/asm/domain.h | 2 --
xen/arch/x86/include/asm/domain.h | 1 -
xen/include/xen/domain.h | 3 +++
5 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/xen/arch/arm/include/asm/domain.h
b/xen/arch/arm/include/asm/domain.h
index 8218afb862..f1d72c6e48 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -29,8 +29,6 @@ enum domain_type {
#define is_64bit_domain(d) (0)
#endif
-#define is_domain_direct_mapped(d) ((d)->cdf & CDF_directmap)
-
/*
* Is the domain using the host memory layout?
*
diff --git a/xen/arch/ppc/include/asm/domain.h
b/xen/arch/ppc/include/asm/domain.h
index 573276d0a8..3a447272c6 100644
--- a/xen/arch/ppc/include/asm/domain.h
+++ b/xen/arch/ppc/include/asm/domain.h
@@ -10,8 +10,6 @@ struct hvm_domain
uint64_t params[HVM_NR_PARAMS];
};
-#define is_domain_direct_mapped(d) ((void)(d), 0)
-
/* TODO: Implement */
#define guest_mode(r) ({ (void)(r); BUG_ON("unimplemented"); 0; })
diff --git a/xen/arch/riscv/include/asm/domain.h
b/xen/arch/riscv/include/asm/domain.h
index 0f5dc2be40..027bfa8a93 100644
--- a/xen/arch/riscv/include/asm/domain.h
+++ b/xen/arch/riscv/include/asm/domain.h
@@ -10,8 +10,6 @@ struct hvm_domain
uint64_t params[HVM_NR_PARAMS];
};
-#define is_domain_direct_mapped(d) ((void)(d), 0)
-
struct arch_vcpu_io {
};
diff --git a/xen/arch/x86/include/asm/domain.h
b/xen/arch/x86/include/asm/domain.h
index 622d22bef2..4bd78e3a6d 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -22,7 +22,6 @@
#define is_hvm_pv_evtchn_domain(d) (is_hvm_domain(d) && \
((d)->arch.hvm.irq->callback_via_type == HVMIRQ_callback_vector || \
(d)->vcpu[0]->arch.hvm.evtchn_upcall_vector))
-#define is_domain_direct_mapped(d) ((void)(d), 0)
#define VCPU_TRAP_NONE 0
#define VCPU_TRAP_NMI 1
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index b1a4aa6f38..3de5635291 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -41,6 +41,8 @@ void arch_get_domain_info(const struct domain *d,
#ifdef CONFIG_ARM
/* Should domain memory be directly mapped? */
#define CDF_directmap (1U << 1)
+#else
+#define CDF_directmap 0
#endif
/* Is domain memory on static allocation? */
#ifdef CONFIG_STATIC_MEMORY
@@ -49,6 +51,7 @@ void arch_get_domain_info(const struct domain *d,
#define CDF_staticmem 0
#endif
+#define is_domain_direct_mapped(d) ((d)->cdf & CDF_directmap)
#define is_domain_using_staticmem(d) ((d)->cdf & CDF_staticmem)
/*
--
2.34.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |