diff mbox series

[v3,51/52] xen/mpu: create stubs of function/variables for UNSUPPORTED features

Message ID 20230626033443.2943270-52-Penny.Zheng@arm.com (mailing list archive)
State New, archived
Headers show
Series xen/arm: Add Armv8-R64 MPU support to Xen - Part#1 | expand

Commit Message

Penny Zheng June 26, 2023, 3:34 a.m. UTC
As we are not introduing features like SMP, SET/WAY emulation, etc,
in MPU system, so we create empty stubs of function/variables and
warnings for these UNSUPPORTED features.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
---
v3:
- new commit
---
 xen/arch/arm/arm64/mpu/head.S |  6 ++++++
 xen/arch/arm/mpu/mm.c         | 16 ++++++++++++++++
 xen/arch/arm/mpu/p2m.c        | 16 ++++++++++++++++
 3 files changed, 38 insertions(+)
diff mbox series

Patch

diff --git a/xen/arch/arm/arm64/mpu/head.S b/xen/arch/arm/arm64/mpu/head.S
index 147a01e977..9f3c5b8990 100644
--- a/xen/arch/arm/arm64/mpu/head.S
+++ b/xen/arch/arm/arm64/mpu/head.S
@@ -241,6 +241,12 @@  ENTRY(setup_early_uart)
 #endif
 ENDPROC(setup_early_uart)
 
+ENTRY(enable_runtime_mm)
+    PRINT("- SMP NOT SUPPORTED -\r\n")
+1:  wfe
+    b     1b
+ENDPROC(enable_runtime_mm)
+
 /*
  * Local variables:
  * mode: ASM
diff --git a/xen/arch/arm/mpu/mm.c b/xen/arch/arm/mpu/mm.c
index ef8a327037..8a554a950b 100644
--- a/xen/arch/arm/mpu/mm.c
+++ b/xen/arch/arm/mpu/mm.c
@@ -933,6 +933,22 @@  void dump_hyp_walk(vaddr_t addr)
     }
 }
 
+void mm_init_secondary_cpu(void)
+{
+    printk(XENLOG_ERR "SMP not *SUPPORTED*\n");
+}
+
+int init_secondary_mm(int cpu)
+{
+    printk(XENLOG_ERR "mpu: SMP not *SUPPORTED*\n");
+    return -EINVAL;
+}
+
+void update_mm_mapping(bool enable)
+{
+    printk(XENLOG_ERR "mpu: SMP not *SUPPORTED*\n");
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/mpu/p2m.c b/xen/arch/arm/mpu/p2m.c
index 87e350270d..4bc09326f5 100644
--- a/xen/arch/arm/mpu/p2m.c
+++ b/xen/arch/arm/mpu/p2m.c
@@ -492,6 +492,22 @@  void p2m_dump_info(struct domain *d)
     p2m_read_unlock(p2m);
 }
 
+void setup_virt_paging_one(void *data)
+{
+    printk(XENLOG_ERR "mpu: SMP not *SUPPORTED*\n");
+}
+
+void p2m_invalidate_root(struct p2m_domain *p2m)
+{
+    printk(XENLOG_ERR "mpu: p2m_invalidate_root() not *SUPPORTED*\n");
+}
+
+bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn)
+{
+    printk(XENLOG_ERR "mpu: p2m_resolve_translation_fault() not *SUPPORTED*\n");
+    return false;
+}
+
 /*
  * Local variables:
  * mode: C