mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
Revert "hvmloader, libxl: use the correct ACPI settings depending on device model"
This reverts commit 149c6bbbf7.
This commit is contained in:
1 parent
3baf7703a3
commit
210a239899
7 files changed
+12
-34
No files matched your search
@@ -405,6 +405,8 @@ int main(void)
|
||||
}
|
||||
|
||||
acpi_enable_sci();
|
||||
|
||||
hvm_param_set(HVM_PARAM_ACPI_IOPORTS_LOCATION, 1);
|
||||
}
|
||||
|
||||
init_vm86_tss();
|
||||
|
||||
@@ -41,6 +41,9 @@
|
||||
#define LOWCHUNK_MAXOFFSET 0x0000FFFF
|
||||
#define OVMF_INFO_PHYSICAL_ADDRESS 0x00001000
|
||||
|
||||
extern unsigned char dsdt_anycpu_qemu_xen[];
|
||||
extern int dsdt_anycpu_qemu_xen_len;
|
||||
|
||||
#define OVMF_INFO_MAX_TABLES 4
|
||||
struct ovmf_info {
|
||||
char signature[14]; /* XenHVMOVMF\0\0\0\0 */
|
||||
@@ -124,8 +127,6 @@ static void ovmf_acpi_build_tables(void)
|
||||
.dsdt_15cpu_len = 0
|
||||
};
|
||||
|
||||
hvm_param_set(HVM_PARAM_ACPI_IOPORTS_LOCATION, 1);
|
||||
|
||||
hvmloader_acpi_build_tables(&config, ACPI_PHYSICAL_ADDRESS);
|
||||
}
|
||||
|
||||
|
||||
@@ -42,6 +42,9 @@
|
||||
#define ROMBIOS_MAXOFFSET 0x0000FFFF
|
||||
#define ROMBIOS_END (ROMBIOS_BEGIN + ROMBIOS_SIZE)
|
||||
|
||||
extern unsigned char dsdt_anycpu[], dsdt_15cpu[];
|
||||
extern int dsdt_anycpu_len, dsdt_15cpu_len;
|
||||
|
||||
static void rombios_setup_e820(void)
|
||||
{
|
||||
/*
|
||||
@@ -178,8 +181,6 @@ static void rombios_acpi_build_tables(void)
|
||||
.dsdt_15cpu_len = dsdt_15cpu_len,
|
||||
};
|
||||
|
||||
hvm_param_set(HVM_PARAM_ACPI_IOPORTS_LOCATION, 0);
|
||||
|
||||
hvmloader_acpi_build_tables(&config, ACPI_PHYSICAL_ADDRESS);
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,9 @@
|
||||
|
||||
#include <acpi2_0.h>
|
||||
#include <libacpi.h>
|
||||
#include <xen/hvm/params.h>
|
||||
|
||||
extern unsigned char dsdt_anycpu_qemu_xen[];
|
||||
extern int dsdt_anycpu_qemu_xen_len;
|
||||
|
||||
struct seabios_info {
|
||||
char signature[14]; /* XenHVMSeaBIOS\0 */
|
||||
@@ -97,8 +99,6 @@ static void seabios_acpi_build_tables(void)
|
||||
.dsdt_15cpu_len = 0,
|
||||
};
|
||||
|
||||
hvm_param_set(HVM_PARAM_ACPI_IOPORTS_LOCATION, 1);
|
||||
|
||||
hvmloader_acpi_build_tables(&config, rsdp);
|
||||
add_table(rsdp);
|
||||
}
|
||||
|
||||
@@ -897,27 +897,6 @@ void hvmloader_acpi_build_tables(struct acpi_config *config,
|
||||
/* Allocate and initialise the acpi info area. */
|
||||
mem_hole_populate_ram(ACPI_INFO_PHYSICAL_ADDRESS >> PAGE_SHIFT, 1);
|
||||
|
||||
/* If the device model is specified switch to the corresponding tables */
|
||||
s = xenstore_read("platform/device-model", "");
|
||||
if ( !strncmp(s, "qemu_xen_traditional", 21) )
|
||||
{
|
||||
config->dsdt_anycpu = dsdt_anycpu;
|
||||
config->dsdt_anycpu_len = dsdt_anycpu_len;
|
||||
config->dsdt_15cpu = dsdt_15cpu;
|
||||
config->dsdt_15cpu_len = dsdt_15cpu_len;
|
||||
|
||||
hvm_param_set(HVM_PARAM_ACPI_IOPORTS_LOCATION, 0);
|
||||
}
|
||||
else if ( !strncmp(s, "qemu_xen", 9) )
|
||||
{
|
||||
config->dsdt_anycpu = dsdt_anycpu_qemu_xen;
|
||||
config->dsdt_anycpu_len = dsdt_anycpu_qemu_xen_len;
|
||||
config->dsdt_15cpu = NULL;
|
||||
config->dsdt_15cpu_len = 0;
|
||||
|
||||
hvm_param_set(HVM_PARAM_ACPI_IOPORTS_LOCATION, 1);
|
||||
}
|
||||
|
||||
config->lapic_base_address = LAPIC_BASE_ADDRESS;
|
||||
config->lapic_id = acpi_lapic_id;
|
||||
config->ioapic_base_address = ioapic_base_address;
|
||||
|
||||
@@ -276,9 +276,6 @@ extern struct e820map memory_map;
|
||||
bool check_overlap(uint64_t start, uint64_t size,
|
||||
uint64_t reserved_start, uint64_t reserved_size);
|
||||
|
||||
extern unsigned char dsdt_anycpu_qemu_xen[], dsdt_anycpu[], dsdt_15cpu[];
|
||||
extern int dsdt_anycpu_qemu_xen_len, dsdt_anycpu_len, dsdt_15cpu_len;
|
||||
|
||||
struct acpi_config;
|
||||
void hvmloader_acpi_build_tables(struct acpi_config *config,
|
||||
unsigned int physical);
|
||||
|
||||
@@ -451,7 +451,7 @@ int libxl__domain_build(libxl__gc *gc,
|
||||
vments[4] = "start_time";
|
||||
vments[5] = GCSPRINTF("%lu.%02d", start_time.tv_sec,(int)start_time.tv_usec/10000);
|
||||
|
||||
localents = libxl__calloc(gc, 13, sizeof(char *));
|
||||
localents = libxl__calloc(gc, 11, sizeof(char *));
|
||||
i = 0;
|
||||
localents[i++] = "platform/acpi";
|
||||
localents[i++] = libxl__acpi_defbool_val(info) ? "1" : "0";
|
||||
@@ -472,8 +472,6 @@ int libxl__domain_build(libxl__gc *gc,
|
||||
info->u.hvm.mmio_hole_memkb << 10);
|
||||
}
|
||||
}
|
||||
localents[i++] = "platform/device-model";
|
||||
localents[i++] = (char *) libxl_device_model_version_to_string(info->device_model_version);
|
||||
|
||||
break;
|
||||
case LIBXL_DOMAIN_TYPE_PV:
|
||||
|
||||