History log of /qemu/linux-user/ (Results 176 – 200 of 3393)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
5b1270ef16-Sep-2023 Mikulas Patocka <mpatocka@redhat.com>

linux-user/hppa: lock both words of function descriptor

The code in setup_rt_frame reads two words at haddr, but locks only one.
This patch fixes it to lock both.

Signed-off-by: Mikulas Patocka <mp

linux-user/hppa: lock both words of function descriptor

The code in setup_rt_frame reads two words at haddr, but locks only one.
This patch fixes it to lock both.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Acked-by: Helge Deller <deller@gmx.de>
Cc: qemu-stable@nongnu.org
Signed-off-by: Helge Deller <deller@gmx.de>

show more ...

2529497c16-Sep-2023 Mikulas Patocka <mpatocka@redhat.com>

linux-user/hppa: clear the PSW 'N' bit when delivering signals

qemu-hppa may crash when delivering a signal. It can be demonstrated with
this program. Compile the program with "hppa-linux-gnu-gcc -O

linux-user/hppa: clear the PSW 'N' bit when delivering signals

qemu-hppa may crash when delivering a signal. It can be demonstrated with
this program. Compile the program with "hppa-linux-gnu-gcc -O2 signal.c"
and run it with "qemu-hppa -one-insn-per-tb a.out". It reports that the
address of the flag is 0xb4 and it crashes when attempting to touch it.

#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <signal.h>

sig_atomic_t flag;

void sig(int n)
{
printf("&flag: %p\n", &flag);
flag = 1;
}

int main(void)
{
struct sigaction sa;
struct itimerval it;

sa.sa_handler = sig;
sigemptyset(&sa.sa_mask);
sa.sa_flags = SA_RESTART;
if (sigaction(SIGALRM, &sa, NULL)) perror("sigaction"), exit(1);

it.it_interval.tv_sec = 0;
it.it_interval.tv_usec = 100;
it.it_value.tv_sec = it.it_interval.tv_sec;
it.it_value.tv_usec = it.it_interval.tv_usec;

if (setitimer(ITIMER_REAL, &it, NULL)) perror("setitimer"), exit(1);

while (1) {
}
}

The reason for the crash is that the signal handling routine doesn't clear
the 'N' flag in the PSW. If the signal interrupts a thread when the 'N'
flag is set, the flag remains set at the beginning of the signal handler
and the first instruction of the signal handler is skipped.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Acked-by: Helge Deller <deller@gmx.de>
Cc: qemu-stable@nongnu.org
Signed-off-by: Helge Deller <deller@gmx.de>

show more ...


/qemu/MAINTAINERS
/qemu/accel/kvm/kvm-all.c
/qemu/block.c
/qemu/block/copy-before-write.c
/qemu/block/io.c
/qemu/block/iscsi.c
/qemu/block/meson.build
/qemu/block/preallocate.c
/qemu/block/qapi.c
/qemu/block/snapshot-access.c
/qemu/block/vmdk.c
/qemu/block/vpc.c
/qemu/docs/devel/vfio-migration.rst
/qemu/docs/system/arm/cpu-features.rst
/qemu/docs/system/arm/emulation.rst
/qemu/docs/system/arm/virt.rst
/qemu/docs/tools/qemu-img.rst
/qemu/hw/arm/virt.c
/qemu/hw/arm/xlnx-versal.c
/qemu/hw/core/vm-change-state-handler.c
/qemu/hw/hppa/machine.c
/qemu/hw/intc/arm_gicv3_its.c
/qemu/hw/misc/meson.build
/qemu/hw/misc/xlnx-cfi-if.c
/qemu/hw/misc/xlnx-versal-cframe-reg.c
/qemu/hw/misc/xlnx-versal-cfu.c
/qemu/hw/vfio/common.c
/qemu/hw/vfio/migration.c
/qemu/hw/vfio/trace-events
/qemu/hw/virtio/virtio.c
/qemu/include/block/block_int-common.h
/qemu/include/block/qapi.h
/qemu/include/hw/arm/xlnx-versal.h
/qemu/include/hw/misc/xlnx-cfi-if.h
/qemu/include/hw/misc/xlnx-versal-cframe-reg.h
/qemu/include/hw/misc/xlnx-versal-cfu.h
/qemu/include/hw/vfio/vfio-common.h
/qemu/include/migration/register.h
/qemu/include/migration/vmstate.h
/qemu/include/sysemu/kvm_int.h
/qemu/include/sysemu/runstate.h
hppa/signal.c
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/savevm.c
/qemu/migration/savevm.h
/qemu/migration/target.c
/qemu/pc-bios/hppa-firmware.img
/qemu/qemu-img.c
/qemu/qemu-options.hx
/qemu/roms/seabios-hppa
/qemu/softmmu/runstate.c
/qemu/target/arm/arm-qmp-cmds.c
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/cpu64.c
/qemu/target/arm/helper.c
/qemu/target/arm/helper.h
/qemu/target/arm/hvf/hvf.c
/qemu/target/arm/kvm.c
/qemu/target/arm/kvm64.c
/qemu/target/arm/syndrome.h
/qemu/target/arm/tcg/cpu64.c
/qemu/target/arm/tcg/helper-a64.h
/qemu/target/arm/tcg/op_helper.c
/qemu/target/arm/tcg/pauth_helper.c
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/arm/tcg/translate.c
/qemu/target/hppa/cpu.h
/qemu/target/hppa/helper.h
/qemu/target/hppa/insns.decode
/qemu/target/hppa/int_helper.c
/qemu/target/hppa/mem_helper.c
/qemu/target/hppa/op_helper.c
/qemu/target/hppa/translate.c
/qemu/target/riscv/cpu.c
/qemu/target/riscv/crypto_helper.c
/qemu/target/riscv/csr.c
/qemu/target/riscv/debug.c
/qemu/target/riscv/debug.h
/qemu/target/riscv/pmp.c
/qemu/tests/qemu-iotests/080.out
/qemu/tests/qemu-iotests/109.out
/qemu/tests/qemu-iotests/112.out
/qemu/tests/qemu-iotests/185
/qemu/tests/qemu-iotests/185.out
/qemu/tests/qemu-iotests/244.out
/qemu/tests/qtest/arm-cpu-features.c
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/pauth-2.c
/qemu/tests/tcg/aarch64/pauth-4.c
/qemu/tests/tcg/aarch64/pauth-5.c
/qemu/tests/tcg/aarch64/pauth.h
bb0a45e928-Aug-2023 Robbin Ehn <rehn@rivosinc.com>

linux-user/riscv: Add new extensions to hwprobe

This patch adds the new extensions in
linux 6.5 to the hwprobe syscall.

And fixes RVC check to OR with correct value.
The previous variable contains

linux-user/riscv: Add new extensions to hwprobe

This patch adds the new extensions in
linux 6.5 to the hwprobe syscall.

And fixes RVC check to OR with correct value.
The previous variable contains 0 therefore it
did work.

Signed-off-by: Robbin Ehn <rehn@rivosinc.com>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-ID: <bc82203b72d7efb30f1b4a8f9eb3d94699799dc8.camel@rivosinc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

ae7d4d6211-Aug-2023 LIU Zhiwei <zhiwei_liu@linux.alibaba.com>

linux-user/riscv: Use abi type for target_ucontext

We should not use types dependend on host arch for target_ucontext.
This bug is found when run rv32 applications.

Signed-off-by: LIU Zhiwei <zhiwe

linux-user/riscv: Use abi type for target_ucontext

We should not use types dependend on host arch for target_ucontext.
This bug is found when run rv32 applications.

Signed-off-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20230811055438.1945-1-zhiwei_liu@linux.alibaba.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...


