|
From: | Chan Kim |
Subject: | read_sysreg(TTBR_EL2) not work in linux, but read_sysreg(CurrentEL) works. (arm64) |
Date: | Tue, 22 Feb 2022 15:15:02 +0900 |
When running u-boot starting linux on qemu and using gdb to debug the program, (on a modified arm64 virt machine), I see this strange things. Right after I enter linux start_kernel( ), I added these two lines, datax = read_sysreg(CurrentEL); -- line 1 datax = read_sysreg(TTBR1_EL2); -- line 2 after line 1 and before line 2, the value of datax is seen as 8. (bit [3:2] is current EL, so it's EL2). after line 2, the value of datax is still 8, but the result of `info reg TTBR1_EL2` is 0x8065a000. The disassembled assembly code shows no reading of TTBR1_EL2 register. How can this happen? Should I set something in the kernel configuration? Any help will be really appreciated. Thank you! Chan Kim |
[Prev in Thread] | Current Thread | [Next in Thread] |