mirror of https://github.com/xqemu/xqemu.git
hpet: make optional
Ignore failure with hpet device creation. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
4912371fc3
commit
dd703b991c
|
@ -195,6 +195,7 @@ hw-obj-$(CONFIG_FDC) += fdc.o
|
||||||
hw-obj-$(CONFIG_ACPI) += acpi.o acpi_piix4.o
|
hw-obj-$(CONFIG_ACPI) += acpi.o acpi_piix4.o
|
||||||
hw-obj-$(CONFIG_APM) += pm_smbus.o apm.o
|
hw-obj-$(CONFIG_APM) += pm_smbus.o apm.o
|
||||||
hw-obj-$(CONFIG_DMA) += dma.o
|
hw-obj-$(CONFIG_DMA) += dma.o
|
||||||
|
hw-obj-$(CONFIG_HPET) += hpet.o
|
||||||
|
|
||||||
# PPC devices
|
# PPC devices
|
||||||
hw-obj-$(CONFIG_OPENPIC) += openpic.o
|
hw-obj-$(CONFIG_OPENPIC) += openpic.o
|
||||||
|
|
|
@ -215,7 +215,7 @@ obj-$(CONFIG_KVM) += ivshmem.o
|
||||||
obj-i386-y += vga.o
|
obj-i386-y += vga.o
|
||||||
obj-i386-y += mc146818rtc.o i8259.o pc.o
|
obj-i386-y += mc146818rtc.o i8259.o pc.o
|
||||||
obj-i386-y += cirrus_vga.o apic.o ioapic.o piix_pci.o
|
obj-i386-y += cirrus_vga.o apic.o ioapic.o piix_pci.o
|
||||||
obj-i386-y += vmport.o hpet.o applesmc.o
|
obj-i386-y += vmport.o applesmc.o
|
||||||
obj-i386-y += device-hotplug.o pci-hotplug.o smbios.o wdt_ib700.o
|
obj-i386-y += device-hotplug.o pci-hotplug.o smbios.o wdt_ib700.o
|
||||||
obj-i386-y += debugcon.o multiboot.o
|
obj-i386-y += debugcon.o multiboot.o
|
||||||
obj-i386-y += pc_piix.o
|
obj-i386-y += pc_piix.o
|
||||||
|
|
|
@ -19,3 +19,4 @@ CONFIG_IDE_PIIX=y
|
||||||
CONFIG_NE2000_ISA=y
|
CONFIG_NE2000_ISA=y
|
||||||
CONFIG_PIIX_PCI=y
|
CONFIG_PIIX_PCI=y
|
||||||
CONFIG_SOUND=y
|
CONFIG_SOUND=y
|
||||||
|
CONFIG_HPET=y
|
||||||
|
|
|
@ -19,3 +19,4 @@ CONFIG_IDE_PIIX=y
|
||||||
CONFIG_NE2000_ISA=y
|
CONFIG_NE2000_ISA=y
|
||||||
CONFIG_PIIX_PCI=y
|
CONFIG_PIIX_PCI=y
|
||||||
CONFIG_SOUND=y
|
CONFIG_SOUND=y
|
||||||
|
CONFIG_HPET=y
|
||||||
|
|
|
@ -74,8 +74,6 @@ typedef struct HPETState {
|
||||||
uint8_t hpet_id; /* instance id */
|
uint8_t hpet_id; /* instance id */
|
||||||
} HPETState;
|
} HPETState;
|
||||||
|
|
||||||
struct hpet_fw_config hpet_cfg = {.count = UINT8_MAX};
|
|
||||||
|
|
||||||
static uint32_t hpet_in_legacy_mode(HPETState *s)
|
static uint32_t hpet_in_legacy_mode(HPETState *s)
|
||||||
{
|
{
|
||||||
return s->config & HPET_CFG_LEGACY;
|
return s->config & HPET_CFG_LEGACY;
|
||||||
|
|
11
hw/pc.c
11
hw/pc.c
|
@ -84,6 +84,7 @@ struct e820_table {
|
||||||
} __attribute((__packed__, __aligned__(4)));
|
} __attribute((__packed__, __aligned__(4)));
|
||||||
|
|
||||||
static struct e820_table e820_table;
|
static struct e820_table e820_table;
|
||||||
|
struct hpet_fw_config hpet_cfg = {.count = UINT8_MAX};
|
||||||
|
|
||||||
void isa_irq_handler(void *opaque, int n, int level)
|
void isa_irq_handler(void *opaque, int n, int level)
|
||||||
{
|
{
|
||||||
|
@ -1104,12 +1105,14 @@ void pc_basic_device_init(qemu_irq *isa_irq,
|
||||||
register_ioport_write(0xf0, 1, 1, ioportF0_write, NULL);
|
register_ioport_write(0xf0, 1, 1, ioportF0_write, NULL);
|
||||||
|
|
||||||
if (!no_hpet) {
|
if (!no_hpet) {
|
||||||
DeviceState *hpet = sysbus_create_simple("hpet", HPET_BASE, NULL);
|
DeviceState *hpet = sysbus_try_create_simple("hpet", HPET_BASE, NULL);
|
||||||
|
|
||||||
for (i = 0; i < 24; i++) {
|
if (hpet) {
|
||||||
sysbus_connect_irq(sysbus_from_qdev(hpet), i, isa_irq[i]);
|
for (i = 0; i < 24; i++) {
|
||||||
|
sysbus_connect_irq(sysbus_from_qdev(hpet), i, isa_irq[i]);
|
||||||
|
}
|
||||||
|
rtc_irq = qdev_get_gpio_in(hpet, 0);
|
||||||
}
|
}
|
||||||
rtc_irq = qdev_get_gpio_in(hpet, 0);
|
|
||||||
}
|
}
|
||||||
*rtc_state = rtc_init(2000, rtc_irq);
|
*rtc_state = rtc_init(2000, rtc_irq);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue