#define SD_PROC (ssdp_proc_aml + *ssdt_proc_start)
#define SSDT_SIGNATURE 0x54445353 // SSDT
+
static void*
build_ssdt(void)
{
return ssdt;
}
+static void*
+copy_table(void *table, int size)
+{
+ u8 *copy = malloc_high(size);
+ memcpy(copy, table, size);
+ return copy;
+}
+
#define HPET_SIGNATURE 0x54455048 // HPET
static void*
build_hpet(void)
struct rsdp_descriptor *RsdpAddr;
+#include "ssdt-pcihp.hex"
+
#define MAX_ACPI_TABLES 20
void
acpi_bios_init(void)
ACPI_INIT_TABLE(build_madt());
ACPI_INIT_TABLE(build_hpet());
ACPI_INIT_TABLE(build_srat());
+ ACPI_INIT_TABLE(copy_table(ssdp_pcihp_aml, sizeof ssdp_pcihp_aml));
u16 i, external_tables = qemu_cfg_acpi_additional_tables();