Commit bb292f5a authored by Eduardo Habkost's avatar Eduardo Habkost Committed by Michael S. Tsirkin
Browse files

pc: Remove compat fields from PcGuestInfo



Remove the fields: legacy_acpi_table_size, has_acpi_build,
has_reserved_memory, and rsdp_in_ram from PcGuestInfo, and let
the existing code use the PCMachineClass fields directly.

Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>
Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Reviewed-by: default avatarMarcel Apfelbaum <marcel@redhat.com>
parent f944d479
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -2593,6 +2593,7 @@ static
void acpi_build(AcpiBuildTables *tables)
{
    PCMachineState *pcms = PC_MACHINE(qdev_get_machine());
    PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms);
    PcGuestInfo *guest_info = &pcms->acpi_guest_info;
    GArray *table_offsets;
    unsigned facs, dsdt, rsdt, fadt;
@@ -2706,12 +2707,12 @@ void acpi_build(AcpiBuildTables *tables)
     *
     * All this is for PIIX4, since QEMU 2.0 didn't support Q35 migration.
     */
    if (guest_info->legacy_acpi_table_size) {
    if (pcmc->legacy_acpi_table_size) {
        /* Subtracting aml_len gives the size of fixed tables.  Then add the
         * size of the PIIX4 DSDT/SSDT in QEMU 2.0.
         */
        int legacy_aml_len =
            guest_info->legacy_acpi_table_size +
            pcmc->legacy_acpi_table_size +
            ACPI_BUILD_LEGACY_CPU_AML_SIZE * max_cpus;
        int legacy_table_size =
            ROUND_UP(tables_blob->len - aml_len + legacy_aml_len,
@@ -2804,6 +2805,7 @@ static const VMStateDescription vmstate_acpi_build = {
void acpi_setup(void)
{
    PCMachineState *pcms = PC_MACHINE(qdev_get_machine());
    PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms);
    PcGuestInfo *guest_info = &pcms->acpi_guest_info;
    AcpiBuildTables tables;
    AcpiBuildState *build_state;
@@ -2813,7 +2815,7 @@ void acpi_setup(void)
        return;
    }

    if (!guest_info->has_acpi_build) {
    if (!pcmc->has_acpi_build) {
        ACPI_BUILD_DPRINTF("ACPI build disabled. Bailing out.\n");
        return;
    }
@@ -2842,7 +2844,7 @@ void acpi_setup(void)
    fw_cfg_add_file(guest_info->fw_cfg, ACPI_BUILD_TPMLOG_FILE,
                    tables.tcpalog->data, acpi_data_len(tables.tcpalog));

    if (!guest_info->rsdp_in_ram) {
    if (!pcmc->rsdp_in_ram) {
        /*
         * Keep for compatibility with old machine types.
         * Though RSDP is small, its contents isn't immutable, so
+1 −1
Original line number Diff line number Diff line
@@ -4,6 +4,6 @@

#include "qemu/typedefs.h"

void acpi_setup(PcGuestInfo *);
void acpi_setup(void);

#endif
+4 −4
Original line number Diff line number Diff line
@@ -1180,7 +1180,7 @@ void pc_machine_done(Notifier *notifier, void *data)
        }
    }

    acpi_setup(&pcms->acpi_guest_info);
    acpi_setup();
}

PcGuestInfo *pc_guest_info_init(PCMachineState *pcms)
@@ -1316,7 +1316,7 @@ void pc_memory_init(PCMachineState *pcms,
        e820_add_entry(0x100000000ULL, pcms->above_4g_mem_size, E820_RAM);
    }

    if (!guest_info->has_reserved_memory &&
    if (!pcmc->has_reserved_memory &&
        (machine->ram_slots ||
         (machine->maxram_size > machine->ram_size))) {
        MachineClass *mc = MACHINE_GET_CLASS(machine);
@@ -1327,7 +1327,7 @@ void pc_memory_init(PCMachineState *pcms,
    }

    /* initialize hotplug memory address space */
    if (guest_info->has_reserved_memory &&
    if (pcmc->has_reserved_memory &&
        (machine->ram_size < machine->maxram_size)) {
        ram_addr_t hotplug_mem_size =
            machine->maxram_size - machine->ram_size;
@@ -1382,7 +1382,7 @@ void pc_memory_init(PCMachineState *pcms,

    rom_set_fw(fw_cfg);

    if (guest_info->has_reserved_memory && pcms->hotplug_memory.base) {
    if (pcmc->has_reserved_memory && pcms->hotplug_memory.base) {
        uint64_t *val = g_malloc(sizeof(*val));
        PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms);
        uint64_t res_mem_end = pcms->hotplug_memory.base;
+0 −5
Original line number Diff line number Diff line
@@ -143,12 +143,7 @@ static void pc_init1(MachineState *machine,

    guest_info = pc_guest_info_init(pcms);

    guest_info->has_acpi_build = pcmc->has_acpi_build;
    guest_info->legacy_acpi_table_size = pcmc->legacy_acpi_table_size;

    guest_info->isapc_ram_fw = !pcmc->pci_enabled;
    guest_info->has_reserved_memory = pcmc->has_reserved_memory;
    guest_info->rsdp_in_ram = pcmc->rsdp_in_ram;

    if (pcmc->smbios_defaults) {
        MachineClass *mc = MACHINE_GET_CLASS(machine);
+0 −8
Original line number Diff line number Diff line
@@ -136,14 +136,6 @@ static void pc_q35_init(MachineState *machine)

    guest_info = pc_guest_info_init(pcms);
    guest_info->isapc_ram_fw = false;
    guest_info->has_acpi_build = pcmc->has_acpi_build;
    guest_info->has_reserved_memory = pcmc->has_reserved_memory;
    guest_info->rsdp_in_ram = pcmc->rsdp_in_ram;

    /* Migration was not supported in 2.0 for Q35, so do not bother
     * with this hack (see hw/i386/acpi-build.c).
     */
    guest_info->legacy_acpi_table_size = 0;

    if (pcmc->smbios_defaults) {
        /* These values are guest ABI, do not change */
Loading