Author: ruik
Date: Mon Dec 13 20:50:25 2010
New Revision: 6171
URL: https://tracker.coreboot.org/trac/coreboot/changeset/6171

Log:
We hardcode highmemory size in  every northbridge! This is bad, and especially 
if suspend to ram is involved. Let the default be taken from cbmem.h which also 
handles the suspend logic.

Abuild tested. Please check all changes if I did not make any wrong while 
converting this to bytes.

Signed-off-by: Rudolf Marek <[email protected]> 
Acked-by: Peter Stuge <[email protected]>

Modified:
   trunk/src/include/cbmem.h
   trunk/src/lib/cbmem.c
   trunk/src/mainboard/emulation/qemu-x86/northbridge.c
   trunk/src/northbridge/amd/amdfam10/northbridge.c
   trunk/src/northbridge/amd/amdk8/northbridge.c
   trunk/src/northbridge/amd/gx1/northbridge.c
   trunk/src/northbridge/amd/gx2/northbridge.c
   trunk/src/northbridge/amd/lx/northbridge.c
   trunk/src/northbridge/intel/e7501/northbridge.c
   trunk/src/northbridge/intel/e7520/northbridge.c
   trunk/src/northbridge/intel/e7525/northbridge.c
   trunk/src/northbridge/intel/i3100/northbridge.c
   trunk/src/northbridge/intel/i440bx/northbridge.c
   trunk/src/northbridge/intel/i440lx/northbridge.c
   trunk/src/northbridge/intel/i82810/northbridge.c
   trunk/src/northbridge/intel/i82830/northbridge.c
   trunk/src/northbridge/intel/i855/northbridge.c
   trunk/src/northbridge/intel/i945/northbridge.c
   trunk/src/northbridge/via/cn400/northbridge.c
   trunk/src/northbridge/via/cn700/northbridge.c
   trunk/src/northbridge/via/cx700/northbridge.c
   trunk/src/northbridge/via/vt8601/northbridge.c
   trunk/src/northbridge/via/vt8623/northbridge.c

Modified: trunk/src/include/cbmem.h
==============================================================================
--- trunk/src/include/cbmem.h   Mon Dec 13 14:44:33 2010        (r6170)
+++ trunk/src/include/cbmem.h   Mon Dec 13 20:50:25 2010        (r6171)
@@ -21,13 +21,14 @@
 #define _CBMEM_H_
 
 /* Reserve 64k for ACPI and other tables */
-#define HIGH_MEMORY_TABLES     ( 64 * 1024 )
+#define HIGH_MEMORY_DEF_SIZE   ( 64 * 1024 )
+extern uint64_t high_tables_base, high_tables_size;
 
 #if CONFIG_HAVE_ACPI_RESUME
-#define HIGH_MEMORY_SIZE       ((CONFIG_RAMTOP - CONFIG_RAMBASE) + 
HIGH_MEMORY_TABLES)
-#define HIGH_MEMORY_SAVE       ( HIGH_MEMORY_SIZE - HIGH_MEMORY_TABLES )
+#define HIGH_MEMORY_SIZE       ((CONFIG_RAMTOP - CONFIG_RAMBASE) + 
HIGH_MEMORY_DEF_SIZE)
+#define HIGH_MEMORY_SAVE       ( HIGH_MEMORY_SIZE - HIGH_MEMORY_DEF_SIZE )
 #else
-#define HIGH_MEMORY_SIZE       HIGH_MEMORY_TABLES
+#define HIGH_MEMORY_SIZE       HIGH_MEMORY_DEF_SIZE
 #endif
 
 #define CBMEM_ID_FREESPACE     0x46524545

Modified: trunk/src/lib/cbmem.c
==============================================================================
--- trunk/src/lib/cbmem.c       Mon Dec 13 14:44:33 2010        (r6170)
+++ trunk/src/lib/cbmem.c       Mon Dec 13 20:50:25 2010        (r6171)
@@ -193,7 +193,6 @@
 #if CONFIG_HAVE_ACPI_RESUME
 extern u8 acpi_slp_type;
 #endif
-extern uint64_t high_tables_base, high_tables_size;
 
 void cbmem_initialize(void)
 {

Modified: trunk/src/mainboard/emulation/qemu-x86/northbridge.c
==============================================================================
--- trunk/src/mainboard/emulation/qemu-x86/northbridge.c        Mon Dec 13 
14:44:33 2010        (r6170)
+++ trunk/src/mainboard/emulation/qemu-x86/northbridge.c        Mon Dec 13 
20:50:25 2010        (r6171)
@@ -11,8 +11,7 @@
 #include <delay.h>
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-#define HIGH_TABLES_SIZE 64    // maximum size of high tables in KB
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 
 #define CMOS_ADDR_PORT 0x70
@@ -49,8 +48,8 @@
 
 #if CONFIG_WRITE_HIGH_TABLES==1
        /* Leave some space for ACPI, PIRQ and MP tables */
-       high_tables_base = (tomk - HIGH_TABLES_SIZE) * 1024;
-       high_tables_size = HIGH_TABLES_SIZE * 1024;
+       high_tables_base = (tomk * 1024) - HIGH_MEMORY_SIZE;
+       high_tables_size = HIGH_MEMORY_SIZE;
 #endif
 
        assign_resources(dev->link_list);

Modified: trunk/src/northbridge/amd/amdfam10/northbridge.c
==============================================================================
--- trunk/src/northbridge/amd/amdfam10/northbridge.c    Mon Dec 13 14:44:33 
2010        (r6170)
+++ trunk/src/northbridge/amd/amdfam10/northbridge.c    Mon Dec 13 20:50:25 
2010        (r6171)
@@ -841,8 +841,7 @@
 #endif
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-#define HIGH_TABLES_SIZE 64    // maximum size of high tables in KB
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 
 #if CONFIG_GFXUMA == 1
@@ -1033,13 +1032,13 @@
                                        if (high_tables_base==0) {
                                        /* Leave some space for ACPI, PIRQ and 
MP tables */
 #if CONFIG_GFXUMA == 1
-                                               high_tables_base = 
uma_memory_base - (HIGH_TABLES_SIZE * 1024);
+                                               high_tables_base = 
uma_memory_base - HIGH_MEMORY_SIZE;
 #else
-                                               high_tables_base = (mmio_basek 
- HIGH_TABLES_SIZE) * 1024;
+                                               high_tables_base = (mmio_basek 
* 1024) - HIGH_MEMORY_SIZE;
 #endif
-                                               high_tables_size = 
HIGH_TABLES_SIZE * 1024;
-                                               printk(BIOS_DEBUG, " split: %dK 
table at =%08llx\n", HIGH_TABLES_SIZE,
-                                                            high_tables_base);
+                                               high_tables_size = 
HIGH_MEMORY_SIZE;
+                                               printk(BIOS_DEBUG, " split: %dK 
table at =%08llx\n",
+                                                       HIGH_MEMORY_SIZE / 
1024, high_tables_base);
                                        }
 #endif
                                }
@@ -1078,11 +1077,11 @@
                if (high_tables_base==0) {
                /* Leave some space for ACPI, PIRQ and MP tables */
 #if CONFIG_GFXUMA == 1
-                       high_tables_base = uma_memory_base - (HIGH_TABLES_SIZE 
* 1024);
+                       high_tables_base = uma_memory_base - HIGH_MEMORY_SIZE;
 #else
-                       high_tables_base = (limitk - HIGH_TABLES_SIZE) * 1024;
+                       high_tables_base = (limitk * 1024) - HIGH_MEMORY_SIZE;
 #endif
-                       high_tables_size = HIGH_TABLES_SIZE * 1024;
+                       high_tables_size = HIGH_MEMORY_SIZE;
                }
 #endif
        }

Modified: trunk/src/northbridge/amd/amdk8/northbridge.c
==============================================================================
--- trunk/src/northbridge/amd/amdk8/northbridge.c       Mon Dec 13 14:44:33 
2010        (r6170)
+++ trunk/src/northbridge/amd/amdk8/northbridge.c       Mon Dec 13 20:50:25 
2010        (r6171)
@@ -820,8 +820,6 @@
 
 #if CONFIG_WRITE_HIGH_TABLES==1
 #include <cbmem.h>
