[prev in list] [next in list] [prev in thread] [next in thread]
List: linuxbios
Subject: Re: [coreboot] Why is `MMCONF_SUPPORT_DEFAULT` not enabled for more devices?
From: Kyösti_Mälkki <kyosti.malkki () gmail ! com>
Date: 2013-06-29 12:35:31
Message-ID: 1372509331.19660.16.camel () obelix
[Download RAW message or body]
On Sat, 2013-06-29 at 13:37 +0200, Paul Menzel wrote:
> Dear coreboot folks,
>
<clip>
> Searching the code for that Kconfig variable, I get the following
> results
>
> $ git grep MMCONF_SUPPORT_DEFAULT
> src/Kconfig:config MMCONF_SUPPORT_DEFAULT
> src/arch/x86/include/arch/io.h:#if CONFIG_MMCONF_SUPPORT_DEFAULT
> src/arch/x86/include/arch/io.h:#if CONFIG_MMCONF_SUPPORT_DEFAULT
<clip>
> and I wonder why this option is not selected for more platforms or even
> enabled by default (for systems having `MMCONF_SUPPORT`)? Reading the
> AMD whitepaper it claims that the Linux kernel can determine if MMIO is
> there during runtime [3]. Though I have no idea if that is only possible
> because of the firmware setting things up correctly beforehand.
>
> Additionally for Intel systems `MMCONF_SUPPORT` (without `_DEFAULT`)
> seems to be selected in each mainboard where for AMD systems it is done
> under `src/cpu`.
>
To use MMCONF_SUPPORT_DEFAULT you need to enable MMCONF as one of the
very first things you do.
For Intel see haswell/bootblock.c or gm45/early_init.c. Both use
explicit PCI IO style config access to do the job. This explicit early
write is missing on some other chipsets, thus you cannot blindly enable
MMCONF_SUPPORT_DEFAULT. There is no hardware restriction AFAIK, patches
welcome.
For AMD the same enable function is in cpu/amd/car/cache_as_ram.inc.
One really should not be using PCI IO configs on AMD multiprocessor
platforms, please submit patch to select MMCONF_SUPPORT_DEFAULT for any
AMD board with MMCONF_SUPPORT.
IMHO, MMCONF_SUPPORT and MMCONF_SUPPORT_DEFAULT belong under
northbridge/ while MMCONF_BASE_ADDRESS belongs under mainboard/.
Kyösti
--
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic