diff options
Diffstat (limited to 'results/scraper/launchpad-without-comments/1812091')
| -rw-r--r-- | results/scraper/launchpad-without-comments/1812091 | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/results/scraper/launchpad-without-comments/1812091 b/results/scraper/launchpad-without-comments/1812091 new file mode 100644 index 000000000..fa178647c --- /dev/null +++ b/results/scraper/launchpad-without-comments/1812091 @@ -0,0 +1,20 @@ +gdbstub memory accesses performed with wrong attributes + +Qemu-commit: b2f7c27f56bf1116ebb7848c75914aa7c5d6a040 + + +The ARMv8-M architecture (with security extensions) contains a SAU, the Security Attribution Unit. After booting the mps2-an505 and immediately halting (`-S`), I attempt to read the SAU_TYPE register, located at 0xE000EDD4, using gdb (x 0xE000EDD4). The returned value is 0, while the expected value is 8 (number of regions). + +On further investigation, it seems that `attrs.secure` is set to false (armv7m_nvic.c - nvic_readl, line 1167). Commenting out the check will return the correct value. + +As the CPU should be in 'secure' mode after reset, I think this behavior is wrong. + +Steps to reproduce: +Example code that loads an endless loop into the beginning of secure memory: https://github.com/ajblane/armv8m-hello + +Commandline: qemu-system-arm -machine mps2-an505 -cpu cortex-m33 \ + -m 4096 \ + -nographic -serial mon:stdio \ + -kernel $(IMAGE) -s -S + +Attach with arm-none-eabi-gdb, and run x 0xE000EDD4. \ No newline at end of file |