-#define HIGH_TABLES_SIZE ((HIGH_MEMORY_SIZE + 1024) / 1024)
-extern uint64_t high_tables_base, high_tables_size;
 #endif
 
 #if CONFIG_GFXUMA == 1
@@ -1020,13 +1018,13 @@
                                        if (high_tables_base==0) {
                                        /* Leave some space for ACPI, PIRQ and 
MP tables */
 #if CONFIG_GFXUMA == 1
-                                               high_tables_base = 
uma_memory_base - (HIGH_TABLES_SIZE * 1024);
+                                               high_tables_base = 
uma_memory_base - HIGH_MEMORY_SIZE;
 #else
-                                               high_tables_base = (mmio_basek 
- HIGH_TABLES_SIZE) * 1024;
+                                               high_tables_base = (mmio_basek 
* 1024) - HIGH_MEMORY_SIZE;
 #endif
-                                               high_tables_size = 
HIGH_TABLES_SIZE * 1024;
-                                               printk(BIOS_DEBUG, " split: %dK 
table at =%08llx\n", HIGH_TABLES_SIZE,
-                                                            high_tables_base);
+                                               high_tables_size = 
HIGH_MEMORY_SIZE;
+                                               printk(BIOS_DEBUG, " split: %dK 
table at =%08llx\n",
+                                                       HIGH_MEMORY_SIZE / 
1024, high_tables_base);
                                        }
 #endif
                                }
@@ -1065,11 +1063,11 @@
                if (high_tables_base==0) {
                /* Leave some space for ACPI, PIRQ and MP tables */
 #if CONFIG_GFXUMA == 1
-                       high_tables_base = uma_memory_base - (HIGH_TABLES_SIZE 
* 1024);
+                       high_tables_base = uma_memory_base - HIGH_MEMORY_SIZE;
 #else
-                       high_tables_base = (limitk - HIGH_TABLES_SIZE) * 1024;
+                       high_tables_base = (limitk * 1024) - HIGH_MEMORY_SIZE;
 #endif
-                       high_tables_size = HIGH_TABLES_SIZE * 1024;
+                       high_tables_size = HIGH_MEMORY_SIZE;
                }
 #endif
        }

Modified: trunk/src/northbridge/amd/gx1/northbridge.c
==============================================================================
--- trunk/src/northbridge/amd/gx1/northbridge.c Mon Dec 13 14:44:33 2010        
(r6170)
+++ trunk/src/northbridge/amd/gx1/northbridge.c Mon Dec 13 20:50:25 2010        
(r6171)
@@ -67,8 +67,7 @@
 };
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-#define HIGH_TABLES_SIZE 64    // maximum size of high tables in KB
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 
 static void pci_domain_set_resources(device_t dev)
@@ -116,8 +115,8 @@
 
 #if CONFIG_WRITE_HIGH_TABLES==1
                /* Leave some space for ACPI, PIRQ and MP tables */
-               high_tables_base = (tolmk - HIGH_TABLES_SIZE) * 1024;
-               high_tables_size = HIGH_TABLES_SIZE * 1024;
+               high_tables_base = (tolmk * 1024) - HIGH_MEMORY_SIZE;
+               high_tables_size = HIGH_MEMORY_SIZE;
 #endif
 
                /* Report the memory regions */

Modified: trunk/src/northbridge/amd/gx2/northbridge.c
==============================================================================
--- trunk/src/northbridge/amd/gx2/northbridge.c Mon Dec 13 14:44:33 2010        
(r6170)
+++ trunk/src/northbridge/amd/gx2/northbridge.c Mon Dec 13 20:50:25 2010        
(r6171)
@@ -432,8 +432,7 @@
 void chipsetInit (void);
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-#define HIGH_TABLES_SIZE 64    // maximum size of high tables in KB
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 
 static void enable_dev(struct device *dev)
