Update GDB script
The internal implementation of kern_hyp_va() has changed in 5.10 and
the physvirt_offset variable does not exist any longer. Update the GDB
script to use the new formula instead.
Change-Id: Iacb0af9f50d56c0f4bf47e743e11372a366b5882
diff --git a/aarch64/aarch64.gdb b/aarch64/aarch64.gdb
index 5ac4d9d..2e83047 100644
--- a/aarch64/aarch64.gdb
+++ b/aarch64/aarch64.gdb
@@ -23,7 +23,7 @@
define virt_to_phys
set $__addr = $arg0
if ($__addr & $kern_va_lm_bit) == 0
- p/x ($__addr + $physvirt_offset)
+ p/x (($__addr & (~$page_offset)) + $phys_offset)
else
p/x ($__addr - $kimage_voffset)
end
@@ -35,7 +35,7 @@
define phys_to_virt
set $__addr = $arg0
- p/x ($__addr - $physvirt_offset)
+ p/x (($__addr - $phys_offset) | $page_offset)
end
document phys_to_virt
Convert kernel IPA to linear-map VA and print the result.
@@ -94,7 +94,8 @@
set $hyp_va_tag = (tag_val << tag_lsb)
set $hyp_va_mask = va_mask
set $kern_va_lm_bit = (1ul << (vabits_actual - 1))
- set $physvirt_offset = physvirt_offset
+ set $page_offset = (-(1ul << 48))
+ set $phys_offset = memstart_addr
set $kimage_voffset = kimage_voffset
# Load the ELF again under hyp VA.