Hi all,
I've been prototyping EL3 firmware using the virt device lately. After successfully initializing the page tables I was met with a particularly strange issue: I am unable to map the Flash memory range into the VM address space. At first I was identity mapping everything. I considered it might be a strange issue related to using address "zero", so I tried moving it above where I mapped RAM. However I'm always met with the same result: Data Abort.
All other translations work, including the UART and RAM. I've tested my translation table configuration in many ways, including several VA mappings to the same PA and non-identity mappings. Everything works except those destined to hit the emulated Flash hardware. Is this a known issue? Is Flash handled differently than other emulated hardware in QEMU?
I tried enabling MMU debugging with `-d mmu` but, after looking through the code, it appears to not be implemented for this target.