summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Georgi <patrick.georgi@coresystems.de>2009-04-28 12:57:25 +0000
committerPatrick Georgi <patrick.georgi@coresystems.de>2009-04-28 12:57:25 +0000
commitbccaafc677c3b51c730baebf83073f8db166550d (patch)
treea80743e174441221bb7bc7f2d0aa9d3b7f9e0ca6
parentd107593691631ff1ae34fbb98d03d5085ed5b07a (diff)
downloadcoreboot-bccaafc677c3b51c730baebf83073f8db166550d.tar.xz
add_mainboard_resources is necessary for some boards (eg. kontron), but
this generic code could be added to the caller of add_mainboard_resources (wrapped in HAVE_HIGH_TABLES, of course). That way, boards that really need it (for other things) can use this function, while others don't have to do anything to use HAVE_HIGH_TABLES. Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4223 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--src/arch/i386/boot/coreboot_table.c10
-rw-r--r--src/mainboard/asus/m2v-mx_se/mainboard.c9
-rw-r--r--src/mainboard/kontron/986lcd-m/mainboard.c8
-rw-r--r--src/mainboard/supermicro/h8dme/Options.lb2
-rw-r--r--src/mainboard/supermicro/h8dme/mainboard.c14
-rw-r--r--src/mainboard/tyan/s2891/Options.lb4
-rw-r--r--src/mainboard/tyan/s2891/mainboard.c16
-rw-r--r--src/mainboard/tyan/s2892/Options.lb4
-rw-r--r--src/mainboard/tyan/s2892/mainboard.c16
-rw-r--r--src/mainboard/tyan/s2895/Options.lb4
-rw-r--r--src/mainboard/tyan/s2895/mainboard.c16
-rw-r--r--src/mainboard/via/vt8454c/Options.lb2
-rw-r--r--src/mainboard/via/vt8454c/mainboard.c15
13 files changed, 13 insertions, 107 deletions
diff --git a/src/arch/i386/boot/coreboot_table.c b/src/arch/i386/boot/coreboot_table.c
index 88605cd0d1..b134e386e4 100644
--- a/src/arch/i386/boot/coreboot_table.c
+++ b/src/arch/i386/boot/coreboot_table.c
@@ -413,6 +413,10 @@ static struct lb_memory *build_lb_mem(struct lb_header *head)
return mem;
}
+#if HAVE_HIGH_TABLES == 1
+extern uint64_t high_tables_base, high_tables_size;
+#endif
+
unsigned long write_coreboot_table(
unsigned long low_table_start, unsigned long low_table_end,
unsigned long rom_table_start, unsigned long rom_table_end)
@@ -479,6 +483,12 @@ unsigned long write_coreboot_table(
lb_add_memory_range(mem, LB_MEM_TABLE,
rom_table_start, rom_table_end-rom_table_start);
+#if HAVE_HIGH_TABLES == 1
+ printk_debug("Adding high table area\n");
+ lb_add_memory_range(mem, LB_MEM_TABLE,
+ high_tables_base, high_tables_size);
+#endif
+
#if (HAVE_MAINBOARD_RESOURCES == 1)
add_mainboard_resources(mem);
#endif
diff --git a/src/mainboard/asus/m2v-mx_se/mainboard.c b/src/mainboard/asus/m2v-mx_se/mainboard.c
index ce3b66c4b8..f6bf656e50 100644
--- a/src/mainboard/asus/m2v-mx_se/mainboard.c
+++ b/src/mainboard/asus/m2v-mx_se/mainboard.c
@@ -17,23 +17,14 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <console/console.h>
#include <device/device.h>
#include <device/pci.h>
#include <device/pci_ids.h>
#include <boot/tables.h>
#include "chip.h"
-/* in arch/i386/boot/tables.c */
-extern uint64_t high_tables_base, high_tables_size;
-
int add_mainboard_resources(struct lb_memory *mem)
{
-#if HAVE_HIGH_TABLES == 1
- printk_debug("Adding high table area\n");
- lb_add_memory_range(mem, LB_MEM_TABLE,
- high_tables_base, high_tables_size);
-#endif
#if HAVE_ACPI_RESUME == 1
lb_add_memory_range(mem, LB_MEM_RESERVED,
_RAMBASE, ((CONFIG_LB_MEM_TOPK<<10) - _RAMBASE));
diff --git a/src/mainboard/kontron/986lcd-m/mainboard.c b/src/mainboard/kontron/986lcd-m/mainboard.c
index cec477318f..99d01a1b6b 100644
--- a/src/mainboard/kontron/986lcd-m/mainboard.c
+++ b/src/mainboard/kontron/986lcd-m/mainboard.c
@@ -25,19 +25,11 @@
#include <boot/tables.h>
#include "chip.h"
-/* in arch/i386/boot/tables.c */
-extern uint64_t high_tables_base, high_tables_size;
-
/* in northbridge/intel/i945/northbridge.c */
extern uint64_t uma_memory_base, uma_memory_size;
int add_mainboard_resources(struct lb_memory *mem)
{
-#if HAVE_HIGH_TABLES == 1
- printk_debug("Adding high table area\n");
- lb_add_memory_range(mem, LB_MEM_TABLE,
- high_tables_base, high_tables_size);
-#endif
printk_debug("Adding UMA memory area\n");
lb_add_memory_range(mem, LB_MEM_RESERVED,
uma_memory_base, uma_memory_size);
diff --git a/src/mainboard/supermicro/h8dme/Options.lb b/src/mainboard/supermicro/h8dme/Options.lb
index ed39913e4b..46183f9396 100644
--- a/src/mainboard/supermicro/h8dme/Options.lb
+++ b/src/mainboard/supermicro/h8dme/Options.lb
@@ -56,7 +56,6 @@ uses XIP_ROM_BASE
uses STACK_SIZE
uses HEAP_SIZE
uses USE_OPTION_TABLE
-uses HAVE_MAINBOARD_RESOURCES
uses HAVE_HIGH_TABLES
uses HAVE_LOW_TABLES
uses CONFIG_MULTIBOOT
@@ -129,7 +128,6 @@ uses CONFIG_USE_PRINTK_IN_CAR
#default ROM_SIZE=524288
default ROM_SIZE=0x100000
-default HAVE_MAINBOARD_RESOURCES = 1
default HAVE_HIGH_TABLES = 1
default HAVE_LOW_TABLES = 0
default CONFIG_MULTIBOOT=0
diff --git a/src/mainboard/supermicro/h8dme/mainboard.c b/src/mainboard/supermicro/h8dme/mainboard.c
index 719593dda1..6b78f5b896 100644
--- a/src/mainboard/supermicro/h8dme/mainboard.c
+++ b/src/mainboard/supermicro/h8dme/mainboard.c
@@ -17,22 +17,8 @@
*/
#include <device/device.h>
-#include <console/console.h>
-#include <boot/tables.h>
#include "chip.h"
-/* in arch/i386/boot/tables.c */
-extern uint64_t high_tables_base, high_tables_size;
-
-int add_mainboard_resources(struct lb_memory *mem)
-{
-#if HAVE_HIGH_TABLES == 1
- lb_add_memory_range(mem, LB_MEM_TABLE,
- high_tables_base, high_tables_size);
-#endif
- return 0;
-}
-
struct chip_operations mainboard_ops = {
CHIP_NAME("Supermicro H8DME Mainboard")
};
diff --git a/src/mainboard/tyan/s2891/Options.lb b/src/mainboard/tyan/s2891/Options.lb
index b0250fc850..12f3c42256 100644
--- a/src/mainboard/tyan/s2891/Options.lb
+++ b/src/mainboard/tyan/s2891/Options.lb
@@ -33,7 +33,6 @@ uses LB_CKS_RANGE_END
uses LB_CKS_LOC
uses HAVE_ACPI_TABLES
uses HAVE_ACPI_RESUME
-uses HAVE_MAINBOARD_RESOURCES
uses HAVE_HIGH_TABLES
uses HAVE_LOW_TABLES
uses CONFIG_MULTIBOOT
@@ -130,8 +129,7 @@ default HAVE_MP_TABLE=1
##
default HAVE_ACPI_TABLES=1
default HAVE_LOW_TABLES=1
-default HAVE_MAINBOARD_RESOURCES=1
-default HAVE_HIGH_TABLES=0
+default HAVE_HIGH_TABLES=1
default CONFIG_MULTIBOOT=0
##
diff --git a/src/mainboard/tyan/s2891/mainboard.c b/src/mainboard/tyan/s2891/mainboard.c
index cb6aea15cc..c529c0a5a4 100644
--- a/src/mainboard/tyan/s2891/mainboard.c
+++ b/src/mainboard/tyan/s2891/mainboard.c
@@ -1,22 +1,6 @@
#include <device/device.h>
-#include <console/console.h>
-#include <boot/tables.h>
#include "chip.h"
-/* in arch/i386/boot/tables.c */
-extern uint64_t high_tables_base, high_tables_size;
-
-int add_mainboard_resources(struct lb_memory *mem)
-{
-#if HAVE_HIGH_TABLES == 1
- printk_debug("Adding high table area\n");
- lb_add_memory_range(mem, LB_MEM_TABLE,
- high_tables_base, high_tables_size);
-#endif
- return 0;
-}
-
-
struct chip_operations mainboard_ops = {
CHIP_NAME("Tyan S2891 Mainboard")
};
diff --git a/src/mainboard/tyan/s2892/Options.lb b/src/mainboard/tyan/s2892/Options.lb
index e50806f57e..5cf2ad8c3f 100644
--- a/src/mainboard/tyan/s2892/Options.lb
+++ b/src/mainboard/tyan/s2892/Options.lb
@@ -33,7 +33,6 @@ uses LB_CKS_RANGE_END
uses LB_CKS_LOC
uses HAVE_ACPI_TABLES
uses HAVE_ACPI_RESUME
-uses HAVE_MAINBOARD_RESOURCES
uses HAVE_HIGH_TABLES
uses HAVE_LOW_TABLES
uses CONFIG_MULTIBOOT
@@ -124,8 +123,7 @@ default HAVE_MP_TABLE=1
##
default HAVE_ACPI_TABLES=1
default HAVE_LOW_TABLES=1
-default HAVE_MAINBOARD_RESOURCES=1
-default HAVE_HIGH_TABLES=0
+default HAVE_HIGH_TABLES=1
default CONFIG_MULTIBOOT=0
##
diff --git a/src/mainboard/tyan/s2892/mainboard.c b/src/mainboard/tyan/s2892/mainboard.c
index eba339f480..299f8360d2 100644
--- a/src/mainboard/tyan/s2892/mainboard.c
+++ b/src/mainboard/tyan/s2892/mainboard.c
@@ -1,22 +1,6 @@
#include <device/device.h>
-#include <console/console.h>
-#include <boot/tables.h>
#include "chip.h"
-/* in arch/i386/boot/tables.c */
-extern uint64_t high_tables_base, high_tables_size;
-
-int add_mainboard_resources(struct lb_memory *mem)
-{
-#if HAVE_HIGH_TABLES == 1
- printk_debug("Adding high table area\n");
- lb_add_memory_range(mem, LB_MEM_TABLE,
- high_tables_base, high_tables_size);
-#endif
- return 0;
-}
-
-
struct chip_operations mainboard_ops = {
CHIP_NAME("Tyan S2892 Mainboard")
};
diff --git a/src/mainboard/tyan/s2895/Options.lb b/src/mainboard/tyan/s2895/Options.lb
index df0b2ea3b5..da6aa5bde2 100644
--- a/src/mainboard/tyan/s2895/Options.lb
+++ b/src/mainboard/tyan/s2895/Options.lb
@@ -36,7 +36,6 @@ uses LB_CKS_RANGE_END
uses LB_CKS_LOC
uses HAVE_ACPI_TABLES
uses HAVE_ACPI_RESUME
-uses HAVE_MAINBOARD_RESOURCES
uses HAVE_HIGH_TABLES
uses HAVE_LOW_TABLES
uses CONFIG_MULTIBOOT
@@ -137,8 +136,7 @@ default HAVE_MP_TABLE=1
##
default HAVE_ACPI_TABLES=1
default HAVE_LOW_TABLES=1
-default HAVE_MAINBOARD_RESOURCES=1
-default HAVE_HIGH_TABLES=0
+default HAVE_HIGH_TABLES=1
default CONFIG_MULTIBOOT=0
##
diff --git a/src/mainboard/tyan/s2895/mainboard.c b/src/mainboard/tyan/s2895/mainboard.c
index 08be91f9f1..f152eae943 100644
--- a/src/mainboard/tyan/s2895/mainboard.c
+++ b/src/mainboard/tyan/s2895/mainboard.c
@@ -1,22 +1,6 @@
#include <device/device.h>
-#include <console/console.h>
-#include <boot/tables.h>
#include "chip.h"
-/* in arch/i386/boot/tables.c */
-extern uint64_t high_tables_base, high_tables_size;
-
-int add_mainboard_resources(struct lb_memory *mem)
-{
-#if HAVE_HIGH_TABLES == 1
- printk_debug("Adding high table area\n");
- lb_add_memory_range(mem, LB_MEM_TABLE,
- high_tables_base, high_tables_size);
-#endif
- return 0;
-}
-
-
struct chip_operations mainboard_ops = {
CHIP_NAME("Tyan S2895 Mainboard")
};
diff --git a/src/mainboard/via/vt8454c/Options.lb b/src/mainboard/via/vt8454c/Options.lb
index a8dfd0b6a6..befd8a6e32 100644
--- a/src/mainboard/via/vt8454c/Options.lb
+++ b/src/mainboard/via/vt8454c/Options.lb
@@ -27,7 +27,6 @@ uses HAVE_OPTION_TABLE
uses USE_OPTION_TABLE
uses HAVE_LOW_TABLES
uses HAVE_HIGH_TABLES
-uses HAVE_MAINBOARD_RESOURCES
uses USE_FALLBACK_IMAGE
uses HAVE_FALLBACK_BOOT
@@ -147,7 +146,6 @@ default HAVE_OPTION_TABLE=1
##
default HAVE_LOW_TABLES=1
default HAVE_HIGH_TABLES=1
-default HAVE_MAINBOARD_RESOURCES=1
##
diff --git a/src/mainboard/via/vt8454c/mainboard.c b/src/mainboard/via/vt8454c/mainboard.c
index 359fa30c4c..e931ccdafb 100644
--- a/src/mainboard/via/vt8454c/mainboard.c
+++ b/src/mainboard/via/vt8454c/mainboard.c
@@ -20,23 +20,8 @@
*/
#include <device/device.h>
-#include <boot/tables.h>
-#include <console/console.h>
#include "chip.h"
-/* in arch/i386/boot/tables.c */
-extern uint64_t high_tables_base, high_tables_size;
-
-int add_mainboard_resources(struct lb_memory *mem)
-{
-#if HAVE_HIGH_TABLES == 1
- printk_debug("Adding high table area\n");
- lb_add_memory_range(mem, LB_MEM_TABLE,
- high_tables_base, high_tables_size);
-#endif
- return 0;
-}
-
struct chip_operations mainboard_ops = {
CHIP_NAME("VIA VT8454c Mainboard")
};