x86/jailhouse: Allow to use PCI_MMCONFIG without ACPI
authorJan Kiszka <jan.kiszka@siemens.com>
Wed, 7 Mar 2018 07:39:17 +0000 (08:39 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 8 Mar 2018 11:30:39 +0000 (12:30 +0100)
Jailhouse does not use ACPI, but it does support MMCONFIG. Make sure the
latter can be built without having to enable ACPI as well. Primarily, its
required to make the AMD mmconf-fam10h_64 depend upon MMCONFIG and
ACPI, instead of just the former.

Saves some bytes in the Jailhouse non-root kernel.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: jailhouse-dev@googlegroups.com
Cc: linux-pci@vger.kernel.org
Cc: virtualization@lists.linux-foundation.org
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Link: https://lkml.kernel.org/r/788bbd5325d1922235e9562c213057425fbc548c.1520408357.git.jan.kiszka@siemens.com
arch/x86/Kconfig
arch/x86/kernel/Makefile
arch/x86/kernel/cpu/amd.c

index 573b7c49d9f8ce486c62827218f0c5eba16f945e..7f00f60a2028d881d993058428e1b764d95f7a6e 100644 (file)
@@ -2642,7 +2642,7 @@ config PCI_DIRECT
 config PCI_MMCONFIG
        bool "Support mmconfig PCI config space access" if X86_64
        default y
-       depends on PCI && (ACPI || SFI)
+       depends on PCI && (ACPI || SFI || JAILHOUSE_GUEST)
        depends on X86_64 || (PCI_GOANY || PCI_GOMMCONFIG)
 
 config PCI_OLPC
@@ -2658,6 +2658,10 @@ config PCI_DOMAINS
        def_bool y
        depends on PCI
 
+config MMCONF_FAM10H
+       def_bool y
+       depends on X86_64 && PCI_MMCONFIG && ACPI
+
 config PCI_CNB20LE_QUIRK
        bool "Read CNB20LE Host Bridge Windows" if EXPERT
        depends on PCI
index 29786c87e864524cc020798a10198a9cc0f3ca0a..73ccf80c09a2da6e4d0f1ee9a0bd84334e764424 100644 (file)
@@ -146,6 +146,6 @@ ifeq ($(CONFIG_X86_64),y)
        obj-$(CONFIG_GART_IOMMU)        += amd_gart_64.o aperture_64.o
        obj-$(CONFIG_CALGARY_IOMMU)     += pci-calgary_64.o tce_64.o
 
-       obj-$(CONFIG_PCI_MMCONFIG)      += mmconf-fam10h_64.o
+       obj-$(CONFIG_MMCONF_FAM10H)     += mmconf-fam10h_64.o
        obj-y                           += vsmp_64.o
 endif
index f0e6456ca7d3cd482893a7d1953aec5d79c4caad..12bc0a1139dac57fefe8b299d1ef9685fa0e3147 100644 (file)
@@ -716,7 +716,7 @@ static void init_amd_k8(struct cpuinfo_x86 *c)
 
 static void init_amd_gh(struct cpuinfo_x86 *c)
 {
-#ifdef CONFIG_X86_64
+#ifdef CONFIG_MMCONF_FAM10H
        /* do this for boot cpu */
        if (c == &boot_cpu_data)
                check_enable_amd_mmconf_dmi();