History log of /openbmc/qemu/accel/ (Results 751 – 775 of 1260)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
95ab7c2213-Feb-2021 Richard Henderson <richard.henderson@linaro.org>

target/mips: Create mips_io_recompile_replay_branch

Move the code from accel/tcg/translate-all.c to target/mips/cpu.c.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by:

target/mips: Create mips_io_recompile_replay_branch

Move the code from accel/tcg/translate-all.c to target/mips/cpu.c.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20210208233906.479571-4-richard.henderson@linaro.org>
Message-Id: <20210213130325.14781-13-alex.bennee@linaro.org>

show more ...

d9bcb58a13-Feb-2021 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Create io_recompile_replay_branch hook

Create a hook in which to split out the mips and
sh4 ifdefs from cpu_io_recompile.

[AJB: s/stoped/stopped/]

Signed-off-by: Richard Henderson <rich

accel/tcg: Create io_recompile_replay_branch hook

Create a hook in which to split out the mips and
sh4 ifdefs from cpu_io_recompile.

[AJB: s/stoped/stopped/]

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20210208233906.479571-3-richard.henderson@linaro.org>
Message-Id: <20210213130325.14781-12-alex.bennee@linaro.org>

show more ...

0d6e6cb713-Feb-2021 Alex Bennée <alex.bennee@linaro.org>

accel/tcg/plugin-gen: fix the call signature for inline callbacks

A recent change to the handling of constants in TCG changed the
pattern of ops emitted for a constant add. We no longer emit a mov a

accel/tcg/plugin-gen: fix the call signature for inline callbacks

A recent change to the handling of constants in TCG changed the
pattern of ops emitted for a constant add. We no longer emit a mov and
the constant can be applied directly to the TCG_op_add arguments. This
was causing SEGVs when running the insn plugin with arg=inline. Fix
this by updating copy_add_i64 to do the right thing while also adding
a comment at the top of the append section as an aide memoir if
something like this happens again.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Cc: Emilio G. Cota <cota@braap.org>
Message-Id: <20210213130325.14781-10-alex.bennee@linaro.org>

show more ...

92a5199b26-Jan-2021 Tom Lendacky <thomas.lendacky@amd.com>

sev/i386: Don't allow a system reset under an SEV-ES guest

An SEV-ES guest does not allow register state to be altered once it has
been measured. When an SEV-ES guest issues a reboot command, Qemu w

sev/i386: Don't allow a system reset under an SEV-ES guest

An SEV-ES guest does not allow register state to be altered once it has
been measured. When an SEV-ES guest issues a reboot command, Qemu will
reset the vCPU state and resume the guest. This will cause failures under
SEV-ES. Prevent that from occuring by introducing an arch-specific
callback that returns a boolean indicating whether vCPUs are resettable.

Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Aurelien Jarno <aurelien@aurel32.net>
Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
Cc: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>
Cc: David Gibson <david@gibson.dropbear.id.au>
Cc: David Hildenbrand <david@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Reviewed-by: Venu Busireddy <venu.busireddy@oracle.com>
Message-Id: <1ac39c441b9a3e970e9556e1cc29d0a0814de6fd.1611682609.git.thomas.lendacky@amd.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

b2f73a0708-Feb-2021 Paolo Bonzini <pbonzini@redhat.com>

sev/i386: Allow AP booting under SEV-ES

When SEV-ES is enabled, it is not possible modify the guests register
state after it has been initially created, encrypted and measured.

Normally, an INIT-SI

sev/i386: Allow AP booting under SEV-ES

When SEV-ES is enabled, it is not possible modify the guests register
state after it has been initially created, encrypted and measured.

