mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
Merge tag 'hw-misc-20231019' of https://github.com/philmd/qemu into staging
Misc hardware patch queue - MAINTAINERS updates (Zoltan, Thomas) - Fix cutils::get_relocated_path on Windows host (Akihiko) - Housekeeping in Memory APIs (Marc-André) - SDHCI fix for SDMA transfer (Lu, Jianxian) - Various QOM/QDev/SysBus cleanups (Philippe) - Constify QemuInputHandler structure (Philippe) # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmUxnKAACgkQ4+MsLN6t # wN6UPw//abFZgckpxDYow4UfMu7esvkhICBvXjqDEdX2U/PBYmef049T5RVW8oDm # NWnxRA9XydzTeToH56tU2tjXbjWKF5LcJVwrCNl6XFRdLYaR3hzejm96hX99C89J # PB/2ineeAwidBoFfgjkvz0FLRr1ePaN74YXedPSHzywG+0dAOvpNUubbsggn3i5k # 1wTlgfDvL6iz8NMEOSBp6cv5D4Ix0WshkqlCac0gQ74lYSM1tk/EeRiSy2IHWQQB # 4FHd9Wo9brzLQCbhbb4FapTK0POScy0LebzRWOWfLtyWS+FRBC3kxO126I67CwMb # XRS4YgBqC3U7IGsbzV+fWP01pVeJRzZ1vrv4vdiIYvqTdgNlmFbGjJUwEmPmrokt # q5UreAjMUNLMEXiY6QHFq3N5I+UMY1jslcf7K/ZwDqSlqaquAe+gbnQOAMXDYgb6 # GWsBrLM2WA5E9ObbxsHdxgZqW1NxcWJpSBvjNiOV9t/jqoqpxYwHr5HAvR1xUwm+ # qRKRayRpLlX/Yad4NlvJaH5jvsMrI4bnxTYWVevLvYzc07Xo3dVxW1c+P+WCdjfM # O3bLAvwO7Mw7GRiSNpU8zTbRJu/dS4NWDWZ24u606Cy7qD/qouz89JjkKVYYSFkX # vNp7YOenPf4K6pak/lC3NOLIPlYmnnCLv3RCiaO6wHi4bk1yEBU= # =9dZy # -----END PGP SIGNATURE----- # gpg: Signature made Thu 19 Oct 2023 14:16:16 PDT # gpg: using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE # gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [full] # Primary key fingerprint: FAAB E75E 1291 7221 DCFD 6BB2 E3E3 2C2C DEAD C0DE * tag 'hw-misc-20231019' of https://github.com/philmd/qemu: (46 commits) ui/input: Constify QemuInputHandler structure hw/net: Declare link using static DEFINE_PROP_LINK() macro hw/dma: Declare link using static DEFINE_PROP_LINK() macro hw/scsi/virtio-scsi: Use VIRTIO_SCSI_COMMON() macro hw/display/virtio-gpu: Use VIRTIO_DEVICE() macro hw/block/vhost-user-blk: Use DEVICE() / VIRTIO_DEVICE() macros hw/virtio/virtio-pmem: Replace impossible check by assertion hw/s390x/css-bridge: Realize sysbus device before accessing it hw/isa: Realize ISA bridge device before accessing it hw/arm/virt: Realize ARM_GICV2M sysbus device before accessing it hw/acpi: Realize ACPI_GED sysbus device before accessing it hw/pci-host/bonito: Do not use SysBus API to map local MMIO region hw/misc/allwinner-dramc: Do not use SysBus API to map local MMIO region hw/misc/allwinner-dramc: Move sysbus_mmio_map call from init -> realize hw/i386/intel_iommu: Do not use SysBus API to map local MMIO region hw/i386/amd_iommu: Do not use SysBus API to map local MMIO region hw/audio/pcspk: Inline pcspk_init() hw/intc/spapr_xive: Do not use SysBus API to map local MMIO region hw/intc/spapr_xive: Move sysbus_init_mmio() calls around hw/ppc/pnv: Do not use SysBus API to map local MMIO region ... Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
@@ -81,6 +81,9 @@ Huacai Chen <chenhuacai@kernel.org> <chenhuacai@loongson.cn>
|
||||
James Hogan <jhogan@kernel.org> <james.hogan@imgtec.com>
|
||||
Leif Lindholm <quic_llindhol@quicinc.com> <leif.lindholm@linaro.org>
|
||||
Leif Lindholm <quic_llindhol@quicinc.com> <leif@nuviainc.com>
|
||||
Luc Michel <luc@lmichel.fr> <luc.michel@git.antfield.fr>
|
||||
Luc Michel <luc@lmichel.fr> <luc.michel@greensocs.com>
|
||||
Luc Michel <luc@lmichel.fr> <lmichel@kalray.eu>
|
||||
Radoslaw Biernacki <rad@semihalf.com> <radoslaw.biernacki@linaro.org>
|
||||
Paul Brook <paul@nowt.org> <paul@codesourcery.com>
|
||||
Paul Burton <paulburton@kernel.org> <paul.burton@mips.com>
|
||||
|
||||
+13
-3
@@ -295,6 +295,7 @@ S: Odd Fixes
|
||||
F: docs/system/openrisc/cpu-features.rst
|
||||
F: target/openrisc/
|
||||
F: hw/openrisc/
|
||||
F: include/hw/openrisc/
|
||||
F: tests/tcg/openrisc/
|
||||
|
||||
PowerPC TCG CPUs
|
||||
@@ -1179,9 +1180,11 @@ R: Helge Deller <deller@gmx.de>
|
||||
S: Odd Fixes
|
||||
F: configs/devices/hppa-softmmu/default.mak
|
||||
F: hw/hppa/
|
||||
F: hw/input/lasips2.c
|
||||
F: hw/net/*i82596*
|
||||
F: hw/misc/lasi.c
|
||||
F: hw/pci-host/dino.c
|
||||
F: include/hw/input/lasips2.h
|
||||
F: include/hw/misc/lasi.h
|
||||
F: include/hw/net/lasi_82596.h
|
||||
F: include/hw/pci-host/dino.h
|
||||
@@ -1322,10 +1325,7 @@ M: Philippe Mathieu-Daudé <philmd@linaro.org>
|
||||
R: Jiaxun Yang <jiaxun.yang@flygoat.com>
|
||||
S: Odd Fixes
|
||||
F: hw/mips/fuloong2e.c
|
||||
F: hw/isa/vt82c686.c
|
||||
F: hw/pci-host/bonito.c
|
||||
F: hw/usb/vt82c686-uhci-pci.c
|
||||
F: include/hw/isa/vt82c686.h
|
||||
F: include/hw/pci-host/bonito.h
|
||||
F: tests/avocado/machine_mips_fuloong2e.py
|
||||
|
||||
@@ -1337,6 +1337,7 @@ F: hw/intc/loongson_liointc.c
|
||||
F: hw/mips/loongson3_bootp.c
|
||||
F: hw/mips/loongson3_bootp.h
|
||||
F: hw/mips/loongson3_virt.c
|
||||
F: include/hw/intc/loongson_liointc.h
|
||||
F: tests/avocado/machine_mips_loongson3v.py
|
||||
|
||||
Boston
|
||||
@@ -2481,6 +2482,15 @@ S: Maintained
|
||||
F: hw/isa/piix4.c
|
||||
F: include/hw/southbridge/piix.h
|
||||
|
||||
VIA South Bridges (VT82C686B, VT8231)
|
||||
M: BALATON Zoltan <balaton@eik.bme.hu>
|
||||
M: Philippe Mathieu-Daudé <philmd@linaro.org>
|
||||
R: Jiaxun Yang <jiaxun.yang@flygoat.com>
|
||||
S: Maintained
|
||||
F: hw/isa/vt82c686.c
|
||||
F: hw/usb/vt82c686-uhci-pci.c
|
||||
F: include/hw/isa/vt82c686.h
|
||||
|
||||
Firmware configuration (fw_cfg)
|
||||
M: Philippe Mathieu-Daudé <philmd@linaro.org>
|
||||
R: Gerd Hoffmann <kraxel@redhat.com>
|
||||
|
||||
+1
-1
@@ -171,7 +171,7 @@ static int msmouse_chr_write(struct Chardev *s, const uint8_t *buf, int len)
|
||||
return len;
|
||||
}
|
||||
|
||||
static QemuInputHandler msmouse_handler = {
|
||||
static const QemuInputHandler msmouse_handler = {
|
||||
.name = "QEMU Microsoft Mouse",
|
||||
.mask = INPUT_EVENT_MASK_BTN | INPUT_EVENT_MASK_REL,
|
||||
.event = msmouse_input_event,
|
||||
|
||||
+1
-1
@@ -178,7 +178,7 @@ static void wctablet_input_sync(DeviceState *dev)
|
||||
}
|
||||
}
|
||||
|
||||
static QemuInputHandler wctablet_handler = {
|
||||
static const QemuInputHandler wctablet_handler = {
|
||||
.name = "QEMU Wacom Pen Tablet",
|
||||
.mask = INPUT_EVENT_MASK_BTN | INPUT_EVENT_MASK_ABS,
|
||||
.event = wctablet_input_event,
|
||||
|
||||
+2
-3
@@ -496,8 +496,7 @@ static const MemoryRegionOps acpi_pcihp_io_ops = {
|
||||
};
|
||||
|
||||
void acpi_pcihp_init(Object *owner, AcpiPciHpState *s, PCIBus *root_bus,
|
||||
MemoryRegion *address_space_io,
|
||||
uint16_t io_base)
|
||||
MemoryRegion *io, uint16_t io_base)
|
||||
{
|
||||
s->io_len = ACPI_PCIHP_SIZE;
|
||||
s->io_base = io_base;
|
||||
@@ -506,7 +505,7 @@ void acpi_pcihp_init(Object *owner, AcpiPciHpState *s, PCIBus *root_bus,
|
||||
|
||||
memory_region_init_io(&s->io, owner, &acpi_pcihp_io_ops, s,
|
||||
"acpi-pci-hotplug", s->io_len);
|
||||
memory_region_add_subregion(address_space_io, s->io_base, &s->io);
|
||||
memory_region_add_subregion(io, s->io_base, &s->io);
|
||||
|
||||
object_property_add_uint16_ptr(owner, ACPI_PCIHP_IO_BASE_PROP, &s->io_base,
|
||||
OBJ_PROP_FLAG_READ);
|
||||
|
||||
+2
-3
@@ -651,13 +651,12 @@ static inline DeviceState *create_acpi_ged(VirtMachineState *vms)
|
||||
|
||||
dev = qdev_new(TYPE_ACPI_GED);
|
||||
qdev_prop_set_uint32(dev, "ged-event", event);
|
||||
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
|
||||
|
||||
sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, vms->memmap[VIRT_ACPI_GED].base);
|
||||
sysbus_mmio_map(SYS_BUS_DEVICE(dev), 1, vms->memmap[VIRT_PCDIMM_ACPI].base);
|
||||
sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, qdev_get_gpio_in(vms->gic, irq));
|
||||
|
||||
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
@@ -695,10 +694,10 @@ static void create_v2m(VirtMachineState *vms)
|
||||
DeviceState *dev;
|
||||
|
||||
dev = qdev_new("arm-gicv2m");
|
||||
sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, vms->memmap[VIRT_GIC_V2M].base);
|
||||
qdev_prop_set_uint32(dev, "base-spi", irq);
|
||||
qdev_prop_set_uint32(dev, "num-spi", NUM_GICV2M_SPIS);
|
||||
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
|
||||
sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, vms->memmap[VIRT_GIC_V2M].base);
|
||||
|
||||
for (i = 0; i < NUM_GICV2M_SPIS; i++) {
|
||||
sysbus_connect_irq(SYS_BUS_DEVICE(dev), i,
|
||||
|
||||
@@ -405,7 +405,7 @@ static void vhost_user_blk_event(void *opaque, QEMUChrEvent event)
|
||||
|
||||
static int vhost_user_blk_realize_connect(VHostUserBlk *s, Error **errp)
|
||||
{
|
||||
DeviceState *dev = &s->parent_obj.parent_obj;
|
||||
DeviceState *dev = DEVICE(s);
|
||||
int ret;
|
||||
|
||||
s->connected = false;
|
||||
@@ -423,7 +423,7 @@ static int vhost_user_blk_realize_connect(VHostUserBlk *s, Error **errp)
|
||||
assert(s->connected);
|
||||
|
||||
ret = vhost_dev_get_config(&s->dev, (uint8_t *)&s->blkcfg,
|
||||
s->parent_obj.config_len, errp);
|
||||
VIRTIO_DEVICE(s)->config_len, errp);
|
||||
if (ret < 0) {
|
||||
qemu_chr_fe_disconnect(&s->chardev);
|
||||
vhost_dev_cleanup(&s->dev);
|
||||
|
||||
+1
-1
@@ -845,7 +845,7 @@ static void sunkbd_handle_event(DeviceState *dev, QemuConsole *src,
|
||||
put_queue(s, keycode);
|
||||
}
|
||||
|
||||
static QemuInputHandler sunkbd_handler = {
|
||||
static const QemuInputHandler sunkbd_handler = {
|
||||
.name = "sun keyboard",
|
||||
.mask = INPUT_EVENT_MASK_KEY,
|
||||
.event = sunkbd_handle_event,
|
||||
|
||||
@@ -34,17 +34,17 @@ bool cpu_paging_enabled(const CPUState *cpu)
|
||||
return false;
|
||||
}
|
||||
|
||||
void cpu_get_memory_mapping(CPUState *cpu, MemoryMappingList *list,
|
||||
bool cpu_get_memory_mapping(CPUState *cpu, MemoryMappingList *list,
|
||||
Error **errp)
|
||||
{
|
||||
CPUClass *cc = CPU_GET_CLASS(cpu);
|
||||
|
||||
if (cc->sysemu_ops->get_memory_mapping) {
|
||||
cc->sysemu_ops->get_memory_mapping(cpu, list, errp);
|
||||
return;
|
||||
return cc->sysemu_ops->get_memory_mapping(cpu, list, errp);
|
||||
}
|
||||
|
||||
error_setg(errp, "Obtaining memory mappings is unsupported on this CPU.");
|
||||
return false;
|
||||
}
|
||||
|
||||
hwaddr cpu_get_phys_page_attrs_debug(CPUState *cpu, vaddr addr,
|
||||
|
||||
@@ -1128,7 +1128,7 @@ static void virtio_gpu_ctrl_bh(void *opaque)
|
||||
VirtIOGPU *g = opaque;
|
||||
VirtIOGPUClass *vgc = VIRTIO_GPU_GET_CLASS(g);
|
||||
|
||||
vgc->handle_ctrl(&g->parent_obj.parent_obj, g->ctrl_vq);
|
||||
vgc->handle_ctrl(VIRTIO_DEVICE(g), g->ctrl_vq);
|
||||
}
|
||||
|
||||
static void virtio_gpu_handle_cursor(VirtIODevice *vdev, VirtQueue *vq)
|
||||
|
||||
+3
-3
@@ -321,20 +321,20 @@ static void xenfb_mouse_sync(DeviceState *dev)
|
||||
xenfb->wheel = 0;
|
||||
}
|
||||
|
||||
static QemuInputHandler xenfb_keyboard = {
|
||||
static const QemuInputHandler xenfb_keyboard = {
|
||||
.name = "Xen PV Keyboard",
|
||||
.mask = INPUT_EVENT_MASK_KEY,
|
||||
.event = xenfb_key_event,
|
||||
};
|
||||
|
||||
static QemuInputHandler xenfb_abs_mouse = {
|
||||
static const QemuInputHandler xenfb_abs_mouse = {
|
||||
.name = "Xen PV Mouse",
|
||||
.mask = INPUT_EVENT_MASK_BTN | INPUT_EVENT_MASK_ABS,
|
||||
.event = xenfb_mouse_event,
|
||||
.sync = xenfb_mouse_sync,
|
||||
};
|
||||
|
||||
static QemuInputHandler xenfb_rel_mouse = {
|
||||
static const QemuInputHandler xenfb_rel_mouse = {
|
||||
.name = "Xen PV Mouse",
|
||||
.mask = INPUT_EVENT_MASK_BTN | INPUT_EVENT_MASK_REL,
|
||||
.event = xenfb_mouse_event,
|
||||
|
||||
@@ -577,10 +577,6 @@ static void xilinx_axidma_init(Object *obj)
|
||||
object_initialize_child(OBJECT(s), "axistream-control-connected-target",
|
||||
&s->rx_control_dev,
|
||||
TYPE_XILINX_AXI_DMA_CONTROL_STREAM);
|
||||
object_property_add_link(obj, "dma", TYPE_MEMORY_REGION,
|
||||
(Object **)&s->dma_mr,
|
||||
qdev_prop_allow_set_link_before_realize,
|
||||
OBJ_PROP_LINK_STRONG);
|
||||
|
||||
sysbus_init_irq(sbd, &s->streams[0].irq);
|
||||
sysbus_init_irq(sbd, &s->streams[1].irq);
|
||||
@@ -596,6 +592,8 @@ static Property axidma_properties[] = {
|
||||
tx_data_dev, TYPE_STREAM_SINK, StreamSink *),
|
||||
DEFINE_PROP_LINK("axistream-control-connected", XilinxAXIDMA,
|
||||
tx_control_dev, TYPE_STREAM_SINK, StreamSink *),
|
||||
DEFINE_PROP_LINK("dma", XilinxAXIDMA, dma_mr,
|
||||
TYPE_MEMORY_REGION, MemoryRegion *),
|
||||
DEFINE_PROP_END_OF_LIST(),
|
||||
};
|
||||
|
||||
|
||||
+2
-5
@@ -795,11 +795,6 @@ static void zdma_init(Object *obj)
|
||||
TYPE_XLNX_ZDMA, ZDMA_R_MAX * 4);
|
||||
sysbus_init_mmio(sbd, &s->iomem);
|
||||
sysbus_init_irq(sbd, &s->irq_zdma_ch_imr);
|
||||
|
||||
object_property_add_link(obj, "dma", TYPE_MEMORY_REGION,
|
||||
(Object **)&s->dma_mr,
|
||||
qdev_prop_allow_set_link_before_realize,
|
||||
OBJ_PROP_LINK_STRONG);
|
||||
}
|
||||
|
||||
static const VMStateDescription vmstate_zdma = {
|
||||
@@ -817,6 +812,8 @@ static const VMStateDescription vmstate_zdma = {
|
||||
|
||||
static Property zdma_props[] = {
|
||||
DEFINE_PROP_UINT32("bus-width", XlnxZDMA, cfg.bus_width, 64),
|
||||
DEFINE_PROP_LINK("dma", XlnxZDMA, dma_mr,
|
||||
TYPE_MEMORY_REGION, MemoryRegion *),
|
||||
DEFINE_PROP_END_OF_LIST(),
|
||||
};
|
||||
|
||||
|
||||
@@ -702,6 +702,10 @@ static Property xlnx_csu_dma_properties[] = {
|
||||
* which channel the device is connected to.
|
||||
*/
|
||||
DEFINE_PROP_BOOL("is-dst", XlnxCSUDMA, is_dst, true),
|
||||
DEFINE_PROP_LINK("stream-connected-dma", XlnxCSUDMA, tx_dev,
|
||||
TYPE_STREAM_SINK, StreamSink *),
|
||||
DEFINE_PROP_LINK("dma", XlnxCSUDMA, dma_mr,
|
||||
TYPE_MEMORY_REGION, MemoryRegion *),
|
||||
DEFINE_PROP_END_OF_LIST(),
|
||||
};
|
||||
|
||||
@@ -728,15 +732,6 @@ static void xlnx_csu_dma_init(Object *obj)
|
||||
|
||||
memory_region_init(&s->iomem, obj, TYPE_XLNX_CSU_DMA,
|
||||
XLNX_CSU_DMA_R_MAX * 4);
|
||||
|
||||
object_property_add_link(obj, "stream-connected-dma", TYPE_STREAM_SINK,
|
||||
(Object **)&s->tx_dev,
|
||||
qdev_prop_allow_set_link_before_realize,
|
||||
OBJ_PROP_LINK_STRONG);
|
||||
object_property_add_link(obj, "dma", TYPE_MEMORY_REGION,
|
||||
(Object **)&s->dma_mr,
|
||||
qdev_prop_allow_set_link_before_realize,
|
||||
OBJ_PROP_LINK_STRONG);
|
||||
}
|
||||
|
||||
static const TypeInfo xlnx_csu_dma_info = {
|
||||
|
||||
+2
-3
@@ -1579,9 +1579,8 @@ static void amdvi_sysbus_realize(DeviceState *dev, Error **errp)
|
||||
/* set up MMIO */
|
||||
memory_region_init_io(&s->mmio, OBJECT(s), &mmio_mem_ops, s, "amdvi-mmio",
|
||||
AMDVI_MMIO_SIZE);
|
||||
|
||||
sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->mmio);
|
||||
sysbus_mmio_map(SYS_BUS_DEVICE(s), 0, AMDVI_BASE_ADDR);
|
||||
memory_region_add_subregion(get_system_memory(), AMDVI_BASE_ADDR,
|
||||
&s->mmio);
|
||||
pci_setup_iommu(bus, amdvi_host_dma_iommu, s);
|
||||
amdvi_init(s);
|
||||
}
|
||||
|
||||
@@ -4134,6 +4134,8 @@ static void vtd_realize(DeviceState *dev, Error **errp)
|
||||
qemu_mutex_init(&s->iommu_lock);
|
||||
memory_region_init_io(&s->csrmem, OBJECT(s), &vtd_mem_ops, s,
|
||||
"intel_iommu", DMAR_REG_SIZE);
|
||||
memory_region_add_subregion(get_system_memory(),
|
||||
Q35_HOST_BRIDGE_IOMMU_ADDR, &s->csrmem);
|
||||
|
||||
/* Create the shared memory regions by all devices */
|
||||
memory_region_init(&s->mr_nodmar, OBJECT(s), "vtd-nodmar",
|
||||
@@ -4148,15 +4150,12 @@ static void vtd_realize(DeviceState *dev, Error **errp)
|
||||
memory_region_add_subregion_overlap(&s->mr_nodmar,
|
||||
VTD_INTERRUPT_ADDR_FIRST,
|
||||
&s->mr_ir, 1);
|
||||
|
||||
sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->csrmem);
|
||||
/* No corresponding destroy */
|
||||
s->iotlb = g_hash_table_new_full(vtd_iotlb_hash, vtd_iotlb_equal,
|
||||
g_free, g_free);
|
||||
s->vtd_address_spaces = g_hash_table_new_full(vtd_as_hash, vtd_as_equal,
|
||||
g_free, g_free);
|
||||
vtd_init(s);
|
||||
sysbus_mmio_map(SYS_BUS_DEVICE(s), 0, Q35_HOST_BRIDGE_IOMMU_ADDR);
|
||||
pci_setup_iommu(bus, vtd_host_dma_iommu, dev);
|
||||
/* Pseudo address space under root PCI bus. */
|
||||
x86ms->ioapic_as = vtd_host_dma_iommu(bus, s, Q35_PSEUDO_DEVFN_IOAPIC);
|
||||
|
||||
+1
-1
@@ -206,12 +206,12 @@ static void microvm_devices_init(MicrovmMachineState *mms)
|
||||
if (x86_machine_is_acpi_enabled(x86ms)) {
|
||||
DeviceState *dev = qdev_new(TYPE_ACPI_GED);
|
||||
qdev_prop_set_uint32(dev, "ged-event", ACPI_GED_PWR_DOWN_EVT);
|
||||
sysbus_realize(SYS_BUS_DEVICE(dev), &error_fatal);
|
||||
sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, GED_MMIO_BASE);
|
||||
/* sysbus_mmio_map(SYS_BUS_DEVICE(dev), 1, GED_MMIO_BASE_MEMHP); */
|
||||
sysbus_mmio_map(SYS_BUS_DEVICE(dev), 2, GED_MMIO_BASE_REGS);
|
||||
sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0,
|
||||
x86ms->gsi[GED_MMIO_IRQ]);
|
||||
sysbus_realize(SYS_BUS_DEVICE(dev), &error_fatal);
|
||||
x86ms->acpi_dev = HOTPLUG_HANDLER(dev);
|
||||
}
|
||||
|
||||
|
||||
+3
-1
@@ -1283,7 +1283,9 @@ void pc_basic_device_init(struct PCMachineState *pcms,
|
||||
/* connect PIT to output control line of the HPET */
|
||||
qdev_connect_gpio_out(hpet, 0, qdev_get_gpio_in(DEVICE(pit), 0));
|
||||
}
|
||||
pcspk_init(pcms->pcspk, isa_bus, pit);
|
||||
object_property_set_link(OBJECT(pcms->pcspk), "pit",
|
||||
OBJECT(pit), &error_fatal);
|
||||
isa_realize_and_unref(pcms->pcspk, isa_bus, &error_fatal);
|
||||
}
|
||||
|
||||
/* Super I/O */
|
||||
|
||||
+1
-1
@@ -355,7 +355,7 @@ static void adb_kbd_reset(DeviceState *dev)
|
||||
s->count = 0;
|
||||
}
|
||||
|
||||
static QemuInputHandler adb_keyboard_handler = {
|
||||
static const QemuInputHandler adb_keyboard_handler = {
|
||||
.name = "QEMU ADB Keyboard",
|
||||
.mask = INPUT_EVENT_MASK_KEY,
|
||||
.event = adb_keyboard_event,
|
||||
|
||||
+3
-3
@@ -510,20 +510,20 @@ void hid_free(HIDState *hs)
|
||||
hid_del_idle_timer(hs);
|
||||
}
|
||||
|
||||
static QemuInputHandler hid_keyboard_handler = {
|
||||
static const QemuInputHandler hid_keyboard_handler = {
|
||||
.name = "QEMU HID Keyboard",
|
||||
.mask = INPUT_EVENT_MASK_KEY,
|
||||
.event = hid_keyboard_event,
|
||||
};
|
||||
|
||||
static QemuInputHandler hid_mouse_handler = {
|
||||
static const QemuInputHandler hid_mouse_handler = {
|
||||
.name = "QEMU HID Mouse",
|
||||
.mask = INPUT_EVENT_MASK_BTN | INPUT_EVENT_MASK_REL,
|
||||
.event = hid_pointer_event,
|
||||
.sync = hid_pointer_sync,
|
||||
};
|
||||
|
||||
static QemuInputHandler hid_tablet_handler = {
|
||||
static const QemuInputHandler hid_tablet_handler = {
|
||||
.name = "QEMU HID Tablet",
|
||||
.mask = INPUT_EVENT_MASK_BTN | INPUT_EVENT_MASK_ABS,
|
||||
.event = hid_pointer_event,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user