/qemu/MAINTAINERS
/qemu/Makefile
/qemu/accel/tcg/meson.build
/qemu/audio/mixeng.h
/qemu/backends/tpm/tpm_ioctl.h
/qemu/block.c
/qemu/block/block-copy.c
/qemu/block/export/vduse-blk.c
/qemu/block/export/vhost-user-blk-server.c
/qemu/block/export/vhost-user-blk-server.h
/qemu/block/file-posix.c
/qemu/block/graph-lock.c
/qemu/block/io.c
/qemu/block/linux-aio.c
/qemu/block/mirror.c
/qemu/block/nbd.c
/qemu/block/parallels.c
/qemu/block/parallels.h
/qemu/block/qcow2-refcount.c
/qemu/block/vhdx.c
/qemu/block/vhdx.h
/qemu/bsd-user/trace-events
/qemu/chardev/char-socket.c
/qemu/chardev/char.c
/qemu/chardev/meson.build
/qemu/configure
/qemu/contrib/plugins/Makefile
/qemu/contrib/plugins/cache.c
/qemu/contrib/plugins/drcov.c
/qemu/contrib/plugins/howvec.c
/qemu/contrib/plugins/lockstep.c
/qemu/cpu.c
/qemu/crypto/aes.c
/qemu/crypto/afalg.c
/qemu/crypto/block-luks.c
/qemu/crypto/der.c
/qemu/crypto/der.h
/qemu/crypto/sm4.c
/qemu/docs/devel/build-system.rst
/qemu/docs/devel/kconfig.rst
/qemu/docs/multi-thread-compression.txt
/qemu/docs/rdma.txt
/qemu/docs/specs/pci-ids.rst
/qemu/docs/system/replay.rst
/qemu/docs/tools/qemu-nbd.rst
/qemu/ebpf/trace-events
/qemu/gdbstub/meson.build
/qemu/hw/Kconfig
/qemu/hw/audio/fmopl.c
/qemu/hw/audio/fmopl.h
/qemu/hw/audio/gusemu_hal.c
/qemu/hw/audio/intel-hda-defs.h
/qemu/hw/char/riscv_htif.c
/qemu/hw/display/qxl.c
/qemu/hw/display/xlnx_dp.c
/qemu/hw/i386/fw_cfg.c
/qemu/hw/i386/intel_iommu.c
/qemu/hw/i386/kvm/i8254.c
/qemu/hw/i386/kvm/ioapic.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/i386/x86.c
/qemu/hw/ide/ahci.c
/qemu/hw/ide/core.c
/qemu/hw/intc/pnv_xive.c
/qemu/hw/intc/pnv_xive2.c
/qemu/hw/intc/pnv_xive_regs.h
/qemu/hw/intc/riscv_aclint.c
/qemu/hw/intc/xive.c
/qemu/hw/meson.build
/qemu/hw/microblaze/boot.c
/qemu/hw/mips/jazz.c
/qemu/hw/mips/malta.c
/qemu/hw/mips/mipssim.c
/qemu/hw/net/vmxnet3.c
/qemu/hw/nios2/boot.c
/qemu/hw/nubus/trace-events
/qemu/hw/ppc/e500.c
/qemu/hw/ppc/mac_oldworld.c
/qemu/hw/ppc/pegasos2.c
/qemu/hw/ppc/pnv_core.c
/qemu/hw/ppc/ppc.c
/qemu/hw/ppc/prep.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_cpu_core.c
/qemu/hw/ppc/spapr_hcall.c
/qemu/hw/ppc/spapr_iommu.c
/qemu/hw/ppc/vof.c
/qemu/hw/riscv/microchip_pfsoc.c
/qemu/hw/riscv/virt.c
/qemu/hw/ufs/Kconfig
/qemu/hw/ufs/lu.c
/qemu/hw/ufs/meson.build
/qemu/hw/ufs/trace-events
/qemu/hw/ufs/trace.h
/qemu/hw/ufs/ufs.c
/qemu/hw/ufs/ufs.h
/qemu/hw/xen/xen_pvdev.c
/qemu/hw/xtensa/sim.c
/qemu/hw/xtensa/xtfpga.c
/qemu/include/block/block_int-common.h
/qemu/include/block/nbd.h
/qemu/include/block/ufs.h
/qemu/include/chardev/char-fe.h
/qemu/include/chardev/char.h
/qemu/include/crypto/aes.h
/qemu/include/crypto/akcipher.h
/qemu/include/crypto/ivgen.h
/qemu/include/crypto/sm4.h
/qemu/include/exec/translator.h
/qemu/include/hw/acpi/aml-build.h
/qemu/include/hw/acpi/pc-hotplug.h
/qemu/include/hw/acpi/vmgenid.h
/qemu/include/hw/boards.h
/qemu/include/hw/char/avr_usart.h
/qemu/include/hw/clock.h
/qemu/include/hw/cxl/cxl_device.h
/qemu/include/hw/hyperv/vmbus.h
/qemu/include/hw/misc/macio/pmu.h
/qemu/include/hw/net/mii.h
/qemu/include/hw/pci-host/dino.h
/qemu/include/hw/pci/pci.h
/qemu/include/hw/pci/pci_ids.h
/qemu/include/hw/pci/pcie_aer.h
/qemu/include/hw/ppc/ppc.h
/qemu/include/hw/ppc/spapr.h
/qemu/include/hw/ppc/xive.h
/qemu/include/hw/riscv/riscv_hart.h
/qemu/include/hw/ssi/xilinx_spips.h
/qemu/include/hw/virtio/virtio-net.h
/qemu/include/io/channel-util.h
/qemu/include/io/channel.h
/qemu/include/qemu/host-utils.h
/qemu/include/qemu/vhost-user-server.h
/qemu/include/scsi/constants.h
/qemu/include/sysemu/cryptodev-vhost.h
/qemu/include/sysemu/cryptodev.h
/qemu/include/sysemu/iothread.h
/qemu/include/sysemu/kvm.h
/qemu/include/sysemu/os-posix.h
/qemu/include/sysemu/os-win32.h
/qemu/include/sysemu/stats.h
/qemu/include/sysemu/tpm_backend.h
/qemu/include/ui/console.h
/qemu/include/ui/qemu-pixman.h
/qemu/io/channel-command.c
/qemu/io/channel-file.c
/qemu/io/channel-null.c
/qemu/io/channel-socket.c
/qemu/io/channel-tls.c
/qemu/io/channel-util.c
/qemu/io/channel.c
/qemu/iothread.c
riscv/signal.c
/qemu/meson.build
/qemu/meson_options.txt
/qemu/migration/channel-block.c
/qemu/migration/rdma.c
/qemu/nbd/client-connection.c
/qemu/nbd/client.c
/qemu/nbd/server.c
/qemu/net/checksum.c
/qemu/net/filter.c
/qemu/net/meson.build
/qemu/net/vhost-vdpa.c
/qemu/os-posix.c
/qemu/pc-bios/meson.build
/qemu/plugins/meson.build
/qemu/python/Makefile
/qemu/python/scripts/mkvenv.py
/qemu/python/setup.cfg
/qemu/python/tests/minreqs.txt
/qemu/qapi/char.json
/qemu/qemu-nbd.c
/qemu/qemu-options.hx
/qemu/qga/channel-posix.c
/qemu/qga/commands-posix-ssh.c
/qemu/qga/commands-posix.c
/qemu/qga/commands-win32.c
/qemu/qga/main.c
/qemu/qga/meson.build
/qemu/qga/vss-win32/install.cpp
/qemu/scripts/checkpatch.pl
/qemu/scripts/ci/gitlab-pipeline-status
/qemu/scripts/codeconverter/codeconverter/qom_macros.py
/qemu/scripts/meson-buildoptions.sh
/qemu/scripts/oss-fuzz/minimize_qtest_trace.py
/qemu/scripts/performance/topN_callgrind.py
/qemu/scripts/performance/topN_perf.py
/qemu/scripts/qapi/gen.py
/qemu/scripts/qapi/mypy.ini
/qemu/scripts/replay-dump.py
/qemu/scripts/simplebench/bench_block_job.py
/qemu/scsi/qemu-pr-helper.c
/qemu/softmmu/async-teardown.c
/qemu/softmmu/meson.build
/qemu/softmmu/vl.c
/qemu/storage-daemon/meson.build
/qemu/subprojects/libblkio.wrap
/qemu/target/arm/cpu.h
/qemu/target/arm/tcg/crypto_helper.c
/qemu/target/hexagon/README
/qemu/target/hexagon/fma_emu.c
/qemu/target/hexagon/idef-parser/README.rst
/qemu/target/hexagon/idef-parser/idef-parser.h
/qemu/target/hexagon/idef-parser/parser-helpers.c
/qemu/target/hexagon/imported/alu.idef
/qemu/target/hexagon/imported/macros.def
/qemu/target/hexagon/imported/mmvec/ext.idef
/qemu/target/i386/cpu-sysemu.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/helper.c
/qemu/target/i386/kvm/kvm.c
/qemu/target/i386/kvm/kvm_i386.h
/qemu/target/i386/kvm/meson.build
/qemu/target/i386/tcg/decode-new.c.inc
/qemu/target/i386/tcg/decode-new.h
/qemu/target/i386/tcg/emit.c.inc
/qemu/target/i386/tcg/sysemu/fpu_helper.c
/qemu/target/i386/tcg/translate.c
/qemu/target/ppc/compat.c
/qemu/target/ppc/cpu.c
/qemu/target/ppc/cpu.h
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/helper.h
/qemu/target/ppc/internal.h
/qemu/target/ppc/kvm.c
/qemu/target/ppc/machine.c
/qemu/target/ppc/misc_helper.c
/qemu/target/ppc/mmu-radix64.c
/qemu/target/ppc/spr_common.h
/qemu/target/ppc/translate.c
/qemu/target/ppc/translate/fixedpoint-impl.c.inc
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/riscv/cpu_bits.h
/qemu/target/riscv/cpu_cfg.h
/qemu/target/riscv/crypto_helper.c
/qemu/target/riscv/csr.c
/qemu/target/riscv/debug.c
/qemu/target/riscv/helper.h
/qemu/target/riscv/insn32.decode
/qemu/target/riscv/insn_trans/trans_rvf.c.inc
/qemu/target/riscv/insn_trans/trans_rvv.c.inc
/qemu/target/riscv/insn_trans/trans_rvvk.c.inc
/qemu/target/riscv/insn_trans/trans_rvzfa.c.inc
/qemu/target/riscv/insn_trans/trans_rvzfh.c.inc
/qemu/target/riscv/meson.build
/qemu/target/riscv/monitor.c
/qemu/target/riscv/translate.c
/qemu/target/riscv/vcrypto_helper.c
/qemu/target/riscv/vector_helper.c
/qemu/target/riscv/vector_internals.c
/qemu/target/riscv/vector_internals.h
/qemu/target/s390x/kvm/trace-events
/qemu/tcg/meson.build
/qemu/tests/Makefile.include
/qemu/tests/avocado/acpi-bits.py
/qemu/tests/avocado/acpi-bits/bits-tests/testacpi.py2
/qemu/tests/avocado/replay_kernel.py
/qemu/tests/avocado/reverse_debugging.py
/qemu/tests/decode/err_pattern_group_ident2.decode
/qemu/tests/docker/common.rc
/qemu/tests/meson.build
/qemu/tests/migration/guestperf-batch.py
/qemu/tests/migration/guestperf.py
/qemu/tests/migration/meson.build
/qemu/tests/plugin/mem.c
/qemu/tests/qapi-schema/bad-if-not.json
/qemu/tests/qemu-iotests/029
/qemu/tests/qemu-iotests/040
/qemu/tests/qemu-iotests/046
/qemu/tests/qemu-iotests/059
/qemu/tests/qemu-iotests/061
/qemu/tests/qemu-iotests/071
/qemu/tests/qemu-iotests/131
/qemu/tests/qemu-iotests/131.out
/qemu/tests/qemu-iotests/181
/qemu/tests/qemu-iotests/197
/qemu/tests/qemu-iotests/197.out
/qemu/tests/qemu-iotests/215
/qemu/tests/qemu-iotests/298
/qemu/tests/qemu-iotests/pylintrc
/qemu/tests/qemu-iotests/tests/parallels-checks
/qemu/tests/qemu-iotests/tests/parallels-checks.out
/qemu/tests/qtest/ahci-test.c
/qemu/tests/qtest/bcm2835-dma-test.c
/qemu/tests/qtest/bios-tables-test.c
/qemu/tests/qtest/ds1338-test.c
/qemu/tests/qtest/fuzz/generic_fuzz.c
/qemu/tests/qtest/libqos/ahci.c
/qemu/tests/qtest/libqos/ahci.h
/qemu/tests/qtest/libqos/qgraph.c
/qemu/tests/qtest/libqos/qgraph_internal.h
/qemu/tests/qtest/libqos/virtio-gpio.c
/qemu/tests/qtest/libqtest.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/npcm7xx_timer-test.c
/qemu/tests/qtest/test-hmp.c
/qemu/tests/qtest/tpm-emu.c
/qemu/tests/qtest/tpm-tests.c
/qemu/tests/qtest/tpm-tests.h
/qemu/tests/qtest/tpm-tis-i2c-test.c
/qemu/tests/qtest/tpm-tis-util.c
/qemu/tests/qtest/ufs-test.c
/qemu/tests/qtest/usb-hcd-uhci-test.c
/qemu/tests/qtest/usb-hcd-xhci-test.c
/qemu/tests/qtest/vhost-user-blk-test.c
/qemu/tests/qtest/virtio-net-test.c
/qemu/tests/qtest/vmgenid-test.c
/qemu/tests/tcg/hexagon/fpstuff.c
/qemu/tests/tcg/hexagon/test_clobber.S
/qemu/tests/tcg/tricore/Makefile.softmmu-target
/qemu/tests/tsan/suppressions.tsan
/qemu/tests/uefi-test-tools/Makefile
/qemu/tests/unit/check-qjson.c
/qemu/tests/unit/meson.build
/qemu/tests/unit/test-aio.c
/qemu/tests/unit/test-bdrv-graph-mod.c
/qemu/tests/unit/test-crypto-secret.c
/qemu/tests/unit/test-qobject-input-visitor.c
/qemu/tests/unit/test-throttle.c
/qemu/tests/unit/test-util-filemonitor.c
/qemu/tests/unit/test-xs-node.c
/qemu/tests/vm/Makefile.include
/qemu/tests/vm/ubuntuvm.py
/qemu/ui/console.c
/qemu/ui/dbus-console.c
/qemu/ui/dbus-listener.c
/qemu/ui/gtk.c
/qemu/ui/qemu-pixman.c
/qemu/ui/sdl2-input.c
/qemu/ui/sdl2.c
/qemu/ui/spice-app.c
/qemu/ui/spice-display.c
/qemu/ui/ui-qmp-cmds.c
/qemu/ui/vdagent.c
/qemu/ui/vnc-enc-hextile-template.h
/qemu/ui/vnc-enc-tight.c
/qemu/util/iov.c
/qemu/util/meson.build
/qemu/util/vhost-user-server.c
044e95c820-Aug-2023 Richard Henderson <richard.henderson@linaro.org>

linux-user: Track shm regions with an interval tree

Remove the fixed size shm_regions[] array.
Remove references when other mappings completely remove
or replace a region.

Tested-by: Helge Deller <

linux-user: Track shm regions with an interval tree

Remove the fixed size shm_regions[] array.
Remove references when other mappings completely remove
or replace a region.

Tested-by: Helge Deller <deller@gmx.de>
Reviewed-by: Helge Deller <deller@gmx.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

ceda568820-Aug-2023 Richard Henderson <richard.henderson@linaro.org>

linux-user: Fix shmdt

If the shm region is not mapped at shmaddr, EINVAL.
Do not unmap the region until the syscall succeeds.
Use mmap_reserve_or_unmap to preserve reserved_va semantics.

Tested-by:

linux-user: Fix shmdt

If the shm region is not mapped at shmaddr, EINVAL.
Do not unmap the region until the syscall succeeds.
Use mmap_reserve_or_unmap to preserve reserved_va semantics.

Tested-by: Helge Deller <deller@gmx.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

69fa270820-Aug-2023 Richard Henderson <richard.henderson@linaro.org>

linux-user: Use WITH_MMAP_LOCK_GUARD in target_{shmat,shmdt}

Move the CF_PARALLEL setting outside of the mmap lock.

Tested-by: Helge Deller <deller@gmx.de>
Reviewed-by: Helge Deller <deller@gmx.de>