Normally, an INIT-SIPI-SIPI request is used to boot the AP. However, the
hypervisor cannot emulate this because it cannot update the AP register
state. For the very first boot by an AP, the reset vector CS segment
value and the EIP value must be programmed before the register has been
encrypted and measured. Search the guest firmware for the guest for a
specific GUID that tells Qemu the value of the reset vector to use.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Cc: Richard Henderson <richard.henderson@linaro.org>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Message-Id: <22db2bfb4d6551aed661a9ae95b4fdbef613ca21.1611682609.git.thomas.lendacky@amd.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/openbmc/qemu/.gitlab-ci.yml
/openbmc/qemu/.travis.yml
/openbmc/qemu/MAINTAINERS
kvm/kvm-all.c
/openbmc/qemu/block.c
/openbmc/qemu/block/backup-top.c
/openbmc/qemu/block/backup.c
/openbmc/qemu/block/commit.c
/openbmc/qemu/block/crypto.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/nbd.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/raw-format.c
/openbmc/qemu/blockdev-nbd.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/blockjob.c
/openbmc/qemu/docs/devel/loads-stores.rst
/openbmc/qemu/docs/devel/testing.rst
/openbmc/qemu/docs/sphinx/qapidoc.py
/openbmc/qemu/docs/tools/qemu-nbd.rst
/openbmc/qemu/docs/user/main.rst
/openbmc/qemu/hw/arm/xlnx-versal.c
/openbmc/qemu/hw/block/nvme-ns.c
/openbmc/qemu/hw/block/nvme.c
/openbmc/qemu/hw/block/xen-block.c
/openbmc/qemu/hw/i386/pc_sysfw.c
/openbmc/qemu/hw/ide/ahci.c
/openbmc/qemu/hw/m68k/bootinfo.h
/openbmc/qemu/hw/m68k/q800.c
/openbmc/qemu/include/block/block.h
/openbmc/qemu/include/block/block_int.h
/openbmc/qemu/include/exec/cpu-all.h
/openbmc/qemu/include/exec/gdbstub.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/qemu/bswap.h
/openbmc/qemu/include/qemu/job.h
/openbmc/qemu/include/standard-headers/asm-m68k/bootinfo-mac.h
/openbmc/qemu/include/standard-headers/asm-m68k/bootinfo.h
/openbmc/qemu/include/sysemu/sev.h
/openbmc/qemu/io/channel.c
/openbmc/qemu/job.c
/openbmc/qemu/linux-user/alpha/target_fcntl.h
/openbmc/qemu/linux-user/alpha/target_signal.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/generic/signal.h
/openbmc/qemu/linux-user/generic/sockbits.h
/openbmc/qemu/linux-user/hppa/target_fcntl.h
/openbmc/qemu/linux-user/hppa/target_signal.h
/openbmc/qemu/linux-user/mips/sockbits.h
/openbmc/qemu/linux-user/mips/target_signal.h
/openbmc/qemu/linux-user/mips64/syscall_nr.h
/openbmc/qemu/linux-user/mips64/target_elf.h
/openbmc/qemu/linux-user/mips64/target_signal.h
/openbmc/qemu/linux-user/mmap.c
/openbmc/qemu/linux-user/signal.c
/openbmc/qemu/linux-user/sparc/target_signal.h
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/migration/block-dirty-bitmap.c
/openbmc/qemu/monitor/monitor.c
/openbmc/qemu/monitor/qmp.c
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qapi/misc-target.json
/openbmc/qemu/qemu-nbd.c
/openbmc/qemu/scripts/ci/coverage-summary.sh
/openbmc/qemu/storage-daemon/qemu-storage-daemon.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/monitor.c
/openbmc/qemu/target/i386/sev-stub.c
/openbmc/qemu/target/i386/sev.c
/openbmc/qemu/target/i386/sev_i386.h
/openbmc/qemu/target/m68k/cpu.c
/openbmc/qemu/target/m68k/cpu.h
/openbmc/qemu/target/m68k/helper.c
/openbmc/qemu/target/m68k/translate.c
/openbmc/qemu/target/ppc/gdbstub.c
/openbmc/qemu/target/ppc/translate_init.c.inc
/openbmc/qemu/target/sh4/gdbstub.c
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/dockerfiles/ubuntu2004.docker
/openbmc/qemu/tests/qemu-iotests/210.out
/openbmc/qemu/tests/qemu-iotests/259
/openbmc/qemu/tests/qemu-iotests/264
/openbmc/qemu/tests/qemu-iotests/264.out
/openbmc/qemu/tests/qemu-iotests/300
/openbmc/qemu/tests/qemu-iotests/300.out
/openbmc/qemu/tests/qemu-iotests/common.rc
/openbmc/qemu/tests/qemu-iotests/iotests.py
/openbmc/qemu/tests/tcg/multiarch/system/Makefile.softmmu-target
/openbmc/qemu/tests/test-bdrv-graph-mod.c
46b12f4612-Feb-2021 Richard Henderson <richard.henderson@linaro.org>

exec: Rename guest_{addr,range}_valid to *_untagged

The places that use these are better off using untagged
addresses, so do not provide a tagged versions. Rename
to make it clear about the address

exec: Rename guest_{addr,range}_valid to *_untagged

The places that use these are better off using untagged
addresses, so do not provide a tagged versions. Rename
to make it clear about the address type.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20210212184902.1251044-16-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...

3e8f162812-Feb-2021 Richard Henderson <richard.henderson@linaro.org>

exec: Use cpu_untagged_addr in g2h; split out g2h_untagged

Use g2h_untagged in contexts that have no cpu, e.g. the binary
loaders that operate before the primary cpu is created. As a
colollary, tar

exec: Use cpu_untagged_addr in g2h; split out g2h_untagged

Use g2h_untagged in contexts that have no cpu, e.g. the binary
loaders that operate before the primary cpu is created. As a
colollary, target_mmap and friends must use untagged addresses,
since they are used by the loaders.

Use g2h_untagged on values returned from target_mmap, as the
kernel never applies a tag itself.

Use g2h_untagged on all pc values. The only current user of
tags, aarch64, removes tags from code addresses upon branch,
so "pc" is always untagged.

Use g2h with the cpu context on hand wherever possible.

Use g2h_untagged in lock_user, which will be updated soon.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20210212184902.1251044-13-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...

d9c5858512-Feb-2021 Richard Henderson <richard.henderson@linaro.org>

tcg: Introduce target-specific page data for user-only

This data can be allocated by page_alloc_target_data() and
released by page_set_flags(start, end, prot | PAGE_RESET).

This data will be used t

tcg: Introduce target-specific page data for user-only

This data can be allocated by page_alloc_target_data() and
released by page_set_flags(start, end, prot | PAGE_RESET).

This data will be used to hold tag memory for AArch64 MTE.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20210212184902.1251044-2-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...


/openbmc/qemu/.gitlab-ci.yml
/openbmc/qemu/.travis.yml
/openbmc/qemu/MAINTAINERS
tcg/translate-all.c
/openbmc/qemu/block.c
/openbmc/qemu/block/backup-top.c
/openbmc/qemu/block/backup.c
/openbmc/qemu/block/commit.c
/openbmc/qemu/block/crypto.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/nbd.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/raw-format.c
/openbmc/qemu/blockdev-nbd.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/blockjob.c
/openbmc/qemu/docs/devel/loads-stores.rst
/openbmc/qemu/docs/devel/testing.rst
/openbmc/qemu/docs/sphinx/qapidoc.py
/openbmc/qemu/docs/tools/qemu-nbd.rst
/openbmc/qemu/docs/user/main.rst
/openbmc/qemu/hw/arm/xlnx-versal.c
/openbmc/qemu/hw/block/nvme-ns.c
/openbmc/qemu/hw/block/nvme.c
/openbmc/qemu/hw/block/xen-block.c
/openbmc/qemu/hw/ide/ahci.c
/openbmc/qemu/hw/m68k/bootinfo.h
/openbmc/qemu/hw/m68k/q800.c
/openbmc/qemu/include/block/block.h
/openbmc/qemu/include/block/block_int.h
/openbmc/qemu/include/exec/cpu-all.h
/openbmc/qemu/include/exec/gdbstub.h
/openbmc/qemu/include/qemu/bswap.h
/openbmc/qemu/include/qemu/job.h
/openbmc/qemu/include/standard-headers/asm-m68k/bootinfo-mac.h
/openbmc/qemu/include/standard-headers/asm-m68k/bootinfo.h
/openbmc/qemu/io/channel.c
/openbmc/qemu/job.c
/openbmc/qemu/linux-user/alpha/target_fcntl.h
/openbmc/qemu/linux-user/alpha/target_signal.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/generic/signal.h
/openbmc/qemu/linux-user/generic/sockbits.h
/openbmc/qemu/linux-user/hppa/target_fcntl.h
/openbmc/qemu/linux-user/hppa/target_signal.h
/openbmc/qemu/linux-user/mips/sockbits.h
/openbmc/qemu/linux-user/mips/target_signal.h
/openbmc/qemu/linux-user/mips64/syscall_nr.h
/openbmc/qemu/linux-user/mips64/target_elf.h
/openbmc/qemu/linux-user/mips64/target_signal.h
/openbmc/qemu/linux-user/mmap.c
/openbmc/qemu/linux-user/signal.c
/openbmc/qemu/linux-user/sparc/target_signal.h
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/migration/block-dirty-bitmap.c
/openbmc/qemu/monitor/monitor.c
/openbmc/qemu/monitor/qmp.c
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qemu-nbd.c
/openbmc/qemu/scripts/ci/coverage-summary.sh
/openbmc/qemu/storage-daemon/qemu-storage-daemon.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/m68k/cpu.c
/openbmc/qemu/target/m68k/cpu.h
/openbmc/qemu/target/m68k/helper.c
/openbmc/qemu/target/m68k/translate.c
/openbmc/qemu/target/ppc/gdbstub.c
/openbmc/qemu/target/ppc/translate_init.c.inc
/openbmc/qemu/target/sh4/gdbstub.c
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/dockerfiles/ubuntu2004.docker
/openbmc/qemu/tests/qemu-iotests/210.out
/openbmc/qemu/tests/qemu-iotests/259
/openbmc/qemu/tests/qemu-iotests/264
/openbmc/qemu/tests/qemu-iotests/264.out
/openbmc/qemu/tests/qemu-iotests/300
/openbmc/qemu/tests/qemu-iotests/300.out
/openbmc/qemu/tests/qemu-iotests/common.rc
/openbmc/qemu/tests/qemu-iotests/iotests.py
/openbmc/qemu/tests/tcg/multiarch/system/Makefile.softmmu-target
/openbmc/qemu/tests/test-bdrv-graph-mod.c
e6a41a0429-Jan-2021 Peter Maydell <peter.maydell@linaro.org>

