[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC v3 23/35] pc: Move smbios_legacy_mode to PCMachineClas
From: |
Eduardo Habkost |
Subject: |
[Qemu-devel] [RFC v3 23/35] pc: Move smbios_legacy_mode to PCMachineClass |
Date: |
Fri, 4 Jul 2014 21:09:50 -0300 |
Signed-off-by: Eduardo Habkost <address@hidden>
---
hw/i386/pc_piix.c | 9 +++++----
hw/i386/pc_q35.c | 7 ++++---
include/hw/i386/pc.h | 1 +
3 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index e26fedd..22388c1 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -62,7 +62,6 @@ static const int ide_irq[MAX_IDE_BUS] = { 14, 15 };
static bool has_pci_info;
static bool has_acpi_build = true;
static bool smbios_defaults = true;
-static bool smbios_legacy_mode;
/* Make sure that guest addresses aligned at 1Gbyte boundaries get mapped to
* host addresses aligned at 1Gbyte boundaries. This way we can use 1GByte
* pages in the host.
@@ -170,9 +169,10 @@ static void pc_init1(MachineState *machine)
if (smbios_defaults) {
MachineClass *mc = MACHINE_GET_CLASS(machine);
+ PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(mc);
/* These values are guest ABI, do not change */
smbios_set_defaults("QEMU", "Standard PC (i440FX + PIIX, 1996)",
- mc->name, smbios_legacy_mode);
+ mc->name, pcmc->smbios_legacy_mode);
}
/* allocate ram and load rom/bios */
@@ -297,7 +297,6 @@ static void pc_init_pci(MachineState *machine)
static void pc_compat_2_0(MachineState *machine)
{
- smbios_legacy_mode = true;
has_reserved_memory = false;
}
@@ -405,7 +404,6 @@ static void pc_init_isa(MachineState *machine)
has_acpi_build = false;
smbios_defaults = false;
gigabyte_align = false;
- smbios_legacy_mode = true;
has_reserved_memory = false;
option_rom_has_mr = true;
rom_file_has_mr = false;
@@ -466,6 +464,7 @@ static const TypeInfo pc_i440fx_machine_v2_1_type_info = {
static void pc_i440fx_machine_v2_0_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
+ PCMachineClass *pcmc = PC_MACHINE_CLASS(oc);
static GlobalProperty compat_props[] = {
PC_COMPAT_2_0,
{ /* end of list */ }
@@ -476,6 +475,7 @@ static void pc_i440fx_machine_v2_0_class_init(ObjectClass
*oc, void *data)
mc->init = pc_init_pci_2_0;
mc->name = "pc-i440fx-2.0";
machine_class_add_compat_props(mc, compat_props);
+ pcmc->smbios_legacy_mode = true;
}
static const TypeInfo pc_i440fx_machine_v2_0_type_info = {
@@ -966,6 +966,7 @@ static void isapc_machine_class_init(ObjectClass *oc, void
*data)
{ /* end of list */ }
};
pcmc->pci_enabled = false;
+ pcmc->smbios_legacy_mode = true;
mc->desc = "ISA-only PC";
mc->init = pc_init_isa;
mc->max_cpus = 1;
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index d50dd89..ad4ff5a 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -52,7 +52,6 @@
static bool has_pci_info;
static bool has_acpi_build = true;
static bool smbios_defaults = true;
-static bool smbios_legacy_mode;
/* Make sure that guest addresses aligned at 1Gbyte boundaries get mapped to
* host addresses aligned at 1Gbyte boundaries. This way we can use 1GByte
* pages in the host.
@@ -158,9 +157,10 @@ static void pc_q35_init(MachineState *machine)
if (smbios_defaults) {
MachineClass *mc = MACHINE_GET_CLASS(machine);
+ PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(machine);
/* These values are guest ABI, do not change */
smbios_set_defaults("QEMU", "Standard PC (Q35 + ICH9, 2009)",
- mc->name, smbios_legacy_mode);
+ mc->name, pcmc->smbios_legacy_mode);
}
/* allocate ram and load rom/bios */
@@ -276,7 +276,6 @@ static void pc_q35_init(MachineState *machine)
static void pc_compat_2_0(MachineState *machine)
{
- smbios_legacy_mode = true;
has_reserved_memory = false;
}
@@ -375,6 +374,7 @@ static TypeInfo pc_q35_machine_v2_1_type_info = {
static void pc_q35_machine_v2_0_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
+ PCMachineClass *pcmc = PC_MACHINE_CLASS(oc);
static GlobalProperty compat_props[] = {
PC_COMPAT_2_0,
{ /* end of list */ }
@@ -384,6 +384,7 @@ static void pc_q35_machine_v2_0_class_init(ObjectClass *oc,
void *data)
mc->init = pc_q35_init_2_0;
machine_class_add_compat_props(mc, compat_props);
mc->name = "pc-q35-2.0";
+ pcmc->smbios_legacy_mode = true;
}
static TypeInfo pc_q35_machine_v2_0_type_info = {
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index c08ab37..65ba51e 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -55,6 +55,7 @@ struct PCMachineClass {
DeviceState *dev);
bool pci_enabled;
bool kvmclock_enabled;
+ bool smbios_legacy_mode;
};
typedef struct PCMachineState PCMachineState;
--
1.9.3
- [Qemu-devel] [RFC v3 13/35] pc: Eliminate pc_default_machine_options(), (continued)
- [Qemu-devel] [RFC v3 13/35] pc: Eliminate pc_default_machine_options(), Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 14/35] piix: Eliminate pc_i440fx_machine_options(), Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 15/35] q35: Eliminate pc_q35_machine_options(), Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 16/35] q35: Eliminate pc_q35_1_4_machine_options(), Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 17/35] pc: Eliminate all *_machine_options() functions, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 18/35] machine: Eliminate QEMUMachine.compat_props, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 19/35] pc: Rename pc_machine variable to pcms, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 20/35] pc: Move pci_enabled parameter to PCMachineClass, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 21/35] q35: Use PCMachineClass.pci_enabled field, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 22/35] pc: Move kvmclock_enabled to PCMachineClass, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 23/35] pc: Move smbios_legacy_mode to PCMachineClass,
Eduardo Habkost <=
- [Qemu-devel] [RFC v3 24/35] pc: Move smbios_defaults to PCMachineClass, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 25/35] pc: Move has_acpi_build to PCMachineClass, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 26/35] pc: Move has_pci_info to PCMachineClass, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 27/35] pc: Move gigabyte_align to PCMachineClass, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 28/35] pc: Move has_reserved_memory to PCMachineClass, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 30/35] piix: Eliminate pc_init_pci(), Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 29/35] pc: Move option_rom_has_mr/rom_file_has_mr to MachineClass, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 31/35] piix: Introduce struct PCI440FXMachineClass, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 33/35] pc: Eliminate empty or trivial compat functions, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 32/35] pc: Create common machine init function, Eduardo Habkost, 2014/07/04