linux-user: Use WITH_MMAP_LOCK_GUARD in target_{shmat,shmdt}

Move the CF_PARALLEL setting outside of the mmap lock.

Tested-by: Helge Deller <deller@gmx.de>
Reviewed-by: Helge Deller <deller@gmx.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

225a206c20-Aug-2023 Richard Henderson <richard.henderson@linaro.org>

linux-user: Move shmat and shmdt implementations to mmap.c

Rename from do_* to target_*. Fix some minor checkpatch errors.

Tested-by: Helge Deller <deller@gmx.de>
Tested-by: Philippe Mathieu-Daudé

linux-user: Move shmat and shmdt implementations to mmap.c

Rename from do_* to target_*. Fix some minor checkpatch errors.

Tested-by: Helge Deller <deller@gmx.de>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Warner Losh <imp@bsdimp.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

f6d4554216-Aug-2023 Richard Henderson <richard.henderson@linaro.org>

linux-user: Remove ELF_START_MMAP and image_info.start_mmap

The start_mmap value is write-only.
Remove the field and the defines that populated it.
Logically, this has been replaced by task_unmapped

linux-user: Remove ELF_START_MMAP and image_info.start_mmap

The start_mmap value is write-only.
Remove the field and the defines that populated it.
Logically, this has been replaced by task_unmapped_base.

Tested-by: Helge Deller <deller@gmx.de>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

6467d9eb24-Aug-2023 Ilya Leoshkevich <iii@linux.ibm.com>

linux-user: Emulate the Anonymous: keyword in /proc/self/smaps

Core dumps produced by gdb's gcore when connected to qemu's gdbstub
lack stack. The reason is that gdb includes only anonymous memory i

linux-user: Emulate the Anonymous: keyword in /proc/self/smaps

Core dumps produced by gdb's gcore when connected to qemu's gdbstub
lack stack. The reason is that gdb includes only anonymous memory in
core dumps, which is distinguished by a non-0 Anonymous: value.

Consider the mappings with PAGE_ANON fully anonymous, and the mappings
without it fully non-anonymous.

Tested-by: Helge Deller <deller@gmx.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
[rth: Update for open_self_maps_* rewrite]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

92d2a03f16-Aug-2023 Richard Henderson <richard.henderson@linaro.org>

linux-user: Show heap address in /proc/pid/maps

Tested-by: Helge Deller <deller@gmx.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Sign

linux-user: Show heap address in /proc/pid/maps

Tested-by: Helge Deller <deller@gmx.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

aec338d616-Aug-2023 Richard Henderson <richard.henderson@linaro.org>

linux-user: Adjust brk for load_bias

PIE executables are usually linked at offset 0 and are
relocated somewhere during load. The hiaddr needs to
be adjusted to keep the brk next to the executable.

linux-user: Adjust brk for load_bias

PIE executables are usually linked at offset 0 and are
relocated somewhere during load. The hiaddr needs to
be adjusted to keep the brk next to the executable.

Cc: qemu-stable@nongnu.org
Fixes: 1f356e8c013 ("linux-user: Adjust initial brk when interpreter is close to executable")
Tested-by: Helge Deller <deller@gmx.de>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

7b7a336609-Aug-2023 Richard Henderson <richard.henderson@linaro.org>

linux-user: Use walk_memory_regions for open_self_maps

Replace the by-hand method of region identification with
the official user-exec interface. Cross-check the region
provided to the callback wit

linux-user: Use walk_memory_regions for open_self_maps

Replace the by-hand method of region identification with
the official user-exec interface. Cross-check the region
provided to the callback with the interval tree from
read_self_maps().

Tested-by: Helge Deller <deller@gmx.de>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

79be812b09-Aug-2023 Richard Henderson <richard.henderson@linaro.org>

util/selfmap: Use dev_t and ino_t in MapInfo

Use dev_t instead of a string, and ino_t instead of uint64_t.
The latter is likely to be identical on modern systems but is
more type-correct for usage.

util/selfmap: Use dev_t and ino_t in MapInfo

Use dev_t instead of a string, and ino_t instead of uint64_t.
The latter is likely to be identical on modern systems but is
more type-correct for usage.

Tested-by: Helge Deller <deller@gmx.de>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

4757e2c703-Aug-2023 Helge Deller <deller@gmx.de>

linux-user: Emulate /proc/cpuinfo for Alpha

Add emulation for /proc/cpuinfo for the alpha architecture.

alpha output example:

(alpha-chroot)root@p100:/# cat /proc/cpuinfo
cpu :

linux-user: Emulate /proc/cpuinfo for Alpha

Add emulation for /proc/cpuinfo for the alpha architecture.

alpha output example:

(alpha-chroot)root@p100:/# cat /proc/cpuinfo
cpu : Alpha
cpu model : ev67
cpu variation : 0
cpu revision : 0
cpu serial number : JA00000000
system type : QEMU
system variation : QEMU_v8.0.92
system revision : 0
system serial number : AY00000000
cycle frequency [Hz] : 250000000
timer frequency [Hz] : 250.00
page size [bytes] : 8192
phys. address bits : 44
max. addr. space # : 255
BogoMIPS : 2500.00
platform string : AlphaServer QEMU user-mode VM
cpus detected : 8
cpus active : 4
cpu active mask : 0000000000000095
L1 Icache : n/a
L1 Dcache : n/a
L2 cache : n/a
L3 cache : n/a

Signed-off-by: Helge Deller <deller@gmx.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230803214450.647040-4-deller@gmx.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

a55b9e7203-Aug-2023 Helge Deller <deller@gmx.de>

linux-user: Emulate /proc/cpuinfo on aarch64 and arm

Add emulation for /proc/cpuinfo for arm architecture.
The output below mimics output as seen on debian porterboxes.

aarch64 output example:

pro

linux-user: Emulate /proc/cpuinfo on aarch64 and arm

Add emulation for /proc/cpuinfo for arm architecture.
The output below mimics output as seen on debian porterboxes.

aarch64 output example:

processor : 0
model name : ARMv8 Processor rev 0 (v8l)
BogoMIPS : 100.00
Features : swp half thumb fast_mult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd07
CPU revision : 0

arm 32-bit output example:

processor : 0
model name : ARMv7 Processor rev 5 (armv7l)
BogoMIPS : 100.00
Features : swp half thumb fast_mult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0f
CPU part : 0xc07
CPU revision : 5

Signed-off-by: Helge Deller <deller@gmx.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230803214450.647040-3-deller@gmx.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

121c8dd624-Aug-2023 Richard Henderson <richard.henderson@linaro.org>

linux-user: Split out cpu/target_proc.h

Move the various open_cpuinfo functions into new files.
Move the m68k open_hardware function as well.
All other guest architectures get a boilerplate empty fi

linux-user: Split out cpu/target_proc.h

Move the various open_cpuinfo functions into new files.
Move the m68k open_hardware function as well.
All other guest architectures get a boilerplate empty file.

Tested-by: Helge Deller <deller@gmx.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...


