[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH v2 04/12] pc: make pit configurable
From: |
Chao Peng |
Subject: |
[Qemu-devel] [RFC PATCH v2 04/12] pc: make pit configurable |
Date: |
Thu, 25 Aug 2016 06:14:57 -0400 |
Signed-off-by: Chao Peng <address@hidden>
---
hw/i386/pc.c | 6 ++++--
hw/i386/pc_piix.c | 2 +-
hw/i386/pc_q35.c | 2 +-
include/hw/i386/pc.h | 5 ++++-
4 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index ea81283..1d62957 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1520,7 +1520,8 @@ static const MemoryRegionOps ioportF0_io_ops = {
},
};
-void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
+void pc_basic_device_init(PCMachineState *pcms,
+ ISABus *isa_bus, qemu_irq *gsi,
ISADevice **rtc_state,
bool create_fdctrl,
bool no_vmport,
@@ -1577,7 +1578,7 @@ void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
qemu_register_boot_set(pc_boot_set, *rtc_state);
- if (!xen_enabled()) {
+ if (!xen_enabled() && pcms->pit) {
if (kvm_pit_in_kernel()) {
pit = kvm_pit_init(isa_bus, 0x40);
} else {
@@ -2194,6 +2195,7 @@ static void pc_machine_initfn(Object *obj)
PC_MACHINE_DEFINE_PROP_BOOL(pcms, PC_MACHINE_SMBUS, smbus, true);
PC_MACHINE_DEFINE_PROP_BOOL(pcms, PC_MACHINE_SATA, sata, true);
PC_MACHINE_DEFINE_PROP_BOOL(pcms, PC_MACHINE_PIC, pic, true);
+ PC_MACHINE_DEFINE_PROP_BOOL(pcms, PC_MACHINE_PIT, pit, true);
}
static void pc_machine_reset(void)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index a07dc81..028dc0a 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -235,7 +235,7 @@ static void pc_init1(MachineState *machine,
}
/* init basic PC hardware */
- pc_basic_device_init(isa_bus, gsi, &rtc_state, true,
+ pc_basic_device_init(pcms, isa_bus, gsi, &rtc_state, true,
(pcms->vmport != ON_OFF_AUTO_ON), 0x4);
pc_nic_init(isa_bus, pci_bus);
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 1a961cc..d28b7b6 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -228,7 +228,7 @@ static void pc_q35_init(MachineState *machine)
}
/* init basic PC hardware */
- pc_basic_device_init(isa_bus, gsi, &rtc_state, !mc->no_floppy,
+ pc_basic_device_init(pcms, isa_bus, gsi, &rtc_state, !mc->no_floppy,
(pcms->vmport != ON_OFF_AUTO_ON), 0xff0104);
/* connect pm stuff to lpc */
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index d7972ea..1dc7954 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -80,6 +80,7 @@ struct PCMachineState {
bool smbus;
bool sata;
bool pic;
+ bool pit;
};
#define PC_MACHINE_ACPI_DEVICE_PROP "acpi-device"
@@ -91,6 +92,7 @@ struct PCMachineState {
#define PC_MACHINE_SMBUS "smbus"
#define PC_MACHINE_SATA "sata"
#define PC_MACHINE_PIC "pic"
+#define PC_MACHINE_PIT "pit"
/**
* PCMachineClass:
@@ -262,7 +264,8 @@ void pc_memory_init(PCMachineState *pcms,
MemoryRegion **ram_memory);
qemu_irq pc_allocate_cpu_irq(void);
DeviceState *pc_vga_init(ISABus *isa_bus, PCIBus *pci_bus);
-void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
+void pc_basic_device_init(PCMachineState *pcms,
+ ISABus *isa_bus, qemu_irq *gsi,
ISADevice **rtc_state,
bool create_fdctrl,
bool no_vmport,
--
1.8.3.1
- [Qemu-devel] [RFC PATCH v2 00/12] Guest startup time optimization, Chao Peng, 2016/08/25
- [Qemu-devel] [RFC PATCH v2 01/12] pc: make smbus configurable, Chao Peng, 2016/08/25
- [Qemu-devel] [RFC PATCH v2 03/12] pc: make pic configurable, Chao Peng, 2016/08/25
- [Qemu-devel] [RFC PATCH v2 02/12] pc: make sata configurable, Chao Peng, 2016/08/25
- [Qemu-devel] [RFC PATCH v2 05/12] acpi: build static _PRT, Chao Peng, 2016/08/25
- [Qemu-devel] [RFC PATCH v2 04/12] pc: make pit configurable,
Chao Peng <=
- [Qemu-devel] [RFC PATCH v2 06/12] acpi: expose data structurs and functions of BIOS linker loader, Chao Peng, 2016/08/25
- [Qemu-devel] [RFC PATCH v2 07/12] acpi: expose acpi_checksum(), Chao Peng, 2016/08/25
- [Qemu-devel] [RFC PATCH v2 10/12] q35: initialize MMCFG base when there is no firmware, Chao Peng, 2016/08/25
- [Qemu-devel] [RFC PATCH v2 08/12] acpi: patch guest ACPI when there is no firmware, Chao Peng, 2016/08/25
- [Qemu-devel] [RFC PATCH v2 09/12] ich9: enable pm registers when there is no firmware, Chao Peng, 2016/08/25
- [Qemu-devel] [RFC PATCH v2 11/12] pc: support direct loading protected/long mode kernel, Chao Peng, 2016/08/25
- [Qemu-devel] [RFC PATCH v2 12/12] pc: skip firmware, Chao Peng, 2016/08/25