mb/google/nissa/var/rull: add ssd timing and modify ssd GPIO pins of rtd3
[coreboot2.git] / Documentation / mainboard / emulation / qemu-q35.md
blobcebbc637d63b7d01eb86cc4fe97db21025df1ed7
1 # qemu q35 mainboard
3 ## Running coreboot in qemu
4 Emulators like qemu don't need a firmware to do hardware init.
5 The hardware starts in the configured state already.
7 The coreboot port allows to test non mainboard specific code.
8 As you can easily attach a debugger, it's a good target for
9 experimental code.
11 ## coreboot x86_64 support
12 coreboot historically runs in 32-bit protected mode, even though the
13 processor supports x86_64 instructions (long mode).
15 The qemu-q35 mainboard has been ported to x86_64 and will serve as
16 reference platform to enable additional platforms.
18 To enable the support set the Kconfig option ``CONFIG_USE_EXP_X86_64_SUPPORT=y``.
20 ## Installing qemu
22 On debian you can install qemu by running:
23 ```bash
24 $ sudo apt-get install qemu
25 ```
27 On redhat you can install qemu by running:
28 ```bash
29 $ sudo dnf install qemu
30 ```
32 ## Running coreboot
33 ### To run the i386 version of coreboot (default)
34 Running on qemu-system-i386 will require a 32 bit operating system.
36 ```bash
37 qemu-system-i386 -bios build/coreboot.rom -serial stdio -M q35
38 ```
40 ### To run the experimental x86_64 version of coreboot
41 Running on `qemu-system-x86_64` allows to run a 32 bit or 64 bit operating system
42 and firmware.
44 ```bash
45 qemu-system-x86_64 -bios build/coreboot.rom -serial stdio -M q35
46 ```
48 ## Finding bugs
49 To test coreboot's x86 code it's recommended to run on a x86 host and enable KVM.
50 It will not only run faster, but is closer to real hardware. If you see the
51 following message:
53     KVM internal error. Suberror: 1
54     emulation failure
56 something went wrong. The same bug will likely cause a FAULT on real hardware,
57 too.
59 To enable KVM run:
61 ```bash
62 qemu-system-x86_64 -bios build/coreboot.rom -serial stdio -M q35 -accel kvm -cpu host
63 ```