/qemu/.gitlab-ci.d/buildtest-template.yml
/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/cirrus.yml
/qemu/.gitlab-ci.d/cirrus/freebsd-13.vars
/qemu/.gitlab-ci.d/cirrus/macos-12.vars
/qemu/.gitlab-ci.d/crossbuild-template.yml
/qemu/.gitlab-ci.d/windows.yml
/qemu/accel/hvf/hvf-accel-ops.c
/qemu/accel/hvf/hvf-all.c
/qemu/accel/kvm/kvm-all.c
/qemu/accel/tcg/atomic_template.h
/qemu/accel/tcg/cpu-exec-common.c
/qemu/accel/tcg/cputlb.c
/qemu/block.c
/qemu/block/io.c
/qemu/block/mirror.c
/qemu/block/qcow2.c
/qemu/bsd-user/arm/target_arch_elf.h
/qemu/bsd-user/elfload.c
/qemu/bsd-user/freebsd/meson.build
/qemu/bsd-user/freebsd/os-stat.c
/qemu/bsd-user/freebsd/os-stat.h
/qemu/bsd-user/freebsd/os-syscall.c
/qemu/bsd-user/freebsd/qemu-os.h
/qemu/bsd-user/i386/target_arch_elf.h
/qemu/bsd-user/main.c
/qemu/bsd-user/qemu.h
/qemu/bsd-user/signal.c
/qemu/bsd-user/syscall_defs.h
/qemu/bsd-user/x86_64/target_arch_elf.h
/qemu/configs/targets/loongarch64-softmmu.mak
/qemu/configure
/qemu/docs/about/license.rst
/qemu/docs/devel/acpi-bits.rst
/qemu/docs/devel/ci-jobs.rst.inc
/qemu/docs/devel/style.rst
/qemu/docs/devel/tcg-ops.rst
/qemu/docs/devel/testing.rst
/qemu/docs/system/arm/emulation.rst
/qemu/gdb-xml/loongarch-base32.xml
/qemu/gdb-xml/loongarch-fpu.xml
/qemu/gdbstub/gdbstub.c
/qemu/gdbstub/internals.h
/qemu/gdbstub/softmmu.c
/qemu/gdbstub/user.c
/qemu/hw/arm/armsse.c
/qemu/hw/arm/armv7m.c
/qemu/hw/arm/fsl-imx6ul.c
/qemu/hw/arm/fsl-imx7.c
/qemu/hw/arm/mps2-tz.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xen_arm.c
/qemu/hw/gpio/nrf51_gpio.c
/qemu/hw/intc/loongarch_pch_pic.c
/qemu/hw/loongarch/acpi-build.c
/qemu/hw/loongarch/virt.c
/qemu/hw/mips/loongson3_virt.c
/qemu/hw/misc/imx7_src.c
/qemu/hw/misc/meson.build
/qemu/hw/misc/trace-events
/qemu/hw/ppc/spapr.c
/qemu/hw/rtc/aspeed_rtc.c
/qemu/hw/rtc/m48t59.c
/qemu/hw/rtc/twl92230.c
/qemu/include/block/block-common.h
/qemu/include/block/block-io.h
/qemu/include/exec/cpu-all.h
/qemu/include/exec/cpu-common.h
/qemu/include/exec/cpu_ldst.h
/qemu/include/exec/gdbstub.h
/qemu/include/hw/arm/armsse.h
/qemu/include/hw/arm/armv7m.h
/qemu/include/hw/arm/fsl-imx6ul.h
/qemu/include/hw/arm/fsl-imx7.h
/qemu/include/hw/gpio/nrf51_gpio.h
/qemu/include/hw/misc/imx7_src.h
/qemu/include/hw/rtc/aspeed_rtc.h
/qemu/include/hw/xen/xen_native.h
/qemu/include/qemu/osdep.h
/qemu/include/sysemu/hvf.h
/qemu/include/sysemu/kvm.h
/qemu/include/sysemu/rtc.h
/qemu/include/tcg/tcg-op-common.h
/qemu/include/tcg/tcg-op.h
/qemu/include/tcg/tcg-opc.h
/qemu/include/tcg/tcg.h
aarch64/target_proc.h
alpha/target_proc.h
arm/target_proc.h
cris/target_proc.h
hexagon/target_proc.h
hppa/target_proc.h
i386/target_proc.h
loongarch64/target_proc.h
m68k/target_proc.h
microblaze/target_proc.h
mips/target_proc.h
mips64/target_proc.h
nios2/target_proc.h
openrisc/target_proc.h
ppc/target_proc.h
riscv/target_proc.h
s390x/target_proc.h
sh4/target_proc.h
sparc/target_proc.h
syscall.c
x86_64/target_proc.h
xtensa/target_proc.h
/qemu/migration/block.c
/qemu/migration/dirtyrate.c
/qemu/python/scripts/mkvenv.py
/qemu/python/scripts/vendor.py
/qemu/python/setup.cfg
/qemu/python/wheels/tomli-2.0.1-py3-none-any.whl
/qemu/pythondeps.toml
/qemu/scripts/ci/org.centos/stream/8/x86_64/test-avocado
/qemu/scripts/device-crash-test
/qemu/softmmu/dirtylimit.c
/qemu/softmmu/physmem.c
/qemu/softmmu/qtest.c
/qemu/softmmu/rtc.c
/qemu/target/alpha/translate.c
/qemu/target/arm/cpregs.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/gdbstub.c
/qemu/target/arm/helper.c
/qemu/target/arm/hvf/hvf.c
/qemu/target/arm/internals.h
/qemu/target/arm/kvm.c
/qemu/target/arm/kvm64.c
/qemu/target/arm/ptw.c
/qemu/target/arm/tcg/cpu32.c
/qemu/target/arm/tcg/cpu64.c
/qemu/target/arm/tcg/helper-a64.c
/qemu/target/arm/tcg/mte_helper.c
/qemu/target/arm/tcg/sme_helper.c
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/arm/tcg/translate.c
/qemu/target/arm/tcg/translate.h
/qemu/target/arm/trace-events
/qemu/target/cris/translate.c
/qemu/target/hppa/cpu.h
/qemu/target/hppa/helper.c
/qemu/target/hppa/mem_helper.c
/qemu/target/hppa/translate.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/hvf/hvf.c
/qemu/target/i386/kvm/kvm.c
/qemu/target/loongarch/cpu-csr.h
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/cpu.h
/qemu/target/loongarch/gdbstub.c
/qemu/target/loongarch/insn_trans/trans_arith.c.inc
/qemu/target/loongarch/insn_trans/trans_atomic.c.inc
/qemu/target/loongarch/insn_trans/trans_bit.c.inc
/qemu/target/loongarch/insn_trans/trans_branch.c.inc
/qemu/target/loongarch/insn_trans/trans_extra.c.inc
/qemu/target/loongarch/insn_trans/trans_farith.c.inc
/qemu/target/loongarch/insn_trans/trans_fcmp.c.inc
/qemu/target/loongarch/insn_trans/trans_fcnv.c.inc
/qemu/target/loongarch/insn_trans/trans_fmemory.c.inc
/qemu/target/loongarch/insn_trans/trans_fmov.c.inc
/qemu/target/loongarch/insn_trans/trans_lsx.c.inc
/qemu/target/loongarch/insn_trans/trans_memory.c.inc
/qemu/target/loongarch/insn_trans/trans_privileged.c.inc
/qemu/target/loongarch/insn_trans/trans_shift.c.inc
/qemu/target/loongarch/op_helper.c
/qemu/target/loongarch/tlb_helper.c
/qemu/target/loongarch/translate.c
/qemu/target/loongarch/translate.h
/qemu/target/m68k/translate.c
/qemu/target/mips/kvm.c
/qemu/target/mips/kvm_mips.h
/qemu/target/openrisc/translate.c
/qemu/target/ppc/gdbstub.c
/qemu/target/ppc/kvm.c
/qemu/target/ppc/translate/fixedpoint-impl.c.inc
/qemu/target/ppc/translate/vmx-impl.c.inc
/qemu/target/riscv/kvm.c
/qemu/target/riscv/vector_helper.c
/qemu/target/rx/op_helper.c
/qemu/target/s390x/kvm/kvm.c
/qemu/target/s390x/tcg/vec_string_helper.c
/qemu/target/sparc/translate.c
/qemu/target/tricore/translate.c
/qemu/tcg/aarch64/tcg-target.c.inc
/qemu/tcg/aarch64/tcg-target.h
/qemu/tcg/arm/tcg-target.c.inc
/qemu/tcg/arm/tcg-target.h
/qemu/tcg/i386/tcg-target-con-set.h
/qemu/tcg/i386/tcg-target-con-str.h
/qemu/tcg/i386/tcg-target.c.inc
/qemu/tcg/i386/tcg-target.h
/qemu/tcg/loongarch64/tcg-target.h
/qemu/tcg/mips/tcg-target.h
/qemu/tcg/optimize.c
/qemu/tcg/ppc/tcg-target.c.inc
/qemu/tcg/ppc/tcg-target.h
/qemu/tcg/riscv/tcg-target.c.inc
/qemu/tcg/riscv/tcg-target.h
/qemu/tcg/s390x/tcg-target.c.inc
/qemu/tcg/s390x/tcg-target.h
/qemu/tcg/sparc64/tcg-target.c.inc
/qemu/tcg/sparc64/tcg-target.h
/qemu/tcg/tcg-op-gvec.c
/qemu/tcg/tcg-op-vec.c
/qemu/tcg/tcg-op.c
/qemu/tcg/tcg.c
/qemu/tcg/tci/tcg-target.h
/qemu/tests/Makefile.include
/qemu/tests/docker/Makefile.include
/qemu/tests/docker/dockerfiles/centos8.docker
/qemu/tests/docker/dockerfiles/debian-all-test-cross.docker
/qemu/tests/docker/dockerfiles/debian-amd64-cross.docker
/qemu/tests/docker/dockerfiles/debian-amd64.docker
/qemu/tests/docker/dockerfiles/debian-arm64-cross.docker
/qemu/tests/docker/dockerfiles/debian-armel-cross.docker
/qemu/tests/docker/dockerfiles/debian-armhf-cross.docker
/qemu/tests/docker/dockerfiles/debian-hexagon-cross.docker
/qemu/tests/docker/dockerfiles/debian-mips64el-cross.docker
/qemu/tests/docker/dockerfiles/debian-mipsel-cross.docker
/qemu/tests/docker/dockerfiles/debian-ppc64el-cross.docker
/qemu/tests/docker/dockerfiles/debian-riscv64-cross.docker
/qemu/tests/docker/dockerfiles/debian-s390x-cross.docker
/qemu/tests/docker/dockerfiles/debian-tricore-cross.docker
/qemu/tests/docker/dockerfiles/fedora-i386-cross.docker
/qemu/tests/docker/dockerfiles/fedora-win32-cross.docker
/qemu/tests/docker/dockerfiles/fedora-win64-cross.docker
/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/qemu/tests/docker/dockerfiles/ubuntu2004.docker
/qemu/tests/docker/dockerfiles/ubuntu2204.docker
/qemu/tests/guest-debug/run-test.py
/qemu/tests/lcitool/libvirt-ci
/qemu/tests/lcitool/mappings.yml
/qemu/tests/lcitool/projects/qemu.yml
/qemu/tests/lcitool/targets/opensuse-leap-15.yml
/qemu/tests/qemu-iotests/197
/qemu/tests/qemu-iotests/197.out
/qemu/tests/qtest/libqtest.c
/qemu/tests/qtest/libqtest.h
/qemu/tests/qtest/microbit-test.c
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/gdbstub/test-sve-ioctl.py
/qemu/tests/tcg/aarch64/gdbstub/test-sve.py
/qemu/tests/tcg/multiarch/gdbstub/interrupt.py
/qemu/tests/tcg/multiarch/gdbstub/memory.py
/qemu/tests/tcg/multiarch/gdbstub/sha1.py
/qemu/tests/tcg/multiarch/gdbstub/test-proc-mappings.py
/qemu/tests/tcg/multiarch/gdbstub/test-qxfer-auxv-read.py
/qemu/tests/tcg/multiarch/gdbstub/test-thread-breakpoint.py
/qemu/tests/tcg/multiarch/system/Makefile.softmmu-target
/qemu/tests/tcg/multiarch/system/interrupt.c
/qemu/tests/tcg/s390x/Makefile.target
/qemu/tests/tcg/s390x/gdbstub/test-signals-s390x.py
/qemu/tests/tcg/s390x/gdbstub/test-svc.py
/qemu/tests/tcg/s390x/vxeh2_vstrs.c
/qemu/tests/vm/Makefile.include
/qemu/tests/vm/generated/freebsd.json
/qemu/util/fdmon-io_uring.c
669dcb6023-Aug-2023 Michael Tokarev <mjt@tls.msk.ru>

