util/qemu: Add comprehensive default config for QEMU Q35

This config tries to mimic the actual devices of a mainboard
with Intel's Q35 chipset. It provides a much better base to
test coreboot (e.g. its allocator) and payloads.

Change-Id: Id465016e37ee75628a55b9da68facb4ae0efe822
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/46768
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
Nico Huber 2020-10-25 14:41:40 +01:00 committed by Patrick Georgi
parent a08328ecff
commit 9e20e2f158
2 changed files with 182 additions and 0 deletions

View File

@ -27,7 +27,9 @@
# $ make qemu QEMU_CFG_ARGS=
QEMU-$(CONFIG_BOARD_EMULATION_QEMU_X86_I440FX) ?= qemu-system-x86_64 -M pc
QEMU-$(CONFIG_BOARD_EMULATION_QEMU_X86_Q35) ?= qemu-system-x86_64 -M q35
QEMU_CFG-$(CONFIG_BOARD_EMULATION_QEMU_X86_Q35) ?= util/qemu/q35-base.cfg
ifneq ($(QEMU-y),)

180
util/qemu/q35-base.cfg Normal file
View File

@ -0,0 +1,180 @@
# $ qemu-system-x86_64 -nodefaults -readconfig q35-base.cfg -readconfig ...
#
# Devices that show up even with `-nodefaults`:
# 00.0 Host bridge
# 1f.0 LPC bridge
# 1f.2 SATA controller (AHCI mode)
# 1f.3 SMBus controller
[machine]
type = "q35"
accel = "kvm:tcg"
[memory]
size = "1024"
[device "q35-peg"]
driver = "pcie-root-port"
bus = "pcie.0"
addr = "01.0"
[device "q35-igpu"]
driver = "VGA"
bus = "pcie.0"
addr = "02.0"
[netdev "hostnet"]
type = "user"
[device "net"]
driver = "e1000"
netdev = "hostnet"
bus = "pcie.0"
addr = "19.0"
[device "ich9-ehci-2"]
driver = "ich9-usb-ehci2"
multifunction = "on"
bus = "pcie.0"
addr = "1a.7"
[device "ich9-uhci-4"]
driver = "ich9-usb-uhci4"
multifunction = "on"
bus = "pcie.0"
addr = "1a.0"
masterbus = "ich9-ehci-2.0"
firstport = "0"
[device "ich9-uhci-5"]
driver = "ich9-usb-uhci5"
multifunction = "on"
bus = "pcie.0"
addr = "1a.1"
masterbus = "ich9-ehci-2.0"
firstport = "2"
[device "ich9-uhci-6"]
driver = "ich9-usb-uhci6"
multifunction = "on"
bus = "pcie.0"
addr = "1a.2"
masterbus = "ich9-ehci-2.0"
firstport = "4"
[device "ich9-hda-audio"]
driver = "ich9-intel-hda"
bus = "pcie.0"
addr = "1b.0"
[device "ich9-hda-duplex"]
driver = "hda-duplex"
bus = "ich9-hda-audio.0"
cad = "0"
[device "ich9-pcie-port-1"]
driver = "ioh3420"
multifunction = "on"
bus = "pcie.0"
addr = "1c.0"
port = "1"
chassis = "1"
[device "ich9-pcie-port-2"]
driver = "ioh3420"
multifunction = "on"
bus = "pcie.0"
addr = "1c.1"
port = "2"
chassis = "2"
[device "ich9-pcie-port-3"]
driver = "ioh3420"
multifunction = "on"
bus = "pcie.0"
addr = "1c.2"
port = "3"
chassis = "3"
[device "ich9-pcie-port-4"]
driver = "ioh3420"
multifunction = "on"
bus = "pcie.0"
addr = "1c.3"
port = "4"
chassis = "4"
[device "ich9-pcie-port-5"]
driver = "ioh3420"
multifunction = "on"
bus = "pcie.0"
addr = "1c.4"
port = "5"
chassis = "5"
[device "ich9-pcie-port-6"]
driver = "ioh3420"
multifunction = "on"
bus = "pcie.0"
addr = "1c.5"
port = "6"
chassis = "6"
[device "ich9-pcie-port-7"]
driver = "ioh3420"
multifunction = "on"
bus = "pcie.0"
addr = "1c.6"
port = "7"
chassis = "7"
[device "ich9-pcie-port-8"]
driver = "ioh3420"
multifunction = "on"
bus = "pcie.0"
addr = "1c.7"
port = "8"
chassis = "8"
[device "ich9-ehci-1"]
driver = "ich9-usb-ehci1"
multifunction = "on"
bus = "pcie.0"
addr = "1d.7"
[device "ich9-uhci-1"]
driver = "ich9-usb-uhci1"
multifunction = "on"
bus = "pcie.0"
addr = "1d.0"
masterbus = "ich9-ehci-1.0"
firstport = "0"
[device "ich9-uhci-2"]
driver = "ich9-usb-uhci2"
multifunction = "on"
bus = "pcie.0"
addr = "1d.1"
masterbus = "ich9-ehci-1.0"
firstport = "2"
[device "ich9-uhci-3"]
driver = "ich9-usb-uhci3"
multifunction = "on"
bus = "pcie.0"
addr = "1d.2"
masterbus = "ich9-ehci-1.0"
firstport = "4"
[device "ich9-pci-bridge"]
driver = "i82801b11-bridge"
bus = "pcie.0"
addr = "1e.0"