accel/tcg: Add URL of clang bug to comment about our workaround

In cpu_exec() we have a longstanding workaround for compilers which
do not correctly implement the part of the sigsetjmp()/siglongjmp(

accel/tcg: Add URL of clang bug to comment about our workaround

In cpu_exec() we have a longstanding workaround for compilers which
do not correctly implement the part of the sigsetjmp()/siglongjmp()
spec which requires that local variables which are not changed
between the setjmp and the longjmp retain their value.

I recently ran across the upstream clang bug report for this; add a
link to it to the comment describing the workaround, and generally
expand the comment, so that we have a reasonable chance in future of
understanding why it's there and determining when we can remove it,
assuming clang eventually fixes the bug.

Remove the /* buggy compiler */ comments on the #else and #endif:
they don't add anything to understanding and are somewhat misleading
since they're sandwiching the code path for *non*-buggy compilers.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20210129130330.30820-1-peter.maydell@linaro.org

show more ...


/openbmc/qemu/.github/lockdown.yml
/openbmc/qemu/.gitlab-ci.yml
/openbmc/qemu/.gitmodules
/openbmc/qemu/Kconfig.host
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/README.rst
tcg/cpu-exec.c
/openbmc/qemu/backends/hostmem-memfd.c
/openbmc/qemu/backends/rng-builtin.c
/openbmc/qemu/block/monitor/block-hmp-cmds.c
/openbmc/qemu/block/snapshot.c
/openbmc/qemu/configure
/openbmc/qemu/docs/devel/index.rst
/openbmc/qemu/docs/devel/multi-process.rst
/openbmc/qemu/docs/devel/testing.rst
/openbmc/qemu/docs/interop/parallels.txt
/openbmc/qemu/docs/system/arm/versatile.rst
/openbmc/qemu/docs/system/arm/vexpress.rst
/openbmc/qemu/docs/system/index.rst
/openbmc/qemu/docs/system/multi-process.rst
/openbmc/qemu/gdbstub.c
/openbmc/qemu/hw/Kconfig
/openbmc/qemu/hw/arm/aspeed_ast2600.c
/openbmc/qemu/hw/arm/musca.c
/openbmc/qemu/hw/arm/npcm7xx.c
/openbmc/qemu/hw/block/nvme-ns.c
/openbmc/qemu/hw/block/nvme-ns.h
/openbmc/qemu/hw/block/nvme.c
/openbmc/qemu/hw/block/nvme.h
/openbmc/qemu/hw/block/trace-events
/openbmc/qemu/hw/intc/pnv_xive.c
/openbmc/qemu/hw/intc/trace-events
/openbmc/qemu/hw/intc/xive.c
/openbmc/qemu/hw/meson.build
/openbmc/qemu/hw/misc/arm_integrator_debug.c
/openbmc/qemu/hw/misc/imx7_ccm.c
/openbmc/qemu/hw/misc/ivshmem.c
/openbmc/qemu/hw/misc/tz-ppc.c
/openbmc/qemu/hw/net/fsl_etsec/rings.c
/openbmc/qemu/hw/nvram/nrf51_nvm.c
/openbmc/qemu/hw/pci-host/Kconfig
/openbmc/qemu/hw/pci-host/designware.c
/openbmc/qemu/hw/pci-host/meson.build
/openbmc/qemu/hw/pci-host/pnv_phb4.c
/openbmc/qemu/hw/pci-host/prep.c
/openbmc/qemu/hw/pci-host/remote.c
/openbmc/qemu/hw/pci-host/trace-events
/openbmc/qemu/hw/ppc/e500.c
/openbmc/qemu/hw/ppc/pnv.c
/openbmc/qemu/hw/ppc/pnv_bmc.c
/openbmc/qemu/hw/ppc/pnv_lpc.c
/openbmc/qemu/hw/ppc/prep_systemio.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_numa.c
/openbmc/qemu/hw/ppc/spapr_pci.c
/openbmc/qemu/hw/remote/Kconfig
/openbmc/qemu/hw/remote/iohub.c
/openbmc/qemu/hw/remote/machine.c
/openbmc/qemu/hw/remote/memory.c
/openbmc/qemu/hw/remote/meson.build
/openbmc/qemu/hw/remote/message.c
/openbmc/qemu/hw/remote/mpqemu-link.c
/openbmc/qemu/hw/remote/proxy-memory-listener.c
/openbmc/qemu/hw/remote/proxy.c
/openbmc/qemu/hw/remote/remote-obj.c
/openbmc/qemu/hw/remote/trace-events
/openbmc/qemu/hw/remote/trace.h
/openbmc/qemu/hw/timer/arm_timer.c
/openbmc/qemu/hw/vfio/pci-quirks.c
/openbmc/qemu/include/block/nvme.h
/openbmc/qemu/include/block/snapshot.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/exec/ram_addr.h
/openbmc/qemu/include/hw/dma/pl080.h
/openbmc/qemu/include/hw/misc/arm_integrator_debug.h
/openbmc/qemu/include/hw/pci-host/remote.h
/openbmc/qemu/include/hw/pci-host/spapr.h
/openbmc/qemu/include/hw/pci/pci_ids.h
/openbmc/qemu/include/hw/ppc/pnv.h
/openbmc/qemu/include/hw/ppc/spapr.h
/openbmc/qemu/include/hw/ppc/spapr_numa.h
/openbmc/qemu/include/hw/ppc/xive_regs.h
/openbmc/qemu/include/hw/remote/iohub.h
/openbmc/qemu/include/hw/remote/machine.h
/openbmc/qemu/include/hw/remote/memory.h
/openbmc/qemu/include/hw/remote/mpqemu-link.h
/openbmc/qemu/include/hw/remote/proxy-memory-listener.h
/openbmc/qemu/include/hw/remote/proxy.h
/openbmc/qemu/include/hw/ssi/pl022.h
/openbmc/qemu/include/io/channel.h
/openbmc/qemu/include/migration/snapshot.h
/openbmc/qemu/include/qemu/mmap-alloc.h
/openbmc/qemu/include/qemu/userfaultfd.h
/openbmc/qemu/include/sysemu/iothread.h
/openbmc/qemu/io/channel.c
/openbmc/qemu/iothread.c
/openbmc/qemu/meson.build
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/migration.h
/openbmc/qemu/migration/page_cache.c
/openbmc/qemu/migration/page_cache.h
/openbmc/qemu/migration/qemu-file.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/monitor/hmp-cmds.c
/openbmc/qemu/pc-bios/README
/openbmc/qemu/pc-bios/descriptors/meson.build
/openbmc/qemu/qapi/job.json
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/replay/replay-debugging.c
/openbmc/qemu/replay/replay-snapshot.c
/openbmc/qemu/scripts/get_maintainer.pl
/openbmc/qemu/scripts/mtest2make.py
/openbmc/qemu/scripts/qapi/commands.py
/openbmc/qemu/scripts/qapi/events.py
/openbmc/qemu/scripts/qapi/gen.py
/openbmc/qemu/scripts/qapi/main.py
/openbmc/qemu/scripts/qapi/mypy.ini
/openbmc/qemu/scripts/qapi/schema.py
/openbmc/qemu/scripts/qapi/types.py
/openbmc/qemu/scripts/qapi/visit.py
/openbmc/qemu/scripts/userfaultfd-wrlat.py
/openbmc/qemu/softmmu/cpu-throttle.c
/openbmc/qemu/softmmu/memory.c
/openbmc/qemu/softmmu/physmem.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/cpu64.c
/openbmc/qemu/target/arm/helper-a64.c
/openbmc/qemu/target/arm/helper.c
/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/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/translate_init.c.inc
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/acceptance/boot_linux.py
/openbmc/qemu/tests/acceptance/boot_linux_console.py
/openbmc/qemu/tests/acceptance/linux_ssh_mips_malta.py
/openbmc/qemu/tests/acceptance/machine_m68k_nextcube.py
/openbmc/qemu/tests/acceptance/machine_microblaze.py
/openbmc/qemu/tests/acceptance/machine_ppc.py
/openbmc/qemu/tests/acceptance/replay_kernel.py
/openbmc/qemu/tests/acceptance/tesseract_utils.py
/openbmc/qemu/tests/acceptance/virtiofs_submounts.py
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/docker.py
/openbmc/qemu/tests/docker/dockerfiles/empty.docker
/openbmc/qemu/tests/qapi-schema/comments.out
/openbmc/qemu/tests/qapi-schema/doc-good.out
/openbmc/qemu/tests/qapi-schema/empty.out
/openbmc/qemu/tests/qapi-schema/event-case.out
/openbmc/qemu/tests/qapi-schema/include-repetition.out
/openbmc/qemu/tests/qapi-schema/include-simple.out
/openbmc/qemu/tests/qapi-schema/indented-expr.out
/openbmc/qemu/tests/qapi-schema/qapi-schema-test.out
/openbmc/qemu/tests/qemu-iotests/267.out
/openbmc/qemu/tests/qemu-iotests/common.qemu
/openbmc/qemu/tests/qemu-iotests/common.rc
/openbmc/qemu/tests/tcg/Makefile.qemu
/openbmc/qemu/tests/tcg/multiarch/Makefile.target
/openbmc/qemu/util/meson.build
/openbmc/qemu/util/mmap-alloc.c
/openbmc/qemu/util/oslib-posix.c
/openbmc/qemu/util/trace-events
/openbmc/qemu/util/userfaultfd.c
189012fc01-Feb-2021 Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>

replay: fix replay of the interrupts

Sometimes interrupt event comes at the same time with
the virtual timers. In this case replay tries to proceed
the timers, because deadline for them is zero.
Thi

replay: fix replay of the interrupts

Sometimes interrupt event comes at the same time with
the virtual timers. In this case replay tries to proceed
the timers, because deadline for them is zero.
This patch allows processing interrupts and exceptions
by entering the vCPU execution loop, when deadline is zero,
but checkpoint associated with virtual timers is not ready
to be replayed.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>

Message-Id: <161216312794.2030770.1709657858900983160.stgit@pasha-ThinkPad-X280>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

38e0b79029-Jan-2021 Thomas Huth <thuth@redhat.com>

accel/kvm/kvm-all: Fix wrong return code handling in dirty log code

The kvm_vm_ioctl() wrapper already returns -errno if the ioctl itself
returned -1, so the callers of kvm_vm_ioctl() should not che

accel/kvm/kvm-all: Fix wrong return code handling in dirty log code

The kvm_vm_ioctl() wrapper already returns -errno if the ioctl itself
returned -1, so the callers of kvm_vm_ioctl() should not check for -1
but for a value < 0 instead.

This problem has been fixed once already in commit b533f658a98325d0e4
but that commit missed that the ENOENT error code is not fatal for
this ioctl, so the commit has been reverted in commit 50212d6346f33d6e
since the problem occurred close to a pending release at that point
in time. The plan was to fix it properly after the release, but it
seems like this has been forgotten. So let's do it now finally instead.

Resolves: https://bugs.launchpad.net/qemu/+bug/1294227
Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210129084354.42928-1-thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/openbmc/qemu/MAINTAINERS
kvm/kvm-all.c
/openbmc/qemu/backends/hostmem.c
/openbmc/qemu/configure
/openbmc/qemu/docs/amd-memory-encryption.txt
/openbmc/qemu/docs/confidential-guest-support.txt
/openbmc/qemu/docs/devel/build-system.rst
/openbmc/qemu/docs/devel/fuzzing.rst
/openbmc/qemu/docs/meson.build
/openbmc/qemu/docs/papr-pef.txt
/openbmc/qemu/docs/system/s390x/protvirt.rst
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/ppc/meson.build
/openbmc/qemu/hw/ppc/pef.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/s390x/pv.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/scsi/virtio-scsi-dataplane.c
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/exec/memory_ldst_cached.h.inc
/openbmc/qemu/include/hw/ppc/pef.h
/openbmc/qemu/include/hw/s390x/pv.h
/openbmc/qemu/include/qemu/event_notifier.h
/openbmc/qemu/include/qemu/fifo8.h
/openbmc/qemu/memory_ldst.c.inc
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
/openbmc/qemu/pc-bios/meson.build
/openbmc/qemu/qapi/meson.build
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/scripts/oss-fuzz/minimize_qtest_trace.py
/openbmc/qemu/softmmu/memory.c
/openbmc/qemu/softmmu/physmem.c
/openbmc/qemu/stubs/meson.build
/openbmc/qemu/stubs/qdev.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/helper.c
/openbmc/qemu/target/i386/machine.c
/openbmc/qemu/target/i386/tcg/excp_helper.c
/openbmc/qemu/target/i386/tcg/misc_helper.c
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/ppc/kvm.c
/openbmc/qemu/target/ppc/kvm_ppc.h
/openbmc/qemu/tests/meson.build
/openbmc/qemu/tests/qtest/fuzz/fuzz.c
/openbmc/qemu/tests/qtest/fuzz/generic_fuzz.c
/openbmc/qemu/tests/qtest/fuzz/generic_fuzz_configs.h
/openbmc/qemu/util/event_notifier-posix.c
/openbmc/qemu/util/fifo8.c
ec78e2cd15-Oct-2020 David Gibson <david@gibson.dropbear.id.au>

confidential guest support: Move SEV initialization into arch specific code

While we've abstracted some (potential) differences between mechanisms for
securing guest memory, the initialization is st

confidential guest support: Move SEV initialization into arch specific code

While we've abstracted some (potential) differences between mechanisms for
securing guest memory, the initialization is still specific to SEV. Given
that, move it into x86's kvm_arch_init() code, rather than the generic
kvm_init() code.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Greg Kurz <groug@kaod.org>

show more ...

c9f5aaa603-Jun-2020 David Gibson <david@gibson.dropbear.id.au>

sev: Add Error ** to sev_kvm_init()

This allows failures to be reported richly and idiomatically.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Philippe Mathieu-Daudé <phil

sev: Add Error ** to sev_kvm_init()

This allows failures to be reported richly and idiomatically.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>

show more ...

e0292d7c03-Dec-2020 David Gibson <david@gibson.dropbear.id.au>

confidential guest support: Rework the "memory-encryption" property

Currently the "memory-encryption" property is only looked at once we
get to kvm_init(). Although protection of guest memory from

confidential guest support: Rework the "memory-encryption" property

Currently the "memory-encryption" property is only looked at once we
get to kvm_init(). Although protection of guest memory from the
hypervisor isn't something that could really ever work with TCG, it's
not conceptually tied to the KVM accelerator.

In addition, the way the string property is resolved to an object is
almost identical to how a QOM link property is handled.

So, create a new "confidential-guest-support" link property which sets
this QOM interface link directly in the machine. For compatibility we
keep the "memory-encryption" property, but now implemented in terms of
the new property.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>

show more ...

aacdb84411-Jan-2021 David Gibson <david@gibson.dropbear.id.au>

sev: Remove false abstraction of flash encryption

When AMD's SEV memory encryption is in use, flash memory banks (which are
initialed by pc_system_flash_map()) need to be encrypted with the guest's

