History log of /openbmc/qemu/accel/ (Results 1226 – 1250 of 1260)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
61a3f8f611-Sep-2017 Philippe Mathieu-Daudé <f4bug@amsat.org>

accel/tcg: move tcg-runtime to accel/tcg/

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20170911213328.9701-4-f4bug@amsat.org

accel/tcg: move tcg-runtime to accel/tcg/

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20170911213328.9701-4-f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

5841066611-Sep-2017 Philippe Mathieu-Daudé <f4bug@amsat.org>

accel/tcg: move user-exec to accel/tcg/

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20170911213328.9701-3-f4bug@amsat.org>

accel/tcg: move user-exec to accel/tcg/

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20170911213328.9701-3-f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

da1849c111-Sep-2017 Thomas Huth <thuth@redhat.com>

accel/tcg: move softmmu_template.h to accel/tcg/

The header is only used by accel/tcg/cputlb.c so we can
move it to the accel/tcg/ folder, too.

Signed-off-by: Thomas Huth <thuth@redhat.com>
[PMD: r

accel/tcg: move softmmu_template.h to accel/tcg/

The header is only used by accel/tcg/cputlb.c so we can
move it to the accel/tcg/ folder, too.

Signed-off-by: Thomas Huth <thuth@redhat.com>
[PMD: reword commit title to match series]
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20170911213328.9701-2-f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...


/openbmc/qemu/.gitmodules
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/Makefile.objs
tcg/softmmu_template.h
/openbmc/qemu/configure
/openbmc/qemu/contrib/libvhost-user/libvhost-user.c
/openbmc/qemu/contrib/libvhost-user/libvhost-user.h
/openbmc/qemu/default-configs/ppc-softmmu.mak
/openbmc/qemu/default-configs/ppc64-softmmu.mak
/openbmc/qemu/default-configs/ppcemb-softmmu.mak
/openbmc/qemu/docs/colo-proxy.txt
/openbmc/qemu/docs/pcie.txt
/openbmc/qemu/docs/pcie_pci_bridge.txt
/openbmc/qemu/dump.c
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/hmp.c
/openbmc/qemu/hmp.h
/openbmc/qemu/hw/acpi/bios-linker-loader.c
/openbmc/qemu/hw/acpi/pcihp.c
/openbmc/qemu/hw/acpi/piix4.c
/openbmc/qemu/hw/acpi/vmgenid.c
/openbmc/qemu/hw/arm/Makefile.objs
/openbmc/qemu/hw/arm/mps2.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/arm/xlnx-zcu102.c
/openbmc/qemu/hw/arm/xlnx-zynqmp.c
/openbmc/qemu/hw/core/loader.c
/openbmc/qemu/hw/display/qxl-render.c
/openbmc/qemu/hw/display/vga-helpers.h
/openbmc/qemu/hw/display/vga.c
/openbmc/qemu/hw/display/vga_int.h
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/i2c/Makefile.objs
/openbmc/qemu/hw/i2c/ppc4xx_i2c.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/intel_iommu.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/i386/pc_q35.c
/openbmc/qemu/hw/intc/armv7m_nvic.c
/openbmc/qemu/hw/intc/xics.c
/openbmc/qemu/hw/mem/pc-dimm.c
/openbmc/qemu/hw/net/Makefile.objs
/openbmc/qemu/hw/net/e1000.c
/openbmc/qemu/hw/net/e1000_regs.h
/openbmc/qemu/hw/net/e1000e_core.c
/openbmc/qemu/hw/net/e1000x_common.h
/openbmc/qemu/hw/net/rocker/rocker.c
/openbmc/qemu/hw/net/rocker/rocker_desc.c
/openbmc/qemu/hw/net/rocker/rocker_fp.c
/openbmc/qemu/hw/net/rocker/rocker_of_dpa.c
/openbmc/qemu/hw/net/rocker/rocker_world.c
/openbmc/qemu/hw/net/rtl8139.c
/openbmc/qemu/hw/net/sungem.c
/openbmc/qemu/hw/net/trace-events
/openbmc/qemu/hw/nvram/fw_cfg.c
/openbmc/qemu/hw/nvram/spapr_nvram.c
/openbmc/qemu/hw/pci-bridge/Makefile.objs
/openbmc/qemu/hw/pci-bridge/gen_pcie_root_port.c
/openbmc/qemu/hw/pci-bridge/pcie_pci_bridge.c
/openbmc/qemu/hw/pci-host/gpex.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/pci/pci_bridge.c
/openbmc/qemu/hw/ppc/e500.c
/openbmc/qemu/hw/ppc/ppc.c
/openbmc/qemu/hw/ppc/ppc405.h
/openbmc/qemu/hw/ppc/ppc405_uc.c
/openbmc/qemu/hw/ppc/ppc4xx_devs.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_events.c
/openbmc/qemu/hw/ppc/spapr_hcall.c
/openbmc/qemu/hw/ppc/spapr_iommu.c
/openbmc/qemu/hw/ppc/spapr_pci.c
/openbmc/qemu/hw/ppc/spapr_rtas.c
/openbmc/qemu/hw/usb/Makefile.objs
/openbmc/qemu/hw/usb/hcd-xhci.c
/openbmc/qemu/hw/vfio/spapr.c
/openbmc/qemu/hw/virtio/vhost.c
/openbmc/qemu/include/elf.h
/openbmc/qemu/include/hw/acpi/bios-linker-loader.h
/openbmc/qemu/include/hw/acpi/vmgenid.h
/openbmc/qemu/include/hw/arm/xlnx-zynqmp.h
/openbmc/qemu/include/hw/compat.h
/openbmc/qemu/include/hw/i2c/ppc4xx_i2c.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/hw/loader.h
/openbmc/qemu/include/hw/mem/pc-dimm.h
/openbmc/qemu/include/hw/nvram/fw_cfg.h
/openbmc/qemu/include/hw/pci-host/gpex.h
/openbmc/qemu/include/hw/pci/pci.h
/openbmc/qemu/include/hw/pci/pci_bridge.h
/openbmc/qemu/include/hw/pci/pci_bus.h
/openbmc/qemu/include/hw/pci/pci_ids.h
/openbmc/qemu/include/hw/pci/pcie_port.h
/openbmc/qemu/include/hw/ppc/ppc4xx.h
/openbmc/qemu/include/hw/ppc/spapr.h
/openbmc/qemu/include/hw/ppc/spapr_drc.h
/openbmc/qemu/include/hw/ppc/spapr_ovec.h
/openbmc/qemu/include/qemu/sockets.h
/openbmc/qemu/include/qemu/typedefs.h
/openbmc/qemu/include/sysemu/iothread.h
/openbmc/qemu/include/sysemu/numa.h
/openbmc/qemu/include/sysemu/seccomp.h
/openbmc/qemu/iothread.c
/openbmc/qemu/monitor.c
/openbmc/qemu/net/colo-compare.c
/openbmc/qemu/net/filter-rewriter.c
/openbmc/qemu/net/net.c
/openbmc/qemu/net/socket.c
/openbmc/qemu/numa.c
/openbmc/qemu/pc-bios/openbios-ppc
/openbmc/qemu/pc-bios/openbios-sparc32
/openbmc/qemu/pc-bios/openbios-sparc64
/openbmc/qemu/qapi-schema.json
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qemu-seccomp.c
/openbmc/qemu/qmp.c
/openbmc/qemu/qtest.c
/openbmc/qemu/roms/openbios
/openbmc/qemu/scripts/device-crash-test
/openbmc/qemu/scripts/qemu.py
/openbmc/qemu/scripts/qmp/qmp-shell
/openbmc/qemu/scripts/qmp/qmp.py
/openbmc/qemu/scripts/qtest.py
/openbmc/qemu/stubs/Makefile.objs
/openbmc/qemu/stubs/pci-host-piix.c
/openbmc/qemu/stubs/qmp_pc_dimm.c
/openbmc/qemu/target/alpha/cpu.c
/openbmc/qemu/target/alpha/cpu.h
/openbmc/qemu/target/alpha/helper.c
/openbmc/qemu/target/alpha/mem_helper.c
/openbmc/qemu/target/alpha/translate.c
/openbmc/qemu/target/arm/arch_dump.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/op_helper.c
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/hppa/translate.c
/openbmc/qemu/target/m68k/fpu_helper.c
/openbmc/qemu/target/ppc/arch_dump.c
/openbmc/qemu/target/ppc/cpu-models.c
/openbmc/qemu/target/ppc/cpu-models.h
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/kvm.c
/openbmc/qemu/target/ppc/kvm_ppc.h
/openbmc/qemu/target/ppc/mmu_helper.c
/openbmc/qemu/target/ppc/translate_init.c
/openbmc/qemu/target/sparc/cpu.h
/openbmc/qemu/tcg/aarch64/tcg-target.h
/openbmc/qemu/tcg/aarch64/tcg-target.inc.c
/openbmc/qemu/tcg/arm/tcg-target.h
/openbmc/qemu/tcg/arm/tcg-target.inc.c
/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/s390/tcg-target.h
/openbmc/qemu/tcg/s390/tcg-target.inc.c
/openbmc/qemu/tcg/sparc/tcg-target.h
/openbmc/qemu/tcg/sparc/tcg-target.inc.c
/openbmc/qemu/tcg/tci/tcg-target.h
/openbmc/qemu/tests/libqos/pci.c
/openbmc/qemu/tests/libqos/usb.c
/openbmc/qemu/tests/libqtest.c
/openbmc/qemu/tests/libqtest.h
/openbmc/qemu/tests/numa-test.c
/openbmc/qemu/tests/test-hmp.c
/openbmc/qemu/tests/test-qga.c
/openbmc/qemu/tests/usb-hcd-uhci-test.c
/openbmc/qemu/tests/usb-hcd-xhci-test.c
/openbmc/qemu/tests/vhost-user-bridge.c
/openbmc/qemu/tests/virtio-scsi-test.c
/openbmc/qemu/tests/virtio-serial-test.c
/openbmc/qemu/trace/control-target.c
/openbmc/qemu/ui/console.c
/openbmc/qemu/ui/qemu-pixman.c
/openbmc/qemu/util/cacheinfo.c
/openbmc/qemu/vl.c
57a2694630-Jul-2017 Richard Henderson <rth@twiddle.net>

tcg: Infrastructure for managing constant pools

A new shared header tcg-pool.inc.c adds new_pool_label,
for registering a tcg_target_ulong to be emitted after
the generated code, plus relocation dat

tcg: Infrastructure for managing constant pools

A new shared header tcg-pool.inc.c adds new_pool_label,
for registering a tcg_target_ulong to be emitted after
the generated code, plus relocation data to install a
pointer to the data.

A new pointer is added to the TCGContext, so that we
dump the constant pool as data, not code.

Signed-off-by: Richard Henderson <rth@twiddle.net>

show more ...

a858339301-Aug-2017 Richard Henderson <rth@twiddle.net>

tcg: Move USE_DIRECT_JUMP discriminator to tcg/cpu/tcg-target.h

Replace the USE_DIRECT_JUMP ifdef with a TCG_TARGET_HAS_direct_jump
boolean test. Replace the tb_set_jmp_target1 ifdef with an uncond

tcg: Move USE_DIRECT_JUMP discriminator to tcg/cpu/tcg-target.h

Replace the USE_DIRECT_JUMP ifdef with a TCG_TARGET_HAS_direct_jump
boolean test. Replace the tb_set_jmp_target1 ifdef with an unconditional
function tb_target_set_jmp_target.

While we're touching all backends, add a parameter for tb->tc_ptr;
we're going to need it shortly for some backends.

Move tb_set_jmp_target and tb_add_jump from exec-all.h to cpu-exec.c.

This opens the possibility for TCG_TARGET_HAS_direct_jump to be
a runtime decision -- based on host cpu capabilities, the size of
code_gen_buffer, or a future debugging switch.

Signed-off-by: Richard Henderson <rth@twiddle.net>

show more ...


/openbmc/qemu/MAINTAINERS
tcg/cpu-exec.c
tcg/translate-all.c
/openbmc/qemu/block.c
/openbmc/qemu/block/Makefile.objs
/openbmc/qemu/block/blkdebug.c
/openbmc/qemu/block/block-backend.c
/openbmc/qemu/block/commit.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/nbd-client.c
/openbmc/qemu/block/qapi.c
/openbmc/qemu/block/qcow.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/raw-format.c
/openbmc/qemu/block/throttle-groups.c
/openbmc/qemu/block/throttle.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/configure
/openbmc/qemu/disas.c
/openbmc/qemu/disas/Makefile.objs
/openbmc/qemu/disas/i386.c
/openbmc/qemu/hw/arm/allwinner-a10.c
/openbmc/qemu/hw/arm/armv7m.c
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/collie.c
/openbmc/qemu/hw/arm/cubieboard.c
/openbmc/qemu/hw/arm/digic_boards.c
/openbmc/qemu/hw/arm/exynos4_boards.c
/openbmc/qemu/hw/arm/gumstix.c
/openbmc/qemu/hw/arm/highbank.c
/openbmc/qemu/hw/arm/imx25_pdk.c
/openbmc/qemu/hw/arm/integratorcp.c
/openbmc/qemu/hw/arm/kzm.c
/openbmc/qemu/hw/arm/mainstone.c
/openbmc/qemu/hw/arm/musicpal.c
/openbmc/qemu/hw/arm/netduino2.c
/openbmc/qemu/hw/arm/nseries.c
/openbmc/qemu/hw/arm/omap_sx1.c
/openbmc/qemu/hw/arm/palm.c
/openbmc/qemu/hw/arm/raspi.c
/openbmc/qemu/hw/arm/realview.c
/openbmc/qemu/hw/arm/sabrelite.c
/openbmc/qemu/hw/arm/spitz.c
/openbmc/qemu/hw/arm/stellaris.c
/openbmc/qemu/hw/arm/tosa.c
/openbmc/qemu/hw/arm/versatilepb.c
/openbmc/qemu/hw/arm/vexpress.c
/openbmc/qemu/hw/arm/xilinx_zynq.c
/openbmc/qemu/hw/arm/xlnx-ep108.c
/openbmc/qemu/hw/arm/xlnx-zynqmp.c
/openbmc/qemu/hw/arm/z2.c
/openbmc/qemu/hw/dma/xilinx_axidma.c
/openbmc/qemu/hw/intc/arm_gicv3_its_kvm.c
/openbmc/qemu/hw/intc/armv7m_nvic.c
/openbmc/qemu/hw/net/xilinx_axienet.c
/openbmc/qemu/include/block/block.h
/openbmc/qemu/include/block/block_int.h
/openbmc/qemu/include/block/nbd.h
/openbmc/qemu/include/block/throttle-groups.h
/openbmc/qemu/include/exec/exec-all.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/intc/armv7m_nvic.h
/openbmc/qemu/include/io/channel.h
/openbmc/qemu/include/qemu/host-utils.h
/openbmc/qemu/include/qemu/iov.h
/openbmc/qemu/include/qemu/throttle-options.h
/openbmc/qemu/include/qemu/throttle.h
/openbmc/qemu/include/qom/cpu.h
/openbmc/qemu/include/sysemu/block-backend.h
/openbmc/qemu/io/channel.c
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/page_cache.c
/openbmc/qemu/migration/page_cache.h
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/migration/trace-events
/openbmc/qemu/nbd/common.c
/openbmc/qemu/nbd/nbd-internal.h
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qom/cpu.c
/openbmc/qemu/scripts/device-crash-test
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/helper.h
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/machine.c
/openbmc/qemu/target/arm/op_helper.c
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/arm/translate.c
/openbmc/qemu/target/arm/translate.h
/openbmc/qemu/target/i386/translate.c
/openbmc/qemu/tcg/aarch64/tcg-target.h
/openbmc/qemu/tcg/aarch64/tcg-target.inc.c
/openbmc/qemu/tcg/arm/tcg-target.h
/openbmc/qemu/tcg/i386/tcg-target.h
/openbmc/qemu/tcg/mips/tcg-target.h
/openbmc/qemu/tcg/mips/tcg-target.inc.c
/openbmc/qemu/tcg/ppc/tcg-target.h
/openbmc/qemu/tcg/ppc/tcg-target.inc.c
/openbmc/qemu/tcg/s390/tcg-target.h
/openbmc/qemu/tcg/s390/tcg-target.inc.c
/openbmc/qemu/tcg/sparc/tcg-target.h
/openbmc/qemu/tcg/sparc/tcg-target.inc.c
/openbmc/qemu/tcg/tcg-op.c
/openbmc/qemu/tcg/tcg.h
/openbmc/qemu/tcg/tci/tcg-target.h
/openbmc/qemu/tests/qemu-iotests/068
/openbmc/qemu/tests/qemu-iotests/068.out
/openbmc/qemu/tests/qemu-iotests/083.out
/openbmc/qemu/tests/qemu-iotests/184
/openbmc/qemu/tests/qemu-iotests/184.out
/openbmc/qemu/tests/qemu-iotests/192
/openbmc/qemu/tests/qemu-iotests/194
/openbmc/qemu/tests/qemu-iotests/group
/openbmc/qemu/tests/qemu-iotests/iotests.py
/openbmc/qemu/tests/test-iov.c
/openbmc/qemu/tests/test-throttle.c
/openbmc/qemu/tests/vhost-user-test.c
/openbmc/qemu/tests/vmgenid-test.c
/openbmc/qemu/util/throttle.c
/openbmc/qemu/vl.c
bb2e003914-Jul-2017 Lluís Vilanova <vilanova@ac.upc.edu>

tcg: Add generic translation framework

Reviewed-by: Emilio G. Cota <cota@braap.org>
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
Message-Id: <150002073981.22386.9870422422367410100.stgit@frig

tcg: Add generic translation framework

Reviewed-by: Emilio G. Cota <cota@braap.org>
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
Message-Id: <150002073981.22386.9870422422367410100.stgit@frigg.lan>
[rth: Moved max_insns adjustment from tb_start to init_disas_context.
Removed pc_next return from translate_insn.
Removed tcg_check_temp_count from generic loop.
Moved gen_io_end to exactly match gen_io_start.
Use qemu_log instead of error_report for temporary leaks.
Moved TB size/icount assignments before disas_log.]
Signed-off-by: Richard Henderson <rth@twiddle.net>

show more ...


tcg/Makefile.objs
tcg/translator.c
/openbmc/qemu/block/sheepdog.c
/openbmc/qemu/block/ssh.c
/openbmc/qemu/fsdev/virtfs-proxy-helper.c
/openbmc/qemu/hw/9pfs/9p-local.c
/openbmc/qemu/hw/9pfs/9p.c
/openbmc/qemu/hw/arm/aspeed_soc.c
/openbmc/qemu/hw/arm/digic.c
/openbmc/qemu/hw/intc/arm_gicv3_kvm.c
/openbmc/qemu/hw/pci-host/apb.c
/openbmc/qemu/hw/sparc64/sun4u.c
/openbmc/qemu/include/block/block_int.h
/openbmc/qemu/include/exec/exec-all.h
/openbmc/qemu/include/exec/translator.h
/openbmc/qemu/include/io/channel.h
/openbmc/qemu/include/qemu/sockets.h
/openbmc/qemu/io/channel-socket.c
/openbmc/qemu/io/channel.c
/openbmc/qemu/linux-headers/asm-x86/kvm.h
/openbmc/qemu/scripts/qemu.py
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/op_helper.c
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/arm/translate.c
/openbmc/qemu/target/arm/translate.h
/openbmc/qemu/target/cris/translate.c
/openbmc/qemu/target/i386/translate.c
/openbmc/qemu/target/lm32/translate.c
/openbmc/qemu/target/m68k/translate.c
/openbmc/qemu/target/microblaze/translate.c
/openbmc/qemu/target/nios2/translate.c
/openbmc/qemu/target/openrisc/translate.c
/openbmc/qemu/target/s390x/translate.c
/openbmc/qemu/target/unicore32/translate.c
/openbmc/qemu/target/xtensa/translate.c
/openbmc/qemu/tests/benchmark-crypto-cipher.c
/openbmc/qemu/tests/benchmark-crypto-hash.c
/openbmc/qemu/tests/benchmark-crypto-hmac.c
/openbmc/qemu/tests/crypto-tls-x509-helpers.c
/openbmc/qemu/tests/io-channel-helpers.c
/openbmc/qemu/tests/qemu-iotests/194
/openbmc/qemu/tests/qemu-iotests/iotests.py
/openbmc/qemu/tests/test-io-channel-tls.c
/openbmc/qemu/util/qemu-sockets.c
/openbmc/qemu/vl.c
04e3aabd04-Sep-2017 Peter Maydell <peter.maydell@linaro.org>

cputlb: Support generating CPU exceptions on memory transaction failures

Call the new cpu_transaction_failed() hook at the places where
CPU generated code interacts with the memory system:
io_readx

cputlb: Support generating CPU exceptions on memory transaction failures

Call the new cpu_transaction_failed() hook at the places where
CPU generated code interacts with the memory system:
io_readx()
io_writex()
get_page_addr_code()

Any access from C code (eg via cpu_physical_memory_rw(),
address_space_rw(), ld/st_*_phys()) will *not* trigger CPU exceptions
via cpu_transaction_failed(). Handling for transactions failures for
this kind of call should be done by using a function which returns a
MemTxResult and treating the failure case appropriately in the
calling code.

In an ideal world we would not generate CPU exceptions for
instruction fetch failures in get_page_addr_code() but instead wait
until the code translation process tried a load and it failed;
however that change would require too great a restructuring and
redesign to attempt at this point.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>

show more ...


/openbmc/qemu/COPYING.PYTHON
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/VERSION
tcg/cputlb.c
/openbmc/qemu/backends/cryptodev.c
/openbmc/qemu/backends/hostmem.c
/openbmc/qemu/block.c
/openbmc/qemu/block/backup.c
/openbmc/qemu/block/blkdebug.c
/openbmc/qemu/block/dmg.c
/openbmc/qemu/block/file-posix.c
/openbmc/qemu/block/file-win32.c
/openbmc/qemu/block/gluster.c
/openbmc/qemu/block/iscsi.c
/openbmc/qemu/block/nbd-client.c
/openbmc/qemu/block/nfs.c
/openbmc/qemu/block/parallels.c
/openbmc/qemu/block/qcow.c
/openbmc/qemu/block/qcow2-cluster.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/qed.c
/openbmc/qemu/block/quorum.c
/openbmc/qemu/block/rbd.c
/openbmc/qemu/block/sheepdog.c
/openbmc/qemu/block/vhdx-log.c
/openbmc/qemu/block/vpc.c
/openbmc/qemu/block/vvfat.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/blockjob.c
/openbmc/qemu/chardev/char.c
/openbmc/qemu/crypto/block-luks.c
/openbmc/qemu/crypto/block.c
/openbmc/qemu/crypto/cipher-afalg.c
/openbmc/qemu/crypto/cipher-builtin.c
/openbmc/qemu/crypto/cipher-gcrypt.c
/openbmc/qemu/crypto/cipher-nettle.c
/openbmc/qemu/crypto/hmac-gcrypt.c
/openbmc/qemu/crypto/hmac-glib.c
/openbmc/qemu/crypto/hmac-nettle.c
/openbmc/qemu/crypto/pbkdf-gcrypt.c
/openbmc/qemu/crypto/pbkdf-nettle.c
/openbmc/qemu/crypto/secret.c
/openbmc/qemu/crypto/tlscreds.c
/openbmc/qemu/default-configs/s390x-softmmu.mak
/openbmc/qemu/docs/devel/qapi-code-gen.txt
/openbmc/qemu/dump.c
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/hmp.c
/openbmc/qemu/hw/alpha/dp264.c
/openbmc/qemu/hw/arm/armv7m.c
/openbmc/qemu/hw/arm/aspeed_soc.c
/openbmc/qemu/hw/arm/exynos4210.c
/openbmc/qemu/hw/arm/highbank.c
/openbmc/qemu/hw/arm/musicpal.c
/openbmc/qemu/hw/arm/omap1.c
/openbmc/qemu/hw/arm/omap2.c
/openbmc/qemu/hw/arm/pxa2xx.c
/openbmc/qemu/hw/arm/realview.c
/openbmc/qemu/hw/arm/strongarm.c
/openbmc/qemu/hw/arm/vexpress.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/arm/xilinx_zynq.c
/openbmc/qemu/hw/audio/pcspk.c
/openbmc/qemu/hw/block/fdc.c
/openbmc/qemu/hw/block/nvme.c
/openbmc/qemu/hw/char/escc.c
/openbmc/qemu/hw/char/virtio-serial-bus.c
/openbmc/qemu/hw/core/qdev-properties.c
/openbmc/qemu/hw/cris/axis_dev88.c
/openbmc/qemu/hw/display/vga.c
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/i386/multiboot.c
/openbmc/qemu/hw/input/virtio-input-hid.c
/openbmc/qemu/hw/intc/armv7m_nvic.c
/openbmc/qemu/hw/intc/s390_flic_kvm.c
/openbmc/qemu/hw/lm32/lm32_boards.c
/openbmc/qemu/hw/lm32/milkymist.c
/openbmc/qemu/hw/m68k/an5206.c
/openbmc/qemu/hw/m68k/mcf5208.c
/openbmc/qemu/hw/moxie/moxiesim.c
/openbmc/qemu/hw/net/eepro100.c
/openbmc/qemu/hw/nios2/10m50_devboard.c
/openbmc/qemu/hw/openrisc/openrisc_sim.c
/openbmc/qemu/hw/pci-host/piix.c
/openbmc/qemu/hw/pci-host/q35.c
/openbmc/qemu/hw/pci/msix.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/ppc440_bamboo.c
/openbmc/qemu/hw/ppc/ppc4xx_devs.c
/openbmc/qemu/hw/ppc/prep.c
/openbmc/qemu/hw/ppc/virtex_ml507.c
/openbmc/qemu/hw/s390x/Makefile.objs
/openbmc/qemu/hw/s390x/s390-pci-bus.c
/openbmc/qemu/hw/s390x/s390-pci-bus.h
/openbmc/qemu/hw/s390x/s390-pci-inst.c
/openbmc/qemu/hw/s390x/s390-pci-stub.c
/openbmc/qemu/hw/s390x/s390-skeys-kvm.c
/openbmc/qemu/hw/s390x/s390-skeys.c
/openbmc/qemu/hw/s390x/s390-stattrib-kvm.c
/openbmc/qemu/hw/s390x/s390-stattrib.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/s390x/s390-virtio.c
/openbmc/qemu/hw/s390x/s390-virtio.h
/openbmc/qemu/hw/s390x/sclp.c
/openbmc/qemu/hw/s390x/sclpcpu.c
/openbmc/qemu/hw/sh4/r2d.c
/openbmc/qemu/hw/sh4/shix.c
/openbmc/qemu/hw/sparc/leon3.c
/openbmc/qemu/hw/sparc/sun4m.c
/openbmc/qemu/hw/sparc64/sparc64.c
/openbmc/qemu/hw/timer/i8254_common.c
/openbmc/qemu/hw/tricore/tricore_testboard.c
/openbmc/qemu/hw/unicore32/puv3.c
/openbmc/qemu/hw/usb/dev-hub.c
/openbmc/qemu/hw/virtio/vhost.c
/openbmc/qemu/hw/watchdog/wdt_aspeed.c
/openbmc/qemu/hw/xtensa/sim.c
/openbmc/qemu/hw/xtensa/xtfpga.c
/openbmc/qemu/include/block/nbd.h
/openbmc/qemu/include/exec/memattrs.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/hw/arm/armv7m.h
/openbmc/qemu/include/hw/elf_ops.h
/openbmc/qemu/include/hw/intc/armv7m_nvic.h
/openbmc/qemu/include/hw/qdev-core.h
/openbmc/qemu/include/hw/s390x/css.h
/openbmc/qemu/include/hw/s390x/sclp.h
/openbmc/qemu/include/hw/watchdog/wdt_aspeed.h
/openbmc/qemu/include/qapi/qmp/qdict.h
/openbmc/qemu/include/qapi/qmp/qlit.h
/openbmc/qemu/include/qapi/qmp/qnum.h
/openbmc/qemu/include/qapi/util.h
/openbmc/qemu/include/qapi/visitor.h
/openbmc/qemu/include/qemu/throttle.h
/openbmc/qemu/include/qom/cpu.h
/openbmc/qemu/include/qom/object.h
/openbmc/qemu/include/qom/object_interfaces.h
/openbmc/qemu/include/sysemu/tpm_backend.h
/openbmc/qemu/include/ui/console.h
/openbmc/qemu/libdecnumber/decNumber.c
/openbmc/qemu/linux-headers/asm-x86/kvm.h
/openbmc/qemu/linux-user/sparc/target_syscall.h
/openbmc/qemu/migration/colo-failover.c
/openbmc/qemu/migration/colo.c
/openbmc/qemu/migration/global_state.c
/openbmc/qemu/migration/migration.c
/openbmc/qemu/monitor.c
/openbmc/qemu/nbd/client.c
/openbmc/qemu/nbd/nbd-internal.h
/openbmc/qemu/net/filter.c
/openbmc/qemu/net/net.c
/openbmc/qemu/pc-bios/s390-ccw.img
/openbmc/qemu/pc-bios/s390-ccw/cio.h
/openbmc/qemu/qapi-schema.json
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/block.json
/openbmc/qemu/qapi/char.json
/openbmc/qemu/qapi/common.json
/openbmc/qemu/qapi/crypto.json
/openbmc/qemu/qapi/introspect.json
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qapi/net.json
/openbmc/qemu/qapi/qapi-util.c
/openbmc/qemu/qapi/qapi-visit-core.c
/openbmc/qemu/qapi/qmp-dispatch.c
/openbmc/qemu/qapi/run-state.json
/openbmc/qemu/qapi/sockets.json
/openbmc/qemu/qapi/tpm.json
/openbmc/qemu/qapi/trace.json
/openbmc/qemu/qapi/transaction.json
/openbmc/qemu/qapi/ui.json
/openbmc/qemu/qemu-doc.texi
/openbmc/qemu/qemu-img.c
/openbmc/qemu/qemu-nbd.c
/openbmc/qemu/qobject/Makefile.objs
/openbmc/qemu/qobject/qlit.c
/openbmc/qemu/qom/cpu.c
/openbmc/qemu/qom/object.c
/openbmc/qemu/qom/object_interfaces.c
/openbmc/qemu/scripts/argparse.py
/openbmc/qemu/scripts/coccinelle/qobject.cocci
/openbmc/qemu/scripts/qapi-event.py
/openbmc/qemu/scripts/qapi-types.py
/openbmc/qemu/scripts/qapi-visit.py
/openbmc/qemu/scripts/qapi.py
/openbmc/qemu/slirp/socket.c
/openbmc/qemu/softmmu_template.h
/openbmc/qemu/target/alpha/cpu.c
/openbmc/qemu/target/alpha/cpu.h
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/kvm.c
/openbmc/qemu/target/arm/kvm32.c
/openbmc/qemu/target/arm/kvm64.c
/openbmc/qemu/target/arm/kvm_arm.h
/openbmc/qemu/target/arm/machine.c
/openbmc/qemu/target/arm/op_helper.c
/openbmc/qemu/target/arm/translate.c
/openbmc/qemu/target/cris/cpu.c
/openbmc/qemu/target/cris/cpu.h
/openbmc/qemu/target/hppa/cpu.c
/openbmc/qemu/target/hppa/cpu.h
/openbmc/qemu/target/i386/arch_dump.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/monitor.c
/openbmc/qemu/target/lm32/cpu.h
/openbmc/qemu/target/lm32/helper.c
/openbmc/qemu/target/m68k/cpu.c
/openbmc/qemu/target/m68k/cpu.h
/openbmc/qemu/target/m68k/helper.c
/openbmc/qemu/target/microblaze/cpu.c
/openbmc/qemu/target/microblaze/cpu.h
/openbmc/qemu/target/microblaze/translate.c
/openbmc/qemu/target/moxie/cpu.c
/openbmc/qemu/target/moxie/cpu.h
/openbmc/qemu/target/nios2/cpu.c
/openbmc/qemu/target/nios2/cpu.h
/openbmc/qemu/target/openrisc/cpu.c
/openbmc/qemu/target/openrisc/cpu.h
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/mem_helper.c
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/ppc/translate_init.c
/openbmc/qemu/target/s390x/Makefile.objs
/openbmc/qemu/target/s390x/arch_dump.c
/openbmc/qemu/target/s390x/cc_helper.c
/openbmc/qemu/target/s390x/cpu.c
/openbmc/qemu/target/s390x/cpu.h
/openbmc/qemu/target/s390x/cpu_models.c
/openbmc/qemu/target/s390x/diag.c
/openbmc/qemu/target/s390x/excp_helper.c
/openbmc/qemu/target/s390x/fpu_helper.c
/openbmc/qemu/target/s390x/gdbstub.c
/openbmc/qemu/target/s390x/helper.c
/openbmc/qemu/target/s390x/int_helper.c
/openbmc/qemu/target/s390x/internal.h
/openbmc/qemu/target/s390x/interrupt.c
/openbmc/qemu/target/s390x/ioinst.c
/openbmc/qemu/target/s390x/kvm-stub.c
/openbmc/qemu/target/s390x/kvm.c
/openbmc/qemu/target/s390x/kvm_s390x.h
/openbmc/qemu/target/s390x/machine.c
/openbmc/qemu/target/s390x/mem_helper.c
/openbmc/qemu/target/s390x/misc_helper.c
/openbmc/qemu/target/s390x/mmu_helper.c
/openbmc/qemu/target/s390x/translate.c
/openbmc/qemu/target/sh4/cpu.c
/openbmc/qemu/target/sh4/cpu.h
/openbmc/qemu/target/sparc/cpu-qom.h
/openbmc/qemu/target/sparc/cpu.c
/openbmc/qemu/target/sparc/cpu.h
/openbmc/qemu/target/sparc/int32_helper.c
/openbmc/qemu/target/sparc/int64_helper.c
/openbmc/qemu/target/sparc/ldst_helper.c
/openbmc/qemu/target/sparc/mmu_helper.c
/openbmc/qemu/target/sparc/translate.c
/openbmc/qemu/target/sparc/win_helper.c
/openbmc/qemu/target/tilegx/cpu.c
/openbmc/qemu/target/tilegx/cpu.h
/openbmc/qemu/target/tricore/cpu.h
/openbmc/qemu/target/tricore/helper.c
/openbmc/qemu/target/unicore32/cpu.h
/openbmc/qemu/target/unicore32/helper.c
/openbmc/qemu/target/xtensa/cpu.c
/openbmc/qemu/target/xtensa/cpu.h
/openbmc/qemu/target/xtensa/helper.c
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/check-qjson.c
/openbmc/qemu/tests/check-qlit.c
/openbmc/qemu/tests/check-qom-proplist.c
/openbmc/qemu/tests/docker/docker.py
/openbmc/qemu/tests/migration/guestperf/shell.py
/openbmc/qemu/tests/qapi-schema/alternate-conflict-bool-string.err
/openbmc/qemu/tests/qapi-schema/alternate-conflict-bool-string.exit
/openbmc/qemu/tests/qapi-schema/alternate-conflict-bool-string.json
/openbmc/qemu/tests/qapi-schema/alternate-conflict-bool-string.out
/openbmc/qemu/tests/qapi-schema/alternate-conflict-num-string.err
/openbmc/qemu/tests/qapi-schema/alternate-conflict-num-string.exit
/openbmc/qemu/tests/qapi-schema/alternate-conflict-num-string.json
/openbmc/qemu/tests/qapi-schema/alternate-conflict-num-string.out
/openbmc/qemu/tests/qemu-iotests/083
/openbmc/qemu/tests/qemu-iotests/083.out
/openbmc/qemu/tests/qemu-iotests/194
/openbmc/qemu/tests/qemu-iotests/194.out
/openbmc/qemu/tests/qemu-iotests/common.filter
/openbmc/qemu/tests/qemu-iotests/nbd-fault-injector.py
/openbmc/qemu/tests/qmp-test.c
/openbmc/qemu/tests/test-iov.c
/openbmc/qemu/tests/test-qapi-util.c
/openbmc/qemu/tests/test-qobject-input-visitor.c
/openbmc/qemu/tests/test-qobject-output-visitor.c
/openbmc/qemu/tests/test-string-input-visitor.c
/openbmc/qemu/tests/test-string-output-visitor.c
/openbmc/qemu/tests/test-throttle.c
/openbmc/qemu/tpm.c
/openbmc/qemu/ui/cursor.c
/openbmc/qemu/ui/input-legacy.c
/openbmc/qemu/ui/input.c
/openbmc/qemu/ui/vnc-enc-tight.c
/openbmc/qemu/ui/vnc.c
/openbmc/qemu/util/keyval.c
/openbmc/qemu/util/oslib-posix.c
/openbmc/qemu/util/throttle.c
/openbmc/qemu/vl.c
88c725c707-Jul-2017 Cornelia Huck <cohuck@redhat.com>

kvm: remove hard dependency on pci

The msi routing code in kvm calls some pci functions: provide
some stubs to enable builds without pci.

Also, to make this more obvious, guard them via a pci_avail

kvm: remove hard dependency on pci

The msi routing code in kvm calls some pci functions: provide
some stubs to enable builds without pci.

Also, to make this more obvious, guard them via a pci_available boolean
(which also can be reused in other places).

Fixes: e1d4fb2de ("kvm-irqchip: x86: add msi route notify fn")
Fixes: 767a554a0 ("kvm-all: Pass requester ID to MSI routing functions")
Reviewed-by: Pierre Morel <pmorel@linux.vnet.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>

show more ...


/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/VERSION
kvm/kvm-all.c
/openbmc/qemu/block.c
/openbmc/qemu/block/block-backend.c
/openbmc/qemu/block/file-posix.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/nbd-client.c
/openbmc/qemu/block/nbd-client.h
/openbmc/qemu/block/nfs.c
/openbmc/qemu/block/null.c
/openbmc/qemu/block/parallels.c
/openbmc/qemu/block/qapi.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/quorum.c
/openbmc/qemu/block/trace-events
/openbmc/qemu/block/vhdx-log.c
/openbmc/qemu/block/vhdx.c
/openbmc/qemu/block/vmdk.c
/openbmc/qemu/block/vpc.c
/openbmc/qemu/bsd-user/main.c
/openbmc/qemu/chardev/char-fd.c
/openbmc/qemu/chardev/char.c
/openbmc/qemu/configure
/openbmc/qemu/contrib/libvhost-user/libvhost-user.c
/openbmc/qemu/default-configs/pci.mak
/openbmc/qemu/default-configs/s390x-softmmu.mak
/openbmc/qemu/docs/interop/vhost-user.txt
/openbmc/qemu/exec.c
/openbmc/qemu/fsdev/Makefile.objs
/openbmc/qemu/hw/9pfs/9p-local.c
/openbmc/qemu/hw/9pfs/9p-util.h
/openbmc/qemu/hw/9pfs/Makefile.objs
/openbmc/qemu/hw/Makefile.objs
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/block/virtio-blk.c
/openbmc/qemu/hw/bt/sdp.c
/openbmc/qemu/hw/cpu/core.c
/openbmc/qemu/hw/display/qxl.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/intel_iommu.c
/openbmc/qemu/hw/i386/intel_iommu_internal.h
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/ide/core.c
/openbmc/qemu/hw/mem/nvdimm.c
/openbmc/qemu/hw/mem/pc-dimm.c
/openbmc/qemu/hw/mips/addr.c
/openbmc/qemu/hw/mips/mips_malta.c
/openbmc/qemu/hw/misc/mmio_interface.c
/openbmc/qemu/hw/pci/pci-stub.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_drc.c
/openbmc/qemu/hw/ppc/spapr_hcall.c
/openbmc/qemu/hw/ppc/spapr_iommu.c
/openbmc/qemu/hw/ppc/spapr_rtc.c
/openbmc/qemu/hw/s390x/css.c
/openbmc/qemu/hw/s390x/ipl.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/scsi/scsi-bus.c
/openbmc/qemu/hw/scsi/vmw_pvscsi.c
/openbmc/qemu/hw/ssi/xilinx_spips.c
/openbmc/qemu/hw/timer/mc146818rtc.c
/openbmc/qemu/hw/virtio/vhost-backend.c
/openbmc/qemu/hw/virtio/vhost-user.c
/openbmc/qemu/hw/virtio/virtio-pci.c
/openbmc/qemu/hw/watchdog/wdt_diag288.c
/openbmc/qemu/include/block/block.h
/openbmc/qemu/include/block/block_int.h
/openbmc/qemu/include/chardev/char-fd.h
/openbmc/qemu/include/chardev/char.h
/openbmc/qemu/include/hw/compat.h
/openbmc/qemu/include/hw/i386/intel_iommu.h
/openbmc/qemu/include/hw/mem/pc-dimm.h
/openbmc/qemu/include/hw/mips/cpudevs.h
/openbmc/qemu/include/hw/pci/pci.h
/openbmc/qemu/include/hw/s390x/css.h
/openbmc/qemu/include/hw/s390x/ioinst.h
/openbmc/qemu/include/qemu-common.h
/openbmc/qemu/include/qemu/osdep.h
/openbmc/qemu/include/qemu/rcu.h
/openbmc/qemu/include/sysemu/block-backend.h
/openbmc/qemu/include/sysemu/kvm.h
/openbmc/qemu/io/channel-socket.c
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/memory.c
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/ram.c
/openbmc/qemu/nbd/common.c
/openbmc/qemu/nbd/server.c
/openbmc/qemu/net/slirp.c
/openbmc/qemu/net/socket.c
/openbmc/qemu/net/vhost-user.c
/openbmc/qemu/os-posix.c
/openbmc/qemu/pc-bios/s390-ccw/Makefile
/openbmc/qemu/qemu-doc.texi
/openbmc/qemu/qemu-img-cmds.hx
/openbmc/qemu/qemu-img.c
/openbmc/qemu/qemu-io-cmds.c
/openbmc/qemu/qemu-io.c
/openbmc/qemu/qemu-nbd.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qga/main.c
/openbmc/qemu/scripts/simpletrace.py
/openbmc/qemu/scripts/tracetool/format/simpletrace_stap.py
/openbmc/qemu/slirp/bootp.c
/openbmc/qemu/stubs/Makefile.objs
/openbmc/qemu/stubs/change-state-handler.c
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/i386/kvm.c
/openbmc/qemu/target/i386/translate.c
/openbmc/qemu/target/mips/helper.c
/openbmc/qemu/target/mips/op_helper.c
/openbmc/qemu/target/mips/translate.c
/openbmc/qemu/target/ppc/compat.c
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/kvm.c
/openbmc/qemu/target/ppc/kvm_ppc.h
/openbmc/qemu/target/ppc/machine.c
/openbmc/qemu/target/ppc/mmu_helper.c
/openbmc/qemu/target/ppc/translate_init.c
/openbmc/qemu/target/s390x/mem_helper.c
/openbmc/qemu/target/s390x/misc_helper.c
/openbmc/qemu/target/unicore32/softmmu.c
/openbmc/qemu/tcg/arm/tcg-target.inc.c
/openbmc/qemu/tcg/tcg.h
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/acpi-test-data/q35/DSDT
/openbmc/qemu/tests/acpi-test-data/q35/DSDT.bridge
/openbmc/qemu/tests/acpi-test-data/q35/DSDT.cphp
/openbmc/qemu/tests/acpi-test-data/q35/DSDT.ipmibt
/openbmc/qemu/tests/acpi-test-data/q35/DSDT.memhp
/openbmc/qemu/tests/bios-tables-test.c
/openbmc/qemu/tests/boot-sector.c
/openbmc/qemu/tests/boot-serial-test.c
/openbmc/qemu/tests/docker/dockerfiles/centos6.docker
/openbmc/qemu/tests/docker/dockerfiles/centos7.docker
/openbmc/qemu/tests/ide-test.c
/openbmc/qemu/tests/libqtest.c
/openbmc/qemu/tests/libqtest.h
/openbmc/qemu/tests/multiboot/run_test.sh
/openbmc/qemu/tests/pxe-test.c
/openbmc/qemu/tests/qemu-iotests/041
/openbmc/qemu/tests/qemu-iotests/059
/openbmc/qemu/tests/qemu-iotests/059.out
/openbmc/qemu/tests/qemu-iotests/063
/openbmc/qemu/tests/qemu-iotests/074
/openbmc/qemu/tests/qemu-iotests/093
/openbmc/qemu/tests/qemu-iotests/109
/openbmc/qemu/tests/qemu-iotests/109.out
/openbmc/qemu/tests/qemu-iotests/124
/openbmc/qemu/tests/qemu-iotests/136
/openbmc/qemu/tests/qemu-iotests/141
/openbmc/qemu/tests/qemu-iotests/153
/openbmc/qemu/tests/qemu-iotests/156
/openbmc/qemu/tests/qemu-iotests/162
/openbmc/qemu/tests/qemu-iotests/179
/openbmc/qemu/tests/qemu-iotests/185
/openbmc/qemu/tests/qemu-iotests/186
/openbmc/qemu/tests/qemu-iotests/186.out
/openbmc/qemu/tests/qemu-iotests/187
/openbmc/qemu/tests/qemu-iotests/187.out
/openbmc/qemu/tests/qemu-iotests/190
/openbmc/qemu/tests/qemu-iotests/190.out
/openbmc/qemu/tests/qemu-iotests/192
/openbmc/qemu/tests/qemu-iotests/192.out
/openbmc/qemu/tests/qemu-iotests/194
/openbmc/qemu/tests/qemu-iotests/194.out
/openbmc/qemu/tests/qemu-iotests/check
/openbmc/qemu/tests/qemu-iotests/common.rc
/openbmc/qemu/tests/qemu-iotests/group
/openbmc/qemu/tests/qemu-iotests/iotests.py
/openbmc/qemu/tests/rtc-test.c
/openbmc/qemu/tests/test-filter-mirror.c
/openbmc/qemu/tests/test-filter-redirector.c
/openbmc/qemu/tests/test-hmp.c
/openbmc/qemu/tests/test-netfilter.c
/openbmc/qemu/tests/vmgenid-test.c
/openbmc/qemu/util/osdep.c
/openbmc/qemu/util/rcu.c
/openbmc/qemu/vl.c
d73f024717-Jul-2017 Laurent Vivier <lvivier@redhat.com>

accel: cleanup error output

Only emit "XXX accelerator not found", if there are not
further accelerators listed. eg

accel=kvm:tcg

doesn't print a "KVM accelerator not found" warning
when it fal

accel: cleanup error output

Only emit "XXX accelerator not found", if there are not
further accelerators listed. eg

accel=kvm:tcg

doesn't print a "KVM accelerator not found" warning
when it falls back to tcg, but a

accel=kvm

prints a warning, since no fallback is given.

Suggested-by: Daniel P. Berrange <berrange@redhat.com>
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Message-Id: <20170717144527.24534-1-lvivier@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

8908eb1a31-Jul-2017 Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>

trace-events: fix code style: print 0x before hex numbers

The only exception are groups of numers separated by symbols
'.', ' ', ':', '/', like 'ab.09.7d'.

This patch is made by the following:

> f

trace-events: fix code style: print 0x before hex numbers

The only exception are groups of numers separated by symbols
'.', ' ', ':', '/', like 'ab.09.7d'.

This patch is made by the following:

> find . -name trace-events | xargs python script.py

where script.py is the following python script:
=========================
#!/usr/bin/env python

import sys
import re
import fileinput

rhex = '%[-+ *.0-9]*(?:[hljztL]|ll|hh)?(?:x|X|"\s*PRI[xX][^"]*"?)'
rgroup = re.compile('((?:' + rhex + '[.:/ ])+' + rhex + ')')
rbad = re.compile('(?<!0x)' + rhex)

files = sys.argv[1:]

for fname in files:
for line in fileinput.input(fname, inplace=True):
arr = re.split(rgroup, line)
for i in range(0, len(arr), 2):
arr[i] = re.sub(rbad, '0x\g<0>', arr[i])

sys.stdout.write(''.join(arr))
=========================

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Message-id: 20170731160135.12101-5-vsementsov@virtuozzo.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

show more ...


/openbmc/qemu/.editorconfig
/openbmc/qemu/.shippable.yml
/openbmc/qemu/.travis.yml
/openbmc/qemu/CODING_STYLE
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/Makefile.objs
/openbmc/qemu/Makefile.target
/openbmc/qemu/VERSION
tcg/trace-events
/openbmc/qemu/audio/trace-events
/openbmc/qemu/block.c
/openbmc/qemu/block/commit.c
/openbmc/qemu/block/dirty-bitmap.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/qapi.c
/openbmc/qemu/block/qcow.c
/openbmc/qemu/block/qcow2-bitmap.c
/openbmc/qemu/block/qcow2-refcount.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/trace-events
/openbmc/qemu/block/vpc.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/bsd-user/bsdload.c
/openbmc/qemu/bsd-user/elfload.c
/openbmc/qemu/bsd-user/main.c
/openbmc/qemu/bsd-user/mmap.c
/openbmc/qemu/chardev/trace-events
/openbmc/qemu/configure
/openbmc/qemu/crypto/trace-events
/openbmc/qemu/default-configs/pci.mak
/openbmc/qemu/docs/devel/lockcnt.txt
/openbmc/qemu/docs/devel/qapi-code-gen.txt
/openbmc/qemu/docs/devel/tracing.txt
/openbmc/qemu/docs/devel/writing-qmp-commands.txt
/openbmc/qemu/docs/qcow2-cache.txt
/openbmc/qemu/docs/specs/pci-ids.txt
/openbmc/qemu/docs/usb2.txt
/openbmc/qemu/gdbstub.c
/openbmc/qemu/hmp.c
/openbmc/qemu/hw/9pfs/trace-events
/openbmc/qemu/hw/acpi/trace-events
/openbmc/qemu/hw/alpha/trace-events
/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/integratorcp.c
/openbmc/qemu/hw/arm/mps2.c
/openbmc/qemu/hw/arm/trace-events
/openbmc/qemu/hw/audio/trace-events
/openbmc/qemu/hw/block/dataplane/trace-events
/openbmc/qemu/hw/block/trace-events
/openbmc/qemu/hw/char/escc.c
/openbmc/qemu/hw/char/trace-events
/openbmc/qemu/hw/core/loader.c
/openbmc/qemu/hw/display/sm501.c
/openbmc/qemu/hw/display/trace-events
/openbmc/qemu/hw/dma/trace-events
/openbmc/qemu/hw/i386/trace-events
/openbmc/qemu/hw/i386/xen/trace-events
/openbmc/qemu/hw/i386/xen/xen-mapcache.c
/openbmc/qemu/hw/input/adb.c
/openbmc/qemu/hw/input/ps2.c
/openbmc/qemu/hw/input/trace-events
/openbmc/qemu/hw/intc/armv7m_nvic.c
/openbmc/qemu/hw/intc/trace-events
/openbmc/qemu/hw/isa/trace-events
/openbmc/qemu/hw/mem/trace-events
/openbmc/qemu/hw/mips/mips_fulong2e.c
/openbmc/qemu/hw/mips/mips_malta.c
/openbmc/qemu/hw/mips/mips_mipssim.c
/openbmc/qemu/hw/mips/mips_r4k.c
/openbmc/qemu/hw/misc/Makefile.objs
/openbmc/qemu/hw/misc/ivshmem.c
/openbmc/qemu/hw/misc/mps2-scc.c
/openbmc/qemu/hw/misc/trace-events
/openbmc/qemu/hw/net/trace-events
/openbmc/qemu/hw/nvram/trace-events
/openbmc/qemu/hw/pci/trace-events
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_drc.c
/openbmc/qemu/hw/ppc/spapr_pci.c
/openbmc/qemu/hw/ppc/trace-events
/openbmc/qemu/hw/s390x/css.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/s390x/trace-events
/openbmc/qemu/hw/scsi/scsi-generic.c
/openbmc/qemu/hw/scsi/trace-events
/openbmc/qemu/hw/sd/trace-events
/openbmc/qemu/hw/sparc/trace-events
/openbmc/qemu/hw/timer/trace-events
/openbmc/qemu/hw/unicore32/puv3.c
/openbmc/qemu/hw/usb/bus.c
/openbmc/qemu/hw/usb/hcd-ohci.c
/openbmc/qemu/hw/usb/trace-events
/openbmc/qemu/hw/vfio/ccw.c
/openbmc/qemu/hw/vfio/pci.c
/openbmc/qemu/hw/vfio/platform.c
/openbmc/qemu/hw/vfio/trace-events
/openbmc/qemu/hw/virtio/trace-events
/openbmc/qemu/hw/xen/trace-events
/openbmc/qemu/include/block/block.h
/openbmc/qemu/include/block/block_int.h
/openbmc/qemu/include/fpu/softfloat.h
/openbmc/qemu/include/qapi/qmp/qobject.h
/openbmc/qemu/include/qapi/visitor-impl.h
/openbmc/qemu/include/qapi/visitor.h
/openbmc/qemu/include/qemu/atomic.h
/openbmc/qemu/include/qemu/cpuid.h
/openbmc/qemu/include/qemu/typedefs.h
/openbmc/qemu/include/ui/input.h
/openbmc/qemu/io/trace-events
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/host/aarch64/hostdep.h
/openbmc/qemu/linux-user/host/arm/hostdep.h
/openbmc/qemu/linux-user/host/i386/hostdep.h
/openbmc/qemu/linux-user/host/ppc64/hostdep.h
/openbmc/qemu/linux-user/host/s390x/hostdep.h
/openbmc/qemu/linux-user/host/x86_64/hostdep.h
/openbmc/qemu/linux-user/signal.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/linux-user/trace-events
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/trace-events
/openbmc/qemu/nbd/client.c
/openbmc/qemu/nbd/trace-events
/openbmc/qemu/net/colo-compare.c
/openbmc/qemu/net/eth.c
/openbmc/qemu/net/filter-rewriter.c
/openbmc/qemu/net/trace-events
/openbmc/qemu/pc-bios/README
/openbmc/qemu/pc-bios/keymaps/fr-ca
/openbmc/qemu/pc-bios/slof.bin
/openbmc/qemu/qapi-schema.json
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/introspect.json
/openbmc/qemu/qapi/qapi-clone-visitor.c
/openbmc/qemu/qapi/qapi-dealloc-visitor.c
/openbmc/qemu/qapi/qapi-util.c
/openbmc/qemu/qapi/qapi-visit-core.c
/openbmc/qemu/qapi/qobject-input-visitor.c
/openbmc/qemu/qapi/qobject-output-visitor.c
/openbmc/qemu/qapi/string-input-visitor.c
/openbmc/qemu/qapi/string-output-visitor.c
/openbmc/qemu/qapi/trace-events
/openbmc/qemu/qemu-img.c
/openbmc/qemu/qemu-nbd.c
/openbmc/qemu/qobject/json-parser.c
/openbmc/qemu/qobject/qnull.c
/openbmc/qemu/qom/trace-events
/openbmc/qemu/roms/SLOF
/openbmc/qemu/scripts/checkpatch.pl
/openbmc/qemu/scripts/git.orderfile
/openbmc/qemu/scripts/qapi.py
/openbmc/qemu/scripts/qapi2texi.py
/openbmc/qemu/scripts/simpletrace.py
/openbmc/qemu/scripts/tracetool/__init__.py
/openbmc/qemu/scripts/tracetool/backend/__init__.py
/openbmc/qemu/scripts/tracetool/backend/dtrace.py
/openbmc/qemu/scripts/tracetool/backend/ftrace.py
/openbmc/qemu/scripts/tracetool/backend/log.py
/openbmc/qemu/scripts/tracetool/backend/simple.py
/openbmc/qemu/scripts/tracetool/backend/syslog.py
/openbmc/qemu/scripts/tracetool/backend/ust.py
/openbmc/qemu/scripts/tracetool/format/h.py
/openbmc/qemu/scripts/tracetool/format/simpletrace_stap.py
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/machine.c
/openbmc/qemu/target/arm/trace-events
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/trace-events
/openbmc/qemu/target/m68k/translate.c
/openbmc/qemu/target/mips/cpu.h
/openbmc/qemu/target/mips/helper.c
/openbmc/qemu/target/mips/helper.h
/openbmc/qemu/target/mips/machine.c
/openbmc/qemu/target/mips/op_helper.c
/openbmc/qemu/target/mips/trace-events
/openbmc/qemu/target/mips/translate.c
/openbmc/qemu/target/mips/translate_init.c
/openbmc/qemu/target/ppc/monitor.c
/openbmc/qemu/target/ppc/trace-events
/openbmc/qemu/target/ppc/translate_init.c
/openbmc/qemu/target/s390x/Makefile.objs
/openbmc/qemu/target/s390x/cpu.c
/openbmc/qemu/target/s390x/cpu.h
/openbmc/qemu/target/s390x/cpu_features.c
/openbmc/qemu/target/s390x/cpu_features.h
/openbmc/qemu/target/s390x/cpu_models.c
/openbmc/qemu/target/s390x/diag.c
/openbmc/qemu/target/s390x/excp_helper.c
/openbmc/qemu/target/s390x/gen-features.c
/openbmc/qemu/target/s390x/helper.c
/openbmc/qemu/target/s390x/interrupt.c
/openbmc/qemu/target/s390x/ioinst.c
/openbmc/qemu/target/s390x/kvm.c
/openbmc/qemu/target/s390x/misc_helper.c
/openbmc/qemu/target/s390x/mmu_helper.c
/openbmc/qemu/target/s390x/trace-events
/openbmc/qemu/target/s390x/translate.c
/openbmc/qemu/target/sparc/trace-events
/openbmc/qemu/target/tricore/cpu.c
/openbmc/qemu/tcg/README
/openbmc/qemu/tcg/i386/tcg-target.inc.c
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/check-qjson.c
/openbmc/qemu/tests/check-qnull.c
/openbmc/qemu/tests/check-qom-proplist.c
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/dockerfiles/debian-amd64.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-apt-fake.sh
/openbmc/qemu/tests/docker/dockerfiles/debian-arm64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-armel-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-armhf-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mips-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mips64el-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mipsel-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-ports.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-powerpc-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-ppc64el-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-s390x-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-win32-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-win64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian.docker
/openbmc/qemu/tests/docker/dockerfiles/debian8-mxe.docker
/openbmc/qemu/tests/docker/dockerfiles/debian8.docker
/openbmc/qemu/tests/docker/dockerfiles/debian9.docker
/openbmc/qemu/tests/docker/dockerfiles/travis.docker
/openbmc/qemu/tests/docker/travis.py
/openbmc/qemu/tests/qapi-schema/qapi-schema-test.json
/openbmc/qemu/tests/qapi-schema/qapi-schema-test.out
/openbmc/qemu/tests/qemu-iotests/030
/openbmc/qemu/tests/qemu-iotests/040
/openbmc/qemu/tests/qemu-iotests/040.out
/openbmc/qemu/tests/qemu-iotests/041
/openbmc/qemu/tests/qemu-iotests/041.out
/openbmc/qemu/tests/qemu-iotests/055
/openbmc/qemu/tests/qemu-iotests/085
/openbmc/qemu/tests/qemu-iotests/139
/openbmc/qemu/tests/qemu-iotests/186.out
/openbmc/qemu/tests/qemu-iotests/group
/openbmc/qemu/tests/qemu-iotests/iotests.py
/openbmc/qemu/tests/tcg/test-i386.c
/openbmc/qemu/tests/test-qobject-input-visitor.c
/openbmc/qemu/tests/test-qobject-output-visitor.c
/openbmc/qemu/thunk.c
/openbmc/qemu/trace-events
/openbmc/qemu/trace/control.h
/openbmc/qemu/ui/curses_keys.h
/openbmc/qemu/ui/input-keymap.c
/openbmc/qemu/ui/input-linux.c
/openbmc/qemu/ui/keymaps.h
/openbmc/qemu/ui/spice-input.c
/openbmc/qemu/ui/trace-events
/openbmc/qemu/ui/vnc.c
/openbmc/qemu/ui/vnc_keysym.h
/openbmc/qemu/user-exec.c
/openbmc/qemu/util/bufferiszero.c
/openbmc/qemu/util/oslib-posix.c
/openbmc/qemu/util/qemu-error.c
/openbmc/qemu/util/trace-events
9c489ea614-Jul-2017 Lluís Vilanova <vilanova@ac.upc.edu>

tcg: Pass generic CPUState to gen_intermediate_code()

Needed to implement a target-agnostic gen_intermediate_code()
in the future.

Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-b

tcg: Pass generic CPUState to gen_intermediate_code()

Needed to implement a target-agnostic gen_intermediate_code()
in the future.

Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Reviewed-by: Alex Benneé <alex.benee@linaro.org>
Reviewed-by: Emilio G. Cota <cota@braap.org>
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
Message-Id: <150002025498.22386.18051908483085660588.stgit@frigg.lan>
Signed-off-by: Richard Henderson <rth@twiddle.net>

show more ...


/openbmc/qemu/.gitignore
/openbmc/qemu/.travis.yml
/openbmc/qemu/MAINTAINERS
tcg/translate-all.c
/openbmc/qemu/audio/rate_template.h
/openbmc/qemu/backends/hostmem-ram.c
/openbmc/qemu/block.c
/openbmc/qemu/block/block-backend.c
/openbmc/qemu/block/commit.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/qapi.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/qed-cluster.c
/openbmc/qemu/block/qed-l2-cache.c
/openbmc/qemu/block/qed-table.c
/openbmc/qemu/block/qed.c
/openbmc/qemu/block/qed.h
/openbmc/qemu/block/sheepdog.c
/openbmc/qemu/block/ssh.c
/openbmc/qemu/block/throttle-groups.c
/openbmc/qemu/block/vdi.c
/openbmc/qemu/block/vmdk.c
/openbmc/qemu/block/vpc.c
/openbmc/qemu/block/vvfat.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/configure
/openbmc/qemu/crypto/Makefile.objs
/openbmc/qemu/crypto/afalg.c
/openbmc/qemu/crypto/afalgpriv.h
/openbmc/qemu/crypto/cipher-afalg.c
/openbmc/qemu/crypto/cipher-builtin.c
/openbmc/qemu/crypto/cipher-gcrypt.c
/openbmc/qemu/crypto/cipher-nettle.c
/openbmc/qemu/crypto/cipher.c
/openbmc/qemu/crypto/cipherpriv.h
/openbmc/qemu/crypto/hash-afalg.c
/openbmc/qemu/crypto/hash-gcrypt.c
/openbmc/qemu/crypto/hash-glib.c
/openbmc/qemu/crypto/hash-nettle.c
/openbmc/qemu/crypto/hash.c
/openbmc/qemu/crypto/hashpriv.h
/openbmc/qemu/crypto/hmac-gcrypt.c
/openbmc/qemu/crypto/hmac-glib.c
/openbmc/qemu/crypto/hmac-nettle.c
/openbmc/qemu/crypto/hmac.c
/openbmc/qemu/crypto/hmacpriv.h
/openbmc/qemu/default-configs/arm-softmmu.mak
/openbmc/qemu/docs/colo-proxy.txt
/openbmc/qemu/docs/devel/memory.txt
/openbmc/qemu/docs/devel/tracing.txt
/openbmc/qemu/docs/interop/bitmaps.rst
/openbmc/qemu/docs/interop/live-block-operations.rst
/openbmc/qemu/fsdev/qemu-fsdev-throttle.c
/openbmc/qemu/hmp.c
/openbmc/qemu/hw/alpha/dp264.c
/openbmc/qemu/hw/arm/Makefile.objs
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_soc.c
/openbmc/qemu/hw/arm/exynos4210.c
/openbmc/qemu/hw/arm/exynos4_boards.c
/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/highbank.c
/openbmc/qemu/hw/arm/integratorcp.c
/openbmc/qemu/hw/arm/mainstone.c
/openbmc/qemu/hw/arm/mps2.c
/openbmc/qemu/hw/arm/musicpal.c
/openbmc/qemu/hw/arm/omap1.c
/openbmc/qemu/hw/arm/omap2.c
/openbmc/qemu/hw/arm/omap_sx1.c
/openbmc/qemu/hw/arm/palm.c
/openbmc/qemu/hw/arm/pxa2xx.c
/openbmc/qemu/hw/arm/realview.c
/openbmc/qemu/hw/arm/spitz.c
/openbmc/qemu/hw/arm/stellaris.c
/openbmc/qemu/hw/arm/stm32f205_soc.c
/openbmc/qemu/hw/arm/tosa.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-zynqmp.c
/openbmc/qemu/hw/audio/adlib.c
/openbmc/qemu/hw/audio/fmopl.c
/openbmc/qemu/hw/audio/fmopl.h
/openbmc/qemu/hw/block/onenand.c
/openbmc/qemu/hw/block/pflash_cfi01.c
/openbmc/qemu/hw/block/pflash_cfi02.c
/openbmc/qemu/hw/char/Makefile.objs
/openbmc/qemu/hw/char/cmsdk-apb-uart.c
/openbmc/qemu/hw/char/trace-events
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/core/qdev-properties.c
/openbmc/qemu/hw/core/qdev.c
/openbmc/qemu/hw/cris/axis_dev88.c
/openbmc/qemu/hw/display/cg3.c
/openbmc/qemu/hw/display/qxl.c
/openbmc/qemu/hw/display/sm501.c
/openbmc/qemu/hw/display/tc6393xb.c
/openbmc/qemu/hw/display/tcx.c
/openbmc/qemu/hw/display/vga.c
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/display/vmware_vga.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_q35.c
/openbmc/qemu/hw/i386/pc_sysfw.c
/openbmc/qemu/hw/i386/pci-assign-load-rom.c
/openbmc/qemu/hw/i386/xen/xen-hvm.c
/openbmc/qemu/hw/i386/xen/xen-mapcache.c
/openbmc/qemu/hw/i386/xen/xen_platform.c
/openbmc/qemu/hw/ide/ahci.c
/openbmc/qemu/hw/ide/ahci_internal.h
/openbmc/qemu/hw/ide/ich.c
/openbmc/qemu/hw/ide/qdev.c
/openbmc/qemu/hw/input/milkymist-softusb.c
/openbmc/qemu/hw/m68k/an5206.c
/openbmc/qemu/hw/m68k/mcf5208.c
/openbmc/qemu/hw/microblaze/petalogix_ml605_mmu.c
/openbmc/qemu/hw/microblaze/petalogix_s3adsp1800_mmu.c
/openbmc/qemu/hw/mips/boston.c
/openbmc/qemu/hw/mips/mips_fulong2e.c
/openbmc/qemu/hw/mips/mips_jazz.c
/openbmc/qemu/hw/mips/mips_malta.c
/openbmc/qemu/hw/mips/mips_mipssim.c
/openbmc/qemu/hw/mips/mips_r4k.c
/openbmc/qemu/hw/misc/Makefile.objs
/openbmc/qemu/hw/misc/mps2-scc.c
/openbmc/qemu/hw/misc/trace-events
/openbmc/qemu/hw/moxie/moxiesim.c
/openbmc/qemu/hw/net/dp8393x.c
/openbmc/qemu/hw/net/milkymist-minimac2.c
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/nios2/10m50_devboard.c
/openbmc/qemu/hw/nvram/fw_cfg.c
/openbmc/qemu/hw/openrisc/openrisc_sim.c
/openbmc/qemu/hw/pci-host/prep.c
/openbmc/qemu/hw/pci-host/xilinx-pcie.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/ppc/mac_newworld.c
/openbmc/qemu/hw/ppc/mac_oldworld.c
/openbmc/qemu/hw/ppc/ppc405_boards.c
/openbmc/qemu/hw/ppc/ppc405_uc.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_drc.c
/openbmc/qemu/hw/ppc/spapr_events.c
/openbmc/qemu/hw/ppc/spapr_hcall.c
/openbmc/qemu/hw/ppc/spapr_pci.c
/openbmc/qemu/hw/ppc/trace-events
/openbmc/qemu/hw/s390x/sclp.c
/openbmc/qemu/hw/scsi/scsi-disk.c
/openbmc/qemu/hw/sh4/r2d.c
/openbmc/qemu/hw/sh4/shix.c
/openbmc/qemu/hw/sparc/leon3.c
/openbmc/qemu/hw/sparc/sun4m.c
/openbmc/qemu/hw/sparc64/sun4u.c
/openbmc/qemu/hw/timer/Makefile.objs
/openbmc/qemu/hw/timer/cmsdk-apb-timer.c
/openbmc/qemu/hw/timer/trace-events
/openbmc/qemu/hw/tricore/tricore_testboard.c
/openbmc/qemu/hw/unicore32/puv3.c
/openbmc/qemu/hw/usb/hcd-ehci.c
/openbmc/qemu/hw/vfio/common.c
/openbmc/qemu/hw/xen/xen_pt_config_init.c
/openbmc/qemu/hw/xen/xen_pt_msi.c
/openbmc/qemu/hw/xtensa/sim.c
/openbmc/qemu/hw/xtensa/xtfpga.c
/openbmc/qemu/include/block/block_int.h
/openbmc/qemu/include/crypto/cipher.h
/openbmc/qemu/include/crypto/hmac.h
/openbmc/qemu/include/exec/exec-all.h
/openbmc/qemu/include/exec/helper-tcg.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/char/cmsdk-apb-uart.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/hw/ide/ahci.h
/openbmc/qemu/include/hw/misc/mps2-scc.h
/openbmc/qemu/include/hw/nvram/fw_cfg.h
/openbmc/qemu/include/hw/ppc/pnv_psi.h
/openbmc/qemu/include/hw/ppc/spapr.h
/openbmc/qemu/include/hw/ppc/spapr_drc.h
/openbmc/qemu/include/hw/ppc/spapr_ovec.h
/openbmc/qemu/include/hw/qdev-core.h
/openbmc/qemu/include/hw/qdev-properties.h
/openbmc/qemu/include/hw/timer/cmsdk-apb-timer.h
/openbmc/qemu/include/hw/xen/xen_common.h
/openbmc/qemu/include/migration/colo.h
/openbmc/qemu/include/net/net.h
/openbmc/qemu/include/qemu/coroutine.h
/openbmc/qemu/include/qemu/throttle.h
/openbmc/qemu/include/qemu/typedefs.h
/openbmc/qemu/include/sysemu/block-backend.h
/openbmc/qemu/include/sysemu/xen-mapcache.h
/openbmc/qemu/io/channel.c
/openbmc/qemu/linux-headers/asm-x86/kvm_para.h
/openbmc/qemu/linux-headers/linux/kvm.h
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/signal.c
/openbmc/qemu/memory.c
/openbmc/qemu/migration/colo.c
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/rdma.c
/openbmc/qemu/nbd/client.c
/openbmc/qemu/nbd/nbd-internal.h
/openbmc/qemu/nbd/server.c
/openbmc/qemu/nbd/trace-events
/openbmc/qemu/net/colo-compare.c
/openbmc/qemu/net/colo.c
/openbmc/qemu/net/colo.h
/openbmc/qemu/net/filter-mirror.c
/openbmc/qemu/net/filter-rewriter.c
/openbmc/qemu/net/net.c
/openbmc/qemu/net/socket.c
/openbmc/qemu/numa.c
/openbmc/qemu/pc-bios/efi-e1000.rom
/openbmc/qemu/pc-bios/efi-e1000e.rom
/openbmc/qemu/pc-bios/efi-eepro100.rom
/openbmc/qemu/pc-bios/efi-ne2k_pci.rom
/openbmc/qemu/pc-bios/efi-pcnet.rom
/openbmc/qemu/pc-bios/efi-rtl8139.rom
/openbmc/qemu/pc-bios/efi-virtio.rom
/openbmc/qemu/pc-bios/efi-vmxnet3.rom
/openbmc/qemu/pc-bios/keymaps/fr-ca
/openbmc/qemu/pc-bios/u-boot.e500
/openbmc/qemu/qapi-schema.json
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qemu-img-cmds.hx
/openbmc/qemu/qemu-img.c
/openbmc/qemu/qemu-img.texi
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qga/commands-posix.c
/openbmc/qemu/qga/commands-win32.c
/openbmc/qemu/qga/installer/qemu-ga.wxs
/openbmc/qemu/qga/main.c
/openbmc/qemu/qga/qapi-schema.json
/openbmc/qemu/qga/vss-win32/install.cpp
/openbmc/qemu/qmp.c
/openbmc/qemu/qom/object.c
/openbmc/qemu/roms/ipxe
/openbmc/qemu/roms/u-boot
/openbmc/qemu/scripts/coccinelle/memory-region-init-ram.cocci
/openbmc/qemu/scripts/coccinelle/tcg_gen_extract.cocci
/openbmc/qemu/scripts/device-crash-test
/openbmc/qemu/scripts/tracetool/__init__.py
/openbmc/qemu/scripts/tracetool/backend/dtrace.py
/openbmc/qemu/scripts/tracetool/backend/ftrace.py
/openbmc/qemu/scripts/tracetool/backend/log.py
/openbmc/qemu/scripts/tracetool/backend/simple.py
/openbmc/qemu/scripts/tracetool/backend/syslog.py
/openbmc/qemu/scripts/tracetool/backend/ust.py
/openbmc/qemu/scripts/tracetool/format/h.py
/openbmc/qemu/scripts/tracetool/format/tcg_h.py
/openbmc/qemu/scripts/tracetool/format/tcg_helper_c.py
/openbmc/qemu/slirp/ip6.h
/openbmc/qemu/slirp/misc.c
/openbmc/qemu/slirp/sbuf.c
/openbmc/qemu/slirp/socket.c
/openbmc/qemu/target/alpha/cpu.c
/openbmc/qemu/target/alpha/cpu.h
/openbmc/qemu/target/alpha/helper.c
/openbmc/qemu/target/alpha/machine.c
/openbmc/qemu/target/alpha/translate.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/arm/translate.c
/openbmc/qemu/target/arm/translate.h
/openbmc/qemu/target/cris/translate.c
/openbmc/qemu/target/hppa/translate.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/translate.c
/openbmc/qemu/target/lm32/translate.c
/openbmc/qemu/target/m68k/translate.c
/openbmc/qemu/target/microblaze/translate.c
/openbmc/qemu/target/mips/helper.c
/openbmc/qemu/target/mips/translate.c
/openbmc/qemu/target/moxie/translate.c
/openbmc/qemu/target/nios2/translate.c
/openbmc/qemu/target/openrisc/translate.c
/openbmc/qemu/target/ppc/kvm.c
/openbmc/qemu/target/ppc/kvm_ppc.h
/openbmc/qemu/target/ppc/mmu-hash64.h
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/ppc/translate/vsx-impl.inc.c
/openbmc/qemu/target/ppc/translate_init.c
/openbmc/qemu/target/s390x/cpu_models.c
/openbmc/qemu/target/s390x/gen-features.c
/openbmc/qemu/target/s390x/helper.h
/openbmc/qemu/target/s390x/insn-data.def
/openbmc/qemu/target/s390x/mem_helper.c
/openbmc/qemu/target/s390x/translate.c
/openbmc/qemu/target/sh4/cpu.c
/openbmc/qemu/target/sh4/cpu.h
/openbmc/qemu/target/sh4/helper.h
/openbmc/qemu/target/sh4/op_helper.c
/openbmc/qemu/target/sh4/translate.c
/openbmc/qemu/target/sparc/translate.c
/openbmc/qemu/target/tilegx/translate.c
/openbmc/qemu/target/tricore/translate.c
/openbmc/qemu/target/unicore32/translate.c
/openbmc/qemu/target/xtensa/translate.c
/openbmc/qemu/tcg/mips/tcg-target.inc.c
/openbmc/qemu/tcg/tci.c
/openbmc/qemu/tests/.gitignore
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/ahci-test.c
/openbmc/qemu/tests/benchmark-crypto-cipher.c
/openbmc/qemu/tests/benchmark-crypto-hash.c
/openbmc/qemu/tests/benchmark-crypto-hmac.c
/openbmc/qemu/tests/check-qom-proplist.c
/openbmc/qemu/tests/data/test-qga-os-release
/openbmc/qemu/tests/device-introspect-test.c
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/docker.py
/openbmc/qemu/tests/qemu-iotests/067
/openbmc/qemu/tests/qemu-iotests/067.out
/openbmc/qemu/tests/qemu-iotests/082
/openbmc/qemu/tests/qemu-iotests/082.out
/openbmc/qemu/tests/qemu-iotests/085
/openbmc/qemu/tests/qemu-iotests/111.out
/openbmc/qemu/tests/qemu-iotests/139
/openbmc/qemu/tests/qemu-iotests/140.out
/openbmc/qemu/tests/qemu-iotests/143.out
/openbmc/qemu/tests/qemu-iotests/156
/openbmc/qemu/tests/qemu-iotests/158
/openbmc/qemu/tests/qemu-iotests/186
/openbmc/qemu/tests/qemu-iotests/186.out
/openbmc/qemu/tests/qemu-iotests/189
/openbmc/qemu/tests/qemu-iotests/group
/openbmc/qemu/tests/test-qdev-global-props.c
/openbmc/qemu/tests/test-qga.c
/openbmc/qemu/tests/test-throttle.c
/openbmc/qemu/trace-events
/openbmc/qemu/ui/vnc.c
/openbmc/qemu/util/aio-win32.c
/openbmc/qemu/util/cacheinfo.c
/openbmc/qemu/util/qemu-coroutine-lock.c
/openbmc/qemu/util/throttle.c
61a67f7104-Jul-2017 Lluís Vilanova <vilanova@ac.upc.edu>

exec: [tcg] Use different TBs according to the vCPU's dynamic tracing state

Every vCPU now uses a separate set of TBs for each set of dynamic
tracing event state values. Each set of TBs can be used

exec: [tcg] Use different TBs according to the vCPU's dynamic tracing state

Every vCPU now uses a separate set of TBs for each set of dynamic
tracing event state values. Each set of TBs can be used by any number of
vCPUs to maximize TB reuse when vCPUs have the same tracing state.

This feature is later used by tracetool to optimize tracing of guest
code events.

The maximum number of TB sets is defined as 2^E, where E is the number
of events that have the 'vcpu' property (their state is stored in
CPUState->trace_dstate).

For this to work, a change on the dynamic tracing state of a vCPU will
force it to flush its virtual TB cache (which is only indexed by
address), and fall back to the physical TB cache (which now contains the
vCPU's dynamic tracing state as part of the hashing function).

Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Reviewed-by: Emilio G. Cota <cota@braap.org>
Signed-off-by: Emilio G. Cota <cota@braap.org>
Message-id: 149915775266.6295.10060144081246467690.stgit@frigg.lan
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

show more ...


/openbmc/qemu/Makefile
tcg/cpu-exec.c
tcg/translate-all.c
/openbmc/qemu/block.c
/openbmc/qemu/block/backup.c
/openbmc/qemu/block/gluster.c
/openbmc/qemu/block/iscsi.c
/openbmc/qemu/block/nfs.c
/openbmc/qemu/block/rbd.c
/openbmc/qemu/block/ssh.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/chardev/char-socket.c
/openbmc/qemu/configure
/openbmc/qemu/cpus.c
/openbmc/qemu/exec.c
/openbmc/qemu/gdb-xml/s390-gs.xml
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/hmp-commands.hx
/openbmc/qemu/hw/9pfs/9p.c
/openbmc/qemu/hw/arm/highbank.c
/openbmc/qemu/hw/arm/imx25_pdk.c
/openbmc/qemu/hw/arm/kzm.c
/openbmc/qemu/hw/block/virtio-blk.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/core/qdev-properties-system.c
/openbmc/qemu/hw/core/qdev-properties.c
/openbmc/qemu/hw/core/qdev.c
/openbmc/qemu/hw/display/xlnx_dp.c
/openbmc/qemu/hw/dma/xilinx_axidma.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/kvm/pci-assign.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/i386/pc_q35.c
/openbmc/qemu/hw/intc/s390_flic.c
/openbmc/qemu/hw/intc/s390_flic_kvm.c
/openbmc/qemu/hw/intc/trace-events
/openbmc/qemu/hw/ipmi/ipmi.c
/openbmc/qemu/hw/mem/pc-dimm.c
/openbmc/qemu/hw/misc/aspeed_sdmc.c
/openbmc/qemu/hw/misc/ivshmem.c
/openbmc/qemu/hw/misc/mips_cmgcr.c
/openbmc/qemu/hw/net/xilinx_axienet.c
/openbmc/qemu/hw/nvram/fw_cfg.c
/openbmc/qemu/hw/pci-host/piix.c
/openbmc/qemu/hw/ppc/pnv.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_iommu.c
/openbmc/qemu/hw/ppc/spapr_rng.c
/openbmc/qemu/hw/s390x/Makefile.objs
/openbmc/qemu/hw/s390x/css-bridge.c
/openbmc/qemu/hw/s390x/css.c
/openbmc/qemu/hw/s390x/s390-pci-bus.c
/openbmc/qemu/hw/s390x/s390-stattrib-kvm.c
/openbmc/qemu/hw/s390x/s390-stattrib.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/s390x/trace-events
/openbmc/qemu/hw/s390x/virtio-ccw.c
/openbmc/qemu/hw/scsi/scsi-bus.c
/openbmc/qemu/hw/scsi/virtio-scsi.c
/openbmc/qemu/hw/usb/dev-smartcard-reader.c
/openbmc/qemu/hw/usb/redirect.c
/openbmc/qemu/hw/virtio/virtio-crypto-pci.c
/openbmc/qemu/hw/virtio/virtio-crypto.c
/openbmc/qemu/hw/virtio/virtio-pci.c
/openbmc/qemu/hw/virtio/virtio-rng.c
/openbmc/qemu/include/elf.h
/openbmc/qemu/include/exec/exec-all.h
/openbmc/qemu/include/exec/tb-hash-xx.h
/openbmc/qemu/include/exec/tb-hash.h
/openbmc/qemu/include/hw/qdev-core.h
/openbmc/qemu/include/hw/qdev-properties.h
/openbmc/qemu/include/hw/s390x/css.h
/openbmc/qemu/include/hw/s390x/s390-virtio-ccw.h
/openbmc/qemu/include/hw/s390x/s390_flic.h
/openbmc/qemu/include/hw/s390x/sclp.h
/openbmc/qemu/include/hw/s390x/storage-attributes.h
/openbmc/qemu/include/qapi/error.h
/openbmc/qemu/include/qemu/error-report.h
/openbmc/qemu/include/qom/cpu.h
/openbmc/qemu/include/qom/object.h
/openbmc/qemu/include/standard-headers/asm-x86/hyperv.h
/openbmc/qemu/include/standard-headers/linux/input-event-codes.h
/openbmc/qemu/include/standard-headers/linux/pci_regs.h
/openbmc/qemu/io/channel-websock.c
/openbmc/qemu/io/dns-resolver.c
/openbmc/qemu/linux-headers/asm-arm/kvm.h
/openbmc/qemu/linux-headers/asm-arm64/kvm.h
/openbmc/qemu/linux-headers/asm-powerpc/kvm.h
/openbmc/qemu/linux-headers/asm-s390/kvm.h
/openbmc/qemu/linux-headers/linux/kvm.h
/openbmc/qemu/monitor.c
/openbmc/qemu/net/tap-linux.c
/openbmc/qemu/pc-bios/openbios-ppc
/openbmc/qemu/pc-bios/openbios-sparc32
/openbmc/qemu/pc-bios/openbios-sparc64
/openbmc/qemu/pc-bios/s390-ccw.img
/openbmc/qemu/pc-bios/s390-ccw/Makefile
/openbmc/qemu/pc-bios/s390-ccw/bootmap.c
/openbmc/qemu/pc-bios/s390-ccw/bootmap.h
/openbmc/qemu/pc-bios/s390-ccw/bswap.h
/openbmc/qemu/pc-bios/s390-ccw/libc.h
/openbmc/qemu/pc-bios/s390-ccw/main.c
/openbmc/qemu/pc-bios/s390-ccw/netboot.mak
/openbmc/qemu/pc-bios/s390-ccw/netmain.c
/openbmc/qemu/pc-bios/s390-ccw/s390-ccw.h
/openbmc/qemu/pc-bios/s390-ccw/sclp.c
/openbmc/qemu/pc-bios/s390-ccw/virtio-blkdev.c
/openbmc/qemu/pc-bios/s390-ccw/virtio-net.c
/openbmc/qemu/pc-bios/s390-ccw/virtio-scsi.c
/openbmc/qemu/pc-bios/s390-ccw/virtio.c
/openbmc/qemu/pc-bios/s390-ccw/virtio.h
/openbmc/qemu/pc-bios/s390-netboot.img
/openbmc/qemu/qmp.c
/openbmc/qemu/qom/cpu.c
/openbmc/qemu/qom/object.c
/openbmc/qemu/roms/SLOF
/openbmc/qemu/roms/openbios
/openbmc/qemu/scripts/checkpatch.pl
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/kvm.c
/openbmc/qemu/target/ppc/translate_init.c
/openbmc/qemu/target/s390x/arch_dump.c
/openbmc/qemu/target/s390x/cpu.h
/openbmc/qemu/target/s390x/cpu_features.c
/openbmc/qemu/target/s390x/cpu_features.h
/openbmc/qemu/target/s390x/cpu_features_def.h
/openbmc/qemu/target/s390x/cpu_models.c
/openbmc/qemu/target/s390x/cpu_models.h
/openbmc/qemu/target/s390x/gdbstub.c
/openbmc/qemu/target/s390x/gen-features.c
/openbmc/qemu/target/s390x/kvm.c
/openbmc/qemu/target/s390x/machine.c
/openbmc/qemu/tcg/tcg-runtime.c
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/qht-bench.c
/openbmc/qemu/tests/test-qdev-global-props.c
/openbmc/qemu/tests/vmgenid-test.c
/openbmc/qemu/trace/control-target.c
/openbmc/qemu/trace/control.c
/openbmc/qemu/trace/control.h
/openbmc/qemu/util/error.c
/openbmc/qemu/util/qemu-error.c
/openbmc/qemu/util/qemu-sockets.c
/openbmc/qemu/vl.c
d40d3da009-Jul-2017 Emilio G. Cota <cota@braap.org>

translate-all: remove redundant !tcg_enabled check in dump_exec_info

This check is redundant because it is already performed by the only
caller of dump_exec_info -- the caller was updated by b7da97e

translate-all: remove redundant !tcg_enabled check in dump_exec_info

This check is redundant because it is already performed by the only
caller of dump_exec_info -- the caller was updated by b7da97eef
("monitor: Check whether TCG is enabled before running the "info jit"
code").

Checking twice wouldn't necessarily be too bad, but here the check also
returns with tb_lock held. So we can either do the check before tb_lock is
acquired, or just get rid of it. Given that it is redundant, I am going
for the latter option.

Signed-off-by: Emilio G. Cota <cota@braap.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile.objs
tcg/translate-all.c
/openbmc/qemu/backends/rng-egd.c
/openbmc/qemu/block.c
/openbmc/qemu/block/Makefile.objs
/openbmc/qemu/block/blkdebug.c
/openbmc/qemu/block/block-backend.c
/openbmc/qemu/block/commit.c
/openbmc/qemu/block/crypto.c
/openbmc/qemu/block/crypto.h
/openbmc/qemu/block/dirty-bitmap.c
/openbmc/qemu/block/file-posix.c
/openbmc/qemu/block/file-win32.c
/openbmc/qemu/block/gluster.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/iscsi.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/nbd-client.c
/openbmc/qemu/block/nbd-client.h
/openbmc/qemu/block/nbd.c
/openbmc/qemu/block/nfs.c
/openbmc/qemu/block/parallels.c
/openbmc/qemu/block/qapi.c
/openbmc/qemu/block/qcow.c
/openbmc/qemu/block/qcow2-bitmap.c
/openbmc/qemu/block/qcow2-cluster.c
/openbmc/qemu/block/qcow2-refcount.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/qcow2.h
/openbmc/qemu/block/qed.c
/openbmc/qemu/block/raw-format.c
/openbmc/qemu/block/rbd.c
/openbmc/qemu/block/sheepdog.c
/openbmc/qemu/block/vdi.c
/openbmc/qemu/block/vhdx-log.c
/openbmc/qemu/block/vhdx.c
/openbmc/qemu/block/vmdk.c
/openbmc/qemu/block/vpc.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/bsd-user/qemu.h
/openbmc/qemu/chardev/char-fe.c
/openbmc/qemu/chardev/char-mux.c
/openbmc/qemu/chardev/char-socket.c
/openbmc/qemu/chardev/char.c
/openbmc/qemu/configure
/openbmc/qemu/crypto/block-luks.c
/openbmc/qemu/crypto/block-qcow.c
/openbmc/qemu/crypto/block.c
/openbmc/qemu/crypto/blockpriv.h
/openbmc/qemu/docs/interop/qcow2.txt
/openbmc/qemu/exec.c
/openbmc/qemu/gdbstub.c
/openbmc/qemu/hmp-commands.hx
/openbmc/qemu/hmp.c
/openbmc/qemu/hmp.h
/openbmc/qemu/hw/alpha/typhoon.c
/openbmc/qemu/hw/arm/pxa2xx.c
/openbmc/qemu/hw/arm/strongarm.c
/openbmc/qemu/hw/char/bcm2835_aux.c
/openbmc/qemu/hw/char/cadence_uart.c
/openbmc/qemu/hw/char/debugcon.c
/openbmc/qemu/hw/char/digic-uart.c
/openbmc/qemu/hw/char/escc.c
/openbmc/qemu/hw/char/etraxfs_ser.c
/openbmc/qemu/hw/char/exynos4210_uart.c
/openbmc/qemu/hw/char/grlib_apbuart.c
/openbmc/qemu/hw/char/imx_serial.c
/openbmc/qemu/hw/char/ipoctal232.c
/openbmc/qemu/hw/char/lm32_juart.c
/openbmc/qemu/hw/char/lm32_uart.c
/openbmc/qemu/hw/char/mcf_uart.c
/openbmc/qemu/hw/char/milkymist-uart.c
/openbmc/qemu/hw/char/parallel.c
/openbmc/qemu/hw/char/pl011.c
/openbmc/qemu/hw/char/sclpconsole-lm.c
/openbmc/qemu/hw/char/sclpconsole.c
/openbmc/qemu/hw/char/serial.c
/openbmc/qemu/hw/char/sh_serial.c
/openbmc/qemu/hw/char/spapr_vty.c
/openbmc/qemu/hw/char/stm32f2xx_usart.c
/openbmc/qemu/hw/char/terminal3270.c
/openbmc/qemu/hw/char/virtio-console.c
/openbmc/qemu/hw/char/xen_console.c
/openbmc/qemu/hw/char/xilinx_uartlite.c
/openbmc/qemu/hw/core/loader.c
/openbmc/qemu/hw/dma/rc4030.c
/openbmc/qemu/hw/i386/amd_iommu.c
/openbmc/qemu/hw/i386/amd_iommu.h
/openbmc/qemu/hw/i386/intel_iommu.c
/openbmc/qemu/hw/i386/kvmvapic.c
/openbmc/qemu/hw/ipmi/ipmi_bmc_extern.c
/openbmc/qemu/hw/mips/boston.c
/openbmc/qemu/hw/mips/mips_jazz.c
/openbmc/qemu/hw/mips/mips_malta.c
/openbmc/qemu/hw/misc/ivshmem.c
/openbmc/qemu/hw/pci-host/apb.c
/openbmc/qemu/hw/pci/pci-stub.c
/openbmc/qemu/hw/ppc/spapr.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/s390x/s390-pci-bus.c
/openbmc/qemu/hw/s390x/s390-pci-bus.h
/openbmc/qemu/hw/s390x/s390-pci-inst.c
/openbmc/qemu/hw/usb/ccid-card-passthru.c
/openbmc/qemu/hw/usb/dev-serial.c
/openbmc/qemu/hw/usb/redirect.c
/openbmc/qemu/hw/vfio/common.c
/openbmc/qemu/hw/vfio/pci.c
/openbmc/qemu/hw/vfio/platform.c
/openbmc/qemu/hw/vfio/spapr.c
/openbmc/qemu/include/block/block.h
/openbmc/qemu/include/block/block_int.h
/openbmc/qemu/include/block/dirty-bitmap.h
/openbmc/qemu/include/block/nbd.h
/openbmc/qemu/include/chardev/char-fe.h
/openbmc/qemu/include/chardev/char.h
/openbmc/qemu/include/crypto/block.h
/openbmc/qemu/include/exec/exec-all.h
/openbmc/qemu/include/exec/gdbstub.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/hw/i386/intel_iommu.h
/openbmc/qemu/include/hw/mips/mips.h
/openbmc/qemu/include/hw/misc/unimp.h
/openbmc/qemu/include/hw/ppc/spapr.h
/openbmc/qemu/include/hw/ppc/spapr_drc.h
/openbmc/qemu/include/hw/ppc/spapr_ovec.h
/openbmc/qemu/include/hw/ptimer.h
/openbmc/qemu/include/hw/vfio/vfio-common.h
/openbmc/qemu/include/monitor/monitor.h
/openbmc/qemu/include/qapi/error.h
/openbmc/qemu/include/qemu/hbitmap.h
/openbmc/qemu/include/qemu/osdep.h
/openbmc/qemu/include/qemu/sockets.h
/openbmc/qemu/include/qemu/typedefs.h
/openbmc/qemu/include/qom/cpu.h
/openbmc/qemu/include/sysemu/block-backend.h
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/memory.c
/openbmc/qemu/monitor.c
/openbmc/qemu/nbd/client.c
/openbmc/qemu/nbd/common.c
/openbmc/qemu/nbd/nbd-internal.h
/openbmc/qemu/nbd/server.c
/openbmc/qemu/nbd/trace-events
/openbmc/qemu/net/colo-compare.c
/openbmc/qemu/net/filter-mirror.c
/openbmc/qemu/net/slirp.c
/openbmc/qemu/net/vhost-user.c
/openbmc/qemu/qapi-schema.json
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/common.json
/openbmc/qemu/qemu-doc.texi
/openbmc/qemu/qemu-img-cmds.hx
/openbmc/qemu/qemu-img.c
/openbmc/qemu/qemu-img.texi
/openbmc/qemu/qemu-io-cmds.c
/openbmc/qemu/qemu-io.c
/openbmc/qemu/qemu-nbd.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qga/commands-win32.c
/openbmc/qemu/qmp.c
/openbmc/qemu/qtest.c
/openbmc/qemu/scripts/coccinelle/qobject.cocci
/openbmc/qemu/scripts/hxtool
/openbmc/qemu/scripts/qapi-commands.py
/openbmc/qemu/scripts/qapi-event.py
/openbmc/qemu/scripts/qapi.py
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/mips/translate.c
/openbmc/qemu/target/ppc/excp_helper.c
/openbmc/qemu/target/ppc/kvm.c
/openbmc/qemu/target/ppc/mmu-radix64.c
/openbmc/qemu/target/ppc/mmu-radix64.h
/openbmc/qemu/target/ppc/mmu_helper.c
/openbmc/qemu/target/xtensa/gdbstub.c
/openbmc/qemu/target/xtensa/xtensa-semi.c
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/multiboot/run_test.sh
/openbmc/qemu/tests/qemu-iotests/033
/openbmc/qemu/tests/qemu-iotests/042
/openbmc/qemu/tests/qemu-iotests/044.out
/openbmc/qemu/tests/qemu-iotests/048
/openbmc/qemu/tests/qemu-iotests/049
/openbmc/qemu/tests/qemu-iotests/049.out
/openbmc/qemu/tests/qemu-iotests/051
/openbmc/qemu/tests/qemu-iotests/068
/openbmc/qemu/tests/qemu-iotests/082.out
/openbmc/qemu/tests/qemu-iotests/085.out
/openbmc/qemu/tests/qemu-iotests/087
/openbmc/qemu/tests/qemu-iotests/087.out
/openbmc/qemu/tests/qemu-iotests/106
/openbmc/qemu/tests/qemu-iotests/106.out
/openbmc/qemu/tests/qemu-iotests/120
/openbmc/qemu/tests/qemu-iotests/125
/openbmc/qemu/tests/qemu-iotests/125.out
/openbmc/qemu/tests/qemu-iotests/126
/openbmc/qemu/tests/qemu-iotests/126.out
/openbmc/qemu/tests/qemu-iotests/134
/openbmc/qemu/tests/qemu-iotests/134.out
/openbmc/qemu/tests/qemu-iotests/140
/openbmc/qemu/tests/qemu-iotests/142
/openbmc/qemu/tests/qemu-iotests/144.out
/openbmc/qemu/tests/qemu-iotests/145
/openbmc/qemu/tests/qemu-iotests/149
/openbmc/qemu/tests/qemu-iotests/149.out
/openbmc/qemu/tests/qemu-iotests/157
/openbmc/qemu/tests/qemu-iotests/157.out
/openbmc/qemu/tests/qemu-iotests/158
/openbmc/qemu/tests/qemu-iotests/158.out
/openbmc/qemu/tests/qemu-iotests/159
/openbmc/qemu/tests/qemu-iotests/165
/openbmc/qemu/tests/qemu-iotests/165.out
/openbmc/qemu/tests/qemu-iotests/170
/openbmc/qemu/tests/qemu-iotests/171
/openbmc/qemu/tests/qemu-iotests/174
/openbmc/qemu/tests/qemu-iotests/178
/openbmc/qemu/tests/qemu-iotests/178.out.qcow2
/openbmc/qemu/tests/qemu-iotests/178.out.raw
/openbmc/qemu/tests/qemu-iotests/181
/openbmc/qemu/tests/qemu-iotests/185.out
/openbmc/qemu/tests/qemu-iotests/188
/openbmc/qemu/tests/qemu-iotests/188.out
/openbmc/qemu/tests/qemu-iotests/189
/openbmc/qemu/tests/qemu-iotests/189.out
/openbmc/qemu/tests/qemu-iotests/check
/openbmc/qemu/tests/qemu-iotests/common
/openbmc/qemu/tests/qemu-iotests/common.config
/openbmc/qemu/tests/qemu-iotests/common.filter
/openbmc/qemu/tests/qemu-iotests/common.qemu
/openbmc/qemu/tests/qemu-iotests/common.rc
/openbmc/qemu/tests/qemu-iotests/group
/openbmc/qemu/tests/rocker/all
/openbmc/qemu/tests/tcg/cris/Makefile
/openbmc/qemu/tests/test-char.c
/openbmc/qemu/tests/test-crypto-block.c
/openbmc/qemu/tests/test-hbitmap.c
/openbmc/qemu/tests/test-hmp.c
/openbmc/qemu/tests/vhost-user-test.c
/openbmc/qemu/trace/control-target.c
/openbmc/qemu/util/hbitmap.c
/openbmc/qemu/util/oslib-posix.c
/openbmc/qemu/util/oslib-win32.c
/openbmc/qemu/util/qemu-sockets.c
/openbmc/qemu/vl.c
5d721b7811-Jul-2017 Alexander Graf <agraf@suse.de>

ARM: KVM: Enable in-kernel timers with user space gic

When running with KVM enabled, you can choose between emulating the
gic in kernel or user space. If the kernel supports in-kernel virtualization

ARM: KVM: Enable in-kernel timers with user space gic

When running with KVM enabled, you can choose between emulating the
gic in kernel or user space. If the kernel supports in-kernel virtualization
of the interrupt controller, it will default to that. If not, if will
default to user space emulation.

Unfortunately when running in user mode gic emulation, we miss out on
interrupt events which are only available from kernel space, such as the timer.
This patch leverages the new kernel/user space pending line synchronization for
timer events. It does not handle PMU events yet.

Signed-off-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Message-id: 1498577737-130264-1-git-send-email-agraf@suse.de
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...


/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile.objs
kvm/kvm-all.c
stubs/kvm-stub.c
/openbmc/qemu/block/backup.c
/openbmc/qemu/block/blkdebug.c
/openbmc/qemu/block/commit.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/raw-format.c
/openbmc/qemu/block/replication.c
/openbmc/qemu/block/stream.c
/openbmc/qemu/block/trace-events
/openbmc/qemu/block/vpc.c
/openbmc/qemu/block/vvfat.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/hw/arm/aspeed_soc.c
/openbmc/qemu/hw/arm/exynos4210.c
/openbmc/qemu/hw/display/xenfb.c
/openbmc/qemu/hw/i386/xen/xen_platform.c
/openbmc/qemu/hw/intc/arm_gic.c
/openbmc/qemu/hw/misc/Makefile.objs
/openbmc/qemu/hw/misc/exynos4210_rng.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/xen/xen_pt.c
/openbmc/qemu/hw/xenpv/xen_machine_pv.c
/openbmc/qemu/include/block/block.h
/openbmc/qemu/include/block/block_backup.h
/openbmc/qemu/include/hw/arm/aspeed_soc.h
/openbmc/qemu/include/hw/xen/xen_backend.h
/openbmc/qemu/include/migration/misc.h
/openbmc/qemu/include/migration/register.h
/openbmc/qemu/include/qemu/ratelimit.h
/openbmc/qemu/include/sysemu/kvm.h
/openbmc/qemu/migration/block.c
/openbmc/qemu/migration/colo.c
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/ram.h
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/migration/savevm.h
/openbmc/qemu/migration/trace-events
/openbmc/qemu/nbd/client.c
/openbmc/qemu/nbd/common.c
/openbmc/qemu/nbd/nbd-internal.h
/openbmc/qemu/nbd/server.c
/openbmc/qemu/nbd/trace-events
/openbmc/qemu/qemu-img.c
/openbmc/qemu/qemu-io-cmds.c
/openbmc/qemu/qemu-io.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/kvm.c
/openbmc/qemu/tcg/aarch64/tcg-target.inc.c
/openbmc/qemu/tcg/mips/tcg-target.inc.c
/openbmc/qemu/tests/qemu-iotests/060.out
/openbmc/qemu/tests/qemu-iotests/114.out
/openbmc/qemu/tests/qemu-iotests/153.out
/openbmc/qemu/tests/qemu-iotests/177
/openbmc/qemu/tests/qemu-iotests/177.out
/openbmc/qemu/util/cacheinfo.c
/openbmc/qemu/vl.c
b68686bd30-Jun-2017 Pranith Kumar <bobby.prani@gmail.com>

tcg/aarch64: Use ADRP+ADD to compute target address

We use ADRP+ADD to compute the target address for goto_tb. This patch
introduces the NOP instruction which is used to align the above
instruction

tcg/aarch64: Use ADRP+ADD to compute target address

We use ADRP+ADD to compute the target address for goto_tb. This patch
introduces the NOP instruction which is used to align the above
instruction pair so that we can use one atomic instruction to patch
the destination offsets.

CC: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Pranith Kumar <bobby.prani@gmail.com>
Message-Id: <20170630143614.31059-2-bobby.prani@gmail.com>
Signed-off-by: Richard Henderson <rth@twiddle.net>

show more ...

e4b4b64203-Jul-2017 Yang Zhong <yang.zhong@intel.com>

tcg: add the CONFIG_TCG into Makefiles

Add the CONFIG_TCG for frontend and backend's files in the related
Makefiles.

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <p

tcg: add the CONFIG_TCG into Makefiles

Add the CONFIG_TCG for frontend and backend's files in the related
Makefiles.

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

a574cf9b03-Jul-2017 Yang Zhong <yang.zhong@intel.com>

tcg: add the tcg-stub.c file into accel/stubs/

If tcg is disabled, the functions in tcg-stub.c file will be called.
This file is target-independent file, do not include any platform
related stub fun

tcg: add the tcg-stub.c file into accel/stubs/

If tcg is disabled, the functions in tcg-stub.c file will be called.
This file is target-independent file, do not include any platform
related stub functions into this file.

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

f0d14a9517-Sep-2012 Paolo Bonzini <pbonzini@redhat.com>

monitor: disable "info jit" and "info opcount" if !TCG

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

8e2b729903-Jul-2017 Yang Zhong <yang.zhong@intel.com>

tcg: make tcg_allowed global

Change the tcg_enabled() and make sure user build still enable tcg
even x86 softmmu disable tcg.

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Signed-off-by: Paolo B

tcg: make tcg_allowed global

Change the tcg_enabled() and make sure user build still enable tcg
even x86 softmmu disable tcg.

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

290dae4604-Jul-2017 Paolo Bonzini <pbonzini@redhat.com>

cpu: move interrupt handling out of translate-common.c

translate-common.c will not be available anymore with --disable-tcg,
so we cannot leave cpu_interrupt_handler there.

Move the TCG-specific han

cpu: move interrupt handling out of translate-common.c

translate-common.c will not be available anymore with --disable-tcg,
so we cannot leave cpu_interrupt_handler there.

Move the TCG-specific handler to accel/tcg/tcg-all.c, and adopt
KVM's handler as the default one, since it works just as well for
Xen and qtest.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

a0be0c5803-Jul-2017 Yang Zhong <yang.zhong@intel.com>

tcg: move page_size_init() function

translate-all.c will be disabled if tcg is disabled in the build,
so page_size_init() function and related variables will be moved
to exec.c file.

Signed-off-by:

tcg: move page_size_init() function

translate-all.c will be disabled if tcg is disabled in the build,
so page_size_init() function and related variables will be moved
to exec.c file.

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

8b3ae69203-Jul-2017 Paolo Bonzini <pbonzini@redhat.com>

vl: convert -tb-size to qemu_strtoul

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

2cd5394326-Jun-2017 Thomas Huth <thuth@redhat.com>

cpu: Introduce a wrapper for tlb_flush() that can be used in common code

Commit 1f5c00cfdb8114c ("qom/cpu: move tlb_flush to cpu_common_reset")
moved the call to tlb_flush() from the target-specific

cpu: Introduce a wrapper for tlb_flush() that can be used in common code

Commit 1f5c00cfdb8114c ("qom/cpu: move tlb_flush to cpu_common_reset")
moved the call to tlb_flush() from the target-specific reset handlers
into the common code qom/cpu.c file, and protected the call with
"#ifdef CONFIG_SOFTMMU" to avoid that it is called for linux-user
only targets. But since qom/cpu.c is common code, CONFIG_SOFTMMU is
*never* defined here, so the tlb_flush() was simply never executed
anymore. Fix it by introducing a wrapper for tlb_flush() in a file
that is re-compiled for each target, i.e. in translate-all.c.

Fixes: 1f5c00cfdb8114c1e3a13426588ceb64f82c9ddb
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <1498454578-18709-5-git-send-email-thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

99f3183218-Jun-2017 Sergio Andres Gomez Del Real <sergio.g.delreal@gmail.com>

vcpu_dirty: share the same field in CPUState for all accelerators

This patch simply replaces the separate boolean field in CPUState that
kvm, hax (and upcoming hvf) have for keeping track of vcpu di

vcpu_dirty: share the same field in CPUState for all accelerators

This patch simply replaces the separate boolean field in CPUState that
kvm, hax (and upcoming hvf) have for keeping track of vcpu dirtiness
with a single shared field.

Signed-off-by: Sergio Andres Gomez Del Real <Sergio.G.DelReal@gmail.com>
Message-Id: <20170618191101.3457-1-Sergio.G.DelReal@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


kvm/kvm-all.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/amd_iommu.c
/openbmc/qemu/hw/i386/intel_iommu.c
/openbmc/qemu/hw/i386/kvm/pci-assign.c
/openbmc/qemu/hw/i386/trace-events
/openbmc/qemu/hw/ide/ich.c
/openbmc/qemu/hw/net/e1000e.c
/openbmc/qemu/hw/net/eepro100.c
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/nvram/fw_cfg.c
/openbmc/qemu/hw/pci-bridge/dec.c
/openbmc/qemu/hw/pci-bridge/i82801b11.c
/openbmc/qemu/hw/pci-bridge/pci_bridge_dev.c
/openbmc/qemu/hw/pci-bridge/pcie_root_port.c
/openbmc/qemu/hw/pci-bridge/xio3130_downstream.c
/openbmc/qemu/hw/pci-bridge/xio3130_upstream.c
/openbmc/qemu/hw/pci/msi.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/pci/shpc.c
/openbmc/qemu/hw/pci/slotid_cap.c
/openbmc/qemu/hw/usb/hcd-xhci.c
/openbmc/qemu/hw/vfio/pci.c
/openbmc/qemu/hw/virtio/vhost-backend.c
/openbmc/qemu/hw/virtio/vhost-user.c
/openbmc/qemu/hw/virtio/virtio-pci.c
/openbmc/qemu/include/hw/pci/pci.h
/openbmc/qemu/include/hw/pci/pci_bridge.h
/openbmc/qemu/include/hw/pci/pcie.h
/openbmc/qemu/include/hw/pci/shpc.h
/openbmc/qemu/include/hw/pci/slotid_cap.h
/openbmc/qemu/include/hw/virtio/virtio-net.h
/openbmc/qemu/include/qom/cpu.h
/openbmc/qemu/target/i386/hax-all.c
/openbmc/qemu/target/mips/kvm.c
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/acpi-test-data/q35/DSDT
/openbmc/qemu/tests/acpi-test-data/q35/DSDT.bridge
/openbmc/qemu/tests/acpi-test-data/q35/DSDT.cphp
/openbmc/qemu/tests/acpi-test-data/q35/DSDT.ipmibt
/openbmc/qemu/tests/acpi-test-data/q35/DSDT.memhp
/openbmc/qemu/tests/vmgenid-test.c
f3ced3c514-Jun-2017 Emilio G. Cota <cota@braap.org>

tcg: consistently access cpu->tb_jmp_cache atomically

Some code paths can lead to atomic accesses racing with memset()
on cpu->tb_jmp_cache, which can result in torn reads/writes
and is undefined be

tcg: consistently access cpu->tb_jmp_cache atomically

Some code paths can lead to atomic accesses racing with memset()
on cpu->tb_jmp_cache, which can result in torn reads/writes
and is undefined behaviour in C11.

These torn accesses are unlikely to show up as bugs, but from code
inspection they seem possible. For example, tb_phys_invalidate does:
/* remove the TB from the hash list */
h = tb_jmp_cache_hash_func(tb->pc);
CPU_FOREACH(cpu) {
if (atomic_read(&cpu->tb_jmp_cache[h]) == tb) {
atomic_set(&cpu->tb_jmp_cache[h], NULL);
}
}
Here atomic_set might race with a concurrent memset (such as the
ones scheduled via "unsafe" async work, e.g. tlb_flush_page) and
therefore we might end up with a torn pointer (or who knows what,
because we are under undefined behaviour).

This patch converts parallel accesses to cpu->tb_jmp_cache to use
atomic primitives, thereby bringing these accesses back to defined
behaviour. The price to pay is to potentially execute more instructions
when clearing cpu->tb_jmp_cache, but given how infrequently they happen
and the small size of the cache, the performance impact I have measured
is within noise range when booting debian-arm.

Note that under "safe async" work (e.g. do_tb_flush) we could use memset
because no other vcpus are running. However I'm keeping these accesses
atomic as well to keep things simple and to avoid confusing analysis
tools such as ThreadSanitizer.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Emilio G. Cota <cota@braap.org>
Message-Id: <1497486973-25845-1-git-send-email-cota@braap.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>

show more ...


tcg/cputlb.c
tcg/translate-all.c
/openbmc/qemu/block/io.c
/openbmc/qemu/chardev/char.c
/openbmc/qemu/fpu/softfloat.c
/openbmc/qemu/fsdev/file-op-9p.h
/openbmc/qemu/fsdev/qemu-fsdev-opts.c
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/hmp-commands.hx
/openbmc/qemu/hmp.c
/openbmc/qemu/hmp.h
/openbmc/qemu/hw/9pfs/9p-local.c
/openbmc/qemu/hw/9pfs/9p-synth.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/block/fdc.c
/openbmc/qemu/hw/block/trace-events
/openbmc/qemu/hw/block/virtio-blk.c
/openbmc/qemu/hw/block/xen_disk.c
/openbmc/qemu/hw/display/qxl.c
/openbmc/qemu/hw/display/vga.c
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/display/vmware_vga.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/ide/ahci.c
/openbmc/qemu/hw/input/vmmouse.c
/openbmc/qemu/hw/intc/openpic.c
/openbmc/qemu/hw/intc/xics.c
/openbmc/qemu/hw/misc/max111x.c
/openbmc/qemu/hw/nvram/eeprom93xx.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/pci/pcie_aer.c
/openbmc/qemu/hw/ppc/prep.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_events.c
/openbmc/qemu/hw/ppc/spapr_hcall.c
/openbmc/qemu/hw/ppc/spapr_iommu.c
/openbmc/qemu/hw/ppc/spapr_pci.c
/openbmc/qemu/hw/ppc/spapr_vio.c
/openbmc/qemu/hw/usb/hcd-uhci.c
/openbmc/qemu/hw/virtio/virtio-pci.c
/openbmc/qemu/hw/xen/xen-common.c
/openbmc/qemu/include/block/block.h
/openbmc/qemu/include/exec/gen-icount.h
/openbmc/qemu/include/exec/ram_addr.h
/openbmc/qemu/include/fpu/softfloat.h
/openbmc/qemu/include/hw/compat.h
/openbmc/qemu/include/hw/ppc/spapr.h
/openbmc/qemu/include/hw/ppc/spapr_drc.h
/openbmc/qemu/include/migration/global_state.h
/openbmc/qemu/include/migration/misc.h
/openbmc/qemu/include/migration/vmstate.h
/openbmc/qemu/include/qom/cpu.h
/openbmc/qemu/include/sysemu/sysemu.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/migration/global_state.c
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/migration.h
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/migration/vmstate-types.c
/openbmc/qemu/monitor.c
/openbmc/qemu/qapi-schema.json
/openbmc/qemu/qapi/string-input-visitor.c
/openbmc/qemu/qapi/string-output-visitor.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qom/cpu.c
/openbmc/qemu/target/m68k/fpu_helper.c
/openbmc/qemu/target/m68k/helper.h
/openbmc/qemu/target/m68k/translate.c
/openbmc/qemu/target/ppc/compat.c
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/excp_helper.c
/openbmc/qemu/target/ppc/machine.c
/openbmc/qemu/target/ppc/mmu-radix64.c
/openbmc/qemu/target/ppc/translate_init.c
/openbmc/qemu/tests/libqos/virtio.c
/openbmc/qemu/tests/libqos/virtio.h
/openbmc/qemu/tests/qemu-iotests/154
/openbmc/qemu/tests/qemu-iotests/154.out
/openbmc/qemu/tests/test-char.c
/openbmc/qemu/tests/test-hmp.c
/openbmc/qemu/tests/virtio-blk-test.c
/openbmc/qemu/tests/virtio-net-test.c
/openbmc/qemu/tests/virtio-scsi-test.c
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/vl.c

1...<<4142434445464748495051