History log of /openbmc/qemu/hw/core/ (Results 751 – 775 of 1522)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
f1483b4610-Jun-2020 Markus Armbruster <armbru@redhat.com>

qdev: Convert to qbus_realize(), qbus_unrealize()

I'm going to convert device realization to qdev_realize() with the
help of Coccinelle. Convert bus realization to qbus_realize() first,
to get it o

qdev: Convert to qbus_realize(), qbus_unrealize()

I'm going to convert device realization to qdev_realize() with the
help of Coccinelle. Convert bus realization to qbus_realize() first,
to get it out of Coccinelle's way. Readability improves.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200610053247.1583243-7-armbru@redhat.com>

show more ...

9940b2cf10-Jun-2020 Markus Armbruster <armbru@redhat.com>

qdev: New qdev_new(), qdev_realize(), etc.

We commonly plug devices into their bus right when we create them,
like this:

dev = qdev_create(bus, type_name);

Note that @dev is a weak reference.

qdev: New qdev_new(), qdev_realize(), etc.

We commonly plug devices into their bus right when we create them,
like this:

dev = qdev_create(bus, type_name);

Note that @dev is a weak reference. The reference from @bus to @dev
is the only strong one.

We realize at some later time, either with

object_property_set_bool(OBJECT(dev), true, "realized", errp);

or its convenience wrapper

qdev_init_nofail(dev);

If @dev still has no QOM parent then, realizing makes the
/machine/unattached/ orphanage its QOM parent.

Note that the device returned by qdev_create() is plugged into a bus,
but doesn't have a QOM parent, yet. Until it acquires one,
unrealizing the bus will hang in bus_unparent():

while ((kid = QTAILQ_FIRST(&bus->children)) != NULL) {
DeviceState *dev = kid->child;
object_unparent(OBJECT(dev));
}

object_unparent() does nothing when its argument has no QOM parent,
and the loop spins forever.

Device state "no QOM parent, but plugged into bus" is dangerous.

Paolo suggested to delay plugging into the bus until realize. We need
to plug into the parent bus before we call the device's realize
method, in case it uses the parent bus. So the dangerous state still
exists, but only within realization, where we can manage it safely.

This commit creates infrastructure to do this:

dev = qdev_new(type_name);
...
qdev_realize_and_unref(dev, bus, errp)

Note that @dev becomes a strong reference here.
qdev_realize_and_unref() drops it. There is also plain
qdev_realize(), which doesn't drop it.

The remainder of this series will convert all users to this new
interface.

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Cc: Alistair Francis <alistair@alistair23.me>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Cc: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200610053247.1583243-5-armbru@redhat.com>

show more ...

30884d1b10-Jun-2020 Markus Armbruster <armbru@redhat.com>

qdev: Rename qbus_realize() to qbus_init()

qbus_realize() does not actually realize. Rename it to qbus_init().

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Da

qdev: Rename qbus_realize() to qbus_init()

qbus_realize() does not actually realize. Rename it to qbus_init().

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200610053247.1583243-2-armbru@redhat.com>

show more ...

dfe8c79c09-Jun-2020 Markus Armbruster <armbru@redhat.com>

qdev: Assert onboard devices all get realized properly

This would have caught some of the bugs I just fixed.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé

qdev: Assert onboard devices all get realized properly

This would have caught some of the bugs I just fixed.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200609122339.937862-25-armbru@redhat.com>

show more ...

81cb057309-Jun-2020 Markus Armbruster <armbru@redhat.com>

qdev: Assert devices are plugged into a bus that can take them

This would have caught some of the bugs I just fixed.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Mark Cave-Ayla

qdev: Assert devices are plugged into a bus that can take them

This would have caught some of the bugs I just fixed.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-Id: <20200609122339.937862-23-armbru@redhat.com>

show more ...

7d3660e712-Jun-2020 Peter Maydell <peter.maydell@linaro.org>

Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging

* Miscellaneous fixes and feature enablement (many)
* SEV refactoring (David)
* Hyper-V initial support (Jon)
* i386 TCG

Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging

* Miscellaneous fixes and feature enablement (many)
* SEV refactoring (David)
* Hyper-V initial support (Jon)
* i386 TCG fixes (x87 and SSE, Joseph)
* vmport cleanup and improvements (Philippe, Liran)
* Use-after-free with vCPU hot-unplug (Nengyuan)
* run-coverity-scan improvements (myself)
* Record/replay fixes (Pavel)
* -machine kernel_irqchip=split improvements for INTx (Peter)
* Code cleanups (Philippe)
* Crash and security fixes (PJP)
* HVF cleanups (Roman)

# gpg: Signature made Fri 12 Jun 2020 16:57:04 BST
# gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg: issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
# gpg: aka "Paolo Bonzini <pbonzini@redhat.com>" [full]
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1
# Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83

* remotes/bonzini/tags/for-upstream: (116 commits)
target/i386: Remove obsolete TODO file
stubs: move Xen stubs to accel/
replay: fix replay shutdown for console mode
exec/cpu-common: Move MUSB specific typedefs to 'hw/usb/hcd-musb.h'
hw/usb: Move device-specific declarations to new 'hcd-musb.h' header
exec/memory: Remove unused MemoryRegionMmio type
checkpatch: reversed logic with acpi test checks
target/i386: sev: Unify SEVState and SevGuestState
target/i386: sev: Remove redundant handle field
target/i386: sev: Remove redundant policy field
target/i386: sev: Remove redundant cbitpos and reduced_phys_bits fields
target/i386: sev: Partial cleanup to sev_state global
target/i386: sev: Embed SEVState in SevGuestState
target/i386: sev: Rename QSevGuestInfo
target/i386: sev: Move local structure definitions into .c file
target/i386: sev: Remove unused QSevGuestInfoClass
xen: fix build without pci passthrough
i386: hvf: Drop HVFX86EmulatorState
i386: hvf: Move mmio_buf into CPUX86State
i386: hvf: Move lazy_flags into CPUX86State
...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

# Conflicts:
# hw/i386/acpi-build.c

show more ...


/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/Makefile.objs
/openbmc/qemu/accel/Makefile.objs
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/kvm/trace-events
/openbmc/qemu/accel/stubs/Makefile.objs
/openbmc/qemu/accel/stubs/xen-stub.c
/openbmc/qemu/accel/xen/Makefile.objs
/openbmc/qemu/accel/xen/xen-all.c
/openbmc/qemu/chardev/char-socket.c
/openbmc/qemu/configure
/openbmc/qemu/cpus.c
/openbmc/qemu/disas.c
/openbmc/qemu/exec.c
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/hw/Makefile.objs
/openbmc/qemu/hw/acpi/piix4.c
/openbmc/qemu/hw/block/vhost-user-blk.c
machine.c
numa.c
/openbmc/qemu/hw/hyperv/Kconfig
/openbmc/qemu/hw/hyperv/Makefile.objs
/openbmc/qemu/hw/hyperv/hyperv.c
/openbmc/qemu/hw/hyperv/trace-events
/openbmc/qemu/hw/hyperv/vmbus.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/amd_iommu.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/i386/pc_q35.c
/openbmc/qemu/hw/i386/vmmouse.c
/openbmc/qemu/hw/i386/vmport.c
/openbmc/qemu/hw/i386/xen/xen-hvm.c
/openbmc/qemu/hw/i386/xen/xen_platform.c
/openbmc/qemu/hw/intc/ioapic.c
/openbmc/qemu/hw/isa/piix3.c
/openbmc/qemu/hw/pci-host/pam.c
/openbmc/qemu/hw/pci/msix.c
/openbmc/qemu/hw/scsi/megasas.c
/openbmc/qemu/hw/scsi/vhost-user-scsi.c
/openbmc/qemu/hw/usb/hcd-musb.c
/openbmc/qemu/hw/usb/tusb6010.c
/openbmc/qemu/hw/vfio/pci.c
/openbmc/qemu/hw/xen/Makefile.objs
/openbmc/qemu/hw/xen/xen_pt.c
/openbmc/qemu/hw/xen/xen_pt.h
/openbmc/qemu/hw/xen/xen_pt_stub.c
/openbmc/qemu/include/exec/cpu-all.h
/openbmc/qemu/include/exec/cpu-common.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/exec/ram_addr.h
/openbmc/qemu/include/hw/display/edid.h
/openbmc/qemu/include/hw/elf_ops.h
/openbmc/qemu/include/hw/hyperv/hyperv.h
/openbmc/qemu/include/hw/hyperv/vmbus-bridge.h
/openbmc/qemu/include/hw/hyperv/vmbus-proto.h
/openbmc/qemu/include/hw/hyperv/vmbus.h
/openbmc/qemu/include/hw/i386/vmport.h
/openbmc/qemu/include/hw/usb.h
/openbmc/qemu/include/hw/usb/hcd-musb.h
/openbmc/qemu/include/hw/xen/xen.h
/openbmc/qemu/include/io/task.h
/openbmc/qemu/include/qemu/thread.h
/openbmc/qemu/include/qemu/typedefs.h
/openbmc/qemu/include/qom/object.h
/openbmc/qemu/include/qom/qom-qobject.h
/openbmc/qemu/include/sysemu/accel.h
/openbmc/qemu/include/sysemu/hvf.h
/openbmc/qemu/include/sysemu/kvm.h
/openbmc/qemu/include/sysemu/sysemu.h
/openbmc/qemu/include/sysemu/tcg.h
/openbmc/qemu/include/sysemu/xen.h
/openbmc/qemu/io/task.c
/openbmc/qemu/memory.c
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/monitor/misc.c
/openbmc/qemu/qom/container.c
/openbmc/qemu/qom/object.c
/openbmc/qemu/replay/replay-internal.c
/openbmc/qemu/replay/replay.c
/openbmc/qemu/scripts/checkpatch.pl
/openbmc/qemu/scripts/coverity-scan/coverity-scan.docker
/openbmc/qemu/scripts/coverity-scan/run-coverity-scan
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/stubs/Makefile.objs
/openbmc/qemu/stubs/qmp_memory_device.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/fpu_helper.c
/openbmc/qemu/target/i386/hax-all.c
/openbmc/qemu/target/i386/hax-i386.h
/openbmc/qemu/target/i386/hvf/hvf-i386.h
/openbmc/qemu/target/i386/hvf/hvf.c
/openbmc/qemu/target/i386/hvf/x86.c
/openbmc/qemu/target/i386/hvf/x86.h
/openbmc/qemu/target/i386/hvf/x86_decode.c
/openbmc/qemu/target/i386/hvf/x86_emu.c
/openbmc/qemu/target/i386/hvf/x86_flags.c
/openbmc/qemu/target/i386/hvf/x86_task.c
/openbmc/qemu/target/i386/hvf/x86hvf.c
/openbmc/qemu/target/i386/kvm.c
/openbmc/qemu/target/i386/misc_helper.c
/openbmc/qemu/target/i386/ops_sse.h
/openbmc/qemu/target/i386/sev.c
/openbmc/qemu/target/i386/sev_i386.h
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/kvm_ppc.h
/openbmc/qemu/target/ppc/translate_init.inc.c
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/docker.py
/openbmc/qemu/tests/qtest/machine-none-test.c
/openbmc/qemu/tests/tcg/i386/Makefile.target
/openbmc/qemu/tests/tcg/i386/test-i386-fbstp.c
/openbmc/qemu/tests/tcg/i386/test-i386-fisttp.c
/openbmc/qemu/tests/tcg/i386/test-i386-fldcst.c
/openbmc/qemu/tests/tcg/i386/test-i386-fp-exceptions.c
/openbmc/qemu/tests/tcg/i386/test-i386-fscale.c
/openbmc/qemu/tests/tcg/i386/test-i386-fxam.c
/openbmc/qemu/tests/tcg/i386/test-i386-fxtract.c
/openbmc/qemu/tests/tcg/i386/test-i386-pcmpistri.c
/openbmc/qemu/tests/test-io-task.c
/openbmc/qemu/util/oslib-posix.c
9e39031312-Jun-2020 Peter Maydell <peter.maydell@linaro.org>

Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging

virtio,acpi,pci: features, fixes, cleanups, tests

Max slots negotiation for vhost-user.
Free page reporting for balloon.
Pa

Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging

virtio,acpi,pci: features, fixes, cleanups, tests

Max slots negotiation for vhost-user.
Free page reporting for balloon.
Partial TPM2 ACPI support for ARM.
Support for NVDIMMs having their own proximity domains.
New vhost-user-vsock device.

Fixes, cleanups in ACPI, PCI, virtio.
New tests for TPM ACPI.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

# gpg: Signature made Fri 12 Jun 2020 15:18:04 BST
# gpg: using RSA key 5D09FD0871C8F85B94CA8A0D281F0DB8D28D5469
# gpg: issuer "mst@redhat.com"
# gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" [full]
# gpg: aka "Michael S. Tsirkin <mst@redhat.com>" [full]
# Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE 8E67
# Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D 5469

* remotes/mst/tags/for_upstream: (58 commits)
virtio-pci: fix queue_enable write
pci: Display PCI IRQ pin in "info pci"
Fix parameter type in vhost migration log path
acpi: ged: rename event memory region
acpi: fadt: add hw-reduced sleep register support
acpi: madt: skip pci override on pci-less systems.
acpi: create acpi-common.c and move madt code
acpi: make build_madt() more generic.
virtio: add vhost-user-vsock-pci device
virtio: add vhost-user-vsock base device
vhost-vsock: add vhost-vsock-common abstraction
hw/pci: Fix crash when running QEMU with "-nic model=rocker"
libvhost-user: advertise vring features
Lift max ram slots limit in libvhost-user
Support individual region unmap in libvhost-user
Support adding individual regions in libvhost-user
Support ram slot configuration in libvhost-user
Refactor out libvhost-user fault generation logic
Lift max memory slots limit imposed by vhost-user
Transmit vhost-user memory regions individually
...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...


/openbmc/qemu/.cirrus.yml
/openbmc/qemu/.mailmap
/openbmc/qemu/.shippable.yml
/openbmc/qemu/.travis.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/block.c
/openbmc/qemu/block/nbd.c
/openbmc/qemu/chardev/char-socket.c
/openbmc/qemu/configure
/openbmc/qemu/contrib/libvhost-user/libvhost-user.c
/openbmc/qemu/contrib/libvhost-user/libvhost-user.h
/openbmc/qemu/contrib/vhost-user-blk/vhost-user-blk.c
/openbmc/qemu/default-configs/unicore32-softmmu.mak
/openbmc/qemu/docs/interop/vhost-user.rst
/openbmc/qemu/docs/tools/qemu-img.rst
/openbmc/qemu/exec.c
/openbmc/qemu/hw/acpi/aml-build.c
/openbmc/qemu/hw/acpi/generic_event_device.c
/openbmc/qemu/hw/acpi/nvdimm.c
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/virt-acpi-build.c
/openbmc/qemu/hw/block/vhost-user-blk.c
/openbmc/qemu/hw/char/parallel.c
/openbmc/qemu/hw/char/serial-isa.c
machine.c
/openbmc/qemu/hw/dma/puv3_dma.c
/openbmc/qemu/hw/gpio/puv3_gpio.c
/openbmc/qemu/hw/hppa/dino.c
/openbmc/qemu/hw/i386/Makefile.objs
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/acpi-common.c
/openbmc/qemu/hw/i386/acpi-common.h
/openbmc/qemu/hw/i386/xen/xen-hvm.c
/openbmc/qemu/hw/intc/puv3_intc.c
/openbmc/qemu/hw/isa/apm.c
/openbmc/qemu/hw/isa/trace-events
/openbmc/qemu/hw/mips/malta.c
/openbmc/qemu/hw/misc/auxbus.c
/openbmc/qemu/hw/misc/empty_slot.c
/openbmc/qemu/hw/misc/grlib_ahb_apb_pnp.c
/openbmc/qemu/hw/misc/puv3_pm.c
/openbmc/qemu/hw/misc/trace-events
/openbmc/qemu/hw/openrisc/openrisc_sim.c
/openbmc/qemu/hw/pci-host/i440fx.c
/openbmc/qemu/hw/pci-host/prep.c
/openbmc/qemu/hw/pci-host/q35.c
/openbmc/qemu/hw/pci-host/versatile.c
/openbmc/qemu/hw/pci/msix.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/pci/pci_bridge.c
/openbmc/qemu/hw/pci/pcie.c
/openbmc/qemu/hw/rtc/mc146818rtc.c
/openbmc/qemu/hw/semihosting/console.c
/openbmc/qemu/hw/sparc/leon3.c
/openbmc/qemu/hw/sparc/sun4m.c
/openbmc/qemu/hw/sparc64/niagara.c
/openbmc/qemu/hw/timer/puv3_ost.c
/openbmc/qemu/hw/timer/trace-events
/openbmc/qemu/hw/unicore32/puv3.c
/openbmc/qemu/hw/vfio/pci-quirks.c
/openbmc/qemu/hw/virtio/Makefile.objs
/openbmc/qemu/hw/virtio/trace-events
/openbmc/qemu/hw/virtio/vhost-user-vsock-pci.c
/openbmc/qemu/hw/virtio/vhost-user-vsock.c
/openbmc/qemu/hw/virtio/vhost-user.c
/openbmc/qemu/hw/virtio/vhost-vsock-common.c
/openbmc/qemu/hw/virtio/vhost-vsock.c
/openbmc/qemu/hw/virtio/vhost.c
/openbmc/qemu/hw/virtio/virtio-balloon.c
/openbmc/qemu/hw/virtio/virtio-pci.c
/openbmc/qemu/include/hw/acpi/acpi-defs.h
/openbmc/qemu/include/hw/acpi/aml-build.h
/openbmc/qemu/include/hw/acpi/generic_event_device.h
/openbmc/qemu/include/hw/mem/nvdimm.h
/openbmc/qemu/include/hw/misc/empty_slot.h
/openbmc/qemu/include/hw/virtio/vhost-user-vsock.h
/openbmc/qemu/include/hw/virtio/vhost-user.h
/openbmc/qemu/include/hw/virtio/vhost-vsock-common.h
/openbmc/qemu/include/hw/virtio/vhost-vsock.h
/openbmc/qemu/include/hw/virtio/virtio-balloon.h
/openbmc/qemu/include/qemu/qemu-plugin.h
/openbmc/qemu/include/sysemu/tpm.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/mmap.c
/openbmc/qemu/monitor/hmp-cmds.c
/openbmc/qemu/nbd/server.c
/openbmc/qemu/net/net.c
/openbmc/qemu/qapi/misc.json
/openbmc/qemu/scripts/clean-includes
/openbmc/qemu/scripts/coverity-scan/coverity-scan.docker
/openbmc/qemu/scripts/decodetree.py
/openbmc/qemu/target/arm/t32.decode
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/mips/Makefile.objs
/openbmc/qemu/target/mips/cpu.h
/openbmc/qemu/target/mips/fpu_helper.c
/openbmc/qemu/target/mips/internal.h
/openbmc/qemu/target/mips/lmmi_helper.c
/openbmc/qemu/target/mips/mips-defs.h
/openbmc/qemu/target/mips/msa_helper.c
/openbmc/qemu/target/mips/translate.c
/openbmc/qemu/target/mips/translate_init.inc.c
/openbmc/qemu/target/sparc/int32_helper.c
/openbmc/qemu/target/unicore32/helper.c
/openbmc/qemu/tests/data/acpi/pc/DSDT
/openbmc/qemu/tests/data/acpi/pc/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/pc/DSDT.bridge
/openbmc/qemu/tests/data/acpi/pc/DSDT.cphp
/openbmc/qemu/tests/data/acpi/pc/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/pc/DSDT.ipmikcs
/openbmc/qemu/tests/data/acpi/pc/DSDT.memhp
/openbmc/qemu/tests/data/acpi/pc/DSDT.numamem
/openbmc/qemu/tests/data/acpi/pc/SRAT.dimmpxm
/openbmc/qemu/tests/data/acpi/q35/DSDT
/openbmc/qemu/tests/data/acpi/q35/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/q35/DSDT.bridge
/openbmc/qemu/tests/data/acpi/q35/DSDT.cphp
/openbmc/qemu/tests/data/acpi/q35/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/q35/DSDT.ipmibt
/openbmc/qemu/tests/data/acpi/q35/DSDT.memhp
/openbmc/qemu/tests/data/acpi/q35/DSDT.mmio64
/openbmc/qemu/tests/data/acpi/q35/DSDT.numamem
/openbmc/qemu/tests/data/acpi/q35/DSDT.tis
/openbmc/qemu/tests/data/acpi/q35/SRAT.dimmpxm
/openbmc/qemu/tests/data/acpi/q35/TPM2.tis
/openbmc/qemu/tests/data/acpi/virt/SRAT.memhp
/openbmc/qemu/tests/decode/err_pattern_group_nest1.decode
/openbmc/qemu/tests/decode/err_pattern_group_nest2.decode
/openbmc/qemu/tests/decode/err_pattern_group_nest3.decode
/openbmc/qemu/tests/decode/succ_pattern_group_nest2.decode
/openbmc/qemu/tests/decode/succ_pattern_group_nest3.decode
/openbmc/qemu/tests/decode/succ_pattern_group_nest4.decode
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/dockerfiles/centos7.docker
/openbmc/qemu/tests/docker/dockerfiles/centos8.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-xtensa-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian10.docker
/openbmc/qemu/tests/docker/dockerfiles/debian9.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu1804.docker
/openbmc/qemu/tests/plugin/mem.c
/openbmc/qemu/tests/qemu-iotests/031.out
/openbmc/qemu/tests/qemu-iotests/036.out
/openbmc/qemu/tests/qemu-iotests/061.out
/openbmc/qemu/tests/qemu-iotests/143
/openbmc/qemu/tests/qemu-iotests/143.out
/openbmc/qemu/tests/qemu-iotests/194
/openbmc/qemu/tests/qemu-iotests/194.out
/openbmc/qemu/tests/qemu-iotests/291
/openbmc/qemu/tests/qemu-iotests/291.out
/openbmc/qemu/tests/qemu-iotests/qcow2.py
/openbmc/qemu/tests/qemu-iotests/qcow2_format.py
/openbmc/qemu/tests/qtest/Makefile.include
/openbmc/qemu/tests/qtest/bios-tables-test.c
/openbmc/qemu/tests/qtest/tpm-emu.c
/openbmc/qemu/tests/qtest/tpm-emu.h
/openbmc/qemu/tests/tcg/arm/Makefile.target
/openbmc/qemu/tests/tcg/arm/commpage.c
/openbmc/qemu/tests/vm/fedora
/openbmc/qemu/tests/vm/freebsd
/openbmc/qemu/tests/vm/netbsd
/openbmc/qemu/tests/vm/openbsd
/openbmc/qemu/tests/vm/ubuntu.i386
aaacf1c112-Mar-2020 Liran Alon <liran.alon@oracle.com>

hw/i386/vmport: Add support for CMD_GETBIOSUUID

This is VMware documented functionallity that some guests rely on.
Returns the BIOS UUID of the current virtual machine.

Note that we also introduce

hw/i386/vmport: Add support for CMD_GETBIOSUUID

This is VMware documented functionallity that some guests rely on.
Returns the BIOS UUID of the current virtual machine.

Note that we also introduce a new compatability flag "x-cmds-v2" to
make sure to expose new VMPort commands only to new machine-types.
This flag will also be used by the following patches that will introduce
additional VMPort commands.

Reviewed-by: Nikita Leshenko <nikita.leshchenko@oracle.com>
Signed-off-by: Liran Alon <liran.alon@oracle.com>
Message-Id: <20200312165431.82118-10-liran.alon@oracle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

f8bdc55012-Mar-2020 Liran Alon <liran.alon@oracle.com>

hw/i386/vmport: Report vmware-vmx-type in CMD_GETVERSION

As can be seen from VmCheck_GetVersion() in open-vm-tools code,
CMD_GETVERSION should return vmware-vmx-type in ECX register.

Default is to

hw/i386/vmport: Report vmware-vmx-type in CMD_GETVERSION

As can be seen from VmCheck_GetVersion() in open-vm-tools code,
CMD_GETVERSION should return vmware-vmx-type in ECX register.

Default is to fake host as VMware ESX server. But user can control
this value by "-global vmport.vmware-vmx-type=X".

Reviewed-by: Nikita Leshenko <nikita.leshchenko@oracle.com>
Signed-off-by: Liran Alon <liran.alon@oracle.com>
Message-Id: <20200312165431.82118-7-liran.alon@oracle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

0342ee7612-Mar-2020 Liran Alon <liran.alon@oracle.com>

hw/i386/vmport: Set EAX to -1 on failed and unsupported commands

This is used as a signal for VMware Tools to know if a command it
attempted to invoke, failed or is unsupported. As a result, VMware

hw/i386/vmport: Set EAX to -1 on failed and unsupported commands

This is used as a signal for VMware Tools to know if a command it
attempted to invoke, failed or is unsupported. As a result, VMware Tools
will either report failure to user or fallback to another backdoor command
in attempt to perform some operation.

A few examples:
* open-vm-tools TimeSyncReadHost() function fallbacks to
CMD_GETTIMEFULL command when CMD_GETTIMEFULL_WITH_LAG
fails/unsupported.
* open-vm-tools Hostinfo_NestingSupported() function verifies
EAX != -1 to check for success.
* open-vm-tools Hostinfo_VCPUInfoBackdoor() functions checks
if reserved-bit is set to indicate command is unimplemented.

Reviewed-by: Nikita Leshenko <nikita.leshchenko@oracle.com>
Signed-off-by: Liran Alon <liran.alon@oracle.com>
Message-Id: <20200312165431.82118-5-liran.alon@oracle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

b889212912-Mar-2020 Liran Alon <liran.alon@oracle.com>

hw/i386/vmport: Propagate IOPort read to vCPU EAX register