accel/tcg: spelling fixes

Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Message-ID: <20230823065335.1919380-18-mjt@tls.msk.ru>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-ID: <202308

accel/tcg: spelling fixes

Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Message-ID: <20230823065335.1919380-18-mjt@tls.msk.ru>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-ID: <20230823065335.1919380-19-mjt@tls.msk.ru>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...


/qemu/.gitlab-ci.d/buildtest-template.yml
/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/cirrus.yml
/qemu/.gitlab-ci.d/cirrus/freebsd-13.vars
/qemu/.gitlab-ci.d/cirrus/macos-12.vars
/qemu/.gitlab-ci.d/crossbuild-template.yml
/qemu/.gitlab-ci.d/windows.yml
/qemu/MAINTAINERS
/qemu/accel/Kconfig
/qemu/accel/hvf/hvf-accel-ops.c
/qemu/accel/hvf/hvf-all.c
/qemu/accel/kvm/kvm-all.c
/qemu/accel/stubs/meson.build
/qemu/accel/tcg/atomic_template.h
/qemu/accel/tcg/cpu-exec-common.c
/qemu/accel/tcg/cputlb.c
/qemu/accel/tcg/tb-maint.c
/qemu/block.c
/qemu/block/io.c
/qemu/block/mirror.c
/qemu/block/qcow2.c
/qemu/bsd-user/arm/target_arch_elf.h
/qemu/bsd-user/elfload.c
/qemu/bsd-user/freebsd/meson.build
/qemu/bsd-user/freebsd/os-stat.c
/qemu/bsd-user/freebsd/os-stat.h
/qemu/bsd-user/freebsd/os-syscall.c
/qemu/bsd-user/freebsd/qemu-os.h
/qemu/bsd-user/i386/target_arch_elf.h
/qemu/bsd-user/main.c
/qemu/bsd-user/qemu.h
/qemu/bsd-user/signal.c
/qemu/bsd-user/syscall_defs.h
/qemu/bsd-user/x86_64/target_arch_elf.h
/qemu/configs/targets/loongarch64-softmmu.mak
/qemu/configure
/qemu/contrib/plugins/cache.c
/qemu/contrib/plugins/lockstep.c
/qemu/docs/about/build-platforms.rst
/qemu/docs/about/deprecated.rst
/qemu/docs/about/index.rst
/qemu/docs/about/license.rst
/qemu/docs/about/removed-features.rst
/qemu/docs/devel/acpi-bits.rst
/qemu/docs/devel/ci-jobs.rst.inc
/qemu/docs/devel/style.rst
/qemu/docs/devel/tcg-ops.rst
/qemu/docs/devel/testing.rst
/qemu/docs/system/arm/emulation.rst
/qemu/docs/system/index.rst
/qemu/docs/system/introduction.rst
/qemu/gdb-xml/loongarch-base32.xml
/qemu/gdb-xml/loongarch-fpu.xml
/qemu/gdbstub/gdbstub.c
/qemu/gdbstub/internals.h
/qemu/gdbstub/softmmu.c
/qemu/gdbstub/user.c
/qemu/hw/arm/armsse.c
/qemu/hw/arm/armv7m.c
/qemu/hw/arm/fsl-imx6ul.c
/qemu/hw/arm/fsl-imx7.c
/qemu/hw/arm/mps2-tz.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xen_arm.c
/qemu/hw/gpio/nrf51_gpio.c
/qemu/hw/intc/apic_common.c
/qemu/hw/intc/loongarch_pch_pic.c
/qemu/hw/loongarch/acpi-build.c
/qemu/hw/loongarch/virt.c
/qemu/hw/mips/loongson3_virt.c
/qemu/hw/misc/imx7_src.c
/qemu/hw/misc/meson.build
/qemu/hw/misc/trace-events
/qemu/hw/ppc/spapr.c
/qemu/hw/rtc/aspeed_rtc.c
/qemu/hw/rtc/m48t59.c
/qemu/hw/rtc/twl92230.c
/qemu/include/block/block-common.h
/qemu/include/block/block-io.h
/qemu/include/exec/cpu-all.h
/qemu/include/exec/cpu-common.h
/qemu/include/exec/cpu_ldst.h
/qemu/include/exec/gdbstub.h
/qemu/include/exec/poison.h
/qemu/include/hw/arm/armsse.h
/qemu/include/hw/arm/armv7m.h
/qemu/include/hw/arm/fsl-imx6ul.h
/qemu/include/hw/arm/fsl-imx7.h
/qemu/include/hw/core/cpu.h
/qemu/include/hw/core/tcg-cpu-ops.h
/qemu/include/hw/gpio/nrf51_gpio.h
/qemu/include/hw/misc/imx7_src.h
/qemu/include/hw/rtc/aspeed_rtc.h
/qemu/include/hw/xen/xen_native.h
/qemu/include/qemu/osdep.h
/qemu/include/sysemu/hvf.h
/qemu/include/sysemu/hw_accel.h
/qemu/include/sysemu/kvm.h
/qemu/include/sysemu/rtc.h
/qemu/include/tcg/helper-info.h
/qemu/include/tcg/tcg-op-common.h
/qemu/include/tcg/tcg-op.h
/qemu/include/tcg/tcg-opc.h
/qemu/include/tcg/tcg.h
/qemu/include/user/safe-syscall.h
flatload.c
syscall.c
/qemu/meson.build
/qemu/meson_options.txt
/qemu/migration/block.c
/qemu/migration/dirtyrate.c
/qemu/python/scripts/mkvenv.py
/qemu/python/scripts/vendor.py
/qemu/python/setup.cfg
/qemu/python/wheels/tomli-2.0.1-py3-none-any.whl
/qemu/pythondeps.toml
/qemu/qemu-options.hx
/qemu/scripts/ci/org.centos/stream/8/x86_64/configure
/qemu/scripts/ci/org.centos/stream/8/x86_64/test-avocado
/qemu/scripts/device-crash-test
/qemu/scripts/meson-buildoptions.sh
/qemu/semihosting/config.c
/qemu/semihosting/syscalls.c
/qemu/softmmu/cpus.c
/qemu/softmmu/dirtylimit.c
/qemu/softmmu/icount.c
/qemu/softmmu/ioport.c
/qemu/softmmu/physmem.c
/qemu/softmmu/qtest.c
/qemu/softmmu/rtc.c
/qemu/softmmu/vl.c
/qemu/target/alpha/translate.c
/qemu/target/arm/cpregs.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/gdbstub.c
/qemu/target/arm/helper.c
/qemu/target/arm/hvf/hvf.c
/qemu/target/arm/internals.h
/qemu/target/arm/kvm.c
/qemu/target/arm/kvm64.c
/qemu/target/arm/ptw.c
/qemu/target/arm/tcg/cpu32.c
/qemu/target/arm/tcg/cpu64.c
/qemu/target/arm/tcg/helper-a64.c
/qemu/target/arm/tcg/mte_helper.c
/qemu/target/arm/tcg/sme_helper.c
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/arm/tcg/translate.c
/qemu/target/arm/tcg/translate.h
/qemu/target/arm/trace-events
/qemu/target/cris/translate.c
/qemu/target/hppa/cpu.h
/qemu/target/hppa/helper.c
/qemu/target/hppa/mem_helper.c
/qemu/target/hppa/translate.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/hvf/hvf.c
/qemu/target/i386/kvm/kvm.c
/qemu/target/i386/meson.build
/qemu/target/loongarch/cpu-csr.h
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/cpu.h
/qemu/target/loongarch/gdbstub.c
/qemu/target/loongarch/insn_trans/trans_arith.c.inc
/qemu/target/loongarch/insn_trans/trans_atomic.c.inc
/qemu/target/loongarch/insn_trans/trans_bit.c.inc
/qemu/target/loongarch/insn_trans/trans_branch.c.inc
/qemu/target/loongarch/insn_trans/trans_extra.c.inc
/qemu/target/loongarch/insn_trans/trans_farith.c.inc
/qemu/target/loongarch/insn_trans/trans_fcmp.c.inc
/qemu/target/loongarch/insn_trans/trans_fcnv.c.inc
/qemu/target/loongarch/insn_trans/trans_fmemory.c.inc
/qemu/target/loongarch/insn_trans/trans_fmov.c.inc
/qemu/target/loongarch/insn_trans/trans_lsx.c.inc
/qemu/target/loongarch/insn_trans/trans_memory.c.inc
/qemu/target/loongarch/insn_trans/trans_privileged.c.inc
/qemu/target/loongarch/insn_trans/trans_shift.c.inc
/qemu/target/loongarch/op_helper.c
/qemu/target/loongarch/tlb_helper.c
/qemu/target/loongarch/translate.c
/qemu/target/loongarch/translate.h
/qemu/target/m68k/translate.c
/qemu/target/mips/kvm.c
/qemu/target/mips/kvm_mips.h
/qemu/target/openrisc/translate.c
/qemu/target/ppc/gdbstub.c
/qemu/target/ppc/kvm.c
/qemu/target/ppc/translate/fixedpoint-impl.c.inc
/qemu/target/ppc/translate/vmx-impl.c.inc
/qemu/target/riscv/kvm.c
/qemu/target/riscv/vector_helper.c
/qemu/target/rx/op_helper.c
/qemu/target/s390x/kvm/kvm.c
/qemu/target/s390x/tcg/vec_string_helper.c
/qemu/target/sparc/translate.c
/qemu/target/tricore/translate.c
/qemu/tcg/aarch64/tcg-target.c.inc
/qemu/tcg/aarch64/tcg-target.h
/qemu/tcg/arm/tcg-target.c.inc
/qemu/tcg/arm/tcg-target.h
/qemu/tcg/i386/tcg-target-con-set.h
/qemu/tcg/i386/tcg-target-con-str.h
/qemu/tcg/i386/tcg-target.c.inc
/qemu/tcg/i386/tcg-target.h
/qemu/tcg/loongarch64/tcg-target.h
/qemu/tcg/mips/tcg-target.h
/qemu/tcg/optimize.c
/qemu/tcg/ppc/tcg-target.c.inc
/qemu/tcg/ppc/tcg-target.h
/qemu/tcg/riscv/tcg-target.c.inc
/qemu/tcg/riscv/tcg-target.h
/qemu/tcg/s390x/tcg-target.c.inc
/qemu/tcg/s390x/tcg-target.h
/qemu/tcg/sparc64/tcg-target.c.inc
/qemu/tcg/sparc64/tcg-target.h
/qemu/tcg/tcg-op-gvec.c
/qemu/tcg/tcg-op-vec.c
/qemu/tcg/tcg-op.c
/qemu/tcg/tcg.c
/qemu/tcg/tci/tcg-target.h
/qemu/tests/Makefile.include
/qemu/tests/docker/Makefile.include
/qemu/tests/docker/dockerfiles/centos8.docker
/qemu/tests/docker/dockerfiles/debian-all-test-cross.docker
/qemu/tests/docker/dockerfiles/debian-amd64-cross.docker
/qemu/tests/docker/dockerfiles/debian-amd64.docker
/qemu/tests/docker/dockerfiles/debian-arm64-cross.docker
/qemu/tests/docker/dockerfiles/debian-armel-cross.docker
/qemu/tests/docker/dockerfiles/debian-armhf-cross.docker
/qemu/tests/docker/dockerfiles/debian-hexagon-cross.docker
/qemu/tests/docker/dockerfiles/debian-mips64el-cross.docker
/qemu/tests/docker/dockerfiles/debian-mipsel-cross.docker
/qemu/tests/docker/dockerfiles/debian-ppc64el-cross.docker
/qemu/tests/docker/dockerfiles/debian-riscv64-cross.docker
/qemu/tests/docker/dockerfiles/debian-s390x-cross.docker
/qemu/tests/docker/dockerfiles/debian-tricore-cross.docker
/qemu/tests/docker/dockerfiles/fedora-i386-cross.docker
/qemu/tests/docker/dockerfiles/fedora-win32-cross.docker
/qemu/tests/docker/dockerfiles/fedora-win64-cross.docker
/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/qemu/tests/docker/dockerfiles/ubuntu2004.docker
/qemu/tests/docker/dockerfiles/ubuntu2204.docker
/qemu/tests/guest-debug/run-test.py
/qemu/tests/lcitool/libvirt-ci
/qemu/tests/lcitool/mappings.yml
/qemu/tests/lcitool/projects/qemu.yml
/qemu/tests/lcitool/targets/opensuse-leap-15.yml
/qemu/tests/qemu-iotests/197
/qemu/tests/qemu-iotests/197.out
/qemu/tests/qtest/libqtest.c
/qemu/tests/qtest/libqtest.h
/qemu/tests/qtest/microbit-test.c
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/gdbstub/test-sve-ioctl.py
/qemu/tests/tcg/aarch64/gdbstub/test-sve.py
/qemu/tests/tcg/multiarch/gdbstub/interrupt.py
/qemu/tests/tcg/multiarch/gdbstub/memory.py
/qemu/tests/tcg/multiarch/gdbstub/sha1.py
/qemu/tests/tcg/multiarch/gdbstub/test-proc-mappings.py
/qemu/tests/tcg/multiarch/gdbstub/test-qxfer-auxv-read.py
/qemu/tests/tcg/multiarch/gdbstub/test-thread-breakpoint.py
/qemu/tests/tcg/multiarch/system/Makefile.softmmu-target
/qemu/tests/tcg/multiarch/system/interrupt.c
/qemu/tests/tcg/s390x/Makefile.target
/qemu/tests/tcg/s390x/gdbstub/test-signals-s390x.py
/qemu/tests/tcg/s390x/gdbstub/test-svc.py
/qemu/tests/tcg/s390x/vxeh2_vstrs.c
/qemu/tests/vm/Makefile.include
/qemu/tests/vm/generated/freebsd.json
/qemu/util/fdmon-io_uring.c
ffc8453b04-Aug-2023 Ilya Leoshkevich <iii@linux.ibm.com>

