Marc Jones (marcj303@gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/627
-gerrit
commit f299de3e00821ddbbe8682c302497228eca968df Author: Marc Jones marcj303@gmail.com Date: Mon Jan 30 19:30:45 2012 -0700
Fix MTRR TOM2 WB cache setup for AMD CPUs > revF.
The MTRR check for WB TOM2 setting was only checking revF, not extended family revisions. All families above revf indicate 0xf in the family field and have additional bits in the extended family field.
Change-Id: I93d719789acda6b7c42de7fd6d4bad2da866a25f Signed-off-by: Marc Jones marcj303@gmail.com --- src/cpu/amd/mtrr/amd_mtrr.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/cpu/amd/mtrr/amd_mtrr.c b/src/cpu/amd/mtrr/amd_mtrr.c index c5e01b1..2348b22 100644 --- a/src/cpu/amd/mtrr/amd_mtrr.c +++ b/src/cpu/amd/mtrr/amd_mtrr.c @@ -114,8 +114,9 @@ void amd_setup_mtrrs(void) msr_t msr, sys_cfg; // Test if this CPU is a Fam 0Fh rev. F or later const int cpu_id = cpuid_eax(0x80000001); + printk(BIOS_SPEW, "CPU ID 0x80000001: %x\n", cpu_id); const int has_tom2wb = - (((cpu_id>>8 )&0xf) > 0xf) || // Family > 0F + (((cpu_id>>20 )&0xf) > 0) || // ExtendedFamily > 0 ((((cpu_id>>8 )&0xf) == 0xf) && // Family == 0F (((cpu_id>>16)&0xf) >= 0x4)); // Rev>=F deduced from rev tables if(has_tom2wb)
hi, I've tried this patch, here's what it produce as log: From the linux kernel: [ 0.452071] ACPI Error: [TOM2] Namespace lookup failure, AE_NOT_FOUND (20110112/psargs-359) [ 0.480085] ACPI Error: [TOM2] Namespace lookup failure, AE_NOT_FOUND (20110112/psargs-359) [ 0.788222] ACPI Error: [TOM2] Namespace lookup failure, AE_NOT_FOUND (20110112/psargs-359) And: [ 0.308271] mtrr: your CPUs had inconsistent variable MTRR settings [ 0.308272] mtrr: probably your BIOS does not setup all CPUs. [ 0.308273] mtrr: corrected configuration.
And I think my CPU is covered by your patch: CPU is Fam 0Fh rev.F or later, using TOM2WB instead of MTRR above 4GB
Also, without pci=nocrs Xorg don't initialize.
I've attached the full log(compressed with xz)
Thanks a lot for working on this.
Denis.
Hi Denis,
On Tue, Feb 14, 2012 at 5:23 AM, Denis 'GNUtoo' Carikli GNUtoo@no-log.org wrote:
hi, I've tried this patch, here's what it produce as log: From the linux kernel: [ 0.452071] ACPI Error: [TOM2] Namespace lookup failure, AE_NOT_FOUND (20110112/psargs-359) [ 0.480085] ACPI Error: [TOM2] Namespace lookup failure, AE_NOT_FOUND (20110112/psargs-359) [ 0.788222] ACPI Error: [TOM2] Namespace lookup failure, AE_NOT_FOUND (20110112/psargs-359)
This is a problem in the ACPI SSDT tables and not directly related to this change. Take a look at this change for a solution for your mainboard. http://review.coreboot.org/#change,574
And: [ 0.308271] mtrr: your CPUs had inconsistent variable MTRR settings [ 0.308272] mtrr: probably your BIOS does not setup all CPUs. [ 0.308273] mtrr: corrected configuration.
Yes, we let linux fix it up. i don't think that the AP cores are setup, only core0 is. This saves time and effort in coreboot. Let the OS do what it is going to do anyway.
And I think my CPU is covered by your patch: CPU is Fam 0Fh rev.F or later, using TOM2WB instead of MTRR above 4GB
The message is a little deceiving. It takes the TOM2WB path, but you don't seem to have enough memory to cause the condition for TOM2WB to be required. It requires are least 4GB and I only see 2GB your output. I will adjust the message to be more accurate.
Also, without pci=nocrs Xorg don't initialize.
This is probably IRQ routing in the APCI tables. See the above patch. Note that this is specific to each mainboard. You will need to implement your own version.
I've attached the full log(compressed with xz)
I see this in the log:
microcode: equivalent rev id = 0x1062, current patch id = 0x00000000 microcode: rev id (1081) does not match this patch. microcode: Not updated! Fix microcode_updates[]
You should fix this up. See the table in src/cpu/amd/model_10xxx/update_microcode.c and update your mainboard Kconfig with the correct microcode file.
Thanks a lot for working on this.
You are welcome. Thanks for testing it.
Marc
Denis.