Patrick Georgi wrote:
attached patch adds high table support to via vt8454c and might be a good template for other boards and chipsets.
I don't think it is.
+++ src/mainboard/via/vt8454c/mainboard.c (Arbeitskopie) @@ -20,8 +20,23 @@ */
#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;
+}
This code doesn't seem mainboard specific so I think it must not be in mainboard/.
+++ src/northbridge/via/cx700/northbridge.c (Arbeitskopie) @@ -87,6 +87,12 @@ return tolm; }
+#if HAVE_HIGH_TABLES==1 +/* maximum size of high tables in KB */ +#define HIGH_TABLES_SIZE 64 +extern uint64_t high_tables_base, high_tables_size; +#endif
static void pci_domain_set_resources(device_t dev) { device_t mc_dev; @@ -117,6 +123,12 @@ else tomk = (((rambits << 6) - (4 << reg) - 1) * 1024);
+#if HAVE_HIGH_TABLES == 1
- high_tables_base = (tomk - HIGH_TABLES_SIZE) * 1024;
- high_tables_size = HIGH_TABLES_SIZE* 1024;
- printk_debug("tom: %lx, high_tables_base: %llx, high_tables_size: %llx\n", tomk*1024, high_tables_base, high_tables_size);
+#endif
Likewise, this does not seem northbridge specific.
Could this live in one common place instead?
//Peter