[coreboot] qemu-armv7: memcpy to ROMSTAGE_BASE

Piotr Król pietrushnic at gmail.com
Sat Aug 16 23:13:03 CEST 2014


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-armv7-vexpress-a9-emulated-mainboard/



More information about the coreboot mailing list