diff options
Diffstat (limited to 'Documentation/mainboard')
-rw-r--r-- | Documentation/mainboard/emulation/qemu-power9.md | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/Documentation/mainboard/emulation/qemu-power9.md b/Documentation/mainboard/emulation/qemu-power9.md index 3e2c75f9f4..be7a8398e7 100644 --- a/Documentation/mainboard/emulation/qemu-power9.md +++ b/Documentation/mainboard/emulation/qemu-power9.md @@ -1,7 +1,19 @@ # QEMU PPC64 emulator This page describes how to build and run coreboot for QEMU/PPC64. -You can configure ELF payload via `make menuconfig` (make sure "ROM chip size" -is large enough). + +## Building coreboot +```bash +make defconfig KBUILD_DEFCONFIG=configs/config.emulation_qemu_power9 +make +``` + +This builds coreboot with no payload. + +## Payloads +You can configure ELF or `skiboot` payload via `make menuconfig`. In either case +you might need to adjust "ROM chip size" and make it large enough to accommodate +the payload (see how much space it needs in the error you get if it doesn't +fit). ## Running coreboot in QEMU ```bash @@ -15,16 +27,26 @@ qemu-system-ppc64 -M powernv,hb-mode=on \ - The default CPU in QEMU for AArch64 is a 604. You specify a suitable PowerPC CPU via `-cpu power9`. -- By default Hostboot mode is off and it needs to be turned on to run coreboot +- By default Hostboot mode is off and needs to be turned on to run coreboot as a firmware rather than like an OS. - `-bios` specifies initial program (bootloader should suffice, but whole image works fine too). - `-drive` specifies image for emulated flash device. -## Building coreboot +## Running with a kernel +Loading `skiboot` (built automatically by coreboot or otherwise) allows +specifying kernel and root file system to be run. + ```bash -make defconfig KBUILD_DEFCONFIG=configs/config.emulation_qemu_power9 -make +qemu-system-ppc64 -M powernv,hb-mode=on \ + -cpu power9 \ + -bios build/coreboot.rom \ + -drive file=build/coreboot.rom,if=mtd \ + -serial stdio \ + -display none \ + -kernel zImage \ + -initrd initrd.cpio.xz ``` -This builds coreboot with no payload. +- Specify path to your kernel via `-kernel`. +- Specify path to your rootfs via `-initrd`. |