Paul Menzel (paulepanter@users.sourceforge.net) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3217
-gerrit
commit 15dee227f738ae41b0a1895f4267f60e55a5a2cc Author: Paul Menzel paulepanter@users.sourceforge.net Date: Wed May 8 13:23:14 2013 +0200
AMD: Reduce stack size from 64 KB to the default of 4 KB
Apply the following commit to all AMD boards.
commit 935850e08293cec1cb27d12358b27285e780566a Author: Stefan Reinauer reinauer@chromium.org Date: Mon May 6 16:16:03 2013 -0700
asrock/e350m1: reduce default stack size
The stack used on the ASRock E350M1 is significantly less than what we currently set (64k per core). In fact, we use about half of the default stack size (4k) on core 0 and even less on non BSP cores [1]:
$ grep stack coreboot_without_patch_but_monotonic_timer.log CPU1: stack_base 002a0000, stack_end 002afff8 CPU1: stack: 002a0000 - 002b0000, lowest used address 002afda8, stack used: 600 bytes CPU0: stack: 002b0000 - 002c0000, lowest used address 002bf75c, stack used: 2212 bytes
[…]
Reviewed-on: http://review.coreboot.org/3209
Please note that AGESA seems to define bigger stack sizes. But these seem to be too much too.
$ git grep STACK_SIZE src/vendorcode/amd […] src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/cpuF14CacheDefaults.c:#define BSP_STACK_SIZE 16384 src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/cpuF14CacheDefaults.c:#define CORE0_STACK_SIZE 16384 src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/cpuF14CacheDefaults.c:#define CORE1_STACK_SIZE 4096 src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/cpuF14CacheDefaults.c: BSP_STACK_SIZE, src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/cpuF14CacheDefaults.c: CORE0_STACK_SIZE, src/vendorcode/amd/agesa/f14/Proc/CPU/Family/0x14/cpuF14CacheDefaults.c: CORE1_STACK_SIZE, […]
The following command was used to create the patch.
$ git grep -l STACK_SIZE src/mainboard/ | xargs sed -i '/STACK_SIZE/,+3d'
Change-Id: I36b95b7a6f190b64d0639fc036ce2fb0253f3fa1 Signed-off-by: Paul Menzel paulepanter@users.sourceforge.net --- src/mainboard/amd/dinar/Kconfig | 4 ---- src/mainboard/amd/inagua/Kconfig | 4 ---- src/mainboard/amd/parmer/Kconfig | 4 ---- src/mainboard/amd/persimmon/Kconfig | 4 ---- src/mainboard/amd/south_station/Kconfig | 4 ---- src/mainboard/amd/thatcher/Kconfig | 4 ---- src/mainboard/amd/torpedo/Kconfig | 4 ---- src/mainboard/amd/union_station/Kconfig | 4 ---- src/mainboard/asus/f2a85-m/Kconfig | 4 ---- src/mainboard/lippert/frontrunner-af/Kconfig | 4 ---- src/mainboard/lippert/toucan-af/Kconfig | 4 ---- src/mainboard/msi/ms9652_fam10/Kconfig | 4 ---- src/mainboard/supermicro/h8qgi/Kconfig | 4 ---- src/mainboard/supermicro/h8qme_fam10/Kconfig | 4 ---- src/mainboard/supermicro/h8scm/Kconfig | 4 ---- src/mainboard/technexion/tim5690/Kconfig | 4 ---- src/mainboard/tyan/s8226/Kconfig | 4 ---- 17 files changed, 68 deletions(-)
diff --git a/src/mainboard/amd/dinar/Kconfig b/src/mainboard/amd/dinar/Kconfig index 5d36eb0..9edbe7a 100644 --- a/src/mainboard/amd/dinar/Kconfig +++ b/src/mainboard/amd/dinar/Kconfig @@ -82,10 +82,6 @@ config HEAP_SIZE hex default 0xc0000
-config STACK_SIZE - hex - default 0x10000 - config RAMBASE hex default 0x200000 diff --git a/src/mainboard/amd/inagua/Kconfig b/src/mainboard/amd/inagua/Kconfig index c30347d..3c1431e 100644 --- a/src/mainboard/amd/inagua/Kconfig +++ b/src/mainboard/amd/inagua/Kconfig @@ -84,10 +84,6 @@ config HEAP_SIZE hex default 0xc0000
-config STACK_SIZE - hex - default 0x10000 - config RAMBASE hex default 0x200000 diff --git a/src/mainboard/amd/parmer/Kconfig b/src/mainboard/amd/parmer/Kconfig index eb61d8c..678432b 100644 --- a/src/mainboard/amd/parmer/Kconfig +++ b/src/mainboard/amd/parmer/Kconfig @@ -84,10 +84,6 @@ config HEAP_SIZE hex default 0xc0000
-config STACK_SIZE - hex - default 0x10000 - config RAMBASE hex default 0x200000 diff --git a/src/mainboard/amd/persimmon/Kconfig b/src/mainboard/amd/persimmon/Kconfig index f3f9aa9..2e7442c 100644 --- a/src/mainboard/amd/persimmon/Kconfig +++ b/src/mainboard/amd/persimmon/Kconfig @@ -84,10 +84,6 @@ config HEAP_SIZE hex default 0xc0000
-config STACK_SIZE - hex - default 0x10000 - config RAMBASE hex default 0x200000 diff --git a/src/mainboard/amd/south_station/Kconfig b/src/mainboard/amd/south_station/Kconfig index fda0975..1c5e401 100644 --- a/src/mainboard/amd/south_station/Kconfig +++ b/src/mainboard/amd/south_station/Kconfig @@ -84,10 +84,6 @@ config HEAP_SIZE hex default 0xc0000
-config STACK_SIZE - hex - default 0x10000 - config RAMBASE hex default 0x200000 diff --git a/src/mainboard/amd/thatcher/Kconfig b/src/mainboard/amd/thatcher/Kconfig index 5a18e61..f619478 100644 --- a/src/mainboard/amd/thatcher/Kconfig +++ b/src/mainboard/amd/thatcher/Kconfig @@ -84,10 +84,6 @@ config HEAP_SIZE hex default 0xc0000
-config STACK_SIZE - hex - default 0x10000 - config RAMBASE hex default 0x200000 diff --git a/src/mainboard/amd/torpedo/Kconfig b/src/mainboard/amd/torpedo/Kconfig index 18e445c..ac42a4f 100644 --- a/src/mainboard/amd/torpedo/Kconfig +++ b/src/mainboard/amd/torpedo/Kconfig @@ -98,10 +98,6 @@ config HEAP_SIZE hex default 0xc0000
-config STACK_SIZE - hex - default 0x10000 - config RAMBASE hex default 0x200000 diff --git a/src/mainboard/amd/union_station/Kconfig b/src/mainboard/amd/union_station/Kconfig index e7df47b..e3e4bfe 100644 --- a/src/mainboard/amd/union_station/Kconfig +++ b/src/mainboard/amd/union_station/Kconfig @@ -83,10 +83,6 @@ config HEAP_SIZE hex default 0xc0000
-config STACK_SIZE - hex - default 0x10000 - config RAMBASE hex default 0x200000 diff --git a/src/mainboard/asus/f2a85-m/Kconfig b/src/mainboard/asus/f2a85-m/Kconfig index 20d79ec..ad2c8b7 100644 --- a/src/mainboard/asus/f2a85-m/Kconfig +++ b/src/mainboard/asus/f2a85-m/Kconfig @@ -109,10 +109,6 @@ config HEAP_SIZE hex default 0xc0000
-config STACK_SIZE - hex - default 0x10000 - config RAMBASE hex default 0x200000 diff --git a/src/mainboard/lippert/frontrunner-af/Kconfig b/src/mainboard/lippert/frontrunner-af/Kconfig index f56c048..d326746 100644 --- a/src/mainboard/lippert/frontrunner-af/Kconfig +++ b/src/mainboard/lippert/frontrunner-af/Kconfig @@ -88,10 +88,6 @@ config HEAP_SIZE hex default 0xc0000
-config STACK_SIZE - hex - default 0x10000 - config RAMBASE hex default 0x200000 diff --git a/src/mainboard/lippert/toucan-af/Kconfig b/src/mainboard/lippert/toucan-af/Kconfig index 6696ca6..e8f5896 100644 --- a/src/mainboard/lippert/toucan-af/Kconfig +++ b/src/mainboard/lippert/toucan-af/Kconfig @@ -90,10 +90,6 @@ config HEAP_SIZE hex default 0xc0000
-config STACK_SIZE - hex - default 0x10000 - config RAMBASE hex default 0x200000 diff --git a/src/mainboard/msi/ms9652_fam10/Kconfig b/src/mainboard/msi/ms9652_fam10/Kconfig index 852efd4..e3de52f 100644 --- a/src/mainboard/msi/ms9652_fam10/Kconfig +++ b/src/mainboard/msi/ms9652_fam10/Kconfig @@ -61,10 +61,6 @@ config SMP bool default y
-config STACK_SIZE - hex - default 0x20000 - config HEAP_SIZE hex default 0x20000 diff --git a/src/mainboard/supermicro/h8qgi/Kconfig b/src/mainboard/supermicro/h8qgi/Kconfig index cd4fb69..1184a93 100644 --- a/src/mainboard/supermicro/h8qgi/Kconfig +++ b/src/mainboard/supermicro/h8qgi/Kconfig @@ -80,10 +80,6 @@ config HEAP_SIZE hex default 0xc0000
-config STACK_SIZE - hex - default 0x10000 - config RAMBASE hex default 0x200000 diff --git a/src/mainboard/supermicro/h8qme_fam10/Kconfig b/src/mainboard/supermicro/h8qme_fam10/Kconfig index 6ba6130..89675d3 100644 --- a/src/mainboard/supermicro/h8qme_fam10/Kconfig +++ b/src/mainboard/supermicro/h8qme_fam10/Kconfig @@ -92,8 +92,4 @@ config SERIAL_CPU_INIT bool default y
-config STACK_SIZE - hex - default 0x10000 - endif # BOARD_SUPERMICRO_H8QME_FAM10 diff --git a/src/mainboard/supermicro/h8scm/Kconfig b/src/mainboard/supermicro/h8scm/Kconfig index 4833bed..95e6f81 100644 --- a/src/mainboard/supermicro/h8scm/Kconfig +++ b/src/mainboard/supermicro/h8scm/Kconfig @@ -83,10 +83,6 @@ config HEAP_SIZE hex default 0xc0000
-config STACK_SIZE - hex - default 0x10000 - config RAMBASE hex default 0x200000 diff --git a/src/mainboard/technexion/tim5690/Kconfig b/src/mainboard/technexion/tim5690/Kconfig index d1e41c2..720dbfa 100644 --- a/src/mainboard/technexion/tim5690/Kconfig +++ b/src/mainboard/technexion/tim5690/Kconfig @@ -56,10 +56,6 @@ config IRQ_SLOT_COUNT int default 11
-config STACK_SIZE - hex - default 0x2000 - config HEAP_SIZE hex default 0x4000 diff --git a/src/mainboard/tyan/s8226/Kconfig b/src/mainboard/tyan/s8226/Kconfig index e2fe1e8..1db75b3 100644 --- a/src/mainboard/tyan/s8226/Kconfig +++ b/src/mainboard/tyan/s8226/Kconfig @@ -76,10 +76,6 @@ config HEAP_SIZE hex default 0xc0000
-config STACK_SIZE - hex - default 0x10000 - config RAMBASE hex default 0x200000