Using low vector base address (not hivecs), I want to set the vector base address VBAR to point to the memory location of the exception vector, in my case 0x100000.
Here is the disassembly of the code that should be setting VBAR to 0x100000 (access through coprocessor cp15):
After executing the code above, VBAR seems to remain clear:
(gdb) info register VBAR
VBAR 0x0 0
From what I have gathered reading Peter Maydell's reply to this email from 2013, VBAR is not implemented because qemu is a non-TrustZone model. Is this correct?
After some tests, I get the impression that VBAR does work, it's just a gdb issue. Any confirmation?
Initially reported at https://gitlab.com/qemu-project/qemu/-/issues/1245 but closed there as fork-dependent. Also reported to GDB at https://sourceware.org/bugzilla/show_bug.cgi?id=29675
Environment
I am running qemu-system-xilinx-aarch64 on Debian, as part of the Zephyr SDK version 0.15.
The command line I start qemu with is:
What I want to do
Using low vector base address (not hivecs), I want to set the vector base address VBAR to point to the memory location of the exception vector, in my case 0x100000.
Here is the disassembly of the code that should be setting VBAR to 0x100000 (access through coprocessor cp15):
The issue
After executing the code above, VBAR seems to remain clear:
From what I have gathered reading Peter Maydell's reply to this email from 2013, VBAR is not implemented because qemu is a non-TrustZone model. Is this correct?
After some tests, I get the impression that VBAR does work, it's just a gdb issue. Any confirmation?
Thanks in advance,