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 <r.marek@assembler.cz> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6171 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
29c7dfcadc
commit
97be27ebba
|
@ -21,13 +21,14 @@
|
||||||
#define _CBMEM_H_
|
#define _CBMEM_H_
|
||||||
|
|
||||||
/* Reserve 64k for ACPI and other tables */
|
/* 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
|
#if CONFIG_HAVE_ACPI_RESUME
|
||||||
#define HIGH_MEMORY_SIZE ((CONFIG_RAMTOP - CONFIG_RAMBASE) + HIGH_MEMORY_TABLES)
|
#define HIGH_MEMORY_SIZE ((CONFIG_RAMTOP - CONFIG_RAMBASE) + HIGH_MEMORY_DEF_SIZE)
|
||||||
#define HIGH_MEMORY_SAVE ( HIGH_MEMORY_SIZE - HIGH_MEMORY_TABLES )
|
#define HIGH_MEMORY_SAVE ( HIGH_MEMORY_SIZE - HIGH_MEMORY_DEF_SIZE )
|
||||||
#else
|
#else
|
||||||
#define HIGH_MEMORY_SIZE HIGH_MEMORY_TABLES
|
#define HIGH_MEMORY_SIZE HIGH_MEMORY_DEF_SIZE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CBMEM_ID_FREESPACE 0x46524545
|
#define CBMEM_ID_FREESPACE 0x46524545
|
||||||
|
|
|
@ -193,7 +193,6 @@ void *cbmem_find(u32 id)
|
||||||
#if CONFIG_HAVE_ACPI_RESUME
|
#if CONFIG_HAVE_ACPI_RESUME
|
||||||
extern u8 acpi_slp_type;
|
extern u8 acpi_slp_type;
|
||||||
#endif
|
#endif
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
|
|
||||||
void cbmem_initialize(void)
|
void cbmem_initialize(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -11,8 +11,7 @@
|
||||||
#include <delay.h>
|
#include <delay.h>
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
#define HIGH_TABLES_SIZE 64 // maximum size of high tables in KB
|
#include <cbmem.h>
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CMOS_ADDR_PORT 0x70
|
#define CMOS_ADDR_PORT 0x70
|
||||||
|
@ -49,8 +48,8 @@ static void cpu_pci_domain_set_resources(device_t dev)
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
/* Leave some space for ACPI, PIRQ and MP tables */
|
/* Leave some space for ACPI, PIRQ and MP tables */
|
||||||
high_tables_base = (tomk - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (tomk * 1024) - HIGH_MEMORY_SIZE;
|
||||||
high_tables_size = HIGH_TABLES_SIZE * 1024;
|
high_tables_size = HIGH_MEMORY_SIZE;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
assign_resources(dev->link_list);
|
assign_resources(dev->link_list);
|
||||||
|
|
|
@ -841,8 +841,7 @@ static void disable_hoist_memory(unsigned long hole_startk, int node_id)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
#define HIGH_TABLES_SIZE 64 // maximum size of high tables in KB
|
#include <cbmem.h>
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_GFXUMA == 1
|
#if CONFIG_GFXUMA == 1
|
||||||
|
@ -1033,13 +1032,13 @@ static void amdfam10_domain_set_resources(device_t dev)
|
||||||
if (high_tables_base==0) {
|
if (high_tables_base==0) {
|
||||||
/* Leave some space for ACPI, PIRQ and MP tables */
|
/* Leave some space for ACPI, PIRQ and MP tables */
|
||||||
#if CONFIG_GFXUMA == 1
|
#if CONFIG_GFXUMA == 1
|
||||||
high_tables_base = uma_memory_base - (HIGH_TABLES_SIZE * 1024);
|
high_tables_base = uma_memory_base - HIGH_MEMORY_SIZE;
|
||||||
#else
|
#else
|
||||||
high_tables_base = (mmio_basek - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (mmio_basek * 1024) - HIGH_MEMORY_SIZE;
|
||||||
#endif
|
#endif
|
||||||
high_tables_size = HIGH_TABLES_SIZE * 1024;
|
high_tables_size = HIGH_MEMORY_SIZE;
|
||||||
printk(BIOS_DEBUG, " split: %dK table at =%08llx\n", HIGH_TABLES_SIZE,
|
printk(BIOS_DEBUG, " split: %dK table at =%08llx\n",
|
||||||
high_tables_base);
|
HIGH_MEMORY_SIZE / 1024, high_tables_base);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -1078,11 +1077,11 @@ static void amdfam10_domain_set_resources(device_t dev)
|
||||||
if (high_tables_base==0) {
|
if (high_tables_base==0) {
|
||||||
/* Leave some space for ACPI, PIRQ and MP tables */
|
/* Leave some space for ACPI, PIRQ and MP tables */
|
||||||
#if CONFIG_GFXUMA == 1
|
#if CONFIG_GFXUMA == 1
|
||||||
high_tables_base = uma_memory_base - (HIGH_TABLES_SIZE * 1024);
|
high_tables_base = uma_memory_base - HIGH_MEMORY_SIZE;
|
||||||
#else
|
#else
|
||||||
high_tables_base = (limitk - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (limitk * 1024) - HIGH_MEMORY_SIZE;
|
||||||
#endif
|
#endif
|
||||||
high_tables_size = HIGH_TABLES_SIZE * 1024;
|
high_tables_size = HIGH_MEMORY_SIZE;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -820,8 +820,6 @@ static u32 hoist_memory(unsigned long hole_startk, int node_id)
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
#include <cbmem.h>
|
#include <cbmem.h>
|
||||||
#define HIGH_TABLES_SIZE ((HIGH_MEMORY_SIZE + 1024) / 1024)
|
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_GFXUMA == 1
|
#if CONFIG_GFXUMA == 1
|
||||||
|
@ -1020,13 +1018,13 @@ static void amdk8_domain_set_resources(device_t dev)
|
||||||
if (high_tables_base==0) {
|
if (high_tables_base==0) {
|
||||||
/* Leave some space for ACPI, PIRQ and MP tables */
|
/* Leave some space for ACPI, PIRQ and MP tables */
|
||||||
#if CONFIG_GFXUMA == 1
|
#if CONFIG_GFXUMA == 1
|
||||||
high_tables_base = uma_memory_base - (HIGH_TABLES_SIZE * 1024);
|
high_tables_base = uma_memory_base - HIGH_MEMORY_SIZE;
|
||||||
#else
|
#else
|
||||||
high_tables_base = (mmio_basek - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (mmio_basek * 1024) - HIGH_MEMORY_SIZE;
|
||||||
#endif
|
#endif
|
||||||
high_tables_size = HIGH_TABLES_SIZE * 1024;
|
high_tables_size = HIGH_MEMORY_SIZE;
|
||||||
printk(BIOS_DEBUG, " split: %dK table at =%08llx\n", HIGH_TABLES_SIZE,
|
printk(BIOS_DEBUG, " split: %dK table at =%08llx\n",
|
||||||
high_tables_base);
|
HIGH_MEMORY_SIZE / 1024, high_tables_base);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -1065,11 +1063,11 @@ static void amdk8_domain_set_resources(device_t dev)
|
||||||
if (high_tables_base==0) {
|
if (high_tables_base==0) {
|
||||||
/* Leave some space for ACPI, PIRQ and MP tables */
|
/* Leave some space for ACPI, PIRQ and MP tables */
|
||||||
#if CONFIG_GFXUMA == 1
|
#if CONFIG_GFXUMA == 1
|
||||||
high_tables_base = uma_memory_base - (HIGH_TABLES_SIZE * 1024);
|
high_tables_base = uma_memory_base - HIGH_MEMORY_SIZE;
|
||||||
#else
|
#else
|
||||||
high_tables_base = (limitk - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (limitk * 1024) - HIGH_MEMORY_SIZE;
|
||||||
#endif
|
#endif
|
||||||
high_tables_size = HIGH_TABLES_SIZE * 1024;
|
high_tables_size = HIGH_MEMORY_SIZE;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,8 +67,7 @@ static const struct pci_driver northbridge_driver __pci_driver = {
|
||||||
};
|
};
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
#define HIGH_TABLES_SIZE 64 // maximum size of high tables in KB
|
#include <cbmem.h>
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void pci_domain_set_resources(device_t dev)
|
static void pci_domain_set_resources(device_t dev)
|
||||||
|
@ -116,8 +115,8 @@ static void pci_domain_set_resources(device_t dev)
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
/* Leave some space for ACPI, PIRQ and MP tables */
|
/* Leave some space for ACPI, PIRQ and MP tables */
|
||||||
high_tables_base = (tolmk - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (tolmk * 1024) - HIGH_MEMORY_SIZE;
|
||||||
high_tables_size = HIGH_TABLES_SIZE * 1024;
|
high_tables_size = HIGH_MEMORY_SIZE;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Report the memory regions */
|
/* Report the memory regions */
|
||||||
|
|
|
@ -432,8 +432,7 @@ static struct device_operations cpu_bus_ops = {
|
||||||
void chipsetInit (void);
|
void chipsetInit (void);
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
#define HIGH_TABLES_SIZE 64 // maximum size of high tables in KB
|
#include <cbmem.h>
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void enable_dev(struct device *dev)
|
static void enable_dev(struct device *dev)
|
||||||
|
@ -457,8 +456,8 @@ static void enable_dev(struct device *dev)
|
||||||
tomk = ((sizeram() - VIDEO_MB) * 1024) - SMM_SIZE;
|
tomk = ((sizeram() - VIDEO_MB) * 1024) - SMM_SIZE;
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
/* Leave some space for ACPI, PIRQ and MP tables */
|
/* Leave some space for ACPI, PIRQ and MP tables */
|
||||||
high_tables_base = (tomk - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (tomk * 1024) - HIGH_MEMORY_SIZE;
|
||||||
high_tables_size = HIGH_TABLES_SIZE * 1024;
|
high_tables_size = HIGH_MEMORY_SIZE;
|
||||||
#endif
|
#endif
|
||||||
ram_resource(dev, 0, 0, tomk);
|
ram_resource(dev, 0, 0, tomk);
|
||||||
} else if (dev->path.type == DEVICE_PATH_APIC_CLUSTER) {
|
} else if (dev->path.type == DEVICE_PATH_APIC_CLUSTER) {
|
||||||
|
|
|
@ -373,8 +373,7 @@ static const struct pci_driver northbridge_driver __pci_driver = {
|
||||||
};
|
};
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
#define HIGH_TABLES_SIZE 64 // maximum size of high tables in KB
|
#include <cbmem.h>
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void pci_domain_set_resources(device_t dev)
|
static void pci_domain_set_resources(device_t dev)
|
||||||
|
@ -396,8 +395,8 @@ static void pci_domain_set_resources(device_t dev)
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
/* Leave some space for ACPI, PIRQ and MP tables */
|
/* Leave some space for ACPI, PIRQ and MP tables */
|
||||||
high_tables_base = (tomk - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (tomk * 1024) - HIGH_MEMORY_SIZE;
|
||||||
high_tables_size = HIGH_TABLES_SIZE * 1024;
|
high_tables_size = HIGH_MEMORY_SIZE;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,8 +10,7 @@
|
||||||
#include "chip.h"
|
#include "chip.h"
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
#define HIGH_TABLES_SIZE 64 // maximum size of high tables in KB
|
#include <cbmem.h>
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void pci_domain_set_resources(device_t dev)
|
static void pci_domain_set_resources(device_t dev)
|
||||||
|
@ -92,8 +91,8 @@ static void pci_domain_set_resources(device_t dev)
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
/* Leave some space for ACPI, PIRQ and MP tables */
|
/* Leave some space for ACPI, PIRQ and MP tables */
|
||||||
high_tables_base = (tolmk - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (tolmk * 1024) - HIGH_MEMORY_SIZE;
|
||||||
high_tables_size = HIGH_TABLES_SIZE * 1024;
|
high_tables_size = HIGH_MEMORY_SIZE;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
assign_resources(dev->link_list);
|
assign_resources(dev->link_list);
|
||||||
|
|
|
@ -17,8 +17,7 @@
|
||||||
static unsigned int max_bus;
|
static unsigned int max_bus;
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
#define HIGH_TABLES_SIZE 64 // maximum size of high tables in KB
|
#include <cbmem.h>
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void pci_domain_set_resources(device_t dev)
|
static void pci_domain_set_resources(device_t dev)
|
||||||
|
@ -111,8 +110,8 @@ static void pci_domain_set_resources(device_t dev)
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
/* Leave some space for ACPI, PIRQ and MP tables */
|
/* Leave some space for ACPI, PIRQ and MP tables */
|
||||||
high_tables_base = (tolmk - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (tolmk * 1024) - HIGH_MEMORY_SIZE;
|
||||||
high_tables_size = HIGH_TABLES_SIZE * 1024;
|
high_tables_size = HIGH_MEMORY_SIZE;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
assign_resources(dev->link_list);
|
assign_resources(dev->link_list);
|
||||||
|
|
|
@ -17,8 +17,7 @@
|
||||||
static unsigned int max_bus;
|
static unsigned int max_bus;
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
#define HIGH_TABLES_SIZE 64 // maximum size of high tables in KB
|
#include <cbmem.h>
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void pci_domain_set_resources(device_t dev)
|
static void pci_domain_set_resources(device_t dev)
|
||||||
|
@ -111,8 +110,8 @@ static void pci_domain_set_resources(device_t dev)
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
/* Leave some space for ACPI, PIRQ and MP tables */
|
/* Leave some space for ACPI, PIRQ and MP tables */
|
||||||
high_tables_base = (tolmk - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (tolmk * 1024) - HIGH_MEMORY_SIZE;
|
||||||
high_tables_size = HIGH_TABLES_SIZE * 1024;
|
high_tables_size = HIGH_MEMORY_SIZE;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
assign_resources(dev->link_list);
|
assign_resources(dev->link_list);
|
||||||
|
|
|
@ -38,8 +38,7 @@
|
||||||
static u32 max_bus;
|
static u32 max_bus;
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
#define HIGH_TABLES_SIZE 64 // maximum size of high tables in KB
|
#include <cbmem.h>
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void pci_domain_set_resources(device_t dev)
|
static void pci_domain_set_resources(device_t dev)
|
||||||
|
@ -132,8 +131,8 @@ static void pci_domain_set_resources(device_t dev)
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
/* Leave some space for ACPI, PIRQ and MP tables */
|
/* Leave some space for ACPI, PIRQ and MP tables */
|
||||||
high_tables_base = (tolmk - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (tolmk * 1024) - HIGH_MEMORY_SIZE;
|
||||||
high_tables_size = HIGH_TABLES_SIZE * 1024;
|
high_tables_size = HIGH_MEMORY_SIZE;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
assign_resources(dev->link_list);
|
assign_resources(dev->link_list);
|
||||||
|
|
|
@ -34,8 +34,7 @@ static const struct pci_driver northbridge_driver __pci_driver = {
|
||||||
};
|
};
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
#define HIGH_TABLES_SIZE 64 // maximum size of high tables in KB
|
#include <cbmem.h>
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void i440bx_domain_set_resources(device_t dev)
|
static void i440bx_domain_set_resources(device_t dev)
|
||||||
|
@ -75,8 +74,8 @@ static void i440bx_domain_set_resources(device_t dev)
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
/* Leave some space for ACPI, PIRQ and MP tables */
|
/* Leave some space for ACPI, PIRQ and MP tables */
|
||||||
high_tables_base = (tomk - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (tomk * 1024) - HIGH_MEMORY_SIZE;
|
||||||
high_tables_size = HIGH_TABLES_SIZE * 1024;
|
high_tables_size = HIGH_MEMORY_SIZE;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
assign_resources(dev->link_list);
|
assign_resources(dev->link_list);
|
||||||
|
|
|
@ -63,8 +63,7 @@ static const struct pci_driver northbridge_driver __pci_driver = {
|
||||||
};
|
};
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
#define HIGH_TABLES_SIZE 64 // maximum size of high tables in KB
|
#include <cbmem.h>
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void i440lx_domain_set_resources(device_t dev)
|
static void i440lx_domain_set_resources(device_t dev)
|
||||||
|
@ -104,8 +103,8 @@ static void i440lx_domain_set_resources(device_t dev)
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
/* Leave some space for ACPI, PIRQ and MP tables */
|
/* Leave some space for ACPI, PIRQ and MP tables */
|
||||||
high_tables_base = (tomk - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (tomk * 1024) - HIGH_MEMORY_SIZE;
|
||||||
high_tables_size = HIGH_TABLES_SIZE * 1024;
|
high_tables_size = HIGH_MEMORY_SIZE;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
assign_resources(dev->link_list);
|
assign_resources(dev->link_list);
|
||||||
|
|
|
@ -84,8 +84,7 @@ static int translate_i82810_to_mb[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
#define HIGH_TABLES_SIZE 64 // maximum size of high tables in KB
|
#include <cbmem.h>
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void pci_domain_set_resources(device_t dev)
|
static void pci_domain_set_resources(device_t dev)
|
||||||
|
@ -150,8 +149,8 @@ static void pci_domain_set_resources(device_t dev)
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
/* Leave some space for ACPI, PIRQ and MP tables */
|
/* Leave some space for ACPI, PIRQ and MP tables */
|
||||||
high_tables_base = (tomk - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (tomk * 1024) - HIGH_MEMORY_SIZE;
|
||||||
high_tables_size = HIGH_TABLES_SIZE * 1024;
|
high_tables_size = HIGH_MEMORY_SIZE;
|
||||||
#endif
|
#endif
|
||||||
assign_resources(dev->link_list);
|
assign_resources(dev->link_list);
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,8 +65,7 @@ int add_northbridge_resources(struct lb_memory *mem)
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
#define HIGH_TABLES_SIZE 64 // maximum size of high tables in KB
|
#include <cbmem.h>
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
static void pci_domain_set_resources(device_t dev)
|
static void pci_domain_set_resources(device_t dev)
|
||||||
{
|
{
|
||||||
|
@ -119,8 +118,8 @@ static void pci_domain_set_resources(device_t dev)
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
/* Leave some space for ACPI, PIRQ and MP tables */
|
/* Leave some space for ACPI, PIRQ and MP tables */
|
||||||
high_tables_base = (tomk - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (tomk * 1024) - HIGH_MEMORY_SIZE;
|
||||||
high_tables_size = HIGH_TABLES_SIZE * 1024;
|
high_tables_size = HIGH_MEMORY_SIZE;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -54,8 +54,7 @@ static const struct pci_driver northbridge_driver __pci_driver = {
|
||||||
};
|
};
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
#define HIGH_TABLES_SIZE 64 // maximum size of high tables in KB
|
#include <cbmem.h>
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
static void pci_domain_set_resources(device_t dev)
|
static void pci_domain_set_resources(device_t dev)
|
||||||
{
|
{
|
||||||
|
@ -112,8 +111,8 @@ static void pci_domain_set_resources(device_t dev)
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
/* Leave some space for ACPI, PIRQ and MP tables */
|
/* Leave some space for ACPI, PIRQ and MP tables */
|
||||||
high_tables_base = (tomk - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (tomk * 1024) - HIGH_MEMORY_SIZE;
|
||||||
high_tables_size = HIGH_TABLES_SIZE * 1024;
|
high_tables_size = HIGH_MEMORY_SIZE;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
assign_resources(dev->link_list);
|
assign_resources(dev->link_list);
|
||||||
|
|
|
@ -93,8 +93,7 @@ static void add_fixed_resources(struct device *dev, int index)
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
#define HIGH_TABLES_SIZE 1024 // maximum size of high tables in KB
|
#include <cbmem.h>
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void pci_domain_set_resources(device_t dev)
|
static void pci_domain_set_resources(device_t dev)
|
||||||
|
@ -183,8 +182,8 @@ static void pci_domain_set_resources(device_t dev)
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
/* Leave some space for ACPI, PIRQ and MP tables */
|
/* Leave some space for ACPI, PIRQ and MP tables */
|
||||||
high_tables_base = (tomk - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (tomk * 1024) - HIGH_MEMORY_SIZE;
|
||||||
high_tables_size = HIGH_TABLES_SIZE * 1024;
|
high_tables_size = HIGH_MEMORY_SIZE;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -178,9 +178,7 @@ static void ram_reservation(device_t dev, unsigned long index,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
/* maximum size of high tables in KB */
|
#include <cbmem.h>
|
||||||
#define HIGH_TABLES_SIZE 64
|
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void cn400_domain_set_resources(device_t dev)
|
static void cn400_domain_set_resources(device_t dev)
|
||||||
|
@ -211,9 +209,10 @@ static void cn400_domain_set_resources(device_t dev)
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES == 1
|
#if CONFIG_WRITE_HIGH_TABLES == 1
|
||||||
/* Locate the High Tables at the Top of Low Memory below the Video RAM */
|
/* 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_base = ((tolmk - (CONFIG_VIDEO_MB *1024)) * 1024) - HIGH_MEMORY_SIZE;
|
||||||
high_tables_size = (uint64_t) HIGH_TABLES_SIZE* 1024;
|
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);
|
printk(BIOS_SPEW, "tom: %lx, high_tables_base: %llx, high_tables_size: %llx\n",
|
||||||
|
tomk*1024, high_tables_base, high_tables_size);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Report the memory regions. */
|
/* Report the memory regions. */
|
||||||
|
|
|
@ -98,9 +98,7 @@ static const struct pci_driver memctrl_driver __pci_driver = {
|
||||||
};
|
};
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
/* maximum size of high tables in KB */
|
#include <cbmem.h>
|
||||||
#define HIGH_TABLES_SIZE 64
|
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void pci_domain_set_resources(device_t dev)
|
static void pci_domain_set_resources(device_t dev)
|
||||||
|
@ -141,9 +139,10 @@ static void pci_domain_set_resources(device_t dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES == 1
|
#if CONFIG_WRITE_HIGH_TABLES == 1
|
||||||
high_tables_base = (tolmk - CONFIG_VIDEO_MB * 1024 - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = ((tolmk - CONFIG_VIDEO_MB * 1024) * 1024) - HIGH_MEMORY_SIZE;
|
||||||
high_tables_size = HIGH_TABLES_SIZE * 1024;
|
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);
|
printk(BIOS_DEBUG, "tom: %lx, high_tables_base: %llx, high_tables_size: %llx\n",
|
||||||
|
tomk*1024, high_tables_base, high_tables_size);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Report the memory regions. */
|
/* Report the memory regions. */
|
||||||
|
|
|
@ -33,9 +33,7 @@
|
||||||
#include "northbridge.h"
|
#include "northbridge.h"
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
/* maximum size of high tables in KB */
|
#include <cbmem.h>
|
||||||
#define HIGH_TABLES_SIZE 64
|
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void pci_domain_set_resources(device_t dev)
|
static void pci_domain_set_resources(device_t dev)
|
||||||
|
@ -77,9 +75,10 @@ static void pci_domain_set_resources(device_t dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES == 1
|
#if CONFIG_WRITE_HIGH_TABLES == 1
|
||||||
high_tables_base = (tolmk - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (tolmk * 1024) - HIGH_MEMORY_SIZE;
|
||||||
high_tables_size = HIGH_TABLES_SIZE* 1024;
|
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);
|
printk(BIOS_DEBUG, "tom: %lx, high_tables_base: %llx, high_tables_size: %llx\n",
|
||||||
|
tomk*1024, high_tables_base, high_tables_size);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Report the memory regions */
|
/* Report the memory regions */
|
||||||
|
|
|
@ -46,9 +46,7 @@ static const struct pci_driver northbridge_driver __pci_driver = {
|
||||||
};
|
};
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
/* maximum size of high tables in KB */
|
#include <cbmem.h>
|
||||||
#define HIGH_TABLES_SIZE 64
|
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void pci_domain_set_resources(device_t dev)
|
static void pci_domain_set_resources(device_t dev)
|
||||||
|
@ -92,9 +90,10 @@ static void pci_domain_set_resources(device_t dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES == 1
|
#if CONFIG_WRITE_HIGH_TABLES == 1
|
||||||
high_tables_base = (tolmk - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (tolmk * 1024) - HIGH_MEMORY_SIZE;
|
||||||
high_tables_size = HIGH_TABLES_SIZE* 1024;
|
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);
|
printk(BIOS_DEBUG, "tom: %lx, high_tables_base: %llx, high_tables_size: %llx\n",
|
||||||
|
tomk*1024, high_tables_base, high_tables_size);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Report the memory regions */
|
/* Report the memory regions */
|
||||||
|
|
|
@ -106,9 +106,7 @@ static const struct pci_driver agp_driver __pci_driver = {
|
||||||
};
|
};
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES==1
|
#if CONFIG_WRITE_HIGH_TABLES==1
|
||||||
/* maximum size of high tables in KB */
|
#include <cbmem.h>
|
||||||
#define HIGH_TABLES_SIZE 64
|
|
||||||
extern uint64_t high_tables_base, high_tables_size;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void pci_domain_set_resources(device_t dev)
|
static void pci_domain_set_resources(device_t dev)
|
||||||
|
@ -152,9 +150,10 @@ static void pci_domain_set_resources(device_t dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_WRITE_HIGH_TABLES == 1
|
#if CONFIG_WRITE_HIGH_TABLES == 1
|
||||||
high_tables_base = (tolmk - HIGH_TABLES_SIZE) * 1024;
|
high_tables_base = (tolmk * 1024) - HIGH_MEMORY_SIZE;
|
||||||
high_tables_size = HIGH_TABLES_SIZE* 1024;
|
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);
|
printk(BIOS_DEBUG, "tom: %lx, high_tables_base: %llx, high_tables_size: %llx\n",
|
||||||
|
tomk*1024, high_tables_base, high_tables_size);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Report the memory regions */
|
/* Report the memory regions */
|
||||||
|
|
Loading…
Reference in New Issue