Mailing List Archive

[xen master] xen/arm: mm: Allow xen_pt_update() to work with the current root table
commit 0e506697d016ceab58b06a5c6e1932b9b382e29e
Author: Julien Grall <jgrall@amazon.com>
AuthorDate: Thu Dec 15 11:44:54 2022 +0000
Commit: Julien Grall <jgrall@amazon.com>
CommitDate: Thu Dec 15 11:46:37 2022 +0000

xen/arm: mm: Allow xen_pt_update() to work with the current root table

At the moment, xen_pt_update() will only work on the runtime page tables.
In follow-up patches, we will also want to use the helper to update
the boot page tables.

All the existing callers of xen_pt_update() expects to modify the
current page-tables. Therefore, we can read the root physical address
directly from TTBR0_EL2.

Signed-off-by: Julien Grall <jgrall@amazon.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
---
xen/arch/arm/mm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 1fd207b27c..16ec1d0fe9 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -1099,7 +1099,7 @@ static int xen_pt_update(unsigned long virt,
*
* XXX: Add a check.
*/
- const mfn_t root = virt_to_mfn(THIS_CPU_PGTABLE);
+ const mfn_t root = maddr_to_mfn(READ_SYSREG64(TTBR0_EL2));

/*
* The hardware was configured to forbid mapping both writeable and
--
generated by git-patchbot for /home/xen/git/xen.git#master