WANG Siyuan (wangsiyuanbuaa(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10405
-gerrit
commit 7899aa97d41aa84e52ea3d5c9b93c1b8ba200cfd
Author: WANG Siyuan <wangsiyuanbuaa(a)gmail.com>
Date: Wed Jun 3 15:59:38 2015 +0800
3rdparty/blobs: Move submodule marker forward
Move the 3rdparty/blobs marker to include the following:
9077293: Add BLOBs to support AMD Embedded "Merlin Falcon" processor
Change-Id: Icf6c5f38c4aa5e3620c567478b1903ea3f1152c1
Signed-off-by: WANG Siyuan <wangsiyuanbuaa(a)gmail.com>
Signed-off-by: WANG Siyuan <SiYuan.Wang(a)amd.com>
---
3rdparty/blobs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/3rdparty/blobs b/3rdparty/blobs
index a710941..9077293 160000
--- a/3rdparty/blobs
+++ b/3rdparty/blobs
@@ -1 +1 @@
-Subproject commit a710941e436f4724d42aedfa7f6f12abc5eaff28
+Subproject commit 9077293152f19ff925957ce453bc81172ef8e45f
Timothy Pearson (tpearson(a)raptorengineeringinc.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10404
-gerrit
commit 7ca6a42ff1e835f5a1f0e6e53d4c918668cd2ec4
Author: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
Date: Tue Jun 2 20:25:03 2015 -0500
cpu/amd/car: Move AP stacks below the BSP stack to free up space
Caching SPD data during startup requires additional CAR space.
There was a large chunk of free space between the AP stack top and
the BSP stack bottom; moving the AP stacks below the BSP stack
allows this space to be utilized.
TEST: Booted ASUS KGPE-D16 with dual Opteron 6129 processors (16 cores)
and 120k of CAR.
Change-Id: I370ff368affde7061d6547527bda058b9016e977
Signed-off-by: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
---
src/cpu/amd/car/cache_as_ram.inc | 4 ++--
src/cpu/amd/model_10xxx/init_cpus.c | 3 ++-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/cpu/amd/car/cache_as_ram.inc b/src/cpu/amd/car/cache_as_ram.inc
index 51ebba6..5b80e332 100644
--- a/src/cpu/amd/car/cache_as_ram.inc
+++ b/src/cpu/amd/car/cache_as_ram.inc
@@ -377,7 +377,7 @@ CAR_FAM10_ap:
/*
* Need to set stack pointer for AP.
* It will be from:
- * CacheBase + CacheSize / 2
+ * CacheBase + (CacheSize - CacheSizeBSPStack * 2)
* - (NodeID << CoreIDbits + CoreID) * CacheSizeAPStack
* So need to get the NodeID and CoreID at first.
* If NB_CFG bit 54 is set just use initial APIC ID, otherwise need
@@ -411,7 +411,7 @@ roll_cfg:
/* Calculate stack pointer. */
movl $CacheSizeAPStack, %eax
mull %ebx
- movl $(CacheBase + CacheSize / 2), %esp
+ movl $(CacheBase + (CacheSize - CacheSizeBSPStack * 2)), %esp
subl %eax, %esp
/* Retrive init detected. */
diff --git a/src/cpu/amd/model_10xxx/init_cpus.c b/src/cpu/amd/model_10xxx/init_cpus.c
index aa21f37..f13eda52 100644
--- a/src/cpu/amd/model_10xxx/init_cpus.c
+++ b/src/cpu/amd/model_10xxx/init_cpus.c
@@ -250,7 +250,8 @@ static u32 init_cpus(u32 cpu_init_detectedx, struct sys_info *sysinfo)
u32 apicid;
struct node_core_id id;
- void * lower_stack_region_boundary = (void*)((CONFIG_DCACHE_RAM_BASE + (CONFIG_DCACHE_RAM_SIZE / 2))
+ void * lower_stack_region_boundary = (void*)((CONFIG_DCACHE_RAM_BASE
+ + (CONFIG_DCACHE_RAM_SIZE - (CONFIG_DCACHE_BSP_STACK_SIZE * 2)))
- (CONFIG_MAX_CPUS * CONFIG_DCACHE_AP_STACK_SIZE));
if (((void*)(sysinfo+1)) > lower_stack_region_boundary)
printk(BIOS_WARNING,
Timothy Pearson (tpearson(a)raptorengineeringinc.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10402
-gerrit
commit 7e7387771cc2103c239bc4b0c42e225b387959c2
Author: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
Date: Tue Jun 2 13:53:25 2015 -0500
cpu/amd/car: Increase Family 10h CAR size limit to 128k
This resolves issues with 4-node (32-core) systems not having
sufficient CAR memory available to boot.
TEST: Booted ASUS KGPE-D16 with dual Opteron 6129 processors (16 cores)
and 120k of CAR.
Change-Id: Ie884556edc5c85c2c908a8c6640eeec11594ba3a
Signed-off-by: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
---
src/cpu/amd/car/cache_as_ram.inc | 25 +++++++++++++++++++++++--
src/cpu/amd/car/disable_cache_as_ram.c | 7 +++++++
2 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/src/cpu/amd/car/cache_as_ram.inc b/src/cpu/amd/car/cache_as_ram.inc
index 1c22447..51ebba6 100644
--- a/src/cpu/amd/car/cache_as_ram.inc
+++ b/src/cpu/amd/car/cache_as_ram.inc
@@ -3,6 +3,7 @@
*
* Copyright (C) 2005-2007 Advanced Micro Devices, Inc.
* Copyright (C) 2008 Carl-Daniel Hailfinger
+ * Copyright (C) 2015 Timothy Pearson <tpearson(a)raptorengineeringinc.com>, Raptor Engineering
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -250,8 +251,14 @@ clear_fixed_var_mtrr_out:
*/
.endm
-#if CacheSize > 0x10000
-#error Invalid CAR size, must be at most 64k.
+#if IS_ENABLED(CONFIG_CPU_AMD_MODEL_10XXX)
+ #if CacheSize > 0x80000
+ #error Invalid CAR size, must be at most 128k (processor limit is 512k).
+ #endif
+#else
+ #if CacheSize > 0x10000
+ #error Invalid CAR size, must be at most 64k.
+ #endif
#endif
#if CacheSize < 0x1000
#error Invalid CAR size, must be at least 4k. This is a processor limitation.
@@ -267,6 +274,20 @@ clear_fixed_var_mtrr_out:
wrmsr
#endif
+#if CacheSize > 0x10000
+ /* Enable caching for 64K-96K using fixed MTRR. */
+ movl $MTRRfix4K_D0000_MSR, %ecx
+ simplemask CacheSize, 0x10000
+ wrmsr
+#endif
+
+#if CacheSize > 0x18000
+ /* Enable caching for 96K-128K using fixed MTRR. */
+ movl $MTRRfix4K_D8000_MSR, %ecx
+ simplemask CacheSize, 0x18000
+ wrmsr
+#endif
+
/* Enable caching for 0-32K using fixed MTRR. */
movl $MTRRfix4K_C8000_MSR, %ecx
simplemask CacheSize, 0
diff --git a/src/cpu/amd/car/disable_cache_as_ram.c b/src/cpu/amd/car/disable_cache_as_ram.c
index 4a86280..d3a3812 100644
--- a/src/cpu/amd/car/disable_cache_as_ram.c
+++ b/src/cpu/amd/car/disable_cache_as_ram.c
@@ -4,6 +4,7 @@
* original idea yhlu 6.2005 (assembler code)
*
* Copyright (C) 2010 Rudolf Marek <r.marek(a)assembler.cz>
+ * Copyright (C) 2015 Timothy Pearson <tpearson(a)raptorengineeringinc.com>, Raptor Engineering
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -36,6 +37,12 @@ static inline __attribute__((always_inline)) void disable_cache_as_ram(void)
#if CONFIG_DCACHE_RAM_SIZE > 0x8000
wrmsr(MTRRfix4K_C0000_MSR, msr);
#endif
+#if CONFIG_DCACHE_RAM_SIZE > 0x10000
+ wrmsr(MTRRfix4K_D0000_MSR, msr);
+#endif
+#if CONFIG_DCACHE_RAM_SIZE > 0x18000
+ wrmsr(MTRRfix4K_D8000_MSR, msr);
+#endif
/* disable fixed mtrr from now on, it will be enabled by ramstage again*/
msr = rdmsr(SYSCFG_MSR);
Timothy Pearson (tpearson(a)raptorengineeringinc.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10402
-gerrit
commit b5aef122aff84ee15ce9669305ac6f859200ff56
Author: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
Date: Tue Jun 2 13:53:25 2015 -0500
cpu/amd/car: Increase Family 10h CAR size limit to 128k
This resolves issues with 4-node (32-core) systems not having
sufficient CAR memory available to boot.
TEST: Booted ASUS KGPE-D16 with dual Opteron 6129 processors (16 cores)
and 120k of CAR.
Change-Id: Ie884556edc5c85c2c908a8c6640eeec11594ba3a
Signed-off-by: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
---
src/cpu/amd/car/cache_as_ram.inc | 25 +++++++++++++++++++++++--
src/cpu/amd/car/disable_cache_as_ram.c | 7 +++++++
2 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/src/cpu/amd/car/cache_as_ram.inc b/src/cpu/amd/car/cache_as_ram.inc
index 769e5cf..e563d67 100644
--- a/src/cpu/amd/car/cache_as_ram.inc
+++ b/src/cpu/amd/car/cache_as_ram.inc
@@ -3,6 +3,7 @@
*
* Copyright (C) 2005-2007 Advanced Micro Devices, Inc.
* Copyright (C) 2008 Carl-Daniel Hailfinger
+ * Copyright (C) 2015 Timothy Pearson <tpearson(a)raptorengineeringinc.com>, Raptor Engineering
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -249,8 +250,14 @@ clear_fixed_var_mtrr_out:
*/
.endm
-#if CacheSize > 0x10000
-#error Invalid CAR size, must be at most 64k.
+#if IS_ENABLED(CONFIG_CPU_AMD_MODEL_10XXX)
+ #if CacheSize > 0x80000
+ #error Invalid CAR size, must be at most 128k (processor limit is 512k).
+ #endif
+#else
+ #if CacheSize > 0x10000
+ #error Invalid CAR size, must be at most 64k.
+ #endif
#endif
#if CacheSize < 0x1000
#error Invalid CAR size, must be at least 4k. This is a processor limitation.
@@ -266,6 +273,20 @@ clear_fixed_var_mtrr_out:
wrmsr
#endif
+#if CacheSize > 0x10000
+ /* Enable caching for 64K-96K using fixed MTRR. */
+ movl $MTRRfix4K_D0000_MSR, %ecx
+ simplemask CacheSize, 0x10000
+ wrmsr
+#endif
+
+#if CacheSize > 0x18000
+ /* Enable caching for 96K-128K using fixed MTRR. */
+ movl $MTRRfix4K_D8000_MSR, %ecx
+ simplemask CacheSize, 0x18000
+ wrmsr
+#endif
+
/* Enable caching for 0-32K using fixed MTRR. */
movl $MTRRfix4K_C8000_MSR, %ecx
simplemask CacheSize, 0
diff --git a/src/cpu/amd/car/disable_cache_as_ram.c b/src/cpu/amd/car/disable_cache_as_ram.c
index 4a86280..d3a3812 100644
--- a/src/cpu/amd/car/disable_cache_as_ram.c
+++ b/src/cpu/amd/car/disable_cache_as_ram.c
@@ -4,6 +4,7 @@
* original idea yhlu 6.2005 (assembler code)
*
* Copyright (C) 2010 Rudolf Marek <r.marek(a)assembler.cz>
+ * Copyright (C) 2015 Timothy Pearson <tpearson(a)raptorengineeringinc.com>, Raptor Engineering
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -36,6 +37,12 @@ static inline __attribute__((always_inline)) void disable_cache_as_ram(void)
#if CONFIG_DCACHE_RAM_SIZE > 0x8000
wrmsr(MTRRfix4K_C0000_MSR, msr);
#endif
+#if CONFIG_DCACHE_RAM_SIZE > 0x10000
+ wrmsr(MTRRfix4K_D0000_MSR, msr);
+#endif
+#if CONFIG_DCACHE_RAM_SIZE > 0x18000
+ wrmsr(MTRRfix4K_D8000_MSR, msr);
+#endif
/* disable fixed mtrr from now on, it will be enabled by ramstage again*/
msr = rdmsr(SYSCFG_MSR);
the following patch was just integrated into master:
commit a4cf83df7a3ef3401e12ca3732cbe07294684d02
Author: Vladimir Serbinenko <phcoder(a)gmail.com>
Date: Tue Jun 2 21:40:29 2015 +0200
cbfs: Fix mismerge.
cbfs_get_file_content was replaced with cbfs_boot_map_with_leak but
36f8d27ea9f741e184b76b5f42d7f777f207edc0 failed to get it into account.
Change-Id: I0c7840043b2ea6abaf8e70f4bf1a63c96aedebc1
Signed-off-by: Vladimir Serbinenko <phcoder(a)gmail.com>
Reviewed-on: http://review.coreboot.org/10403
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
Tested-by: build bot (Jenkins)
See http://review.coreboot.org/10403 for details.
-gerrit
the following patch was just integrated into master:
commit 1aeea7fbdf252c95e1e3cdf45339a1430125f85d
Author: Vladimir Serbinenko <phcoder(a)gmail.com>
Date: Fri May 22 08:01:37 2015 +0200
tpm: Add dummy _DSM to make Bitlocker happy.
Change-Id: Ieb6f70f5b2863336bd6143b2dfbb1d67c4c26109
Signed-off-by: Vladimir Serbinenko <phcoder(a)gmail.com>
Reviewed-on: http://review.coreboot.org/10323
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
See http://review.coreboot.org/10323 for details.
-gerrit
the following patch was just integrated into master:
commit 36f8d27ea9f741e184b76b5f42d7f777f207edc0
Author: Vladimir Serbinenko <phcoder(a)gmail.com>
Date: Sun May 31 12:31:59 2015 +0200
Make DSDT a file in CBFS rather than embedding it into ramstage.
Makes it cleaner by putting AML into separate file rather than having
an array in C code.
Change-Id: Ia5d6b50ad9dabdb97ed05c837dc3ccc48b8f490f
Signed-off-by: Vladimir Serbinenko <phcoder(a)gmail.com>
Reviewed-on: http://review.coreboot.org/10385
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
See http://review.coreboot.org/10385 for details.
-gerrit