summaryrefslogtreecommitdiff
path: root/src/mainboard/supermicro
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2014-04-16 09:43:40 +0300
committerKyösti Mälkki <kyosti.malkki@gmail.com>2014-04-20 20:03:55 +0200
commita6c525a7d5ad0dedc31dcc9719be6bc5fbc743dd (patch)
treee789fe63a0581050c35f07806d6854ed7f82d08d /src/mainboard/supermicro
parent35546deba642d3bb341d329fc1b9711727a5c50e (diff)
AMD AGESA cimx/sb700: Drop APIC_ID_OFFSET and MAX_PHYSICAL_CPUS
Following boards use cimx/sb700: amd/dinar supermicro/h8qgi supermicro/h8scm tyan/s8226 Only amd/dinar had APIC_ID_OFFSET defined, thus all had 0x0. There was a nonsense preprocessor directive (MAX_CPUS * MAX_PHYSICAL_CPUS >= 1). Except for tyan, (MAX_CPUS * MAX_PHYSICAL_CPUS) % 256 == 0. Together with documented 4-bit restriction for APIC ID field, this APIC ID programming matches with MP tables and ACPI tables. I believe this would also fix cases of cimx/sb700 with MAX_CPUS<16, which we do not have in the tree. Change-Id: If8d65e95788ba02fc8d331a7af03a4d0d8cf5c69 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/5539 Tested-by: build bot (Jenkins) Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Diffstat (limited to 'src/mainboard/supermicro')
-rw-r--r--src/mainboard/supermicro/h8qgi/Kconfig4
-rw-r--r--src/mainboard/supermicro/h8qgi/acpi_tables.c11
-rw-r--r--src/mainboard/supermicro/h8qgi/mptable.c9
-rw-r--r--src/mainboard/supermicro/h8scm/Kconfig4
-rw-r--r--src/mainboard/supermicro/h8scm/acpi_tables.c11
-rw-r--r--src/mainboard/supermicro/h8scm/mptable.c9
6 files changed, 18 insertions, 30 deletions
diff --git a/src/mainboard/supermicro/h8qgi/Kconfig b/src/mainboard/supermicro/h8qgi/Kconfig
index 6371d9eb81..2ff782a765 100644
--- a/src/mainboard/supermicro/h8qgi/Kconfig
+++ b/src/mainboard/supermicro/h8qgi/Kconfig
@@ -54,10 +54,6 @@ config MAX_CPUS
int
default 64
-config MAX_PHYSICAL_CPUS
- int
- default 16
-
config HW_MEM_HOLE_SIZE_AUTO_INC
bool
default n
diff --git a/src/mainboard/supermicro/h8qgi/acpi_tables.c b/src/mainboard/supermicro/h8qgi/acpi_tables.c
index 0b62af7ffc..90d39bc19e 100644
--- a/src/mainboard/supermicro/h8qgi/acpi_tables.c
+++ b/src/mainboard/supermicro/h8qgi/acpi_tables.c
@@ -72,12 +72,11 @@ unsigned long acpi_fill_madt(unsigned long current)
* For systems with < 16 APICs, put the Local-APICs at 0..n and
* put the IO-APICs at (n + 1)..z
*/
-#if CONFIG_MAX_CPUS >= 16
- apicid_sp5100 = 0x0;
-#else
- apicid_sp5100 = CONFIG_MAX_CPUS + 1
-#endif
- apicid_sr5650 = apicid_sp5100 + 1;
+ if (CONFIG_MAX_CPUS >= 16)
+ apicid_sp5100 = 0x0;
+ else
+ apicid_sp5100 = CONFIG_MAX_CPUS + 1;
+ apicid_sr5650 = apicid_sp5100 + 1;
/* create all subtables for processors */
current = acpi_create_madt_lapics(current);
diff --git a/src/mainboard/supermicro/h8qgi/mptable.c b/src/mainboard/supermicro/h8qgi/mptable.c
index c10a21950d..0365ae6611 100644
--- a/src/mainboard/supermicro/h8qgi/mptable.c
+++ b/src/mainboard/supermicro/h8qgi/mptable.c
@@ -58,11 +58,10 @@ static void *smp_write_config_table(void *v)
* For systems with < 16 APICs, put the Local-APICs at 0..n and
* put the IO-APICs at (n + 1)..z
*/
-#if CONFIG_MAX_CPUS >= 16
- apicid_sp5100 = 0x0;
-#else
- apicid_sp5100 = CONFIG_MAX_CPUS + 1
-#endif
+ if (CONFIG_MAX_CPUS >= 16)
+ apicid_sp5100 = 0x0;
+ else
+ apicid_sp5100 = CONFIG_MAX_CPUS + 1;
apicid_sr5650 = apicid_sp5100 + 1;
dev = dev_find_slot(0, PCI_DEVFN(sbdn_sp5100 + 0x14, 0));
diff --git a/src/mainboard/supermicro/h8scm/Kconfig b/src/mainboard/supermicro/h8scm/Kconfig
index 86395e4ebf..7260f998cf 100644
--- a/src/mainboard/supermicro/h8scm/Kconfig
+++ b/src/mainboard/supermicro/h8scm/Kconfig
@@ -53,10 +53,6 @@ config MAX_CPUS
int
default 64
-config MAX_PHYSICAL_CPUS
- int
- default 16
-
config CPU_ADDR_BITS
int
default 36 # TODO: Set it conservatively to match both fam10 & 15
diff --git a/src/mainboard/supermicro/h8scm/acpi_tables.c b/src/mainboard/supermicro/h8scm/acpi_tables.c
index 05c99950ca..ffcdf1cadd 100644
--- a/src/mainboard/supermicro/h8scm/acpi_tables.c
+++ b/src/mainboard/supermicro/h8scm/acpi_tables.c
@@ -72,12 +72,11 @@ unsigned long acpi_fill_madt(unsigned long current)
* For systems with < 16 APICs, put the Local-APICs at 0..n and
* put the IO-APICs at (n + 1)..z
*/
-#if CONFIG_MAX_CPUS >= 16
- apicid_sp5100 = 0x0;
-#else
- apicid_sp5100 = CONFIG_MAX_CPUS + 1
-#endif
- apicid_sr5650 = apicid_sp5100 + 1;
+ if (CONFIG_MAX_CPUS >= 16)
+ apicid_sp5100 = 0x0;
+ else
+ apicid_sp5100 = CONFIG_MAX_CPUS + 1;
+ apicid_sr5650 = apicid_sp5100 + 1;
/* create all subtables for processors */
current = acpi_create_madt_lapics(current);
diff --git a/src/mainboard/supermicro/h8scm/mptable.c b/src/mainboard/supermicro/h8scm/mptable.c
index c10a21950d..0365ae6611 100644
--- a/src/mainboard/supermicro/h8scm/mptable.c
+++ b/src/mainboard/supermicro/h8scm/mptable.c
@@ -58,11 +58,10 @@ static void *smp_write_config_table(void *v)
* For systems with < 16 APICs, put the Local-APICs at 0..n and
* put the IO-APICs at (n + 1)..z
*/
-#if CONFIG_MAX_CPUS >= 16
- apicid_sp5100 = 0x0;
-#else
- apicid_sp5100 = CONFIG_MAX_CPUS + 1
-#endif
+ if (CONFIG_MAX_CPUS >= 16)
+ apicid_sp5100 = 0x0;
+ else
+ apicid_sp5100 = CONFIG_MAX_CPUS + 1;
apicid_sr5650 = apicid_sp5100 + 1;
dev = dev_find_slot(0, PCI_DEVFN(sbdn_sp5100 + 0x14, 0));