sev: Remove false abstraction of flash encryption

When AMD's SEV memory encryption is in use, flash memory banks (which are
initialed by pc_system_flash_map()) need to be encrypted with the guest's
key, so that the guest can read them.

That's abstracted via the kvm_memcrypt_encrypt_data() callback in the KVM
state.. except, that it doesn't really abstract much at all.

For starters, the only call site is in code specific to the 'pc'
family of machine types, so it's obviously specific to those and to
x86 to begin with. But it makes a bunch of further assumptions that
need not be true about an arbitrary confidential guest system based on
memory encryption, let alone one based on other mechanisms:

* it assumes that the flash memory is defined to be encrypted with the
guest key, rather than being shared with hypervisor
* it assumes that that hypervisor has some mechanism to encrypt data into
the guest, even though it can't decrypt it out, since that's the whole
point
* the interface assumes that this encrypt can be done in place, which
implies that the hypervisor can write into a confidential guests's
memory, even if what it writes isn't meaningful

So really, this "abstraction" is actually pretty specific to the way SEV
works. So, this patch removes it and instead has the PC flash
initialization code call into a SEV specific callback.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>

show more ...

fb6916dd04-Feb-2021 Claudio Fontana <cfontana@suse.de>

accel: introduce AccelCPUClass extending CPUClass

