
This patch series mainly add MP support to QEMU as well as some other necessary fixes for x86.
Verified by booting Linux kernel on QEMU i440FX and Q35, and make sure I/O APIC interrupt is being used by the kernel with the help of MP table provided by U-Boot.
This series is the prerequisite for the follow-up ACPI support which is currently being worked on by Saket.
Bin Meng (10): x86: Change pci option rom area MTRR setting to cacheable x86: Enable DM RTC support for all x86 boards x86: pci: Assign pci irqs to all functions x86: pci: Do not assign irq 0 to pci device x86: mpspec: Allow platform to determine how PIRQ is connected to I/O APIC x86: mpspec: Move writing ISA interrupt entry after PCI x86: qemu: Enable I/O APIC chip select on PIIX3 x86: qemu: Add MP initialization x86: qemu: Enable writing MP table x86: qemu: Turn on PCIe ECAM address range decoding on Q35
arch/x86/cpu/cpu.c | 27 ++++++++++++++----- arch/x86/cpu/mp_init.c | 4 +++ arch/x86/cpu/pci.c | 29 ++++++++++++++------- arch/x86/cpu/qemu/Kconfig | 11 ++++++++ arch/x86/cpu/qemu/pci.c | 45 +++++++++++++++++++++++++++++--- arch/x86/dts/chromebook_link.dts | 1 + arch/x86/dts/chromebox_panther.dts | 1 + arch/x86/dts/galileo.dts | 1 + arch/x86/dts/minnowmax.dts | 1 + arch/x86/dts/qemu-x86_i440fx.dts | 21 +++++++++++++++ arch/x86/dts/qemu-x86_q35.dts | 21 +++++++++++++++ arch/x86/include/asm/arch-qemu/qemu.h | 10 ++++++- arch/x86/include/asm/mpspec.h | 17 ++++++++++++ arch/x86/include/asm/mtrr.h | 2 ++ arch/x86/include/asm/pci.h | 3 +-- arch/x86/lib/mpspec.c | 49 ++++++++++++++++++++++++++--------- arch/x86/lib/pirq_routing.c | 3 +-- configs/chromebook_link_defconfig | 1 + configs/chromebox_panther_defconfig | 1 + configs/galileo_defconfig | 1 + configs/minnowmax_defconfig | 1 + configs/qemu-x86_defconfig | 6 +++++ doc/README.x86 | 5 ++++ 23 files changed, 223 insertions(+), 38 deletions(-)