vmport_ioport_read() returns the value that should propagate to vCPU EAX
register when guest reads VMPort IOPort (i.e. By x86 IN instructio

hw/i386/vmport: Propagate IOPort read to vCPU EAX register

vmport_ioport_read() returns the value that should propagate to vCPU EAX
register when guest reads VMPort IOPort (i.e. By x86 IN instruction).

However, because vmport_ioport_read() calls cpu_synchronize_state(), the
returned value gets overridden by the value in QEMU vCPU EAX register.
i.e. cpu->env.regs[R_EAX].

To fix this issue, change vmport_ioport_read() to explicitly override
cpu->env.regs[R_EAX] with the value it wish to propagate to vCPU EAX
register.

Reviewed-by: Nikita Leshenko <nikita.leshchenko@oracle.com>
Signed-off-by: Liran Alon <liran.alon@oracle.com>
Message-Id: <20200312165431.82118-4-liran.alon@oracle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

ea81f98b11-May-2020 Igor Mammedov <imammedo@redhat.com>

numa: prevent usage of -M memory-backend and -numa memdev at the same time

Options -M memory-backend and -numa memdev are mutually exclusive,
and if used together, it might lead to a crash in the wo

numa: prevent usage of -M memory-backend and -numa memdev at the same time

Options -M memory-backend and -numa memdev are mutually exclusive,
and if used together, it might lead to a crash in the worst case.
For example when the same backend is used with these options together:
-m 4G \
-object memory-backend-ram,id=mem0,size=4G \
-M pc,memory-backend=mem0 \
-numa node,memdev=mem0
QEMU will abort with:
exec.c:2006: qemu_ram_set_idstr: Assertion `!new_block->idstr[0]' failed.

and following backtrace:
abort ()
qemu_ram_set_idstr ()
vmstate_register_ram ()
vmstate_register_ram_global ()
machine_consume_memdev ()
numa_init_memdev_container ()
numa_complete_configuration ()
machine_run_board_init ()

add a check to error out in case the user tries to use both options at
the same time.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20200511141103.43768-3-imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

7483cbba26-May-2020 Alexander Duyck <alexander.h.duyck@linux.intel.com>

virtio-balloon: Implement support for page poison reporting feature

We need to make certain to advertise support for page poison reporting if
we want to actually get data on if the guest will be poi

virtio-balloon: Implement support for page poison reporting feature

We need to make certain to advertise support for page poison reporting if
we want to actually get data on if the guest will be poisoning pages.

Add a value for reporting the poison value being used if page poisoning is
enabled in the guest. With this we can determine if we will need to skip
free page reporting when it is enabled in the future.

The value currently has no impact on existing balloon interfaces. In the
case of existing balloon interfaces the onus is on the guest driver to
reapply whatever poison is in place.

When we add free page reporting the poison value is used to determine if
we can perform in-place page reporting. The expectation is that a reported
page will already contain the value specified by the poison, and the
reporting of the page should not change that value.

Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Alexander Duyck <alexander.h.duyck@linux.intel.com>
Message-Id: <20200527041400.12700.33251.stgit@localhost.localdomain>

show more ...


/openbmc/qemu/.gitlab-ci.d/edk2.yml
/openbmc/qemu/.gitlab-ci.d/opensbi.yml
/openbmc/qemu/.gitlab-ci.yml
/openbmc/qemu/.mailmap
/openbmc/qemu/.travis.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/tcg/tcg-runtime-gvec.c
/openbmc/qemu/accel/tcg/tcg-runtime.h
/openbmc/qemu/accel/tcg/user-exec.c
/openbmc/qemu/backends/hostmem.c
/openbmc/qemu/block/crypto.c
/openbmc/qemu/block/dirty-bitmap.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/io_uring.c
/openbmc/qemu/block/qcow2-bitmap.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/qcow2.h
/openbmc/qemu/block/raw-format.c
/openbmc/qemu/chardev/char-socket.c
/openbmc/qemu/configure
/openbmc/qemu/cpus-common.c
/openbmc/qemu/default-configs/mips64el-softmmu.mak
/openbmc/qemu/default-configs/riscv32-softmmu.mak
/openbmc/qemu/default-configs/riscv64-softmmu.mak
/openbmc/qemu/docs/system/arm/aspeed.rst
/openbmc/qemu/docs/system/deprecated.rst
/openbmc/qemu/docs/system/s390x/3270.rst
/openbmc/qemu/docs/system/s390x/css.rst
/openbmc/qemu/docs/system/s390x/vfio-ccw.rst
/openbmc/qemu/docs/system/target-arm.rst
/openbmc/qemu/docs/system/target-mips.rst
/openbmc/qemu/docs/system/target-s390x.rst
/openbmc/qemu/docs/tools/qemu-img.rst
/openbmc/qemu/exec.c
/openbmc/qemu/hmp-commands.hx
/openbmc/qemu/hw/acpi/aml-build.c
/openbmc/qemu/hw/acpi/nvdimm.c
/openbmc/qemu/hw/adc/stm32f2xx_adc.c
/openbmc/qemu/hw/arm/bcm2835_peripherals.c
/openbmc/qemu/hw/arm/pxa2xx.c
/openbmc/qemu/hw/arm/sabrelite.c
/openbmc/qemu/hw/arm/virt-acpi-build.c
/openbmc/qemu/hw/block/Makefile.objs
/openbmc/qemu/hw/block/nvme.c
/openbmc/qemu/hw/char/parallel.c
/openbmc/qemu/hw/char/serial-isa.c
machine.c
/openbmc/qemu/hw/display/ati.c
/openbmc/qemu/hw/display/cg3.c
/openbmc/qemu/hw/display/cirrus_vga.c
/openbmc/qemu/hw/display/dpcd.c
/openbmc/qemu/hw/display/exynos4210_fimd.c
/openbmc/qemu/hw/display/omap_dss.c
/openbmc/qemu/hw/display/pxa2xx_lcd.c
/openbmc/qemu/hw/display/sm501.c
/openbmc/qemu/hw/display/trace-events
/openbmc/qemu/hw/display/vmware_vga.c
/openbmc/qemu/hw/display/xlnx_dp.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/input/pxa2xx_keypad.c
/openbmc/qemu/hw/isa/vt82c686.c
/openbmc/qemu/hw/m68k/mcf5206.c
/openbmc/qemu/hw/m68k/mcf5208.c
/openbmc/qemu/hw/m68k/mcf_intc.c
/openbmc/qemu/hw/mem/nvdimm.c
/openbmc/qemu/hw/mips/Kconfig
/openbmc/qemu/hw/mips/Makefile.objs
/openbmc/qemu/hw/mips/boston.c
/openbmc/qemu/hw/mips/fuloong2e.c
/openbmc/qemu/hw/mips/jazz.c
/openbmc/qemu/hw/mips/malta.c
/openbmc/qemu/hw/mips/mips_int.c
/openbmc/qemu/hw/mips/mipssim.c
/openbmc/qemu/hw/mips/r4k.c
/openbmc/qemu/hw/misc/Makefile.objs
/openbmc/qemu/hw/misc/bcm2835_mphi.c
/openbmc/qemu/hw/net/mcf_fec.c
/openbmc/qemu/hw/nvram/mac_nvram.c
/openbmc/qemu/hw/nvram/trace-events
/openbmc/qemu/hw/pci-bridge/dec.c
/openbmc/qemu/hw/pci-host/Kconfig
/openbmc/qemu/hw/pci-host/Makefile.objs
/openbmc/qemu/hw/pci-host/bonito.c
/openbmc/qemu/hw/pci/msix.c
/openbmc/qemu/hw/ppc/pnv.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_cpu_core.c
/openbmc/qemu/hw/riscv/Kconfig
/openbmc/qemu/hw/riscv/Makefile.objs
/openbmc/qemu/hw/riscv/boot.c
/openbmc/qemu/hw/riscv/opentitan.c
/openbmc/qemu/hw/riscv/sifive_e.c
/openbmc/qemu/hw/riscv/sifive_u.c
/openbmc/qemu/hw/riscv/spike.c
/openbmc/qemu/hw/riscv/virt.c
/openbmc/qemu/hw/rtc/mc146818rtc.c
/openbmc/qemu/hw/s390x/pv.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/sd/pxa2xx_mmci.c
/openbmc/qemu/hw/sd/sd.c
/openbmc/qemu/hw/ssi/imx_spi.c
/openbmc/qemu/hw/usb/Kconfig
/openbmc/qemu/hw/usb/Makefile.objs
/openbmc/qemu/hw/usb/dev-mtp.c
/openbmc/qemu/hw/usb/dev-storage.c
/openbmc/qemu/hw/usb/hcd-dwc2.c
/openbmc/qemu/hw/usb/hcd-dwc2.h
/openbmc/qemu/hw/usb/trace-events
/openbmc/qemu/hw/usb/xen-usb.c
/openbmc/qemu/hw/vfio/ccw.c
/openbmc/qemu/hw/vfio/pci-quirks.c
/openbmc/qemu/hw/virtio/virtio-balloon.c
/openbmc/qemu/include/block/dirty-bitmap.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/exec/ram_addr.h
/openbmc/qemu/include/hw/acpi/aml-build.h
/openbmc/qemu/include/hw/arm/bcm2835_peripherals.h
/openbmc/qemu/include/hw/display/edid.h
/openbmc/qemu/include/hw/mem/nvdimm.h
/openbmc/qemu/include/hw/misc/bcm2835_mphi.h
/openbmc/qemu/include/hw/ppc/spapr.h
/openbmc/qemu/include/hw/registerfields.h
/openbmc/qemu/include/hw/riscv/boot.h
/openbmc/qemu/include/hw/riscv/opentitan.h
/openbmc/qemu/include/hw/riscv/sifive_e.h
/openbmc/qemu/include/hw/riscv/spike.h
/openbmc/qemu/include/hw/s390x/pv.h
/openbmc/qemu/include/hw/usb/dwc2-regs.h
/openbmc/qemu/include/hw/virtio/virtio-balloon.h
/openbmc/qemu/include/migration/vmstate.h
/openbmc/qemu/include/monitor/hmp.h
/openbmc/qemu/include/sysemu/sysemu.h
/openbmc/qemu/include/sysemu/tpm.h
/openbmc/qemu/include/tcg/tcg-op-gvec.h
/openbmc/qemu/include/tcg/tcg-op.h
/openbmc/qemu/include/tcg/tcg-opc.h
/openbmc/qemu/include/tcg/tcg.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/ppc/cpu_loop.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/memory.c
/openbmc/qemu/migration/block-dirty-bitmap.c
/openbmc/qemu/migration/colo.c
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/migration.h
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/ram.h
/openbmc/qemu/migration/rdma.c
/openbmc/qemu/python/qemu/.flake8
/openbmc/qemu/python/qemu/accel.py
/openbmc/qemu/python/qemu/machine.py
/openbmc/qemu/python/qemu/pylintrc
/openbmc/qemu/python/qemu/qmp.py
/openbmc/qemu/python/qemu/qtest.py
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qemu-img-cmds.hx
/openbmc/qemu/qemu-img.c
/openbmc/qemu/qemu-nbd.c
/openbmc/qemu/qom/qom-hmp-cmds.c
/openbmc/qemu/scripts/analyze-migration.py
/openbmc/qemu/scripts/decodetree.py
/openbmc/qemu/scripts/kvm/vmxcap
/openbmc/qemu/scripts/modules/module_block.py
/openbmc/qemu/scripts/qemu-gdb.py
/openbmc/qemu/scripts/qemugdb/__init__.py
/openbmc/qemu/scripts/qemugdb/aio.py
/openbmc/qemu/scripts/qemugdb/coroutine.py
/openbmc/qemu/scripts/qemugdb/mtree.py
/openbmc/qemu/scripts/qemugdb/tcg.py
/openbmc/qemu/scripts/qemugdb/timers.py
/openbmc/qemu/scripts/qmp/qmp
/openbmc/qemu/scripts/qmp/qmp-shell
/openbmc/qemu/scripts/qmp/qom-fuse
/openbmc/qemu/scripts/qmp/qom-get
/openbmc/qemu/scripts/qmp/qom-list
/openbmc/qemu/scripts/qmp/qom-set
/openbmc/qemu/scripts/qmp/qom-tree
/openbmc/qemu/scsi/qemu-pr-helper.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/stubs/Makefile.objs
/openbmc/qemu/target/arm/crypto_helper.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/helper.h
/openbmc/qemu/target/arm/neon-dp.decode
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/arm/translate-a64.h
/openbmc/qemu/target/arm/translate-neon.inc.c
/openbmc/qemu/target/arm/translate.c
/openbmc/qemu/target/arm/vec_helper.c
/openbmc/qemu/target/arm/vec_internal.h
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/m68k/fpu_helper.c
/openbmc/qemu/target/m68k/helper.h
/openbmc/qemu/target/m68k/translate.c
/openbmc/qemu/target/mips/cpu-param.h
/openbmc/qemu/target/mips/kvm.c
/openbmc/qemu/target/mips/machine.c
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/excp_helper.c
/openbmc/qemu/target/ppc/helper.h
/openbmc/qemu/target/ppc/int_helper.c
/openbmc/qemu/target/ppc/mmu-radix64.c
/openbmc/qemu/target/ppc/mmu-radix64.h
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/ppc/translate/vmx-impl.inc.c
/openbmc/qemu/target/ppc/translate_init.inc.c
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/cpu_helper.c
/openbmc/qemu/target/riscv/csr.c
/openbmc/qemu/target/riscv/insn_trans/trans_privileged.inc.c
/openbmc/qemu/target/riscv/monitor.c
/openbmc/qemu/target/riscv/op_helper.c
/openbmc/qemu/target/s390x/cpu_models.c
/openbmc/qemu/target/s390x/helper.c
/openbmc/qemu/target/s390x/helper.h
/openbmc/qemu/target/s390x/insn-data.def
/openbmc/qemu/target/s390x/internal.h
/openbmc/qemu/target/s390x/kvm.c
/openbmc/qemu/target/s390x/translate_vx.inc.c
/openbmc/qemu/target/s390x/vec_int_helper.c
/openbmc/qemu/target/tricore/Makefile.objs
/openbmc/qemu/target/tricore/cpu.c
/openbmc/qemu/target/tricore/cpu.h
/openbmc/qemu/target/tricore/gdbstub.c
/openbmc/qemu/target/tricore/helper.c
/openbmc/qemu/target/tricore/translate.c
/openbmc/qemu/tcg/README
/openbmc/qemu/tcg/aarch64/tcg-target.h
/openbmc/qemu/tcg/aarch64/tcg-target.inc.c
/openbmc/qemu/tcg/aarch64/tcg-target.opc.h
/openbmc/qemu/tcg/i386/tcg-target.h
/openbmc/qemu/tcg/i386/tcg-target.inc.c
/openbmc/qemu/tcg/ppc/tcg-target.h
/openbmc/qemu/tcg/ppc/tcg-target.inc.c
/openbmc/qemu/tcg/ppc/tcg-target.opc.h
/openbmc/qemu/tcg/tcg-op-gvec.c
/openbmc/qemu/tcg/tcg-op-vec.c
/openbmc/qemu/tcg/tcg.c
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/acceptance/avocado_qemu/__init__.py
/openbmc/qemu/tests/acceptance/boot_linux.py
/openbmc/qemu/tests/acceptance/boot_linux_console.py
/openbmc/qemu/tests/acceptance/migration.py
/openbmc/qemu/tests/data/acpi/pc/DSDT
/openbmc/qemu/tests/data/acpi/pc/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/pc/DSDT.bridge
/openbmc/qemu/tests/data/acpi/pc/DSDT.cphp
/openbmc/qemu/tests/data/acpi/pc/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/pc/DSDT.ipmikcs
/openbmc/qemu/tests/data/acpi/pc/DSDT.memhp
/openbmc/qemu/tests/data/acpi/pc/DSDT.numamem
/openbmc/qemu/tests/data/acpi/pc/SRAT.dimmpxm
/openbmc/qemu/tests/data/acpi/q35/DSDT
/openbmc/qemu/tests/data/acpi/q35/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/q35/DSDT.bridge
/openbmc/qemu/tests/data/acpi/q35/DSDT.cphp
/openbmc/qemu/tests/data/acpi/q35/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/q35/DSDT.ipmibt
/openbmc/qemu/tests/data/acpi/q35/DSDT.memhp
/openbmc/qemu/tests/data/acpi/q35/DSDT.mmio64
/openbmc/qemu/tests/data/acpi/q35/DSDT.numamem
/openbmc/qemu/tests/data/acpi/q35/DSDT.tis
/openbmc/qemu/tests/data/acpi/q35/SRAT.dimmpxm
/openbmc/qemu/tests/data/acpi/q35/TPM2.tis
/openbmc/qemu/tests/data/acpi/virt/SRAT.memhp
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/docker.py
/openbmc/qemu/tests/docker/dockerfiles/debian-arm64-test-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian11.docker
/openbmc/qemu/tests/migration/guestperf-batch.py
/openbmc/qemu/tests/migration/guestperf-plot.py
/openbmc/qemu/tests/migration/guestperf.py
/openbmc/qemu/tests/qemu-iotests/178.out.qcow2
/openbmc/qemu/tests/qemu-iotests/178.out.raw
/openbmc/qemu/tests/qemu-iotests/190
/openbmc/qemu/tests/qemu-iotests/190.out
/openbmc/qemu/tests/qemu-iotests/194
/openbmc/qemu/tests/qemu-iotests/194.out
/openbmc/qemu/tests/qemu-iotests/291
/openbmc/qemu/tests/qemu-iotests/291.out
/openbmc/qemu/tests/qemu-iotests/group
/openbmc/qemu/tests/qemu-iotests/nbd-fault-injector.py
/openbmc/qemu/tests/qtest/Makefile.include
/openbmc/qemu/tests/qtest/bios-tables-test.c
/openbmc/qemu/tests/qtest/endianness-test.c
/openbmc/qemu/tests/qtest/fuzz/fork_fuzz.ld
/openbmc/qemu/tests/qtest/fuzz/fuzz.c
/openbmc/qemu/tests/qtest/fuzz/i440fx_fuzz.c
/openbmc/qemu/tests/qtest/fuzz/virtio_net_fuzz.c
/openbmc/qemu/tests/qtest/fuzz/virtio_scsi_fuzz.c
/openbmc/qemu/tests/qtest/machine-none-test.c
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/test-hmp.c
/openbmc/qemu/tests/qtest/tpm-emu.c
/openbmc/qemu/tests/qtest/tpm-emu.h
/openbmc/qemu/tests/tcg/aarch64/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/configure.sh
/openbmc/qemu/tests/tcg/multiarch/Makefile.target
/openbmc/qemu/tests/tcg/multiarch/gdbstub/sha1.py
/openbmc/qemu/tests/tcg/multiarch/threadcount.c
/openbmc/qemu/tests/vm/Makefile.include
/openbmc/qemu/tests/vm/basevm.py
/openbmc/qemu/tools/virtiofsd/passthrough_ll.c
6007523a24-Jun-2019 Philippe Mathieu-Daudé <f4bug@amsat.org>

hw/misc/empty_slot: Move the 'hw/misc' and cover in MAINTAINERS

Add an entry for the 'empty_slot' device.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Artyom Tarasenko <atar4qe

hw/misc/empty_slot: Move the 'hw/misc' and cover in MAINTAINERS

Add an entry for the 'empty_slot' device.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Artyom Tarasenko <atar4qemu@gmail.com>
Message-Id: <20200510152840.13558-7-f4bug@amsat.org>

show more ...

c0e4308424-Jun-2019 Philippe Mathieu-Daudé <f4bug@amsat.org>

hw/misc/empty_slot: Convert debug printf() to trace event

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Artyom Tarasenko <atar4qemu@gmail.com>
Message-Id: <20200510152840.13558-6

hw/misc/empty_slot: Convert debug printf() to trace event

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Artyom Tarasenko <atar4qemu@gmail.com>
Message-Id: <20200510152840.13558-6-f4bug@amsat.org>

show more ...

07ddf5cb24-Jun-2019 Philippe Mathieu-Daudé <f4bug@amsat.org>

hw/misc/empty_slot: Add a 'name' qdev property

Add a 'name' qdev property so when multiple slots are
accessed, we can notice which one is accessed.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsa

hw/misc/empty_slot: Add a 'name' qdev property

Add a 'name' qdev property so when multiple slots are
accessed, we can notice which one is accessed.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Artyom Tarasenko <atar4qemu@gmail.com>
Message-Id: <20200510152840.13558-5-f4bug@amsat.org>

show more ...

4bbadef024-Jun-2019 Philippe Mathieu-Daudé <f4bug@amsat.org>

hw/misc/empty_slot: Convert 'size' field as qdev property

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Artyom Tarasenko <atar4qemu@gmail.com>
Message-Id: <20200510152840.13558-4

hw/misc/empty_slot: Convert 'size' field as qdev property

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Artyom Tarasenko <atar4qemu@gmail.com>
Message-Id: <20200510152840.13558-4-f4bug@amsat.org>

show more ...

6c33949324-Jun-2019 Philippe Mathieu-Daudé <f4bug@amsat.org>

hw/misc/empty_slot: Lower address space priority

Empty slots model RAZ/WI access on a bus. Since we can still
(hot) plug devices on the bus, lower the slot priority, so
device added later is accesse

hw/misc/empty_slot: Lower address space priority

Empty slots model RAZ/WI access on a bus. Since we can still
(hot) plug devices on the bus, lower the slot priority, so
device added later is accessed first.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Artyom Tarasenko <atar4qemu@gmail.com>
Message-Id: <20200510152840.13558-3-f4bug@amsat.org>

show more ...


/openbmc/qemu/.gitlab-ci.d/edk2.yml
/openbmc/qemu/.gitlab-ci.d/opensbi.yml
/openbmc/qemu/.gitlab-ci.yml
/openbmc/qemu/.mailmap
/openbmc/qemu/.travis.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/tcg/tcg-runtime-gvec.c
/openbmc/qemu/accel/tcg/tcg-runtime.h
/openbmc/qemu/accel/tcg/user-exec.c
/openbmc/qemu/backends/hostmem.c
/openbmc/qemu/block/crypto.c
/openbmc/qemu/block/dirty-bitmap.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/io_uring.c
/openbmc/qemu/block/qcow2-bitmap.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/qcow2.h
/openbmc/qemu/block/raw-format.c
/openbmc/qemu/chardev/char-socket.c
/openbmc/qemu/configure
/openbmc/qemu/cpus-common.c
/openbmc/qemu/default-configs/mips64el-softmmu.mak
/openbmc/qemu/default-configs/riscv32-softmmu.mak
/openbmc/qemu/default-configs/riscv64-softmmu.mak
/openbmc/qemu/docs/system/arm/aspeed.rst
/openbmc/qemu/docs/system/deprecated.rst
/openbmc/qemu/docs/system/s390x/3270.rst
/openbmc/qemu/docs/system/s390x/css.rst
/openbmc/qemu/docs/system/s390x/vfio-ccw.rst
/openbmc/qemu/docs/system/target-arm.rst
/openbmc/qemu/docs/system/target-mips.rst
/openbmc/qemu/docs/system/target-s390x.rst
/openbmc/qemu/docs/tools/qemu-img.rst
/openbmc/qemu/exec.c
/openbmc/qemu/hmp-commands.hx
/openbmc/qemu/hw/adc/stm32f2xx_adc.c
/openbmc/qemu/hw/arm/bcm2835_peripherals.c
/openbmc/qemu/hw/arm/pxa2xx.c
/openbmc/qemu/hw/arm/sabrelite.c
/openbmc/qemu/hw/block/Makefile.objs
/openbmc/qemu/hw/block/nvme.c
empty_slot.c
/openbmc/qemu/hw/display/ati.c
/openbmc/qemu/hw/display/cg3.c
/openbmc/qemu/hw/display/cirrus_vga.c
/openbmc/qemu/hw/display/dpcd.c
/openbmc/qemu/hw/display/exynos4210_fimd.c
/openbmc/qemu/hw/display/omap_dss.c
/openbmc/qemu/hw/display/pxa2xx_lcd.c
/openbmc/qemu/hw/display/sm501.c
/openbmc/qemu/hw/display/trace-events
/openbmc/qemu/hw/display/vmware_vga.c
/openbmc/qemu/hw/display/xlnx_dp.c
/openbmc/qemu/hw/input/pxa2xx_keypad.c
/openbmc/qemu/hw/isa/vt82c686.c
/openbmc/qemu/hw/m68k/mcf5206.c
/openbmc/qemu/hw/m68k/mcf5208.c
/openbmc/qemu/hw/m68k/mcf_intc.c
/openbmc/qemu/hw/mem/nvdimm.c
/openbmc/qemu/hw/mips/Kconfig
/openbmc/qemu/hw/mips/Makefile.objs
/openbmc/qemu/hw/mips/boston.c
/openbmc/qemu/hw/mips/fuloong2e.c
/openbmc/qemu/hw/mips/jazz.c
/openbmc/qemu/hw/mips/malta.c
/openbmc/qemu/hw/mips/mips_int.c
/openbmc/qemu/hw/mips/mipssim.c
/openbmc/qemu/hw/mips/r4k.c
/openbmc/qemu/hw/misc/Makefile.objs
/openbmc/qemu/hw/misc/bcm2835_mphi.c
/openbmc/qemu/hw/net/mcf_fec.c
/openbmc/qemu/hw/nvram/mac_nvram.c
/openbmc/qemu/hw/nvram/trace-events
/openbmc/qemu/hw/pci-bridge/dec.c
/openbmc/qemu/hw/pci-host/Kconfig
/openbmc/qemu/hw/pci-host/Makefile.objs
/openbmc/qemu/hw/pci-host/bonito.c
/openbmc/qemu/hw/ppc/pnv.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_cpu_core.c
/openbmc/qemu/hw/riscv/Kconfig
/openbmc/qemu/hw/riscv/Makefile.objs
/openbmc/qemu/hw/riscv/boot.c
/openbmc/qemu/hw/riscv/opentitan.c
/openbmc/qemu/hw/riscv/sifive_e.c
/openbmc/qemu/hw/riscv/sifive_u.c
/openbmc/qemu/hw/riscv/spike.c
/openbmc/qemu/hw/riscv/virt.c
/openbmc/qemu/hw/s390x/pv.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/sd/pxa2xx_mmci.c
/openbmc/qemu/hw/sd/sd.c
/openbmc/qemu/hw/sparc/Kconfig
/openbmc/qemu/hw/sparc/sun4m.c
/openbmc/qemu/hw/ssi/imx_spi.c
/openbmc/qemu/hw/usb/Kconfig
/openbmc/qemu/hw/usb/Makefile.objs
/openbmc/qemu/hw/usb/dev-mtp.c
/openbmc/qemu/hw/usb/dev-storage.c
/openbmc/qemu/hw/usb/hcd-dwc2.c
/openbmc/qemu/hw/usb/hcd-dwc2.h
/openbmc/qemu/hw/usb/trace-events
/openbmc/qemu/hw/usb/xen-usb.c
/openbmc/qemu/hw/vfio/ccw.c
/openbmc/qemu/hw/vfio/pci-quirks.c
/openbmc/qemu/include/block/dirty-bitmap.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/exec/ram_addr.h
/openbmc/qemu/include/hw/arm/bcm2835_peripherals.h
/openbmc/qemu/include/hw/display/edid.h
/openbmc/qemu/include/hw/misc/bcm2835_mphi.h
/openbmc/qemu/include/hw/ppc/spapr.h
/openbmc/qemu/include/hw/registerfields.h
/openbmc/qemu/include/hw/riscv/boot.h
/openbmc/qemu/include/hw/riscv/opentitan.h
/openbmc/qemu/include/hw/riscv/sifive_e.h
/openbmc/qemu/include/hw/riscv/spike.h
/openbmc/qemu/include/hw/s390x/pv.h
/openbmc/qemu/include/hw/usb/dwc2-regs.h
/openbmc/qemu/include/migration/vmstate.h
/openbmc/qemu/include/monitor/hmp.h
/openbmc/qemu/include/sysemu/sysemu.h
/openbmc/qemu/include/tcg/tcg-op-gvec.h
/openbmc/qemu/include/tcg/tcg-op.h
/openbmc/qemu/include/tcg/tcg-opc.h
/openbmc/qemu/include/tcg/tcg.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/ppc/cpu_loop.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/memory.c
/openbmc/qemu/migration/block-dirty-bitmap.c
/openbmc/qemu/migration/colo.c
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/migration.h
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/ram.h
/openbmc/qemu/migration/rdma.c
/openbmc/qemu/python/qemu/.flake8
/openbmc/qemu/python/qemu/accel.py
/openbmc/qemu/python/qemu/machine.py
/openbmc/qemu/python/qemu/pylintrc
/openbmc/qemu/python/qemu/qmp.py
/openbmc/qemu/python/qemu/qtest.py
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qemu-img-cmds.hx
/openbmc/qemu/qemu-img.c
/openbmc/qemu/qemu-nbd.c
/openbmc/qemu/qom/qom-hmp-cmds.c
/openbmc/qemu/scripts/analyze-migration.py
/openbmc/qemu/scripts/decodetree.py
/openbmc/qemu/scripts/kvm/vmxcap
/openbmc/qemu/scripts/modules/module_block.py
/openbmc/qemu/scripts/qemu-gdb.py
/openbmc/qemu/scripts/qemugdb/__init__.py
/openbmc/qemu/scripts/qemugdb/aio.py
/openbmc/qemu/scripts/qemugdb/coroutine.py
/openbmc/qemu/scripts/qemugdb/mtree.py
/openbmc/qemu/scripts/qemugdb/tcg.py
/openbmc/qemu/scripts/qemugdb/timers.py
/openbmc/qemu/scripts/qmp/qmp
/openbmc/qemu/scripts/qmp/qmp-shell
/openbmc/qemu/scripts/qmp/qom-fuse
/openbmc/qemu/scripts/qmp/qom-get
/openbmc/qemu/scripts/qmp/qom-list
/openbmc/qemu/scripts/qmp/qom-set
/openbmc/qemu/scripts/qmp/qom-tree
/openbmc/qemu/scsi/qemu-pr-helper.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/stubs/Makefile.objs
/openbmc/qemu/target/arm/crypto_helper.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/helper.h
/openbmc/qemu/target/arm/neon-dp.decode
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/arm/translate-a64.h
/openbmc/qemu/target/arm/translate-neon.inc.c
/openbmc/qemu/target/arm/translate.c
/openbmc/qemu/target/arm/vec_helper.c
/openbmc/qemu/target/arm/vec_internal.h
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/m68k/fpu_helper.c
/openbmc/qemu/target/m68k/helper.h
/openbmc/qemu/target/m68k/translate.c
/openbmc/qemu/target/mips/cpu-param.h
/openbmc/qemu/target/mips/kvm.c
/openbmc/qemu/target/mips/machine.c
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/excp_helper.c
/openbmc/qemu/target/ppc/helper.h
/openbmc/qemu/target/ppc/int_helper.c
/openbmc/qemu/target/ppc/mmu-radix64.c
/openbmc/qemu/target/ppc/mmu-radix64.h
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/ppc/translate/vmx-impl.inc.c
/openbmc/qemu/target/ppc/translate_init.inc.c
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/cpu_helper.c
/openbmc/qemu/target/riscv/csr.c
/openbmc/qemu/target/riscv/insn_trans/trans_privileged.inc.c
/openbmc/qemu/target/riscv/monitor.c
/openbmc/qemu/target/riscv/op_helper.c
/openbmc/qemu/target/s390x/cpu_models.c
/openbmc/qemu/target/s390x/helper.c
/openbmc/qemu/target/s390x/helper.h
/openbmc/qemu/target/s390x/insn-data.def
/openbmc/qemu/target/s390x/internal.h
/openbmc/qemu/target/s390x/kvm.c
/openbmc/qemu/target/s390x/translate_vx.inc.c
/openbmc/qemu/target/s390x/vec_int_helper.c
/openbmc/qemu/target/tricore/Makefile.objs
/openbmc/qemu/target/tricore/cpu.c
/openbmc/qemu/target/tricore/cpu.h
/openbmc/qemu/target/tricore/gdbstub.c
/openbmc/qemu/target/tricore/helper.c
/openbmc/qemu/target/tricore/translate.c
/openbmc/qemu/tcg/README
/openbmc/qemu/tcg/aarch64/tcg-target.h
/openbmc/qemu/tcg/aarch64/tcg-target.inc.c
/openbmc/qemu/tcg/aarch64/tcg-target.opc.h
/openbmc/qemu/tcg/i386/tcg-target.h
/openbmc/qemu/tcg/i386/tcg-target.inc.c
/openbmc/qemu/tcg/ppc/tcg-target.h
/openbmc/qemu/tcg/ppc/tcg-target.inc.c
/openbmc/qemu/tcg/ppc/tcg-target.opc.h
/openbmc/qemu/tcg/tcg-op-gvec.c
/openbmc/qemu/tcg/tcg-op-vec.c
/openbmc/qemu/tcg/tcg.c
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/acceptance/avocado_qemu/__init__.py
/openbmc/qemu/tests/acceptance/boot_linux.py
/openbmc/qemu/tests/acceptance/boot_linux_console.py
/openbmc/qemu/tests/acceptance/migration.py
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/docker.py
/openbmc/qemu/tests/docker/dockerfiles/debian-arm64-test-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian11.docker
/openbmc/qemu/tests/migration/guestperf-batch.py
/openbmc/qemu/tests/migration/guestperf-plot.py
/openbmc/qemu/tests/migration/guestperf.py
/openbmc/qemu/tests/qemu-iotests/178.out.qcow2
/openbmc/qemu/tests/qemu-iotests/178.out.raw
/openbmc/qemu/tests/qemu-iotests/190
/openbmc/qemu/tests/qemu-iotests/190.out
/openbmc/qemu/tests/qemu-iotests/194
/openbmc/qemu/tests/qemu-iotests/194.out
/openbmc/qemu/tests/qemu-iotests/291
/openbmc/qemu/tests/qemu-iotests/291.out
/openbmc/qemu/tests/qemu-iotests/group
/openbmc/qemu/tests/qemu-iotests/nbd-fault-injector.py
/openbmc/qemu/tests/qtest/endianness-test.c
/openbmc/qemu/tests/qtest/fuzz/fork_fuzz.ld
/openbmc/qemu/tests/qtest/fuzz/fuzz.c
/openbmc/qemu/tests/qtest/fuzz/i440fx_fuzz.c
/openbmc/qemu/tests/qtest/fuzz/virtio_net_fuzz.c
/openbmc/qemu/tests/qtest/fuzz/virtio_scsi_fuzz.c
/openbmc/qemu/tests/qtest/machine-none-test.c
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/test-hmp.c
/openbmc/qemu/tests/tcg/aarch64/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/configure.sh
/openbmc/qemu/tests/tcg/multiarch/Makefile.target
/openbmc/qemu/tests/tcg/multiarch/gdbstub/sha1.py
/openbmc/qemu/tests/tcg/multiarch/threadcount.c
/openbmc/qemu/tests/vm/Makefile.include
/openbmc/qemu/tests/vm/basevm.py
/openbmc/qemu/tools/virtiofsd/passthrough_ll.c
cfe35d4822-May-2020 Philippe Mathieu-Daudé <philmd@redhat.com>

hw/core: Restrict CpuClass::get_crash_info() to system-mode

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Tested-by: Laurent Vivier <l

hw/core: Restrict CpuClass::get_crash_info() to system-mode

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Tested-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200522172510.25784-13-philmd@redhat.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>

show more ...


/openbmc/qemu/.travis.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/Makefile.objs
/openbmc/qemu/accel/tcg/trace-events
/openbmc/qemu/accel/tcg/translate-all.c
/openbmc/qemu/arch_init.c
/openbmc/qemu/audio/Makefile.objs
/openbmc/qemu/audio/audio.c
/openbmc/qemu/audio/audio.h
/openbmc/qemu/audio/audio_template.h
/openbmc/qemu/audio/jackaudio.c
/openbmc/qemu/audio/mixeng.c
/openbmc/qemu/audio/wavcapture.c
/openbmc/qemu/block.c
/openbmc/qemu/block/backup-top.c
/openbmc/qemu/block/blkdebug.c
/openbmc/qemu/block/blklogwrites.c
/openbmc/qemu/block/blkreplay.c
/openbmc/qemu/block/blkverify.c
/openbmc/qemu/block/block-backend.c
/openbmc/qemu/block/block-copy.c
/openbmc/qemu/block/bochs.c
/openbmc/qemu/block/cloop.c
/openbmc/qemu/block/commit.c
/openbmc/qemu/block/copy-on-read.c
/openbmc/qemu/block/crypto.c
/openbmc/qemu/block/dirty-bitmap.c
/openbmc/qemu/block/dmg.c
/openbmc/qemu/block/filter-compress.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/monitor/Makefile.objs
/openbmc/qemu/block/monitor/bitmap-qmp-cmds.c
/openbmc/qemu/block/parallels.c
/openbmc/qemu/block/qcow.c
/openbmc/qemu/block/qcow2-bitmap.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/qcow2.h
/openbmc/qemu/block/qed.c
/openbmc/qemu/block/quorum.c
/openbmc/qemu/block/raw-format.c
/openbmc/qemu/block/replication.c
/openbmc/qemu/block/throttle.c
/openbmc/qemu/block/vdi.c
/openbmc/qemu/block/vhdx.c
/openbmc/qemu/block/vmdk.c
/openbmc/qemu/block/vpc.c
/openbmc/qemu/block/vvfat.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/blockjob.c
/openbmc/qemu/bsd-user/main.c
/openbmc/qemu/chardev/char-socket.c
/openbmc/qemu/chardev/char.c
/openbmc/qemu/configure
/openbmc/qemu/disas.c
/openbmc/qemu/docs/system/arm/integratorcp.rst
/openbmc/qemu/docs/system/arm/mps2.rst
/openbmc/qemu/docs/system/arm/musca.rst
/openbmc/qemu/docs/system/arm/vexpress.rst
/openbmc/qemu/docs/system/target-arm.rst
/openbmc/qemu/docs/tools/qemu-img.rst
/openbmc/qemu/exec.c
/openbmc/qemu/fpu/softfloat-specialize.inc.c
/openbmc/qemu/fpu/softfloat.c
/openbmc/qemu/hw/9pfs/9p.c
/openbmc/qemu/hw/9pfs/9p.h
/openbmc/qemu/hw/9pfs/virtio-9p-device.c
/openbmc/qemu/hw/9pfs/xen-9p-backend.c
/openbmc/qemu/hw/arm/Kconfig
/openbmc/qemu/hw/arm/fsl-imx25.c
/openbmc/qemu/hw/arm/fsl-imx31.c
/openbmc/qemu/hw/arm/fsl-imx6.c
/openbmc/qemu/hw/arm/fsl-imx6ul.c
/openbmc/qemu/hw/arm/fsl-imx7.c
/openbmc/qemu/hw/arm/integratorcp.c
/openbmc/qemu/hw/arm/pxa2xx_gpio.c
/openbmc/qemu/hw/arm/sbsa-ref.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/audio/es1370.c
/openbmc/qemu/hw/audio/gus.c
/openbmc/qemu/hw/block/pflash_cfi01.c
/openbmc/qemu/hw/block/pflash_cfi02.c
/openbmc/qemu/hw/char/xilinx_uartlite.c
cpu.c
/openbmc/qemu/hw/display/artist.c
/openbmc/qemu/hw/display/ati.c
/openbmc/qemu/hw/display/cg3.c
/openbmc/qemu/hw/display/next-fb.c
/openbmc/qemu/hw/display/pxa2xx_lcd.c
/openbmc/qemu/hw/display/ramfb-standalone.c
/openbmc/qemu/hw/display/ramfb.c
/openbmc/qemu/hw/display/sm501.c
/openbmc/qemu/hw/display/tcx.c
/openbmc/qemu/hw/display/vga-isa.c
/openbmc/qemu/hw/dma/pxa2xx_dma.c
/openbmc/qemu/hw/gpio/pl061.c
/openbmc/qemu/hw/i2c/imx_i2c.c
/openbmc/qemu/hw/i2c/mpc_i2c.c
/openbmc/qemu/hw/i386/pc_sysfw.c
/openbmc/qemu/hw/ide/ahci.c
/openbmc/qemu/hw/ide/piix.c
/openbmc/qemu/hw/mips/mips_fulong2e.c
/openbmc/qemu/hw/misc/Makefile.objs
/openbmc/qemu/hw/misc/macio/pmu.c
/openbmc/qemu/hw/net/ftgmac100.c
/openbmc/qemu/hw/net/imx_fec.c
/openbmc/qemu/hw/nubus/nubus-device.c
/openbmc/qemu/hw/pci-host/bonito.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/riscv/virt.c
/openbmc/qemu/hw/sh4/sh_pci.c
/openbmc/qemu/hw/timer/exynos4210_mct.c
/openbmc/qemu/hw/vfio/display.c
/openbmc/qemu/hw/watchdog/Kconfig
/openbmc/qemu/hw/watchdog/Makefile.objs
/openbmc/qemu/hw/watchdog/wdt_imx2.c
/openbmc/qemu/hw/xen/xen-legacy-backend.c
/openbmc/qemu/include/block/aio.h
/openbmc/qemu/include/block/block.h
/openbmc/qemu/include/block/block_int.h
/openbmc/qemu/include/block/dirty-bitmap.h
/openbmc/qemu/include/disas/disas.h
/openbmc/qemu/include/exec/cpu-all.h
/openbmc/qemu/include/exec/log.h
/openbmc/qemu/include/fpu/softfloat-helpers.h
/openbmc/qemu/include/fpu/softfloat-macros.h
/openbmc/qemu/include/fpu/softfloat-types.h
/openbmc/qemu/include/fpu/softfloat.h
/openbmc/qemu/include/hw/arm/fsl-imx25.h
/openbmc/qemu/include/hw/arm/fsl-imx31.h
/openbmc/qemu/include/hw/arm/fsl-imx6.h
/openbmc/qemu/include/hw/arm/fsl-imx6ul.h
/openbmc/qemu/include/hw/arm/fsl-imx7.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/display/ramfb.h
/openbmc/qemu/include/hw/watchdog/wdt_imx2.h
/openbmc/qemu/include/qemu/plugin.h
/openbmc/qemu/include/qemu/qemu-plugin.h
/openbmc/qemu/include/sysemu/block-backend.h
/openbmc/qemu/include/ui/win32-kbd-hook.h
/openbmc/qemu/linux-user/arm/cpu_loop.c
/openbmc/qemu/linux-user/arm/signal.c
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/flatload.c
/openbmc/qemu/linux-user/generic/fcntl.h
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/mmap.c
/openbmc/qemu/linux-user/qemu.h
/openbmc/qemu/linux-user/strace.list
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/pc-bios/openbios-ppc
/openbmc/qemu/pc-bios/openbios-sparc32
/openbmc/qemu/pc-bios/openbios-sparc64
/openbmc/qemu/plugins/api.c
/openbmc/qemu/qapi/audio.json
/openbmc/qemu/qapi/sockets.json
/openbmc/qemu/qemu-img-cmds.hx
/openbmc/qemu/qemu-img.c
/openbmc/qemu/qemu-nbd.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/roms/openbios
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/stubs/Makefile.objs
/openbmc/qemu/stubs/ramfb.c
/openbmc/qemu/stubs/win32-kbd-hook.c
/openbmc/qemu/target/alpha/cpu-param.h
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/sve_helper.c
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/arm/translate.c
/openbmc/qemu/target/arm/vfp_helper.c
/openbmc/qemu/target/hppa/op_helper.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/fpu_helper.c
/openbmc/qemu/target/i386/ops_sse.h
/openbmc/qemu/target/m68k/fpu_helper.c
/openbmc/qemu/target/m68k/softfloat.c
/openbmc/qemu/target/mips/msa_helper.c
/openbmc/qemu/target/openrisc/fpu_helper.c
/openbmc/qemu/target/ppc/int_helper.c
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/s390x/cpu.c
/openbmc/qemu/target/s390x/fpu_helper.c
/openbmc/qemu/target/s390x/vec_fpu_helper.c
/openbmc/qemu/target/sparc/fop_helper.c
/openbmc/qemu/target/unicore32/ucf64_helper.c
/openbmc/qemu/target/xtensa/fpu_helper.c
/openbmc/qemu/tcg/tcg.c
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/acceptance/machine_arm_canona1100.py
/openbmc/qemu/tests/fp/fp-test.c
/openbmc/qemu/tests/guest-debug/run-test.py
/openbmc/qemu/tests/qemu-iotests/030
/openbmc/qemu/tests/qemu-iotests/041
/openbmc/qemu/tests/qemu-iotests/041.out
/openbmc/qemu/tests/qemu-iotests/049.out
/openbmc/qemu/tests/qemu-iotests/098.out
/openbmc/qemu/tests/qemu-iotests/109
/openbmc/qemu/tests/qemu-iotests/109.out
/openbmc/qemu/tests/qemu-iotests/223
/openbmc/qemu/tests/qemu-iotests/223.out
/openbmc/qemu/tests/qemu-iotests/229
/openbmc/qemu/tests/qemu-iotests/229.out
/openbmc/qemu/tests/qemu-iotests/297
/openbmc/qemu/tests/qemu-iotests/297.out
/openbmc/qemu/tests/qemu-iotests/common.filter
/openbmc/qemu/tests/qemu-iotests/group
/openbmc/qemu/tests/qemu-iotests/iotests.py
/openbmc/qemu/tests/qtest/fuzz/Makefile.include
/openbmc/qemu/tests/qtest/fuzz/i440fx_fuzz.c
/openbmc/qemu/tests/tcg/i386/test-i386-pseudo-denormal.c
/openbmc/qemu/tests/tcg/i386/test-i386-snan-convert.c
/openbmc/qemu/tests/test-bdrv-drain.c
/openbmc/qemu/tests/test-bdrv-graph-mod.c
/openbmc/qemu/tests/test-block-iothread.c
/openbmc/qemu/tests/test-util-sockets.c
/openbmc/qemu/ui/Makefile.objs
/openbmc/qemu/ui/gtk.c
/openbmc/qemu/ui/sdl2-input.c
/openbmc/qemu/ui/sdl2.c
/openbmc/qemu/ui/trace-events
/openbmc/qemu/ui/vnc.c
/openbmc/qemu/ui/win32-kbd-hook.c
/openbmc/qemu/util/Makefile.objs
/openbmc/qemu/util/aio-posix.c
/openbmc/qemu/util/aio-win32.c
/openbmc/qemu/util/async.c
/openbmc/qemu/util/fdmon-io_uring.c
/openbmc/qemu/util/qemu-sockets.c
688ffbb412-May-2020 Philippe Mathieu-Daudé <f4bug@amsat.org>

various: Remove unnecessary OBJECT() cast

The OBJECT() macro is defined as:

#define OBJECT(obj) ((Object *)(obj))

Remove the unnecessary OBJECT() casts when we already know the
pointer is of Obj

various: Remove unnecessary OBJECT() cast

The OBJECT() macro is defined as:

#define OBJECT(obj) ((Object *)(obj))

Remove the unnecessary OBJECT() casts when we already know the
pointer is of Object type.

Patch created mechanically using spatch with this script:

@@
typedef Object;
Object *o;
@@
- OBJECT(o)
+ o

Acked-by: Cornelia Huck <cohuck@redhat.com>
Acked-by: Corey Minyard <cminyard@mvista.com>
Acked-by: John Snow <jsnow@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20200512070020.22782-3-f4bug@amsat.org>
[Trivial rebase conflict in hw/s390x/sclp.c resolved]

show more ...

df4fe0b205-May-2020 Markus Armbruster <armbru@redhat.com>

qom: Drop @errp parameter of object_property_del()

Same story as for object_property_add(): the only way
object_property_del() can fail is when the property with this name
does not exist. Since our

qom: Drop @errp parameter of object_property_del()

Same story as for object_property_add(): the only way
object_property_del() can fail is when the property with this name
does not exist. Since our property names are all hardcoded, failure
is a programming error, and the appropriate way to handle it is
passing &error_abort. Most callers do that, the commit before
previous fixed one that didn't (and got the error handling wrong), and
the two remaining exceptions ignore errors.

Drop the @errp parameter.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200505152926.18877-19-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

show more ...

b69c3c2105-May-2020 Markus Armbruster <armbru@redhat.com>

qdev: Unrealize must not fail

Devices may have component devices and buses.

Device realization may fail. Realization is recursive: a device's
realize() method realizes its components, and device_s

qdev: Unrealize must not fail

Devices may have component devices and buses.

Device realization may fail. Realization is recursive: a device's
realize() method realizes its components, and device_set_realized()
realizes its buses (which should in turn realize the devices on that
bus, except bus_set_realized() doesn't implement that, yet).

When realization of a component or bus fails, we need to roll back:
unrealize everything we realized so far. If any of these unrealizes
failed, the device would be left in an inconsistent state. Must not
happen.

device_set_realized() lets it happen: it ignores errors in the roll
back code starting at label child_realize_fail.

Since realization is recursive, unrealization must be recursive, too.
But how could a partly failed unrealize be rolled back? We'd have to
re-realize, which can fail. This design is fundamentally broken.

device_set_realized() does not roll back at all. Instead, it keeps
unrealizing, ignoring further errors.

It can screw up even for a device with no buses: if the lone
dc->unrealize() fails, it still unregisters vmstate, and calls
listeners' unrealize() callback.

bus_set_realized() does not roll back either. Instead, it stops
unrealizing.

Fortunately, no unrealize method can fail, as we'll see below.

To fix the design error, drop parameter @errp from all the unrealize
methods.

Any unrealize method that uses @errp now needs an update. This leads
us to unrealize() methods that can fail. Merely passing it to another
unrealize method cannot cause failure, though. Here are the ones that
do other things with @errp:

* virtio_serial_device_unrealize()

Fails when qbus_set_hotplug_handler() fails, but still does all the
other work. On failure, the device would stay realized with its
resources completely gone. Oops. Can't happen, because
qbus_set_hotplug_handler() can't actually fail here. Pass
&error_abort to qbus_set_hotplug_handler() instead.

* hw/ppc/spapr_drc.c's unrealize()

Fails when object_property_del() fails, but all the other work is
already done. On failure, the device would stay realized with its
vmstate registration gone. Oops. Can't happen, because
object_property_del() can't actually fail here. Pass &error_abort
to object_property_del() instead.

* spapr_phb_unrealize()

Fails and bails out when remove_drcs() fails, but other work is
already done. On failure, the device would stay realized with some
of its resources gone. Oops. remove_drcs() fails only when
chassis_from_bus()'s object_property_get_uint() fails, and it can't
here. Pass &error_abort to remove_drcs() instead.

Therefore, no unrealize method can fail before this patch.

device_set_realized()'s recursive unrealization via bus uses
object_property_set_bool(). Can't drop @errp there, so pass
&error_abort.

We similarly unrealize with object_property_set_bool() elsewhere,
always ignoring errors. Pass &error_abort instead.

Several unrealize methods no longer handle errors from other unrealize
methods: virtio_9p_device_unrealize(),
virtio_input_device_unrealize(), scsi_qdev_unrealize(), ...
Much of the deleted error handling looks wrong anyway.

One unrealize methods no longer ignore such errors:
usb_ehci_pci_exit().

Several realize methods no longer ignore errors when rolling back:
v9fs_device_realize_common(), pci_qdev_unrealize(),
spapr_phb_realize(), usb_qdev_realize(), vfio_ccw_realize(),
virtio_device_realize().

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200505152926.18877-17-armbru@redhat.com>

show more ...


/openbmc/qemu/hw/9pfs/9p.c
/openbmc/qemu/hw/9pfs/9p.h
/openbmc/qemu/hw/9pfs/virtio-9p-device.c
/openbmc/qemu/hw/acpi/pcihp.c
/openbmc/qemu/hw/audio/intel-hda.c
/openbmc/qemu/hw/block/pflash_cfi02.c
/openbmc/qemu/hw/block/vhost-user-blk.c
/openbmc/qemu/hw/block/virtio-blk.c
/openbmc/qemu/hw/block/xen-block.c
/openbmc/qemu/hw/char/serial-pci-multi.c
/openbmc/qemu/hw/char/serial-pci.c
/openbmc/qemu/hw/char/serial.c
/openbmc/qemu/hw/char/virtio-console.c
/openbmc/qemu/hw/char/virtio-serial-bus.c
bus.c
cpu.c
generic-loader.c
qdev.c
/openbmc/qemu/hw/display/virtio-gpu-base.c
/openbmc/qemu/hw/dma/rc4030.c
/openbmc/qemu/hw/i386/kvm/apic.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/ide/qdev.c
/openbmc/qemu/hw/input/virtio-input-hid.c
/openbmc/qemu/hw/input/virtio-input-host.c
/openbmc/qemu/hw/input/virtio-input.c
/openbmc/qemu/hw/intc/apic.c
/openbmc/qemu/hw/intc/apic_common.c
/openbmc/qemu/hw/intc/ioapic.c
/openbmc/qemu/hw/intc/xics.c
/openbmc/qemu/hw/ipack/ipack.c
/openbmc/qemu/hw/mem/pc-dimm.c
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/nvram/mac_nvram.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/pci/pcie.c
/openbmc/qemu/hw/pci/shpc.c
/openbmc/qemu/hw/ppc/pnv_core.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_cpu_core.c
/openbmc/qemu/hw/ppc/spapr_drc.c
/openbmc/qemu/hw/ppc/spapr_iommu.c
/openbmc/qemu/hw/ppc/spapr_pci.c
/openbmc/qemu/hw/ppc/spapr_tpm_proxy.c
/openbmc/qemu/hw/s390x/css-bridge.c
/openbmc/qemu/hw/s390x/s390-ccw.c
/openbmc/qemu/hw/s390x/s390-pci-bus.c
/openbmc/qemu/hw/s390x/virtio-ccw.c
/openbmc/qemu/hw/s390x/virtio-ccw.h
/openbmc/qemu/hw/scsi/lsi53c895a.c
/openbmc/qemu/hw/scsi/scsi-bus.c
/openbmc/qemu/hw/scsi/scsi-disk.c
/openbmc/qemu/hw/scsi/vhost-scsi.c
/openbmc/qemu/hw/scsi/vhost-user-scsi.c
/openbmc/qemu/hw/scsi/virtio-scsi.c
/openbmc/qemu/hw/sd/sdhci-internal.h
/openbmc/qemu/hw/sd/sdhci-pci.c
/openbmc/qemu/hw/sd/sdhci.c
/openbmc/qemu/hw/usb/bus.c
/openbmc/qemu/hw/usb/ccid-card-emulated.c
/openbmc/qemu/hw/usb/ccid.h
/openbmc/qemu/hw/usb/dev-audio.c
/openbmc/qemu/hw/usb/dev-hid.c
/openbmc/qemu/hw/usb/dev-hub.c
/openbmc/qemu/hw/usb/dev-network.c
/openbmc/qemu/hw/usb/dev-smartcard-reader.c
/openbmc/qemu/hw/usb/dev-uas.c
/openbmc/qemu/hw/usb/dev-wacom.c
/openbmc/qemu/hw/usb/hcd-ehci-pci.c
/openbmc/qemu/hw/usb/hcd-ehci.c
/openbmc/qemu/hw/usb/hcd-ehci.h
/openbmc/qemu/hw/usb/host-libusb.c
/openbmc/qemu/hw/usb/redirect.c
/openbmc/qemu/hw/vfio/ap.c
/openbmc/qemu/hw/vfio/ccw.c
/openbmc/qemu/hw/virtio/vhost-user-fs.c
/openbmc/qemu/hw/virtio/vhost-vsock.c
/openbmc/qemu/hw/virtio/virtio-balloon.c
/openbmc/qemu/hw/virtio/virtio-crypto.c
/openbmc/qemu/hw/virtio/virtio-iommu.c
/openbmc/qemu/hw/virtio/virtio-pmem.c
/openbmc/qemu/hw/virtio/virtio-rng.c
/openbmc/qemu/hw/virtio/virtio.c
/openbmc/qemu/hw/watchdog/wdt_diag288.c
/openbmc/qemu/hw/xen/xen-bus.c
/openbmc/qemu/include/hw/qdev-core.h
/openbmc/qemu/include/hw/s390x/s390-ccw.h
/openbmc/qemu/include/hw/scsi/scsi.h
/openbmc/qemu/include/hw/usb.h
/openbmc/qemu/include/hw/xen/xen-block.h
/openbmc/qemu/include/hw/xen/xen-bus.h
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/ppc/translate_init.inc.c
40c2281c05-May-2020 Markus Armbruster <armbru@redhat.com>

Drop more @errp parameters after previous commit

Several functions can't fail anymore: ich9_pm_add_properties(),
device_add_bootindex_property(), ppc_compat_add_property(),
spapr_caps_add_properties

Drop more @errp parameters after previous commit

Several functions can't fail anymore: ich9_pm_add_properties(),
device_add_bootindex_property(), ppc_compat_add_property(),
spapr_caps_add_properties(), PropertyInfo.create(). Drop their @errp
parameter.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200505152926.18877-16-armbru@redhat.com>

show more ...

d262312905-May-2020 Markus Armbruster <armbru@redhat.com>

qom: Drop parameter @errp of object_property_add() & friends

The only way object_property_add() can fail is when a property with
the same name already exists. Since our property names are all
hardc

qom: Drop parameter @errp of object_property_add() & friends

The only way object_property_add() can fail is when a property with
the same name already exists. Since our property names are all
hardcoded, failure is a programming error, and the appropriate way to
handle it is passing &error_abort.

Same for its variants, except for object_property_add_child(), which
additionally fails when the child already has a parent. Parentage is
also under program control, so this is a programming error, too.

We have a bit over 500 callers. Almost half of them pass
&error_abort, slightly fewer ignore errors, one test case handles
errors, and the remaining few callers pass them to their own callers.

The previous few commits demonstrated once again that ignoring
programming errors is a bad idea.

Of the few ones that pass on errors, several violate the Error API.
The Error ** argument must be NULL, &error_abort, &error_fatal, or a
pointer to a variable containing NULL. Passing an argument of the
latter kind twice without clearing it in between is wrong: if the
first call sets an error, it no longer points to NULL for the second
call. ich9_pm_add_properties(), sparc32_ledma_realize(),
sparc32_dma_realize(), xilinx_axidma_realize(), xilinx_enet_realize()
are wrong that way.

When the one appropriate choice of argument is &error_abort, letting
users pick the argument is a bad idea.

Drop parameter @errp and assert the preconditions instead.

There's one exception to "duplicate property name is a programming
error": the way object_property_add() implements the magic (and
undocumented) "automatic arrayification". Don't drop @errp there.
Instead, rename object_property_add() to object_property_try_add(),
and add the obvious wrapper object_property_add().

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200505152926.18877-15-armbru@redhat.com>
[Two semantic rebase conflicts resolved]

show more ...


/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/tcg/tcg-all.c
/openbmc/qemu/authz/list.c
/openbmc/qemu/authz/listfile.c
/openbmc/qemu/authz/pamacct.c
/openbmc/qemu/authz/simple.c
/openbmc/qemu/backends/cryptodev-vhost-user.c
/openbmc/qemu/backends/cryptodev.c
/openbmc/qemu/backends/dbus-vmstate.c
/openbmc/qemu/backends/hostmem-file.c
/openbmc/qemu/backends/hostmem-memfd.c
/openbmc/qemu/backends/hostmem.c
/openbmc/qemu/backends/rng-egd.c
/openbmc/qemu/backends/rng-random.c
/openbmc/qemu/backends/rng.c
/openbmc/qemu/backends/vhost-user.c
/openbmc/qemu/block/throttle-groups.c
/openbmc/qemu/bootdevice.c
/openbmc/qemu/chardev/char-socket.c
/openbmc/qemu/chardev/char.c
/openbmc/qemu/crypto/secret.c
/openbmc/qemu/crypto/tlscreds.c
/openbmc/qemu/crypto/tlscredsanon.c
/openbmc/qemu/crypto/tlscredspsk.c
/openbmc/qemu/crypto/tlscredsx509.c
/openbmc/qemu/hw/acpi/ich9.c
/openbmc/qemu/hw/acpi/pcihp.c
/openbmc/qemu/hw/acpi/piix4.c
/openbmc/qemu/hw/arm/allwinner-a10.c
/openbmc/qemu/hw/arm/allwinner-h3.c
/openbmc/qemu/hw/arm/armv7m.c
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_ast2600.c
/openbmc/qemu/hw/arm/aspeed_soc.c
/openbmc/qemu/hw/arm/bcm2835_peripherals.c
/openbmc/qemu/hw/arm/bcm2836.c
/openbmc/qemu/hw/arm/cubieboard.c
/openbmc/qemu/hw/arm/mcimx6ul-evk.c
/openbmc/qemu/hw/arm/mcimx7d-sabre.c
/openbmc/qemu/hw/arm/msf2-soc.c
/openbmc/qemu/hw/arm/nrf51_soc.c
/openbmc/qemu/hw/arm/orangepi.c
/openbmc/qemu/hw/arm/raspi.c
/openbmc/qemu/hw/arm/sabrelite.c
/openbmc/qemu/hw/arm/sbsa-ref.c
/openbmc/qemu/hw/arm/vexpress.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/arm/xilinx_zynq.c
/openbmc/qemu/hw/arm/xlnx-versal-virt.c
/openbmc/qemu/hw/arm/xlnx-versal.c
/openbmc/qemu/hw/arm/xlnx-zcu102.c
/openbmc/qemu/hw/arm/xlnx-zynqmp.c
/openbmc/qemu/hw/audio/marvell_88w8618.c
/openbmc/qemu/hw/audio/pcspk.c
bus.c
machine.c
qdev-clock.c
qdev-properties.c
qdev.c
/openbmc/qemu/hw/cpu/core.c
/openbmc/qemu/hw/display/bochs-display.c
/openbmc/qemu/hw/display/sm501.c
/openbmc/qemu/hw/display/vga-pci.c
/openbmc/qemu/hw/display/vhost-user-gpu-pci.c
/openbmc/qemu/hw/display/vhost-user-gpu.c
/openbmc/qemu/hw/display/vhost-user-vga.c
/openbmc/qemu/hw/display/xlnx_dp.c
/openbmc/qemu/hw/dma/sparc32_dma.c
/openbmc/qemu/hw/dma/xilinx_axidma.c
/openbmc/qemu/hw/dma/xlnx-zdma.c
/openbmc/qemu/hw/gpio/aspeed_gpio.c
/openbmc/qemu/hw/hyperv/hyperv.c
/openbmc/qemu/hw/i386/microvm.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/i386/pc_q35.c
/openbmc/qemu/hw/i386/pc_sysfw.c
/openbmc/qemu/hw/i386/x86.c
/openbmc/qemu/hw/ide/macio.c
/openbmc/qemu/hw/ide/qdev.c
/openbmc/qemu/hw/input/vhost-user-input.c
/openbmc/qemu/hw/intc/apic_common.c
/openbmc/qemu/hw/intc/s390_flic.c
/openbmc/qemu/hw/intc/xics.c
/openbmc/qemu/hw/intc/xive.c
/openbmc/qemu/hw/ipmi/ipmi.c
/openbmc/qemu/hw/isa/isa-superio.c
/openbmc/qemu/hw/isa/lpc_ich9.c
/openbmc/qemu/hw/mem/nvdimm.c
/openbmc/qemu/hw/mem/pc-dimm.c
/openbmc/qemu/hw/microblaze/petalogix_ml605_mmu.c
/openbmc/qemu/hw/misc/aspeed_sdmc.c
/openbmc/qemu/hw/misc/edu.c
/openbmc/qemu/hw/misc/mac_via.c
/openbmc/qemu/hw/misc/macio/gpio.c
/openbmc/qemu/hw/misc/macio/macio.c
/openbmc/qemu/hw/misc/macio/pmu.c
/openbmc/qemu/hw/misc/pca9552.c
/openbmc/qemu/hw/misc/tmp105.c
/openbmc/qemu/hw/misc/tmp421.c
/openbmc/qemu/hw/net/cadence_gem.c
/openbmc/qemu/hw/net/can/can_kvaser_pci.c
/openbmc/qemu/hw/net/can/can_mioe3680_pci.c
/openbmc/qemu/hw/net/can/can_pcm3680_pci.c
/openbmc/qemu/hw/net/ne2000-isa.c
/openbmc/qemu/hw/net/xilinx_axienet.c
/openbmc/qemu/hw/nios2/10m50_devboard.c
/openbmc/qemu/hw/nvram/fw_cfg.c
/openbmc/qemu/hw/pci-host/grackle.c
/openbmc/qemu/hw/pci-host/i440fx.c
/openbmc/qemu/hw/pci-host/pnv_phb3_msi.c
/openbmc/qemu/hw/pci-host/pnv_phb3_pbcq.c
/openbmc/qemu/hw/pci-host/q35.c
/openbmc/qemu/hw/pci-host/sabre.c
/openbmc/qemu/hw/pci-host/uninorth.c
/openbmc/qemu/hw/pcmcia/pxa2xx.c
/openbmc/qemu/hw/ppc/e500.c
/openbmc/qemu/hw/ppc/mac_newworld.c
/openbmc/qemu/hw/ppc/mac_oldworld.c
/openbmc/qemu/hw/ppc/pnv.c
/openbmc/qemu/hw/ppc/pnv_bmc.c
/openbmc/qemu/hw/ppc/pnv_core.c
/openbmc/qemu/hw/ppc/pnv_psi.c
/openbmc/qemu/hw/ppc/prep.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_caps.c
/openbmc/qemu/hw/ppc/spapr_cpu_core.c
/openbmc/qemu/hw/ppc/spapr_drc.c
/openbmc/qemu/hw/ppc/spapr_iommu.c
/openbmc/qemu/hw/ppc/spapr_irq.c
/openbmc/qemu/hw/ppc/spapr_rtc.c
/openbmc/qemu/hw/riscv/sifive_u.c
/openbmc/qemu/hw/riscv/virt.c
/openbmc/qemu/hw/rtc/mc146818rtc.c
/openbmc/qemu/hw/s390x/ap-bridge.c
/openbmc/qemu/hw/s390x/css-bridge.c
/openbmc/qemu/hw/s390x/event-facility.c
/openbmc/qemu/hw/s390x/s390-skeys.c
/openbmc/qemu/hw/s390x/s390-stattrib.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/s390x/sclp.c
/openbmc/qemu/hw/s390x/tod.c
/openbmc/qemu/hw/s390x/virtio-ccw-balloon.c
/openbmc/qemu/hw/s390x/virtio-ccw-blk.c
/openbmc/qemu/hw/s390x/virtio-ccw-net.c
/openbmc/qemu/hw/scsi/scsi-bus.c
/openbmc/qemu/hw/sparc/sun4m.c
/openbmc/qemu/hw/sparc64/sun4u.c
/openbmc/qemu/hw/ssi/xilinx_spips.c
/openbmc/qemu/hw/usb/bus.c
/openbmc/qemu/hw/usb/dev-storage.c
/openbmc/qemu/hw/vfio/pci-quirks.c
/openbmc/qemu/hw/virtio/vhost-scsi-pci.c
/openbmc/qemu/hw/virtio/vhost-user-blk-pci.c
/openbmc/qemu/hw/virtio/vhost-user-input-pci.c
/openbmc/qemu/hw/virtio/vhost-user-scsi-pci.c
/openbmc/qemu/hw/virtio/virtio-balloon-pci.c
/openbmc/qemu/hw/virtio/virtio-balloon.c
/openbmc/qemu/hw/virtio/virtio-blk-pci.c
/openbmc/qemu/hw/virtio/virtio-net-pci.c
/openbmc/qemu/hw/virtio/virtio-rng.c
/openbmc/qemu/hw/xen/xen-common.c
/openbmc/qemu/include/qom/object.h
/openbmc/qemu/iothread.c
/openbmc/qemu/memory.c
/openbmc/qemu/net/can/can_host.c
/openbmc/qemu/net/can/can_socketcan.c
/openbmc/qemu/net/colo-compare.c
/openbmc/qemu/net/dump.c
/openbmc/qemu/net/filter-buffer.c
/openbmc/qemu/net/filter-mirror.c
/openbmc/qemu/net/filter-rewriter.c
/openbmc/qemu/net/filter.c
/openbmc/qemu/qdev-monitor.c
/openbmc/qemu/qom/container.c
/openbmc/qemu/qom/object.c
/openbmc/qemu/qom/object_interfaces.c
/openbmc/qemu/scsi/pr-manager-helper.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu64.c
/openbmc/qemu/target/arm/kvm.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/sev.c
/openbmc/qemu/target/ppc/compat.c
/openbmc/qemu/target/s390x/cpu.c
/openbmc/qemu/target/s390x/cpu_models.c
/openbmc/qemu/tests/check-qom-proplist.c
/openbmc/qemu/tests/test-qdev-global-props.c
/openbmc/qemu/ui/console.c
/openbmc/qemu/ui/input-barrier.c
/openbmc/qemu/ui/input-linux.c
9f742c2805-May-2020 Markus Armbruster <armbru@redhat.com>

qdev: Clean up qdev_connect_gpio_out_named()

Both qdev_connect_gpio_out_named() and device_set_realized() put
objects without a parent into the "/machine/unattached/" orphanage.

qdev_connect_gpio_o

qdev: Clean up qdev_connect_gpio_out_named()

Both qdev_connect_gpio_out_named() and device_set_realized() put
objects without a parent into the "/machine/unattached/" orphanage.

qdev_connect_gpio_out_named() needs a lengthy comment to explain how
it works. It exploits that object_property_add_child() can fail only
when we got a parent already, and ignoring that error does what we
want. True. If it failed due to "duplicate property", we'd be in
trouble, but that would be a programming error.

device_set_realized() is cleaner: it checks whether we need a parent,
then calls object_property_add_child(), aborting on failure. No need
for a comment, and programming errors get caught.

Change qdev_connect_gpio_out_named() to match.

Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200505152926.18877-14-armbru@redhat.com>

show more ...

1...<<31323334353637383940>>...61