On Sat, Aug 16, 2014 at 01:15:05PM -0700, ron minnich wrote:
The ROMSTAGE on ARM is expected to be SRAM. When you know the SRAM address for a given mainboard, you need to set it up in Kconfig for *just* that mainboard.
Nice work, I think you're getting close!
Thanks :)
Meanwhile I was able to boot qemu-armv7. It was all about memory map. All changes that I did:
--- a/src/mainboard/emulation/qemu-armv7/Kconfig +++ b/src/mainboard/emulation/qemu-armv7/Kconfig @@ -64,11 +64,11 @@ config DRAM_SIZE_MB
config BOOTBLOCK_BASE hex - default 0x00010000 + default 0x00000000
config ROMSTAGE_BASE hex - default 0x00020000 + default 0x48040000
config RAMSTAGE_BASE hex @@ -88,11 +88,11 @@ config CBFS_ROM_OFFSET
config STACK_TOP hex - default 0x0007ff00 + default 0x4803ff00
config STACK_BOTTOM hex - default 0x00040000 + default 0x48000000
config STACK_SIZE hex
I also asked qemu developers about vexpress-a9 memory map [1] and submit a noob-like blog post about debugging session of this issue [2].
If you want I can commit above changes (after I figure out how to use gerrit and all that stuff). This of course mean that '-bios' option in qemu-system-arm should be used.
One last questions which bootloader you will suggest to boot Linux kernel ? U-Boot ? Or maybe it is possible to boot it directly from coreboot ? Is there tutorial/manual how to do that ?
[1] http://lists.nongnu.org/archive/html/qemu-devel/2014-08/msg02599.html [2] http://pietrushnic.github.io/blog/2014/08/07/debugging-coreboot-for-qemu-arm...