add a new optional interface to CPUClass, which allows accelerators
to extend the CPUClass with additional accelerator-specific
initializations.

Th

accel: introduce AccelCPUClass extending CPUClass

add a new optional interface to CPUClass, which allows accelerators
to extend the CPUClass with additional accelerator-specific
initializations.

This will allow to separate the target cpu code that is specific
to each accelerator, and register it automatically with object
hierarchy lookup depending on accelerator code availability,
as part of the accel_init_interfaces() initialization step.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20210204163931.7358-19-cfontana@suse.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

b86f59c704-Feb-2021 Claudio Fontana <cfontana@suse.de>

accel: replace struct CpusAccel with AccelOpsClass

This will allow us to centralize the registration of
the cpus.c module accelerator operations (in accel/accel-softmmu.c),
and trigger it automatica

accel: replace struct CpusAccel with AccelOpsClass

This will allow us to centralize the registration of
the cpus.c module accelerator operations (in accel/accel-softmmu.c),
and trigger it automatically using object hierarchy lookup from the
new accel_init_interfaces() initialization step, depending just on
which accelerators are available in the code.

Rename all tcg-cpus.c, kvm-cpus.c, etc to tcg-accel-ops.c,
kvm-accel-ops.c, etc, matching the object type names.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20210204163931.7358-18-cfontana@suse.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

940e43aa04-Feb-2021 Claudio Fontana <cfontana@suse.de>

accel: extend AccelState and AccelClass to user-mode

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

[claudio: rebased on Richard's splitwx work]

accel: extend AccelState and AccelClass to user-mode

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

[claudio: rebased on Richard's splitwx work]

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20210204163931.7358-17-cfontana@suse.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

7827168404-Feb-2021 Claudio Fontana <cfontana@suse.de>

cpu: tcg_ops: move to tcg-cpu-ops.h, keep a pointer in CPUClass

we cannot in principle make the TCG Operations field definitions
conditional on CONFIG_TCG in code that is included by both common_ss

cpu: tcg_ops: move to tcg-cpu-ops.h, keep a pointer in CPUClass

we cannot in principle make the TCG Operations field definitions
conditional on CONFIG_TCG in code that is included by both common_ss
and specific_ss modules.

Therefore, what we can do safely to restrict the TCG fields to TCG-only
builds, is to move all tcg cpu operations into a separate header file,
which is only included by TCG, target-specific code.

This leaves just a NULL pointer in the cpu.h for the non-TCG builds.

This also tidies up the code in all targets a bit, having all TCG cpu
operations neatly contained by a dedicated data struct.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20210204163931.7358-16-cfontana@suse.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

c73bdb3504-Feb-2021 Claudio Fontana <cfontana@suse.de>

cpu: move debug_check_watchpoint to tcg_ops

commit 568496c0c0f1 ("cpu: Add callback to check architectural") and
commit 3826121d9298 ("target-arm: Implement checking of fired")
introduced an ARM-spe

cpu: move debug_check_watchpoint to tcg_ops

commit 568496c0c0f1 ("cpu: Add callback to check architectural") and
commit 3826121d9298 ("target-arm: Implement checking of fired")
introduced an ARM-specific hack for cpu_check_watchpoint.

Make debug_check_watchpoint optional, and move it to tcg_ops.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20210204163931.7358-15-cfontana@suse.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

0545608004-Feb-2021 Claudio Fontana <cfontana@suse.de>

cpu: move cc->do_interrupt to tcg_ops

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org

cpu: move cc->do_interrupt to tcg_ops

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210204163931.7358-10-cfontana@suse.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

e9ce43e904-Feb-2021 Eduardo Habkost <ehabkost@redhat.com>

cpu: Move debug_excp_handler to tcg_ops

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Revie

cpu: Move debug_excp_handler to tcg_ops

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210204163931.7358-8-cfontana@suse.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

e124536f04-Feb-2021 Eduardo Habkost <ehabkost@redhat.com>

cpu: Move tlb_fill to tcg_ops

[claudio: wrapped target code in CONFIG_TCG]

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Philip

cpu: Move tlb_fill to tcg_ops

[claudio: wrapped target code in CONFIG_TCG]

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210204163931.7358-7-cfontana@suse.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

48c1a3e304-Feb-2021 Eduardo Habkost <ehabkost@redhat.com>

cpu: Move cpu_exec_* to tcg_ops

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
[claudio: wrapped target code in CONFIG_TCG]
Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Phili

cpu: Move cpu_exec_* to tcg_ops

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
[claudio: wrapped target code in CONFIG_TCG]
Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210204163931.7358-6-cfontana@suse.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

ec62595b04-Feb-2021 Eduardo Habkost <ehabkost@redhat.com>

cpu: Move synchronize_from_tb() to tcg_ops

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
[claudio: wrapped target code in CONFIG_TCG, reworded comments]
Signed-off-by: Claudio Fontana <cfonta

cpu: Move synchronize_from_tb() to tcg_ops

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
[claudio: wrapped target code in CONFIG_TCG, reworded comments]
Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20210204163931.7358-5-cfontana@suse.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

1...<<31323334353637383940>>...51