linux-user/elfload: Enable vxe2 on s390x

The vxe2 hwcap is not set for programs running in linux-user, but is
set by a Linux kernel running in softmmu. Add it to the former.

Signed-off-by: Ilya Leo

linux-user/elfload: Enable vxe2 on s390x

The vxe2 hwcap is not set for programs running in linux-user, but is
set by a Linux kernel running in softmmu. Add it to the former.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20230804233748.218935-2-iii@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...

b800205803-Aug-2023 Helge Deller <deller@gmx.de>

linux-user: Fix openat() emulation to correctly detect accesses to /proc

In qemu we catch accesses to files like /proc/cpuinfo or /proc/net/route
and return to the guest contents which would be visi

linux-user: Fix openat() emulation to correctly detect accesses to /proc

In qemu we catch accesses to files like /proc/cpuinfo or /proc/net/route
and return to the guest contents which would be visible on a real system
(instead what the host would show).

This patch fixes a bug, where for example the accesses
cat /proc////cpuinfo
or
cd /proc && cat cpuinfo
will not be recognized by qemu and where qemu will wrongly show
the contents of the host's /proc/cpuinfo file.

Signed-off-by: Helge Deller <deller@gmx.de>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20230803214450.647040-2-deller@gmx.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

a05cee9308-Aug-2023 Richard Henderson <richard.henderson@linaro.org>

linux-user: Use ARRAY_SIZE with bitmask_transtbl

Rather than using a zero tuple to end the table, use a macro
to apply ARRAY_SIZE and pass that on to the convert functions.

This fixes two bugs in w

linux-user: Use ARRAY_SIZE with bitmask_transtbl

Rather than using a zero tuple to end the table, use a macro
to apply ARRAY_SIZE and pass that on to the convert functions.

This fixes two bugs in which the conversion functions required
that both the target and host masks be non-zero in order to
continue, rather than require both target and host masks be
zero in order to terminate.

This affected mmap_flags_tbl when the host does not support
all of the flags we wish to convert (e.g. MAP_UNINITIALIZED).
Mapping these flags to zero is good enough, and matches how
the kernel ignores bits that are unknown.

Fixes: 4b840f96 ("linux-user: Populate more bits in mmap_flags_tbl")
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

9ab8d07108-Aug-2023 Richard Henderson <richard.henderson@linaro.org>

linux-user: Split out do_mmap

New function that rejects unsupported map types and flags.
In 4b840f96 we should not have accepted MAP_SHARED_VALIDATE
without actually validating the rest of the flags

linux-user: Split out do_mmap

New function that rejects unsupported map types and flags.
In 4b840f96 we should not have accepted MAP_SHARED_VALIDATE
without actually validating the rest of the flags.

Fixes: 4b840f96 ("linux-user: Populate more bits in mmap_flags_tbl")
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

dd55885507-Aug-2023 Richard Henderson <richard.henderson@linaro.org>

linux-user: Rewrite non-fixed probe_guest_base

Use pgb_addr_set to probe for all of the guest addresses,
not just the main executable. Handle the identity map
specially and separately from the sear

linux-user: Rewrite non-fixed probe_guest_base

Use pgb_addr_set to probe for all of the guest addresses,
not just the main executable. Handle the identity map
specially and separately from the search.

If /proc/self/maps is available, utilize the full power
of the interval tree search, rather than a linear search
through the address list.

If /proc/self/maps is not available, increase the skip
between probes so that we do not probe every single page
of the host address space. Choose 1 MiB for 32-bit hosts
(max 4k probes) and 1 GiB for 64-bit hosts (possibly a
large number of probes, but the large step makes it more
likely to find empty space quicker).

Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

06f38c6607-Aug-2023 Richard Henderson <richard.henderson@linaro.org>

linux-user: Rewrite fixed probe_guest_base

Create a set of subroutines to collect a set of guest addresses,
all of which must be mappable on the host. Use this within the
renamed pgb_fixed subrouti

linux-user: Rewrite fixed probe_guest_base

Create a set of subroutines to collect a set of guest addresses,
all of which must be mappable on the host. Use this within the
renamed pgb_fixed subroutine to validate the user's choice of
guest_base specified by the -B command-line option.

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

show more ...

0c441aeb07-Aug-2023 Richard Henderson <richard.henderson@linaro.org>

linux-user: Consolidate guest bounds check in probe_guest_base

The three sets of checks are identical, logically.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson

linux-user: Consolidate guest bounds check in probe_guest_base

The three sets of checks are identical, logically.

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

show more ...

12345678910>>...136