@@ -457,8 +456,8 @@
                tomk = ((sizeram() - VIDEO_MB) * 1024) - SMM_SIZE;
 #if CONFIG_WRITE_HIGH_TABLES==1
                /* Leave some space for ACPI, PIRQ and MP tables */
-               high_tables_base = (tomk - HIGH_TABLES_SIZE) * 1024;
-               high_tables_size = HIGH_TABLES_SIZE * 1024;
+               high_tables_base = (tomk * 1024) - HIGH_MEMORY_SIZE;
+               high_tables_size = HIGH_MEMORY_SIZE;
 #endif
                ram_resource(dev, 0, 0, tomk);
         } else if (dev->path.type == DEVICE_PATH_APIC_CLUSTER) {

Modified: trunk/src/northbridge/amd/lx/northbridge.c
==============================================================================
--- trunk/src/northbridge/amd/lx/northbridge.c  Mon Dec 13 14:44:33 2010        
(r6170)
+++ trunk/src/northbridge/amd/lx/northbridge.c  Mon Dec 13 20:50:25 2010        
(r6171)
@@ -373,8 +373,7 @@
 };
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-#define HIGH_TABLES_SIZE 64    // maximum size of high tables in KB
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 
 static void pci_domain_set_resources(device_t dev)
@@ -396,8 +395,8 @@
 
 #if CONFIG_WRITE_HIGH_TABLES==1
                /* Leave some space for ACPI, PIRQ and MP tables */
-               high_tables_base = (tomk - HIGH_TABLES_SIZE) * 1024;
-               high_tables_size = HIGH_TABLES_SIZE * 1024;
+               high_tables_base = (tomk * 1024) - HIGH_MEMORY_SIZE;
+               high_tables_size = HIGH_MEMORY_SIZE;
 #endif
        }
 

Modified: trunk/src/northbridge/intel/e7501/northbridge.c
==============================================================================
--- trunk/src/northbridge/intel/e7501/northbridge.c     Mon Dec 13 14:44:33 
2010        (r6170)
+++ trunk/src/northbridge/intel/e7501/northbridge.c     Mon Dec 13 20:50:25 
2010        (r6171)
@@ -10,8 +10,7 @@
 #include "chip.h"
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-#define HIGH_TABLES_SIZE 64    // maximum size of high tables in KB
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 
 static void pci_domain_set_resources(device_t dev)
@@ -92,8 +91,8 @@
 
 #if CONFIG_WRITE_HIGH_TABLES==1
                /* Leave some space for ACPI, PIRQ and MP tables */
-               high_tables_base = (tolmk - HIGH_TABLES_SIZE) * 1024;
-               high_tables_size = HIGH_TABLES_SIZE * 1024;
+               high_tables_base = (tolmk * 1024) - HIGH_MEMORY_SIZE;
+               high_tables_size = HIGH_MEMORY_SIZE;
 #endif
        }
        assign_resources(dev->link_list);

Modified: trunk/src/northbridge/intel/e7520/northbridge.c
==============================================================================
--- trunk/src/northbridge/intel/e7520/northbridge.c     Mon Dec 13 14:44:33 
2010        (r6170)
+++ trunk/src/northbridge/intel/e7520/northbridge.c     Mon Dec 13 20:50:25 
2010        (r6171)
@@ -17,8 +17,7 @@
 static unsigned int max_bus;
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-#define HIGH_TABLES_SIZE 64    // maximum size of high tables in KB
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 
 static void pci_domain_set_resources(device_t dev)
@@ -111,8 +110,8 @@
 
 #if CONFIG_WRITE_HIGH_TABLES==1
                /* Leave some space for ACPI, PIRQ and MP tables */
-               high_tables_base = (tolmk - HIGH_TABLES_SIZE) * 1024;
-               high_tables_size = HIGH_TABLES_SIZE * 1024;
+               high_tables_base = (tolmk * 1024) - HIGH_MEMORY_SIZE;
+               high_tables_size = HIGH_MEMORY_SIZE;
 #endif
        }
        assign_resources(dev->link_list);

