|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] xen/arm: dom0less: Add trap-unmapped-accesses
commit 5f91a9b209cb8a7ecf353ccdb836a73761b9e2e3
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxx>
AuthorDate: Mon Jun 16 17:38:23 2025 +0200
Commit: Stefano Stabellini <stefano.stabellini@xxxxxxx>
CommitDate: Tue Jun 17 10:59:04 2025 -0700
xen/arm: dom0less: Add trap-unmapped-accesses
Add the trap-unmapped-accesses per-domain fdt property.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxx>
Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
---
docs/misc/arm/device-tree/booting.txt | 10 ++++++++++
xen/arch/arm/dom0less-build.c | 9 ++++++++-
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/docs/misc/arm/device-tree/booting.txt
b/docs/misc/arm/device-tree/booting.txt
index 59fa96a82e..07acc7ba64 100644
--- a/docs/misc/arm/device-tree/booting.txt
+++ b/docs/misc/arm/device-tree/booting.txt
@@ -225,6 +225,16 @@ with the following properties:
option is provided with a non zero value, but the platform doesn't support
SVE.
+- trap-unmapped-accesses
+
+ Optional. An integer that configures handling of accesses to unmapped
+ address ranges.
+ If set to 0, guest accesses will read all bits as ones, e.g 0xFFFFFFFF
+ for a 32bit access and writes will be ignored.
+ If set to 1, guest accesses will trap.
+
+ The default is 1 when trap-unmapped-accesses is absent.
+
- xen,enhanced
A string property. Possible property values are:
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 981af5079f..4b285cff5e 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -344,8 +344,15 @@ void __init arch_create_domUs(struct dt_device_node *node,
#endif
}
- /* Trap accesses to unmapped areas. */
+ /* Trap unmapped accesses by default. */
d_cfg->flags |= XEN_DOMCTL_CDF_trap_unmapped_accesses;
+ if ( dt_property_read_u32(node, "trap-unmapped-accesses", &val) )
+ {
+ if ( val > 1 )
+ panic("trap-unmapped-accesses: supported values are 0 or 1");
+ if ( !val )
+ d_cfg->flags &= ~XEN_DOMCTL_CDF_trap_unmapped_accesses;
+ }
}
int __init init_intc_phandle(struct kernel_info *kinfo, const char *name,
--
generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |