acpi: make fill_slit and fill_srat into arguments.
SLIT and SRAT are created this way only on amdk8 and amdfam10. This saves the need of having a lot of dummies. Change-Id: I76d042702209cd6d11ee78ac22cf9fe9d30d0ca5 Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com> Reviewed-on: http://review.coreboot.org/7052 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
parent
b4ae5fd107
commit
5e597572ef
|
@ -325,7 +325,8 @@ int acpi_create_srat_mem(acpi_srat_mem_t *mem, u8 node, u32 basek, u32 sizek,
|
|||
}
|
||||
|
||||
/* http://www.microsoft.com/whdc/system/sysinternals/sratdwn.mspx */
|
||||
void acpi_create_srat(acpi_srat_t *srat)
|
||||
void acpi_create_srat(acpi_srat_t *srat,
|
||||
unsigned long (*acpi_fill_srat)(unsigned long current))
|
||||
{
|
||||
acpi_header_t *header = &(srat->header);
|
||||
unsigned long current = (unsigned long)srat + sizeof(acpi_srat_t);
|
||||
|
@ -412,7 +413,8 @@ unsigned long acpi_create_dmar_drhd_ds_pci(unsigned long current, u8 segment,
|
|||
}
|
||||
|
||||
/* http://h21007.www2.hp.com/portal/download/files/unprot/Itanium/slit.pdf */
|
||||
void acpi_create_slit(acpi_slit_t *slit)
|
||||
void acpi_create_slit(acpi_slit_t *slit,
|
||||
unsigned long (*acpi_fill_slit)(unsigned long current))
|
||||
{
|
||||
acpi_header_t *header = &(slit->header);
|
||||
unsigned long current = (unsigned long)slit + sizeof(acpi_slit_t);
|
||||
|
|
|
@ -489,8 +489,6 @@ unsigned long fw_cfg_acpi_tables(unsigned long start);
|
|||
unsigned long write_acpi_tables(unsigned long addr);
|
||||
unsigned long acpi_fill_madt(unsigned long current);
|
||||
unsigned long acpi_fill_mcfg(unsigned long current);
|
||||
unsigned long acpi_fill_srat(unsigned long current);
|
||||
unsigned long acpi_fill_slit(unsigned long current);
|
||||
#if !IS_ENABLED(CONFIG_PER_DEVICE_ACPI_TABLES)
|
||||
unsigned long acpi_fill_ssdt_generator(unsigned long current,
|
||||
const char *oem_table_id);
|
||||
|
@ -527,9 +525,11 @@ int acpi_create_srat_mem(acpi_srat_mem_t *mem, u8 node, u32 basek,u32 sizek,
|
|||
int acpi_create_mcfg_mmconfig(acpi_mcfg_mmconfig_t *mmconfig, u32 base,
|
||||
u16 seg_nr, u8 start, u8 end);
|
||||
unsigned long acpi_create_srat_lapics(unsigned long current);
|
||||
void acpi_create_srat(acpi_srat_t *srat);
|
||||
void acpi_create_srat(acpi_srat_t *srat,
|
||||
unsigned long (*acpi_fill_srat)(unsigned long current));
|
||||
|
||||
void acpi_create_slit(acpi_slit_t *slit);
|
||||
void acpi_create_slit(acpi_slit_t *slit,
|
||||
unsigned long (*acpi_fill_slit)(unsigned long current));
|
||||
|
||||
#if ENV_RAMSTAGE
|
||||
void acpi_create_hpet(acpi_hpet_t *hpet);
|
||||
|
|
|
@ -30,18 +30,6 @@
|
|||
#include <assert.h>
|
||||
#include "bus.h"
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_madt(unsigned long current)
|
||||
{
|
||||
unsigned int irq_start = 0;
|
||||
|
|
|
@ -73,15 +73,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -49,15 +49,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -198,12 +198,6 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_mcfg(unsigned long current)
|
||||
{
|
||||
device_t dev;
|
||||
|
@ -221,9 +215,3 @@ unsigned long acpi_fill_mcfg(unsigned long current)
|
|||
reg & 0xf0000000, 0x0, 0x0, 255);
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -118,18 +118,6 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
||||
#define ALIGN_CURRENT current = (ALIGN(current, 16))
|
||||
unsigned long mainboard_write_acpi_tables(unsigned long start, acpi_rsdp_t *rsdp)
|
||||
{
|
||||
|
|
|
@ -69,15 +69,3 @@ void acpi_create_gnvs(global_nvs_t *gnvs)
|
|||
|
||||
acpi_update_thermal_table(gnvs);
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -69,15 +69,3 @@ void acpi_create_gnvs(global_nvs_t *gnvs)
|
|||
|
||||
acpi_update_thermal_table(gnvs);
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -99,15 +99,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -74,15 +74,3 @@ void acpi_create_gnvs(global_nvs_t *gnvs)
|
|||
acpi_update_thermal_table(gnvs);
|
||||
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -93,15 +93,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -83,14 +83,3 @@ void acpi_create_gnvs(global_nvs_t *gnvs)
|
|||
gnvs->lids = 1;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -110,15 +110,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -74,14 +74,3 @@ void acpi_create_gnvs(global_nvs_t *gnvs)
|
|||
gnvs->lids = 1;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -102,15 +102,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -99,15 +99,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -80,14 +80,3 @@ void acpi_create_gnvs(global_nvs_t *gnvs)
|
|||
gnvs->xhci = XHCI_MODE;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -62,16 +62,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
||||
|
|
|
@ -112,15 +112,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -91,15 +91,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -52,15 +52,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -67,16 +67,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
||||
|
|
|
@ -92,14 +92,3 @@ void acpi_create_gnvs(global_nvs_t *gnvs)
|
|||
gnvs->chromeos.vbt2 = ACTIVE_ECFW_RO;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -69,15 +69,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
/* Not implemented. */
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -62,15 +62,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -63,14 +63,3 @@ void acpi_create_gnvs(global_nvs_t *gnvs)
|
|||
acpi_update_thermal_table(gnvs);
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -65,14 +65,3 @@ void acpi_create_gnvs(global_nvs_t *gnvs)
|
|||
acpi_update_thermal_table(gnvs);
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -65,14 +65,3 @@ void acpi_create_gnvs(global_nvs_t *gnvs)
|
|||
acpi_update_thermal_table(gnvs);
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -73,15 +73,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -77,15 +77,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -42,15 +42,3 @@ void acpi_create_gnvs(global_nvs_t * gnvs)
|
|||
gnvs->did[3] = 0x80000410;
|
||||
gnvs->did[4] = 0x00000005;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
/* Not implemented */
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -65,14 +65,3 @@ void acpi_create_gnvs(global_nvs_t *gnvs)
|
|||
acpi_update_thermal_table(gnvs);
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -65,14 +65,3 @@ void acpi_create_gnvs(global_nvs_t *gnvs)
|
|||
acpi_update_thermal_table(gnvs);
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -73,15 +73,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -43,14 +43,3 @@ void acpi_create_gnvs(global_nvs_t * gnvs)
|
|||
gnvs->did[4] = 0x00000005;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
/* Not implemented */
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -73,15 +73,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -77,15 +77,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -92,15 +92,3 @@ void acpi_create_gnvs(global_nvs_t *gnvs)
|
|||
|
||||
gnvs->chromeos.vbt2 = ec_read(0xcb) ? ACTIVE_ECFW_RW : ACTIVE_ECFW_RO;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -93,14 +93,3 @@ void acpi_create_gnvs(global_nvs_t *gnvs)
|
|||
gnvs->chromeos.vbt2 = ACTIVE_ECFW_RO;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -98,15 +98,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
/* Not implemented. */
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT. */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -44,15 +44,3 @@ unsigned long acpi_fill_madt(unsigned long current)
|
|||
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
|
|
@ -811,18 +811,6 @@ unsigned long acpi_fill_hest(acpi_hest_t *hest)
|
|||
return (unsigned long)current;
|
||||
}
|
||||
|
||||
/* Implemented with AGESA-specific code. Dummy to keep linker happy. */
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
return current;
|
||||
}
|
||||
|
||||
/* Implemented with AGESA-specific code. Dummy to keep linker happy. */
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
return current;
|
||||
}
|
||||
|
||||
static void northbridge_fill_ssdt_generator(void)
|
||||
{
|
||||
msr_t msr;
|
||||
|
|
|
@ -907,19 +907,6 @@ static unsigned long agesa_write_acpi_tables(unsigned long current,
|
|||
return current;
|
||||
}
|
||||
|
||||
|
||||
/* Implemented with AGESA-specific code. Dummy to keep linker happy. */
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
return current;
|
||||
}
|
||||
|
||||
/* Implemented with AGESA-specific code. Dummy to keep linker happy. */
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
return current;
|
||||
}
|
||||
|
||||
static struct device_operations northbridge_operations = {
|
||||
.read_resources = nb_read_resources,
|
||||
.set_resources = nb_set_resources,
|
||||
|
|
|
@ -501,18 +501,6 @@ unsigned long acpi_fill_hest(acpi_hest_t *hest)
|
|||
return (unsigned long)current;
|
||||
}
|
||||
|
||||
/* Implemented with AGESA-specific code. Dummy to keep linker happy. */
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
return current;
|
||||
}
|
||||
|
||||
/* Implemented with AGESA-specific code. Dummy to keep linker happy. */
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
return current;
|
||||
}
|
||||
|
||||
static void northbridge_fill_ssdt_generator(void)
|
||||
{
|
||||
msr_t msr;
|
||||
|
|
|
@ -477,18 +477,6 @@ unsigned long acpi_fill_hest(acpi_hest_t *hest)
|
|||
return (unsigned long)current;
|
||||
}
|
||||
|
||||
/* Implemented with AGESA-specific code. Dummy to keep linker happy. */
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
return current;
|
||||
}
|
||||
|
||||
/* Implemented with AGESA-specific code. Dummy to keep linker happy. */
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
return current;
|
||||
}
|
||||
|
||||
static void northbridge_fill_ssdt_generator(void)
|
||||
{
|
||||
msr_t msr;
|
||||
|
|
|
@ -476,18 +476,6 @@ unsigned long acpi_fill_hest(acpi_hest_t *hest)
|
|||
return (unsigned long)current;
|
||||
}
|
||||
|
||||
/* Implemented with AGESA-specific code. Dummy to keep linker happy. */
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
return current;
|
||||
}
|
||||
|
||||
/* Implemented with AGESA-specific code. Dummy to keep linker happy. */
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
return current;
|
||||
}
|
||||
|
||||
static void northbridge_fill_ssdt_generator(void)
|
||||
{
|
||||
msr_t msr;
|
||||
|
|
|
@ -477,18 +477,6 @@ unsigned long acpi_fill_hest(acpi_hest_t *hest)
|
|||
return (unsigned long)current;
|
||||
}
|
||||
|
||||
/* Implemented with AGESA-specific code. Dummy to keep linker happy. */
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
return current;
|
||||
}
|
||||
|
||||
/* Implemented with AGESA-specific code. Dummy to keep linker happy. */
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
return current;
|
||||
}
|
||||
|
||||
static void northbridge_fill_ssdt_generator(void)
|
||||
{
|
||||
msr_t msr;
|
||||
|
|
|
@ -109,7 +109,7 @@ static void set_srat_mem(void *gp, struct device *dev, struct resource *res)
|
|||
state->current += acpi_create_srat_mem((acpi_srat_mem_t *)state->current, (res->index & 0xf), basek, sizek, 1);
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
static unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
struct acpi_srat_mem_state srat_mem_state;
|
||||
|
||||
|
@ -130,7 +130,7 @@ unsigned long acpi_fill_srat(unsigned long current)
|
|||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
static unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
/* Implement SLIT algorithm in BKDG Rev. 3.62 § 2.3.6.1
|
||||
* Fill the first 8 bytes with the node number,
|
||||
|
@ -342,7 +342,7 @@ unsigned long northbridge_write_acpi_tables(unsigned long current,
|
|||
current = ALIGN(current, 8);
|
||||
printk(BIOS_DEBUG, "ACPI: * SRAT at %lx\n", current);
|
||||
srat = (acpi_srat_t *) current;
|
||||
acpi_create_srat(srat);
|
||||
acpi_create_srat(srat, acpi_fill_srat);
|
||||
current += srat->header.length;
|
||||
acpi_add_table(rsdp, srat);
|
||||
|
||||
|
@ -350,7 +350,7 @@ unsigned long northbridge_write_acpi_tables(unsigned long current,
|
|||
current = ALIGN(current, 8);
|
||||
printk(BIOS_DEBUG, "ACPI: * SLIT at %lx\n", current);
|
||||
slit = (acpi_slit_t *) current;
|
||||
acpi_create_slit(slit);
|
||||
acpi_create_slit(slit, acpi_fill_slit);
|
||||
current += slit->header.length;
|
||||
acpi_add_table(rsdp, slit);
|
||||
|
||||
|
|
|
@ -114,7 +114,7 @@ static void set_srat_mem(void *gp, struct device *dev, struct resource *res)
|
|||
state->current += acpi_create_srat_mem((acpi_srat_mem_t *)state->current, (res->index & 0xf), basek, sizek, 1);
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
static unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
struct acpi_srat_mem_state srat_mem_state;
|
||||
|
||||
|
@ -135,7 +135,7 @@ unsigned long acpi_fill_srat(unsigned long current)
|
|||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
static unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
/* need to find out the node num at first */
|
||||
/* fill the first 8 byte with that num */
|
||||
|
@ -204,6 +204,35 @@ unsigned long acpi_fill_slit(unsigned long current)
|
|||
return current;
|
||||
}
|
||||
|
||||
unsigned long northbridge_write_acpi_tables(unsigned long start, acpi_rsdp_t *rsdp)
|
||||
{
|
||||
unsigned long current;
|
||||
acpi_srat_t *srat;
|
||||
acpi_slit_t *slit;
|
||||
|
||||
current = start;
|
||||
|
||||
/* Fills sysconf structure needed for SRAT and SLIT. */
|
||||
get_bus_conf();
|
||||
|
||||
current = ALIGN(current, 16);
|
||||
srat = (acpi_srat_t *) current;
|
||||
printk(BIOS_DEBUG, "ACPI: * SRAT @ %p\n", srat);
|
||||
acpi_create_srat(srat, acpi_fill_srat);
|
||||
current += srat->header.length;
|
||||
acpi_add_table(rsdp, srat);
|
||||
|
||||
/* SLIT */
|
||||
current = ALIGN(current, 16);
|
||||
slit = (acpi_slit_t *) current;
|
||||
printk(BIOS_DEBUG, "ACPI: * SLIT @ %p\n", slit);
|
||||
acpi_create_slit(slit, acpi_fill_slit);
|
||||
current+=slit->header.length;
|
||||
acpi_add_table(rsdp,slit);
|
||||
|
||||
return current;
|
||||
}
|
||||
|
||||
static void k8acpi_write_HT(void) {
|
||||
int i;
|
||||
|
||||
|
|
|
@ -22,5 +22,6 @@
|
|||
#include <arch/acpigen.h>
|
||||
|
||||
void k8acpi_write_vars(void);
|
||||
unsigned long northbridge_write_acpi_tables(unsigned long start, acpi_rsdp_t *rsdp);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -579,37 +579,6 @@ static void mcf0_control_init(struct device *dev)
|
|||
#endif
|
||||
}
|
||||
|
||||
#if IS_ENABLED(CONFIG_HAVE_ACPI_TABLES)
|
||||
static unsigned long northbridge_write_acpi_tables(unsigned long start, acpi_rsdp_t *rsdp)
|
||||
{
|
||||
unsigned long current;
|
||||
acpi_srat_t *srat;
|
||||
acpi_slit_t *slit;
|
||||
|
||||
current = start;
|
||||
|
||||
/* Fills sysconf structure needed for SRAT and SLIT. */
|
||||
get_bus_conf();
|
||||
|
||||
current = ALIGN(current, 16);
|
||||
srat = (acpi_srat_t *) current;
|
||||
printk(BIOS_DEBUG, "ACPI: * SRAT @ %p\n", srat);
|
||||
acpi_create_srat(srat);
|
||||
current += srat->header.length;
|
||||
acpi_add_table(rsdp, srat);
|
||||
|
||||
/* SLIT */
|
||||
current = ALIGN(current, 16);
|
||||
slit = (acpi_slit_t *) current;
|
||||
printk(BIOS_DEBUG, "ACPI: * SLIT @ %p\n", slit);
|
||||
acpi_create_slit(slit);
|
||||
current+=slit->header.length;
|
||||
acpi_add_table(rsdp,slit);
|
||||
|
||||
return current;
|
||||
}
|
||||
#endif
|
||||
|
||||
static struct device_operations northbridge_operations = {
|
||||
.read_resources = amdk8_read_resources,
|
||||
.set_resources = amdk8_set_resources,
|
||||
|
|
|
@ -471,18 +471,6 @@ unsigned long acpi_fill_hest(acpi_hest_t *hest)
|
|||
return (unsigned long)current;
|
||||
}
|
||||
|
||||
/* Implemented with AGESA-specific code. Dummy to keep linker happy. */
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
return current;
|
||||
}
|
||||
|
||||
/* Implemented with AGESA-specific code. Dummy to keep linker happy. */
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
return current;
|
||||
}
|
||||
|
||||
static void northbridge_fill_ssdt_generator(void)
|
||||
{
|
||||
msr_t msr;
|
||||
|
|
|
@ -465,18 +465,6 @@ unsigned long acpi_fill_hest(acpi_hest_t *hest)
|
|||
return (unsigned long)current;
|
||||
}
|
||||
|
||||
/* Implemented with AGESA-specific code. Dummy to keep linker happy. */
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
return current;
|
||||
}
|
||||
|
||||
/* Implemented with AGESA-specific code. Dummy to keep linker happy. */
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
return current;
|
||||
}
|
||||
|
||||
static void northbridge_fill_ssdt_generator(void)
|
||||
{
|
||||
msr_t msr;
|
||||
|
|
|
@ -201,18 +201,6 @@ static void northbridge_enable(device_t dev)
|
|||
{
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
||||
static struct pci_operations intel_pci_ops = {
|
||||
.set_subsystem = intel_set_subsystem,
|
||||
};
|
||||
|
|
|
@ -416,18 +416,6 @@ static void systemagent_init(struct device *dev)
|
|||
set_power_limits(28);
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
/* No NUMA, no SRAT */
|
||||
return current;
|
||||
}
|
||||
|
||||
static struct device_operations systemagent_ops = {
|
||||
.read_resources = &systemagent_read_resources,
|
||||
.acpi_fill_ssdt_generator = &generate_cpu_entries,
|
||||
|
|
|
@ -61,18 +61,6 @@ void generate_cpu_entries(void)
|
|||
acpigen_pop_len();
|
||||
}
|
||||
|
||||
unsigned long __attribute__((weak)) acpi_fill_slit(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long __attribute__((weak)) acpi_fill_srat(unsigned long current)
|
||||
{
|
||||
// Not implemented
|
||||
return current;
|
||||
}
|
||||
|
||||
unsigned long acpi_fill_mcfg(unsigned long current)
|
||||
{
|
||||
/* chipset doesn't have mmconfig */
|
||||
|
|
Loading…
Reference in New Issue