Modified: trunk/src/northbridge/intel/e7525/northbridge.c
==============================================================================
--- trunk/src/northbridge/intel/e7525/northbridge.c     Mon Dec 13 14:44:33 
2010        (r6170)
+++ trunk/src/northbridge/intel/e7525/northbridge.c     Mon Dec 13 20:50:25 
2010        (r6171)
@@ -17,8 +17,7 @@
 static unsigned int max_bus;
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-#define HIGH_TABLES_SIZE 64    // maximum size of high tables in KB
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 
 static void pci_domain_set_resources(device_t dev)
@@ -111,8 +110,8 @@
 
 #if CONFIG_WRITE_HIGH_TABLES==1
                /* Leave some space for ACPI, PIRQ and MP tables */
-               high_tables_base = (tolmk - HIGH_TABLES_SIZE) * 1024;
-               high_tables_size = HIGH_TABLES_SIZE * 1024;
+               high_tables_base = (tolmk * 1024) - HIGH_MEMORY_SIZE;
+               high_tables_size = HIGH_MEMORY_SIZE;
 #endif
        }
        assign_resources(dev->link_list);

Modified: trunk/src/northbridge/intel/i3100/northbridge.c
==============================================================================
--- trunk/src/northbridge/intel/i3100/northbridge.c     Mon Dec 13 14:44:33 
2010        (r6170)
+++ trunk/src/northbridge/intel/i3100/northbridge.c     Mon Dec 13 20:50:25 
2010        (r6171)
@@ -38,8 +38,7 @@
 static u32 max_bus;
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-#define HIGH_TABLES_SIZE 64    // maximum size of high tables in KB
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 
 static void pci_domain_set_resources(device_t dev)
@@ -132,8 +131,8 @@
 
 #if CONFIG_WRITE_HIGH_TABLES==1
                /* Leave some space for ACPI, PIRQ and MP tables */
-               high_tables_base = (tolmk - HIGH_TABLES_SIZE) * 1024;
-               high_tables_size = HIGH_TABLES_SIZE * 1024;
+               high_tables_base = (tolmk * 1024) - HIGH_MEMORY_SIZE;
+               high_tables_size = HIGH_MEMORY_SIZE;
 #endif
        }
        assign_resources(dev->link_list);

Modified: trunk/src/northbridge/intel/i440bx/northbridge.c
==============================================================================
--- trunk/src/northbridge/intel/i440bx/northbridge.c    Mon Dec 13 14:44:33 
2010        (r6170)
+++ trunk/src/northbridge/intel/i440bx/northbridge.c    Mon Dec 13 20:50:25 
2010        (r6171)
@@ -34,8 +34,7 @@
 };
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-#define HIGH_TABLES_SIZE 64    // maximum size of high tables in KB
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 
 static void i440bx_domain_set_resources(device_t dev)
@@ -75,8 +74,8 @@
 
 #if CONFIG_WRITE_HIGH_TABLES==1
                /* Leave some space for ACPI, PIRQ and MP tables */
-               high_tables_base = (tomk - HIGH_TABLES_SIZE) * 1024;
-               high_tables_size = HIGH_TABLES_SIZE * 1024;
+               high_tables_base = (tomk * 1024) - HIGH_MEMORY_SIZE;
+               high_tables_size = HIGH_MEMORY_SIZE;
 #endif
        }
        assign_resources(dev->link_list);

Modified: trunk/src/northbridge/intel/i440lx/northbridge.c
==============================================================================
--- trunk/src/northbridge/intel/i440lx/northbridge.c    Mon Dec 13 14:44:33 
2010        (r6170)
+++ trunk/src/northbridge/intel/i440lx/northbridge.c    Mon Dec 13 20:50:25 
2010        (r6171)
@@ -63,8 +63,7 @@
 };
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-#define HIGH_TABLES_SIZE 64    // maximum size of high tables in KB
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 
 static void i440lx_domain_set_resources(device_t dev)
@@ -104,8 +103,8 @@
 
 #if CONFIG_WRITE_HIGH_TABLES==1
                /* Leave some space for ACPI, PIRQ and MP tables */
-               high_tables_base = (tomk - HIGH_TABLES_SIZE) * 1024;
-               high_tables_size = HIGH_TABLES_SIZE * 1024;
+               high_tables_base = (tomk * 1024) - HIGH_MEMORY_SIZE;
+               high_tables_size = HIGH_MEMORY_SIZE;
 #endif
        }
        assign_resources(dev->link_list);

Modified: trunk/src/northbridge/intel/i82810/northbridge.c
==============================================================================
--- trunk/src/northbridge/intel/i82810/northbridge.c    Mon Dec 13 14:44:33 
2010        (r6170)
+++ trunk/src/northbridge/intel/i82810/northbridge.c    Mon Dec 13 20:50:25 
2010        (r6171)
@@ -84,8 +84,7 @@
 };
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-#define HIGH_TABLES_SIZE 64    // maximum size of high tables in KB
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 
 static void pci_domain_set_resources(device_t dev)
@@ -150,8 +149,8 @@
 
 #if CONFIG_WRITE_HIGH_TABLES==1
        /* Leave some space for ACPI, PIRQ and MP tables */
-       high_tables_base = (tomk - HIGH_TABLES_SIZE) * 1024;
-       high_tables_size = HIGH_TABLES_SIZE * 1024;
+       high_tables_base = (tomk * 1024) - HIGH_MEMORY_SIZE;
+       high_tables_size = HIGH_MEMORY_SIZE;
 #endif
        assign_resources(dev->link_list);
 }

Modified: trunk/src/northbridge/intel/i82830/northbridge.c
==============================================================================
--- trunk/src/northbridge/intel/i82830/northbridge.c    Mon Dec 13 14:44:33 
2010        (r6170)
+++ trunk/src/northbridge/intel/i82830/northbridge.c    Mon Dec 13 20:50:25 
2010        (r6171)
@@ -65,8 +65,7 @@
 }
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-#define HIGH_TABLES_SIZE 64    // maximum size of high tables in KB
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 static void pci_domain_set_resources(device_t dev)
 {
@@ -119,8 +118,8 @@
 
 #if CONFIG_WRITE_HIGH_TABLES==1
        /* Leave some space for ACPI, PIRQ and MP tables */
-       high_tables_base = (tomk - HIGH_TABLES_SIZE) * 1024;
-       high_tables_size = HIGH_TABLES_SIZE * 1024;
+       high_tables_base = (tomk * 1024) - HIGH_MEMORY_SIZE;
+       high_tables_size = HIGH_MEMORY_SIZE;
 #endif
 }
 

Modified: trunk/src/northbridge/intel/i855/northbridge.c
==============================================================================
--- trunk/src/northbridge/intel/i855/northbridge.c      Mon Dec 13 14:44:33 
2010        (r6170)
+++ trunk/src/northbridge/intel/i855/northbridge.c      Mon Dec 13 20:50:25 
2010        (r6171)
@@ -54,8 +54,7 @@
 };
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-#define HIGH_TABLES_SIZE 64    // maximum size of high tables in KB
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 static void pci_domain_set_resources(device_t dev)
 {
@@ -112,8 +111,8 @@
 
 #if CONFIG_WRITE_HIGH_TABLES==1
                /* Leave some space for ACPI, PIRQ and MP tables */
-               high_tables_base = (tomk - HIGH_TABLES_SIZE) * 1024;
-               high_tables_size = HIGH_TABLES_SIZE * 1024;
+               high_tables_base = (tomk * 1024) - HIGH_MEMORY_SIZE;
+               high_tables_size = HIGH_MEMORY_SIZE;
 #endif
        }
        assign_resources(dev->link_list);

Modified: trunk/src/northbridge/intel/i945/northbridge.c
==============================================================================
--- trunk/src/northbridge/intel/i945/northbridge.c      Mon Dec 13 14:44:33 
2010        (r6170)
+++ trunk/src/northbridge/intel/i945/northbridge.c      Mon Dec 13 20:50:25 
2010        (r6171)
@@ -93,8 +93,7 @@
 }
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-#define HIGH_TABLES_SIZE 1024  // maximum size of high tables in KB
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 
 static void pci_domain_set_resources(device_t dev)
@@ -183,8 +182,8 @@
 
 #if CONFIG_WRITE_HIGH_TABLES==1
        /* Leave some space for ACPI, PIRQ and MP tables */
-       high_tables_base = (tomk - HIGH_TABLES_SIZE) * 1024;
-       high_tables_size = HIGH_TABLES_SIZE * 1024;
+       high_tables_base = (tomk * 1024) - HIGH_MEMORY_SIZE;
+       high_tables_size = HIGH_MEMORY_SIZE;
 #endif
 }
 

Modified: trunk/src/northbridge/via/cn400/northbridge.c
==============================================================================
--- trunk/src/northbridge/via/cn400/northbridge.c       Mon Dec 13 14:44:33 
2010        (r6170)
+++ trunk/src/northbridge/via/cn400/northbridge.c       Mon Dec 13 20:50:25 
2010        (r6171)
@@ -178,9 +178,7 @@
 #endif
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-/* maximum size of high tables in KB */
-#define HIGH_TABLES_SIZE 64
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 
 static void cn400_domain_set_resources(device_t dev)
@@ -211,9 +209,10 @@
 
 #if CONFIG_WRITE_HIGH_TABLES == 1
                /* Locate the High Tables at the Top of Low Memory below the 
Video RAM */
-               high_tables_base = (uint64_t) (tolmk - (CONFIG_VIDEO_MB *1024) 
- HIGH_TABLES_SIZE) * 1024;
-               high_tables_size = (uint64_t) HIGH_TABLES_SIZE* 1024;
-               printk(BIOS_SPEW, "tom: %lx, high_tables_base: %llx, 
high_tables_size: %llx\n", tomk*1024, high_tables_base, high_tables_size);
+               high_tables_base = ((tolmk - (CONFIG_VIDEO_MB *1024)) * 1024) - 
HIGH_MEMORY_SIZE;
+               high_tables_size = HIGH_MEMORY_SIZE;
+               printk(BIOS_SPEW, "tom: %lx, high_tables_base: %llx, 
high_tables_size: %llx\n",
+                                               tomk*1024, high_tables_base, 
high_tables_size);
 #endif
 
                /* Report the memory regions. */

Modified: trunk/src/northbridge/via/cn700/northbridge.c
==============================================================================
--- trunk/src/northbridge/via/cn700/northbridge.c       Mon Dec 13 14:44:33 
2010        (r6170)
+++ trunk/src/northbridge/via/cn700/northbridge.c       Mon Dec 13 20:50:25 
2010        (r6171)
@@ -98,9 +98,7 @@
 };
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-/* maximum size of high tables in KB */
-#define HIGH_TABLES_SIZE 64
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 
 static void pci_domain_set_resources(device_t dev)
@@ -141,9 +139,10 @@
                }
 
 #if CONFIG_WRITE_HIGH_TABLES == 1
-               high_tables_base = (tolmk - CONFIG_VIDEO_MB * 1024 - 
HIGH_TABLES_SIZE) * 1024;
-               high_tables_size = HIGH_TABLES_SIZE * 1024;
-               printk(BIOS_DEBUG, "tom: %lx, high_tables_base: %llx, 
high_tables_size: %llx\n", tomk*1024, high_tables_base, high_tables_size);
+               high_tables_base = ((tolmk - CONFIG_VIDEO_MB * 1024) * 1024) - 
HIGH_MEMORY_SIZE;
+               high_tables_size = HIGH_MEMORY_SIZE;
+               printk(BIOS_DEBUG, "tom: %lx, high_tables_base: %llx, 
high_tables_size: %llx\n",
+                                               tomk*1024, high_tables_base, 
high_tables_size);
 #endif
 
                /* Report the memory regions. */

Modified: trunk/src/northbridge/via/cx700/northbridge.c
==============================================================================
--- trunk/src/northbridge/via/cx700/northbridge.c       Mon Dec 13 14:44:33 
2010        (r6170)
+++ trunk/src/northbridge/via/cx700/northbridge.c       Mon Dec 13 20:50:25 
2010        (r6171)
@@ -33,9 +33,7 @@
 #include "northbridge.h"
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-/* maximum size of high tables in KB */
-#define HIGH_TABLES_SIZE 64
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 
 static void pci_domain_set_resources(device_t dev)
@@ -77,9 +75,10 @@
        }
 
 #if CONFIG_WRITE_HIGH_TABLES == 1
