From 872c9222965909dffdd091e644b03e676ca2754f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Wed, 3 Jul 2013 09:44:28 +0300 Subject: Fix MMCONF_SUPPORT_DEFAULT for ramstage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Define at one place whether to use IO 0xcf8/0xcfc or MMIO via MMCONF_BASE_ADDRESS for PCI configuration access funtions in ramstage. The implementation of pci_default_config() always returned with pci_cf8_conf1. This means any PCI configuration access that did not target bus 0 used PCI IO config operations, if PCI MMIO config was not explicitly requested. Change-Id: I3b04f570fe88d022cd60dde8bb98e76bd00fe612 Signed-off-by: Kyösti Mälkki Reviewed-on: http://review.coreboot.org/3606 Tested-by: build bot (Jenkins) Reviewed-by: Marc Jones Reviewed-by: Aaron Durbin --- src/arch/x86/include/arch/pci_ops.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/arch/x86/include') diff --git a/src/arch/x86/include/arch/pci_ops.h b/src/arch/x86/include/arch/pci_ops.h index eca939045f..e6027b7038 100644 --- a/src/arch/x86/include/arch/pci_ops.h +++ b/src/arch/x86/include/arch/pci_ops.h @@ -7,9 +7,19 @@ extern const struct pci_bus_operations pci_cf8_conf1; extern const struct pci_bus_operations pci_ops_mmconf; #endif +#if CONFIG_MMCONF_SUPPORT_DEFAULT +#define pci_bus_default_ops &pci_ops_mmconf +#else +#define pci_bus_default_ops &pci_cf8_conf1 +#endif + static inline const struct pci_bus_operations *pci_config_default(void) { +#if CONFIG_MMCONF_SUPPORT_DEFAULT + return &pci_ops_mmconf; +#else return &pci_cf8_conf1; +#endif } static inline void pci_set_method(device_t dev) -- cgit v1.2.3