From 9e20e2f1587b4bba2db41a8279e070eac6ddd92b Mon Sep 17 00:00:00 2001 From: Nico Huber Date: Sun, 25 Oct 2020 14:41:40 +0100 Subject: 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/46768 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Stefan Reinauer --- util/qemu/Makefile.inc | 2 + util/qemu/q35-base.cfg | 180 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 182 insertions(+) create mode 100644 util/qemu/q35-base.cfg (limited to 'util/qemu') diff --git a/util/qemu/Makefile.inc b/util/qemu/Makefile.inc index 3346349844..651ef21635 100644 --- a/util/qemu/Makefile.inc +++ b/util/qemu/Makefile.inc @@ -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),) diff --git a/util/qemu/q35-base.cfg b/util/qemu/q35-base.cfg new file mode 100644 index 0000000000..87dcfcd6b0 --- /dev/null +++ b/util/qemu/q35-base.cfg @@ -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" -- cgit v1.2.3