|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH] arm/entry: set x0 before cache maintain.
There is a long standing issue in entry code of arm that x0 is not
set before using it in clean_and_invalidate_dcache_range. This error
can be caught by kvm and result in core dump.
Here, x0 is set to the location where stores dtb before cache maintain.
Signed-off-by: Jianyong Wu <jianyong.wu@xxxxxxx>
---
plat/kvm/arm/entry64.S | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/plat/kvm/arm/entry64.S b/plat/kvm/arm/entry64.S
index c4de334..aeb70c8 100644
--- a/plat/kvm/arm/entry64.S
+++ b/plat/kvm/arm/entry64.S
@@ -92,6 +92,10 @@ ENTRY(_libkvmplat_entry)
add x27, x26, x17
add x27, x27, #__STACK_SIZE
sub x1, x27, x25
+
+ /* Load dtb address to x0 as a parameter */
+ ldr x0, =_dtb
+
bl clean_and_invalidate_dcache_range
/* Disable the MMU and D-Cache. */
@@ -135,8 +139,6 @@ ENTRY(_libkvmplat_entry)
/* Enable the mmu */
bl start_mmu
- /* Load dtb address to x0 as a parameter */
- ldr x0, =_dtb
b _libkvmplat_start
END(_libkvmplat_entry)
--
2.17.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |