summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/arch/x86/boot/acpi.c4
-rw-r--r--src/arch/x86/include/arch/acpi.h2
-rw-r--r--src/include/device/device.h2
-rw-r--r--src/mainboard/amd/serengeti_cheetah/acpi_tables.c2
-rw-r--r--src/mainboard/amd/serengeti_cheetah/mainboard.h2
-rw-r--r--src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c3
-rw-r--r--src/mainboard/amd/serengeti_cheetah_fam10/mainboard.h2
-rw-r--r--src/mainboard/emulation/qemu-i440fx/acpi.h2
-rw-r--r--src/mainboard/getac/p470/acpi_tables.c4
-rw-r--r--src/mainboard/getac/p470/mainboard.h3
-rw-r--r--src/mainboard/iwill/dk8_htx/acpi_tables.c4
-rw-r--r--src/mainboard/iwill/dk8_htx/mainboard.h2
-rw-r--r--src/northbridge/amd/agesa/family12/northbridge.c3
-rw-r--r--src/northbridge/amd/agesa/family14/northbridge.c3
-rw-r--r--src/northbridge/amd/agesa/family15/northbridge.c3
-rw-r--r--src/northbridge/amd/agesa/family15rl/northbridge.c3
-rw-r--r--src/northbridge/amd/agesa/family15tn/northbridge.c3
-rw-r--r--src/northbridge/amd/agesa/family16kb/northbridge.c3
-rw-r--r--src/northbridge/amd/amdfam10/acpi.c5
-rw-r--r--src/northbridge/amd/amdfam10/amdfam10.h3
-rw-r--r--src/northbridge/amd/amdk8/acpi.c5
-rw-r--r--src/northbridge/amd/amdk8/acpi.h2
-rw-r--r--src/northbridge/amd/pi/00630F01/northbridge.c3
-rw-r--r--src/northbridge/amd/pi/00730F01/northbridge.c3
-rw-r--r--src/northbridge/intel/gm45/acpi.c4
-rw-r--r--src/northbridge/intel/gm45/gm45.h8
-rw-r--r--src/soc/intel/fsp_baytrail/acpi.c5
-rw-r--r--src/soc/intel/fsp_baytrail/baytrail/acpi.h3
-rw-r--r--src/southbridge/intel/lynxpoint/lpc.c4
29 files changed, 63 insertions, 32 deletions
diff --git a/src/arch/x86/boot/acpi.c b/src/arch/x86/boot/acpi.c
index dd01e0c390..4090a1d71c 100644
--- a/src/arch/x86/boot/acpi.c
+++ b/src/arch/x86/boot/acpi.c
@@ -508,7 +508,7 @@ void acpi_create_hpet(acpi_hpet_t *hpet)
header->checksum = acpi_checksum((void *)hpet, sizeof(acpi_hpet_t));
}
-unsigned long acpi_write_hpet(unsigned long current, acpi_rsdp_t *rsdp)
+unsigned long acpi_write_hpet(device_t device, unsigned long current, acpi_rsdp_t *rsdp)
{
acpi_hpet_t *hpet;
@@ -898,7 +898,7 @@ unsigned long write_acpi_tables(unsigned long start)
for (dev = all_devices; dev; dev = dev->next) {
if (dev->ops && dev->ops->write_acpi_tables) {
- current = dev->ops->write_acpi_tables(current, rsdp);
+ current = dev->ops->write_acpi_tables(dev, current, rsdp);
ALIGN_CURRENT;
}
}
diff --git a/src/arch/x86/include/arch/acpi.h b/src/arch/x86/include/arch/acpi.h
index be97db5397..28f650ca36 100644
--- a/src/arch/x86/include/arch/acpi.h
+++ b/src/arch/x86/include/arch/acpi.h
@@ -537,7 +537,7 @@ void acpi_create_slit(acpi_slit_t *slit,
#if ENV_RAMSTAGE
void acpi_create_hpet(acpi_hpet_t *hpet);
-unsigned long acpi_write_hpet(unsigned long start, acpi_rsdp_t *rsdp);
+unsigned long acpi_write_hpet(device_t device, unsigned long start, acpi_rsdp_t *rsdp);
/* cpu/intel/speedstep/acpi.c */
void generate_cpu_entries(device_t device);
diff --git a/src/include/device/device.h b/src/include/device/device.h
index 7836912b8d..f63a05caae 100644
--- a/src/include/device/device.h
+++ b/src/include/device/device.h
@@ -56,7 +56,7 @@ struct device_operations {
void (*get_smbios_strings)(device_t dev, struct smbios_type11 *t);
#endif
#if IS_ENABLED(CONFIG_HAVE_ACPI_TABLES)
- unsigned long (*write_acpi_tables)(unsigned long start, struct acpi_rsdp *rsdp);
+ unsigned long (*write_acpi_tables)(device_t dev, unsigned long start, struct acpi_rsdp *rsdp);
void (*acpi_fill_ssdt_generator)(device_t dev);
void (*acpi_inject_dsdt_generator)(device_t dev);
#endif
diff --git a/src/mainboard/amd/serengeti_cheetah/acpi_tables.c b/src/mainboard/amd/serengeti_cheetah/acpi_tables.c
index 225f8971c3..b25f7e7503 100644
--- a/src/mainboard/amd/serengeti_cheetah/acpi_tables.c
+++ b/src/mainboard/amd/serengeti_cheetah/acpi_tables.c
@@ -119,7 +119,7 @@ unsigned long acpi_fill_madt(unsigned long current)
return current;
}
-unsigned long mainboard_write_acpi_tables(unsigned long start, acpi_rsdp_t *rsdp)
+unsigned long mainboard_write_acpi_tables(device_t dev, unsigned long start, acpi_rsdp_t *rsdp)
{
unsigned long current;
acpi_header_t *ssdtx;
diff --git a/src/mainboard/amd/serengeti_cheetah/mainboard.h b/src/mainboard/amd/serengeti_cheetah/mainboard.h
index 80d8f2a0ad..fc2dcafd30 100644
--- a/src/mainboard/amd/serengeti_cheetah/mainboard.h
+++ b/src/mainboard/amd/serengeti_cheetah/mainboard.h
@@ -1 +1 @@
-unsigned long mainboard_write_acpi_tables(unsigned long start, acpi_rsdp_t *rsdp);
+unsigned long mainboard_write_acpi_tables(device_t device, unsigned long start, acpi_rsdp_t *rsdp);
diff --git a/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c b/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c
index ac021d020b..7b5be84cd7 100644
--- a/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c
+++ b/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c
@@ -127,7 +127,8 @@ unsigned long acpi_fill_madt(unsigned long current)
return current;
}
-unsigned long mainboard_write_acpi_tables(unsigned long current,
+unsigned long mainboard_write_acpi_tables(device_t device,
+ unsigned long current,
acpi_rsdp_t *rsdp)
{
acpi_header_t *ssdtx;
diff --git a/src/mainboard/amd/serengeti_cheetah_fam10/mainboard.h b/src/mainboard/amd/serengeti_cheetah_fam10/mainboard.h
index 8f17804638..b152b047fb 100644
--- a/src/mainboard/amd/serengeti_cheetah_fam10/mainboard.h
+++ b/src/mainboard/amd/serengeti_cheetah_fam10/mainboard.h
@@ -1,2 +1,2 @@
-unsigned long mainboard_write_acpi_tables(unsigned long start, acpi_rsdp_t *rsdp);
+unsigned long mainboard_write_acpi_tables(device_t device, unsigned long start, acpi_rsdp_t *rsdp);
diff --git a/src/mainboard/emulation/qemu-i440fx/acpi.h b/src/mainboard/emulation/qemu-i440fx/acpi.h
index c0d4e6e768..f2ffdeb486 100644
--- a/src/mainboard/emulation/qemu-i440fx/acpi.h
+++ b/src/mainboard/emulation/qemu-i440fx/acpi.h
@@ -1 +1 @@
-unsigned long northbridge_write_acpi_tables(unsigned long start);
+unsigned long northbridge_write_acpi_tables(device_t device, unsigned long start);
diff --git a/src/mainboard/getac/p470/acpi_tables.c b/src/mainboard/getac/p470/acpi_tables.c
index b6cd654760..18b71514a3 100644
--- a/src/mainboard/getac/p470/acpi_tables.c
+++ b/src/mainboard/getac/p470/acpi_tables.c
@@ -110,7 +110,9 @@ unsigned long acpi_fill_madt(unsigned long current)
}
#define ALIGN_CURRENT current = (ALIGN(current, 16))
-unsigned long mainboard_write_acpi_tables(unsigned long start, acpi_rsdp_t *rsdp)
+unsigned long mainboard_write_acpi_tables(device_t device,
+ unsigned long start,
+ acpi_rsdp_t *rsdp)
{
unsigned long current;
acpi_header_t *ecdt;
diff --git a/src/mainboard/getac/p470/mainboard.h b/src/mainboard/getac/p470/mainboard.h
index 45d961bb47..56f54555ad 100644
--- a/src/mainboard/getac/p470/mainboard.h
+++ b/src/mainboard/getac/p470/mainboard.h
@@ -1,4 +1,5 @@
struct acpi_rsdp;
-unsigned long mainboard_write_acpi_tables(unsigned long start,
+unsigned long mainboard_write_acpi_tables(device_t device,
+ unsigned long start,
struct acpi_rsdp *rsdp);
diff --git a/src/mainboard/iwill/dk8_htx/acpi_tables.c b/src/mainboard/iwill/dk8_htx/acpi_tables.c
index 5767878d70..7c8835af91 100644
--- a/src/mainboard/iwill/dk8_htx/acpi_tables.c
+++ b/src/mainboard/iwill/dk8_htx/acpi_tables.c
@@ -125,7 +125,9 @@ unsigned long acpi_fill_madt(unsigned long current)
return current;
}
-unsigned long mainboard_write_acpi_tables(unsigned long start, acpi_rsdp_t *rsdp)
+unsigned long mainboard_write_acpi_tables(device_t device,
+ unsigned long start,
+ acpi_rsdp_t *rsdp)
{
unsigned long current;
acpi_header_t *ssdtx;
diff --git a/src/mainboard/iwill/dk8_htx/mainboard.h b/src/mainboard/iwill/dk8_htx/mainboard.h
index 80d8f2a0ad..fc2dcafd30 100644
--- a/src/mainboard/iwill/dk8_htx/mainboard.h
+++ b/src/mainboard/iwill/dk8_htx/mainboard.h
@@ -1 +1 @@
-unsigned long mainboard_write_acpi_tables(unsigned long start, acpi_rsdp_t *rsdp);
+unsigned long mainboard_write_acpi_tables(device_t device, unsigned long start, acpi_rsdp_t *rsdp);
diff --git a/src/northbridge/amd/agesa/family12/northbridge.c b/src/northbridge/amd/agesa/family12/northbridge.c
index ee291a5d3b..ec1f493798 100644
--- a/src/northbridge/amd/agesa/family12/northbridge.c
+++ b/src/northbridge/amd/agesa/family12/northbridge.c
@@ -832,7 +832,8 @@ static void northbridge_fill_ssdt_generator(device_t device)
acpigen_pop_len();
}
-static unsigned long agesa_write_acpi_tables(unsigned long current,
+static unsigned long agesa_write_acpi_tables(device_t device,
+ unsigned long current,
acpi_rsdp_t *rsdp)
{
acpi_srat_t *srat;
diff --git a/src/northbridge/amd/agesa/family14/northbridge.c b/src/northbridge/amd/agesa/family14/northbridge.c
index 2cf4736aa4..6d3a17377f 100644
--- a/src/northbridge/amd/agesa/family14/northbridge.c
+++ b/src/northbridge/amd/agesa/family14/northbridge.c
@@ -832,7 +832,8 @@ static unsigned long acpi_fill_hest(acpi_hest_t *hest)
return (unsigned long)current;
}
-static unsigned long agesa_write_acpi_tables(unsigned long current,
+static unsigned long agesa_write_acpi_tables(device_t device,
+ unsigned long current,
acpi_rsdp_t *rsdp)
{
acpi_srat_t *srat;
diff --git a/src/northbridge/amd/agesa/family15/northbridge.c b/src/northbridge/amd/agesa/family15/northbridge.c
index c21da210cd..cda0ca797c 100644
--- a/src/northbridge/amd/agesa/family15/northbridge.c
+++ b/src/northbridge/amd/agesa/family15/northbridge.c
@@ -523,7 +523,8 @@ static void northbridge_fill_ssdt_generator(device_t device)
acpigen_pop_len();
}
-static unsigned long agesa_write_acpi_tables(unsigned long current,
+static unsigned long agesa_write_acpi_tables(device_t device,
+ unsigned long current,
acpi_rsdp_t *rsdp)
{
acpi_srat_t *srat;
diff --git a/src/northbridge/amd/agesa/family15rl/northbridge.c b/src/northbridge/amd/agesa/family15rl/northbridge.c
index 6c2e953791..199843e087 100644
--- a/src/northbridge/amd/agesa/family15rl/northbridge.c
+++ b/src/northbridge/amd/agesa/family15rl/northbridge.c
@@ -498,7 +498,8 @@ static void northbridge_fill_ssdt_generator(device_t device)
acpigen_pop_len();
}
-static unsigned long agesa_write_acpi_tables(unsigned long current,
+static unsigned long agesa_write_acpi_tables(device_t device,
+ unsigned long current,
acpi_rsdp_t *rsdp)
{
acpi_srat_t *srat;
diff --git a/src/northbridge/amd/agesa/family15tn/northbridge.c b/src/northbridge/amd/agesa/family15tn/northbridge.c
index aef0d83e65..85b9799255 100644
--- a/src/northbridge/amd/agesa/family15tn/northbridge.c
+++ b/src/northbridge/amd/agesa/family15tn/northbridge.c
@@ -498,7 +498,8 @@ static void northbridge_fill_ssdt_generator(device_t device)
acpigen_pop_len();
}
-static unsigned long agesa_write_acpi_tables(unsigned long current,
+static unsigned long agesa_write_acpi_tables(device_t device,
+ unsigned long current,
acpi_rsdp_t *rsdp)
{
acpi_srat_t *srat;
diff --git a/src/northbridge/amd/agesa/family16kb/northbridge.c b/src/northbridge/amd/agesa/family16kb/northbridge.c
index 192c3df109..25f40b8c85 100644
--- a/src/northbridge/amd/agesa/family16kb/northbridge.c
+++ b/src/northbridge/amd/agesa/family16kb/northbridge.c
@@ -498,7 +498,8 @@ static void northbridge_fill_ssdt_generator(device_t device)
acpigen_pop_len();
}
-static unsigned long agesa_write_acpi_tables(unsigned long current,
+static unsigned long agesa_write_acpi_tables(device_t device,
+ unsigned long current,
acpi_rsdp_t *rsdp)
{
acpi_srat_t *srat;
diff --git a/src/northbridge/amd/amdfam10/acpi.c b/src/northbridge/amd/amdfam10/acpi.c
index 734ebb66a4..4b86e96135 100644
--- a/src/northbridge/amd/amdfam10/acpi.c
+++ b/src/northbridge/amd/amdfam10/acpi.c
@@ -330,8 +330,9 @@ void northbridge_acpi_write_vars(device_t device)
acpigen_pop_len();
}
-unsigned long northbridge_write_acpi_tables(unsigned long current,
- struct acpi_rsdp *rsdp)
+unsigned long northbridge_write_acpi_tables(device_t device,
+ unsigned long current,
+ struct acpi_rsdp *rsdp)
{
acpi_srat_t *srat;
acpi_slit_t *slit;
diff --git a/src/northbridge/amd/amdfam10/amdfam10.h b/src/northbridge/amd/amdfam10/amdfam10.h
index 9213ed1408..94613856f4 100644
--- a/src/northbridge/amd/amdfam10/amdfam10.h
+++ b/src/northbridge/amd/amdfam10/amdfam10.h
@@ -1074,7 +1074,8 @@ BOOL AMD_CB_ManualBUIDSwapList(u8 Node, u8 Link, const u8 **List);
struct acpi_rsdp;
-unsigned long northbridge_write_acpi_tables(unsigned long start,
+unsigned long northbridge_write_acpi_tables(device_t device,
+ unsigned long start,
struct acpi_rsdp *rsdp);
void northbridge_acpi_write_vars(device_t device);
diff --git a/src/northbridge/amd/amdk8/acpi.c b/src/northbridge/amd/amdk8/acpi.c
index 1bb1d83a25..10228cfa94 100644
--- a/src/northbridge/amd/amdk8/acpi.c
+++ b/src/northbridge/amd/amdk8/acpi.c
@@ -204,7 +204,10 @@ static 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 northbridge_write_acpi_tables(
+ device_t device,
+ unsigned long start,
+ acpi_rsdp_t *rsdp)
{
unsigned long current;
acpi_srat_t *srat;
diff --git a/src/northbridge/amd/amdk8/acpi.h b/src/northbridge/amd/amdk8/acpi.h
index 4d822e4fb4..b874dd4853 100644
--- a/src/northbridge/amd/amdk8/acpi.h
+++ b/src/northbridge/amd/amdk8/acpi.h
@@ -22,6 +22,6 @@
#include <arch/acpigen.h>
void k8acpi_write_vars(device_t device);
-unsigned long northbridge_write_acpi_tables(unsigned long start, acpi_rsdp_t *rsdp);
+unsigned long northbridge_write_acpi_tables(device_t device, unsigned long start, acpi_rsdp_t *rsdp);
#endif
diff --git a/src/northbridge/amd/pi/00630F01/northbridge.c b/src/northbridge/amd/pi/00630F01/northbridge.c
index d21becf582..acecb28136 100644
--- a/src/northbridge/amd/pi/00630F01/northbridge.c
+++ b/src/northbridge/amd/pi/00630F01/northbridge.c
@@ -492,7 +492,8 @@ static void northbridge_fill_ssdt_generator(device_t device)
acpigen_pop_len();
}
-static unsigned long agesa_write_acpi_tables(unsigned long current,
+static unsigned long agesa_write_acpi_tables(device_t device,
+ unsigned long current,
acpi_rsdp_t *rsdp)
{
acpi_srat_t *srat;
diff --git a/src/northbridge/amd/pi/00730F01/northbridge.c b/src/northbridge/amd/pi/00730F01/northbridge.c
index 2e46b1672d..3e5b2b23fe 100644
--- a/src/northbridge/amd/pi/00730F01/northbridge.c
+++ b/src/northbridge/amd/pi/00730F01/northbridge.c
@@ -486,7 +486,8 @@ static void northbridge_fill_ssdt_generator(device_t device)
acpigen_pop_len();
}
-static unsigned long agesa_write_acpi_tables(unsigned long current,
+static unsigned long agesa_write_acpi_tables(device_t device,
+ unsigned long current,
acpi_rsdp_t *rsdp)
{
acpi_srat_t *srat;
diff --git a/src/northbridge/intel/gm45/acpi.c b/src/northbridge/intel/gm45/acpi.c
index a1cfdb5352..daa5aedf15 100644
--- a/src/northbridge/intel/gm45/acpi.c
+++ b/src/northbridge/intel/gm45/acpi.c
@@ -109,7 +109,9 @@ static unsigned long acpi_fill_dmar(unsigned long current)
}
#define ALIGN_CURRENT current = (ALIGN(current, 16))
-unsigned long northbridge_write_acpi_tables(unsigned long start, struct acpi_rsdp *rsdp)
+unsigned long northbridge_write_acpi_tables(device_t device,
+ unsigned long start,
+ struct acpi_rsdp *rsdp)
{
unsigned long current;
#if CONFIG_IOMMU
diff --git a/src/northbridge/intel/gm45/gm45.h b/src/northbridge/intel/gm45/gm45.h
index db3db00563..cb946fc7d4 100644
--- a/src/northbridge/intel/gm45/gm45.h
+++ b/src/northbridge/intel/gm45/gm45.h
@@ -25,6 +25,7 @@
#ifndef __ACPI__
+#include <rules.h>
#include <stdint.h>
typedef enum {
@@ -435,8 +436,13 @@ u32 decode_igd_gtt_size(u32 gsm);
void init_iommu(void);
+#if ENV_RAMSTAGE
+#include <device/device.h>
+
struct acpi_rsdp;
-unsigned long northbridge_write_acpi_tables(unsigned long start, struct acpi_rsdp *rsdp);
+unsigned long northbridge_write_acpi_tables(device_t device, unsigned long start, struct acpi_rsdp *rsdp);
#endif
+
+#endif /* !__ACPI__ */
#endif /* __NORTHBRIDGE_INTEL_GM45_GM45_H__ */
diff --git a/src/soc/intel/fsp_baytrail/acpi.c b/src/soc/intel/fsp_baytrail/acpi.c
index 9b0d1481e1..ed607b37df 100644
--- a/src/soc/intel/fsp_baytrail/acpi.c
+++ b/src/soc/intel/fsp_baytrail/acpi.c
@@ -569,12 +569,13 @@ unsigned long acpi_madt_irq_overrides(unsigned long current)
#define ALIGN_CURRENT current = (ALIGN(current, 16))
-unsigned long southcluster_write_acpi_tables(unsigned long current,
+unsigned long southcluster_write_acpi_tables(device_t device,
+ unsigned long current,
struct acpi_rsdp *rsdp)
{
acpi_header_t *ssdt2;
- current = acpi_write_hpet(current, rsdp);
+ current = acpi_write_hpet(device, current, rsdp);
ALIGN_CURRENT;
ssdt2 = (acpi_header_t *)current;
diff --git a/src/soc/intel/fsp_baytrail/baytrail/acpi.h b/src/soc/intel/fsp_baytrail/baytrail/acpi.h
index 1e605086b9..0cd978d87c 100644
--- a/src/soc/intel/fsp_baytrail/baytrail/acpi.h
+++ b/src/soc/intel/fsp_baytrail/baytrail/acpi.h
@@ -30,7 +30,8 @@ void acpi_create_serialio_ssdt(acpi_header_t *ssdt);
void acpi_fill_in_fadt(acpi_fadt_t * fadt, acpi_facs_t * facs, void *dsdt);
unsigned long acpi_madt_irq_overrides(unsigned long current);
void acpi_init_gnvs(global_nvs_t *gnvs);
-unsigned long southcluster_write_acpi_tables(unsigned long current,
+unsigned long southcluster_write_acpi_tables(device_t device,
+ unsigned long current,
struct acpi_rsdp *rsdp);
void southcluster_inject_dsdt(device_t device);
diff --git a/src/southbridge/intel/lynxpoint/lpc.c b/src/southbridge/intel/lynxpoint/lpc.c
index 50f48cb53a..8308f41618 100644
--- a/src/southbridge/intel/lynxpoint/lpc.c
+++ b/src/southbridge/intel/lynxpoint/lpc.c
@@ -786,7 +786,9 @@ static void southbridge_inject_dsdt(device_t dev)
}
#define ALIGN_CURRENT current = (ALIGN(current, 16))
-static unsigned long southbridge_write_acpi_tables(unsigned long start, struct acpi_rsdp *rsdp)
+static unsigned long southbridge_write_acpi_tables(device_t device,
+ unsigned long start,
+ struct acpi_rsdp *rsdp)
{
unsigned long current;
acpi_hpet_t *hpet;