-       high_tables_base = (tolmk - HIGH_TABLES_SIZE) * 1024;
-       high_tables_size = HIGH_TABLES_SIZE* 1024;
-       printk(BIOS_DEBUG, "tom: %lx, high_tables_base: %llx, high_tables_size: 
%llx\n", tomk*1024, high_tables_base, high_tables_size);
+       high_tables_base = (tolmk * 1024) - HIGH_MEMORY_SIZE;
+       high_tables_size = HIGH_MEMORY_SIZE;
+       printk(BIOS_DEBUG, "tom: %lx, high_tables_base: %llx, high_tables_size: 
%llx\n",
+                                               tomk*1024, high_tables_base, 
high_tables_size);
 #endif
 
        /* Report the memory regions */

Modified: trunk/src/northbridge/via/vt8601/northbridge.c
==============================================================================
--- trunk/src/northbridge/via/vt8601/northbridge.c      Mon Dec 13 14:44:33 
2010        (r6170)
+++ trunk/src/northbridge/via/vt8601/northbridge.c      Mon Dec 13 20:50:25 
2010        (r6171)
@@ -46,9 +46,7 @@
 };
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-/* maximum size of high tables in KB */
-#define HIGH_TABLES_SIZE 64
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 
 static void pci_domain_set_resources(device_t dev)
@@ -92,9 +90,10 @@
                }
 
 #if CONFIG_WRITE_HIGH_TABLES == 1
-               high_tables_base = (tolmk - HIGH_TABLES_SIZE) * 1024;
-               high_tables_size = HIGH_TABLES_SIZE* 1024;
-               printk(BIOS_DEBUG, "tom: %lx, high_tables_base: %llx, 
high_tables_size: %llx\n", tomk*1024, high_tables_base, high_tables_size);
+               high_tables_base = (tolmk * 1024) - HIGH_MEMORY_SIZE;
+               high_tables_size = HIGH_MEMORY_SIZE;
+               printk(BIOS_DEBUG, "tom: %lx, high_tables_base: %llx, 
high_tables_size: %llx\n",
+                               tomk*1024, high_tables_base, high_tables_size);
 #endif
 
                /* Report the memory regions */

Modified: trunk/src/northbridge/via/vt8623/northbridge.c
==============================================================================
--- trunk/src/northbridge/via/vt8623/northbridge.c      Mon Dec 13 14:44:33 
2010        (r6170)
+++ trunk/src/northbridge/via/vt8623/northbridge.c      Mon Dec 13 20:50:25 
2010        (r6171)
@@ -106,9 +106,7 @@
 };
 
 #if CONFIG_WRITE_HIGH_TABLES==1
-/* maximum size of high tables in KB */
-#define HIGH_TABLES_SIZE 64
-extern uint64_t high_tables_base, high_tables_size;
+#include <cbmem.h>
 #endif
 
 static void pci_domain_set_resources(device_t dev)
@@ -152,9 +150,10 @@
                }
 
 #if CONFIG_WRITE_HIGH_TABLES == 1
-               high_tables_base = (tolmk - HIGH_TABLES_SIZE) * 1024;
-               high_tables_size = HIGH_TABLES_SIZE* 1024;
-               printk(BIOS_DEBUG, "tom: %lx, high_tables_base: %llx, 
high_tables_size: %llx\n", tomk*1024, high_tables_base, high_tables_size);
+               high_tables_base = (tolmk * 1024) - HIGH_MEMORY_SIZE;
+               high_tables_size = HIGH_MEMORY_SIZE;
+               printk(BIOS_DEBUG, "tom: %lx, high_tables_base: %llx, 
high_tables_size: %llx\n",
+                                               tomk*1024, high_tables_base, 
high_tables_size);
 #endif
 
                /* Report the memory regions */

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to