aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2023-10-09 10:11:17 -0400
committerStefan Hajnoczi <stefanha@redhat.com>2023-10-09 10:11:18 -0400
commit1527c6b6fa6c6775523287e33f78b41afc7ba46c (patch)
treee245ed1f0f1856b800b391e22da9d09b21950540
parentf7294103560260ff09ffdf316cf6ba6d4e368d85 (diff)
parent912eef205ae9ccfd477c343a51a7c2dcfae2ba43 (diff)
Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging
* util/log: re-allow switching away from stderr log file * finish audio configuration rework * cleanup HVF stubs * remove more mentions of softmmu # -----BEGIN PGP SIGNATURE----- # # iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmUi/kIUHHBib256aW5p # QHJlZGhhdC5jb20ACgkQv/vSX3jHroOXWwf/YW16QMzqdAPVHYRf9NcCneRF16El # t3lEod0q0sHhchPbh9e04aKbh+oBNeWu9sFyTl11Fwsi+DGmp/b28ziva75/4rfd # h5N9aX/z2jwPqy93IwPDu3soKXCCgTK+ywtD/5GLQwBGqxs7W2xUEEb7eCnVefHa # zwL3MOUqPICeqOnR1TNw9k3N3veF04D+rmchTwbAjAmx1f8EI+mK9VlGK9V8TUjP # 3HjpZYJluc0a92lR5VONJ7V25QfttsjLysTgpFwVAQPS6Frzatc/hWclfLYgw9vl # 2Irk83FV8gXPRl0XKNcqSDsv6h/yGP6TDFIB8QwRSRGBqIQi5aOlfBJzsQ== # =qbm7 # -----END PGP SIGNATURE----- # gpg: Signature made Sun 08 Oct 2023 15:08:50 EDT # gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83 # gpg: issuer "pbonzini@redhat.com" # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full] # gpg: aka "Paolo Bonzini <pbonzini@redhat.com>" [full] # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1 # Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83 * tag 'for-upstream' of https://gitlab.com/bonzini/qemu: (25 commits) audio, qtest: get rid of QEMU_AUDIO_DRV audio: reintroduce default audio backend for VNC audio: do not use first -audiodev as default audio device audio: extend -audio to allow creating a default backend audio: extract audio_define_default audio: disable default backends if -audio/-audiodev is used audio: error hints need a trailing \n cutils: squelch compiler warnings with custom paths configure: change $softmmu to $system system: Rename softmmu/ directory as system/ meson: Rename target_softmmu_arch -> target_system_arch meson: Rename softmmu_mods -> system_mods target/i386: Rename i386_softmmu_kvm_ss -> i386_kvm_ss semihosting: Rename softmmu_FOO_user() -> uaccess_FOO_user() gdbstub: Rename 'softmmu' -> 'system' accel: Rename accel_softmmu* -> accel_system* tcg: Correct invalid mentions of 'softmmu' by 'system-mode' fuzz: Correct invalid mentions of 'softmmu' by 'system' cpu: Correct invalid mentions of 'softmmu' by 'system-mode' travis-ci: Correct invalid mentions of 'softmmu' by 'system' ... Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-rw-r--r--.travis.yml4
-rw-r--r--MAINTAINERS42
-rw-r--r--accel/accel-system.c (renamed from accel/accel-softmmu.c)6
-rw-r--r--accel/accel-system.h (renamed from accel/accel-softmmu.h)6
-rw-r--r--accel/accel-target.c2
-rw-r--r--accel/meson.build2
-rw-r--r--accel/stubs/meson.build10
-rw-r--r--accel/tcg/icount-common.c2
-rw-r--r--accel/tcg/user-exec.c2
-rw-r--r--audio/audio.c85
-rw-r--r--audio/audio.h3
-rwxr-xr-xconfigure10
-rw-r--r--cpu-target.c2
-rw-r--r--docs/about/deprecated.rst6
-rw-r--r--docs/about/removed-features.rst22
-rw-r--r--docs/devel/build-system.rst4
-rw-r--r--docs/devel/qtest.rst2
-rw-r--r--docs/devel/testing.rst2
-rw-r--r--gdbstub/internals.h4
-rw-r--r--gdbstub/meson.build10
-rw-r--r--gdbstub/system.c (renamed from gdbstub/softmmu.c)2
-rw-r--r--gdbstub/trace-events2
-rw-r--r--hw/core/cpu-common.c4
-rw-r--r--include/qemu/atomic128.h4
-rw-r--r--include/semihosting/uaccess.h (renamed from include/semihosting/softmmu-uaccess.h)24
-rw-r--r--include/sysemu/cpu-timers-internal.h (renamed from softmmu/timers-state.h)0
-rw-r--r--include/sysemu/hvf.h3
-rw-r--r--include/sysemu/runstate-action.h2
-rw-r--r--include/tcg/tcg-op-common.h2
-rw-r--r--meson.build22
-rw-r--r--qemu-options.hx29
-rwxr-xr-xscripts/checkpatch.pl2
-rw-r--r--scripts/coverity-scan/COMPONENTS.md2
-rwxr-xr-xscripts/get_maintainer.pl2
-rwxr-xr-xscripts/oss-fuzz/build.sh6
-rw-r--r--semihosting/arm-compat-semi.c4
-rw-r--r--semihosting/config.c2
-rw-r--r--semihosting/guestfd.c2
-rw-r--r--semihosting/syscalls.c2
-rw-r--r--semihosting/uaccess.c14
-rw-r--r--softmmu/trace.h1
-rw-r--r--stubs/semihost.c4
-rw-r--r--system/arch_init.c (renamed from softmmu/arch_init.c)0
-rw-r--r--system/async-teardown.c (renamed from softmmu/async-teardown.c)0
-rw-r--r--system/balloon.c (renamed from softmmu/balloon.c)0
-rw-r--r--system/bootdevice.c (renamed from softmmu/bootdevice.c)0
-rw-r--r--system/cpu-throttle.c (renamed from softmmu/cpu-throttle.c)0
-rw-r--r--system/cpu-timers.c (renamed from softmmu/cpu-timers.c)2
-rw-r--r--system/cpus.c (renamed from softmmu/cpus.c)0
-rw-r--r--system/datadir.c (renamed from softmmu/datadir.c)0
-rw-r--r--system/device_tree.c (renamed from softmmu/device_tree.c)0
-rw-r--r--system/dirtylimit.c (renamed from softmmu/dirtylimit.c)0
-rw-r--r--system/dma-helpers.c (renamed from softmmu/dma-helpers.c)0
-rw-r--r--system/globals.c (renamed from softmmu/globals.c)0
-rw-r--r--system/ioport.c (renamed from softmmu/ioport.c)0
-rw-r--r--system/main.c (renamed from softmmu/main.c)0
-rw-r--r--system/memory.c (renamed from softmmu/memory.c)2
-rw-r--r--system/memory_mapping.c (renamed from softmmu/memory_mapping.c)0
-rw-r--r--system/meson.build (renamed from softmmu/meson.build)0
-rw-r--r--system/physmem.c (renamed from softmmu/physmem.c)6
-rw-r--r--system/qdev-monitor.c (renamed from softmmu/qdev-monitor.c)0
-rw-r--r--system/qemu-seccomp.c (renamed from softmmu/qemu-seccomp.c)0
-rw-r--r--system/qtest.c (renamed from softmmu/qtest.c)0
-rw-r--r--system/rtc.c (renamed from softmmu/rtc.c)0
-rw-r--r--system/runstate-action.c (renamed from softmmu/runstate-action.c)0
-rw-r--r--system/runstate-hmp-cmds.c (renamed from softmmu/runstate-hmp-cmds.c)0
-rw-r--r--system/runstate.c (renamed from softmmu/runstate.c)0
-rw-r--r--system/tpm-hmp-cmds.c (renamed from softmmu/tpm-hmp-cmds.c)0
-rw-r--r--system/tpm.c (renamed from softmmu/tpm.c)0
-rw-r--r--system/trace-events (renamed from softmmu/trace-events)2
-rw-r--r--system/trace.h1
-rw-r--r--system/vl.c (renamed from softmmu/vl.c)34
-rw-r--r--system/watchpoint.c (renamed from softmmu/watchpoint.c)0
-rw-r--r--target/alpha/meson.build2
-rw-r--r--target/arm/meson.build2
-rw-r--r--target/avr/meson.build2
-rw-r--r--target/cris/meson.build2
-rw-r--r--target/hppa/meson.build2
-rw-r--r--target/i386/cpu.c3
-rw-r--r--target/i386/hvf/hvf-cpu.c1
-rw-r--r--target/i386/hvf/hvf-i386.h6
-rw-r--r--target/i386/hvf/x86_cpuid.c1
-rw-r--r--target/i386/kvm/meson.build10
-rw-r--r--target/i386/meson.build2
-rw-r--r--target/i386/tcg/misc_helper.c2
-rw-r--r--target/i386/tcg/translate.c6
-rw-r--r--target/loongarch/meson.build2
-rw-r--r--target/m68k/m68k-semi.c2
-rw-r--r--target/m68k/meson.build2
-rw-r--r--target/microblaze/meson.build2
-rw-r--r--target/mips/meson.build2
-rw-r--r--target/mips/tcg/sysemu/mips-semi.c2
-rw-r--r--target/nios2/meson.build2
-rw-r--r--target/nios2/nios2-semi.c2
-rw-r--r--target/openrisc/meson.build2
-rw-r--r--target/ppc/meson.build2
-rw-r--r--target/riscv/meson.build2
-rw-r--r--target/riscv/vector_helper.c2
-rw-r--r--target/rx/meson.build2
-rw-r--r--target/s390x/meson.build2
-rw-r--r--target/sh4/meson.build2
-rw-r--r--target/sparc/meson.build2
-rw-r--r--target/tricore/meson.build2
-rw-r--r--target/xtensa/meson.build2
-rw-r--r--tcg/aarch64/tcg-target.c.inc4
-rw-r--r--tcg/arm/tcg-target.c.inc2
-rw-r--r--tcg/i386/tcg-target.c.inc2
-rw-r--r--tcg/loongarch64/tcg-target.c.inc4
-rw-r--r--tcg/meson.build6
-rw-r--r--tcg/mips/tcg-target.c.inc4
-rw-r--r--tcg/ppc/tcg-target.c.inc4
-rw-r--r--tcg/region.c4
-rw-r--r--tcg/riscv/tcg-target.c.inc4
-rw-r--r--tcg/s390x/tcg-target.c.inc4
-rw-r--r--tcg/sparc64/tcg-target.c.inc4
-rw-r--r--tcg/tcg.c11
-rw-r--r--tests/qtest/fuzz/fuzz.c2
-rw-r--r--tests/qtest/fuzz/fuzz.h4
-rw-r--r--tests/qtest/libqtest.c4
-rw-r--r--tests/tcg/Makefile.target2
-rw-r--r--tests/tcg/multiarch/gdbstub/interrupt.py2
-rw-r--r--tests/tcg/multiarch/gdbstub/memory.py2
-rw-r--r--tests/tcg/multiarch/system/memory.c4
-rw-r--r--tests/tcg/s390x/pgm-specification-softmmu.S2
-rw-r--r--tests/tcg/s390x/pgm-specification.mak2
-rw-r--r--tests/tcg/s390x/softmmu.ld2
-rw-r--r--tests/tcg/xtensa/Makefile.softmmu-target2
-rw-r--r--tests/tcg/xtensaeb/Makefile.softmmu-target2
-rw-r--r--tests/unit/meson.build2
-rw-r--r--ui/vnc.c2
-rw-r--r--util/cutils.c9
-rw-r--r--util/log.c2
132 files changed, 306 insertions, 277 deletions
diff --git a/.travis.yml b/.travis.yml
index b958eca5de..76859d48da 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -34,7 +34,7 @@ env:
- BASE_CONFIG="--disable-docs --disable-tools"
- TEST_BUILD_CMD=""
- TEST_CMD="make check V=1"
- # This is broadly a list of "mainline" softmmu targets which have support across the major distros
+ # This is broadly a list of "mainline" system targets which have support across the major distros
- MAIN_SOFTMMU_TARGETS="aarch64-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
- CCACHE_SLOPPINESS="include_file_ctime,include_file_mtime"
- CCACHE_MAXSIZE=1G
@@ -197,7 +197,7 @@ jobs:
$(exit $BUILD_RC);
fi
- - name: "[s390x] GCC (other-softmmu)"
+ - name: "[s390x] GCC (other-system)"
arch: s390x
dist: focal
addons:
diff --git a/MAINTAINERS b/MAINTAINERS
index ac865c4e59..9e7dec4a58 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -137,8 +137,8 @@ Overall TCG CPUs
M: Richard Henderson <richard.henderson@linaro.org>
R: Paolo Bonzini <pbonzini@redhat.com>
S: Maintained
-F: softmmu/cpus.c
-F: softmmu/watchpoint.c
+F: system/cpus.c
+F: system/watchpoint.c
F: cpu-common.c
F: cpu-target.c
F: page-vary-target.c
@@ -2114,7 +2114,7 @@ S: Maintained
F: docs/interop/virtio-balloon-stats.rst
F: hw/virtio/virtio-balloon*.c
F: include/hw/virtio/virtio-balloon.h
-F: softmmu/balloon.c
+F: system/balloon.c
F: include/sysemu/balloon.h
virtio-9p
@@ -2801,7 +2801,7 @@ Device Tree
M: Alistair Francis <alistair.francis@wdc.com>
R: David Gibson <david@gibson.dropbear.id.au>
S: Maintained
-F: softmmu/device_tree.c
+F: system/device_tree.c
F: include/sysemu/device_tree.h
Dump
@@ -2857,11 +2857,11 @@ F: include/exec/memory.h
F: include/exec/ram_addr.h
F: include/exec/ramblock.h
F: include/sysemu/memory_mapping.h
-F: softmmu/dma-helpers.c
-F: softmmu/ioport.c
-F: softmmu/memory.c
-F: softmmu/memory_mapping.c
-F: softmmu/physmem.c
+F: system/dma-helpers.c
+F: system/ioport.c
+F: system/memory.c
+F: system/memory_mapping.c
+F: system/physmem.c
F: include/exec/memory-internal.h
F: scripts/coccinelle/memory-region-housekeeping.cocci
@@ -2914,12 +2914,12 @@ F: include/sysemu/runstate.h
F: include/sysemu/runstate-action.h
F: util/main-loop.c
F: util/qemu-timer.c
-F: softmmu/vl.c
-F: softmmu/main.c
-F: softmmu/cpus.c
-F: softmmu/cpu-throttle.c
-F: softmmu/cpu-timers.c
-F: softmmu/runstate*
+F: system/vl.c
+F: system/main.c
+F: system/cpus.c
+F: system/cpu-throttle.c
+F: system/cpu-timers.c
+F: system/runstate*
F: qapi/run-state.json
Read, Copy, Update (RCU)
@@ -3093,7 +3093,7 @@ F: qapi/qom.json
F: qapi/qdev.json
F: scripts/coccinelle/qom-parent-type.cocci
F: scripts/qom-cast-macro-clean-cocci-gen.py
-F: softmmu/qdev-monitor.c
+F: system/qdev-monitor.c
F: stubs/qdev.c
F: qom/
F: tests/unit/check-qom-interface.c
@@ -3127,7 +3127,7 @@ M: Thomas Huth <thuth@redhat.com>
M: Laurent Vivier <lvivier@redhat.com>
R: Paolo Bonzini <pbonzini@redhat.com>
S: Maintained
-F: softmmu/qtest.c
+F: system/qtest.c
F: accel/qtest/
F: tests/qtest/
F: docs/devel/qgraph.rst
@@ -3203,7 +3203,7 @@ F: scripts/simpletrace.py
TPM
M: Stefan Berger <stefanb@linux.ibm.com>
S: Maintained
-F: softmmu/tpm*
+F: system/tpm*
F: hw/tpm/*
F: include/hw/acpi/tpm.h
F: include/sysemu/tpm*
@@ -3248,7 +3248,7 @@ F: migration/rdma*
Migration dirty limit and dirty page rate
M: Hyman Huang <yong.huang@smartx.com>
S: Maintained
-F: softmmu/dirtylimit.c
+F: system/dirtylimit.c
F: include/sysemu/dirtylimit.h
F: migration/dirtyrate.c
F: migration/dirtyrate.h
@@ -3272,7 +3272,7 @@ F: scripts/xml-preprocess*
Seccomp
M: Daniel P. Berrange <berrange@redhat.com>
S: Odd Fixes
-F: softmmu/qemu-seccomp.c
+F: system/qemu-seccomp.c
F: include/sysemu/seccomp.h
F: tests/unit/test-seccomp.c
@@ -3691,7 +3691,7 @@ T: git https://github.com/stefanha/qemu.git block
Bootdevice
M: Gonglei <arei.gonglei@huawei.com>
S: Maintained
-F: softmmu/bootdevice.c
+F: system/bootdevice.c
Quorum
M: Alberto Garcia <berto@igalia.com>
diff --git a/accel/accel-softmmu.c b/accel/accel-system.c
index 9c804ba9e3..fa8f43757c 100644
--- a/accel/accel-softmmu.c
+++ b/accel/accel-system.c
@@ -28,7 +28,7 @@
#include "hw/boards.h"
#include "sysemu/cpus.h"
#include "qemu/error-report.h"
-#include "accel-softmmu.h"
+#include "accel-system.h"
int accel_init_machine(AccelState *accel, MachineState *ms)
{
@@ -99,8 +99,8 @@ static const TypeInfo accel_ops_type_info = {
.class_size = sizeof(AccelOpsClass),
};
-static void accel_softmmu_register_types(void)
+static void accel_system_register_types(void)
{
type_register_static(&accel_ops_type_info);
}
-type_init(accel_softmmu_register_types);
+type_init(accel_system_register_types);
diff --git a/accel/accel-softmmu.h b/accel/accel-system.h
index 5e192f1882..d41c62f21b 100644
--- a/accel/accel-softmmu.h
+++ b/accel/accel-system.h
@@ -7,9 +7,9 @@
* See the COPYING file in the top-level directory.
*/
-#ifndef ACCEL_SOFTMMU_H
-#define ACCEL_SOFTMMU_H
+#ifndef ACCEL_SYSTEM_H
+#define ACCEL_SYSTEM_H
void accel_init_ops_interfaces(AccelClass *ac);
-#endif /* ACCEL_SOFTMMU_H */
+#endif /* ACCEL_SYSTEM_H */
diff --git a/accel/accel-target.c b/accel/accel-target.c
index 11d74b4ad7..7e3cbde5df 100644
--- a/accel/accel-target.c
+++ b/accel/accel-target.c
@@ -30,7 +30,7 @@
#include "hw/core/accel-cpu.h"
#ifndef CONFIG_USER_ONLY
-#include "accel-softmmu.h"
+#include "accel-system.h"
#endif /* !CONFIG_USER_ONLY */
static const TypeInfo accel_type = {
diff --git a/accel/meson.build b/accel/meson.build
index fda3157a6e..5eaeb68338 100644
--- a/accel/meson.build
+++ b/accel/meson.build
@@ -1,5 +1,5 @@
specific_ss.add(files('accel-target.c'))
-system_ss.add(files('accel-softmmu.c', 'accel-blocker.c'))
+system_ss.add(files('accel-system.c', 'accel-blocker.c'))
user_ss.add(files('accel-user.c'))
subdir('tcg')
diff --git a/accel/stubs/meson.build b/accel/stubs/meson.build
index 6b0f200efe..91a2d21925 100644
--- a/accel/stubs/meson.build
+++ b/accel/stubs/meson.build
@@ -1,6 +1,6 @@
-sysemu_stubs_ss = ss.source_set()
-sysemu_stubs_ss.add(when: 'CONFIG_XEN', if_false: files('xen-stub.c'))
-sysemu_stubs_ss.add(when: 'CONFIG_KVM', if_false: files('kvm-stub.c'))
-sysemu_stubs_ss.add(when: 'CONFIG_TCG', if_false: files('tcg-stub.c'))
+system_stubs_ss = ss.source_set()
+system_stubs_ss.add(when: 'CONFIG_XEN', if_false: files('xen-stub.c'))
+system_stubs_ss.add(when: 'CONFIG_KVM', if_false: files('kvm-stub.c'))
+system_stubs_ss.add(when: 'CONFIG_TCG', if_false: files('tcg-stub.c'))
-specific_ss.add_all(when: ['CONFIG_SYSTEM_ONLY'], if_true: sysemu_stubs_ss)
+specific_ss.add_all(when: ['CONFIG_SYSTEM_ONLY'], if_true: system_stubs_ss)
diff --git a/accel/tcg/icount-common.c b/accel/tcg/icount-common.c
index 0bf5bb5e21..ec57192be8 100644
--- a/accel/tcg/icount-common.c
+++ b/accel/tcg/icount-common.c
@@ -37,7 +37,7 @@
#include "hw/core/cpu.h"
#include "sysemu/cpu-timers.h"
#include "sysemu/cpu-throttle.h"
-#include "softmmu/timers-state.h"
+#include "sysemu/cpu-timers-internal.h"
/*
* ICOUNT: Instruction Counter
diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c
index 5bf2761bf4..68b252cb8e 100644
--- a/accel/tcg/user-exec.c
+++ b/accel/tcg/user-exec.c
@@ -940,7 +940,7 @@ void *page_get_target_data(target_ulong address)
void page_reset_target_data(target_ulong start, target_ulong last) { }
#endif /* TARGET_PAGE_DATA_SIZE */
-/* The softmmu versions of these helpers are in cputlb.c. */
+/* The system-mode versions of these helpers are in cputlb.c. */
static void *cpu_mmu_lookup(CPUState *cpu, vaddr addr,
MemOp mop, uintptr_t ra, MMUAccessType type)
diff --git a/audio/audio.c b/audio/audio.c
index 730bf2498d..e9815d6812 100644
--- a/audio/audio.c
+++ b/audio/audio.c
@@ -104,6 +104,7 @@ static audio_driver *audio_driver_lookup(const char *name)
static QTAILQ_HEAD(AudioStateHead, AudioState) audio_states =
QTAILQ_HEAD_INITIALIZER(audio_states);
+static AudioState *default_audio_state;
const struct mixeng_volume nominal_volume = {
.mute = 0,
@@ -1660,6 +1661,7 @@ static void free_audio_state(AudioState *s)
void audio_cleanup(void)
{
+ default_audio_state = NULL;
while (!QTAILQ_EMPTY(&audio_states)) {
AudioState *s = QTAILQ_FIRST(&audio_states);
QTAILQ_REMOVE(&audio_states, s, list);
@@ -1686,31 +1688,12 @@ static const VMStateDescription vmstate_audio = {
}
};
-static void audio_validate_opts(Audiodev *dev, Error **errp);
-
-static void audio_create_default_audiodevs(void)
+void audio_create_default_audiodevs(void)
{
- const char *drvname = getenv("QEMU_AUDIO_DRV");
-
- if (!defaults_enabled()) {
- return;
- }
-
- /* QEMU_AUDIO_DRV=none is used by libqtest. */
- if (drvname && !g_str_equal(drvname, "none")) {
- error_report("Please use -audiodev instead of QEMU_AUDIO_*");
- exit(1);
- }
-
for (int i = 0; audio_prio_list[i]; i++) {
- if (drvname && !g_str_equal(drvname, audio_prio_list[i])) {
- continue;
- }
-
if (audio_driver_lookup(audio_prio_list[i])) {
QDict *dict = qdict_new();
Audiodev *dev = NULL;
- AudiodevListEntry *e;
Visitor *v;
qdict_put_str(dict, "driver", audio_prio_list[i]);
@@ -1721,10 +1704,7 @@ static void audio_create_default_audiodevs(void)
visit_type_Audiodev(v, NULL, &dev, &error_fatal);
visit_free(v);
- audio_validate_opts(dev, &error_abort);
- e = g_new0(AudiodevListEntry, 1);
- e->dev = dev;
- QSIMPLEQ_INSERT_TAIL(&default_audiodevs, e, next);
+ audio_define_default(dev, &error_abort);
}
}
}
@@ -1770,6 +1750,7 @@ static AudioState *audio_init(Audiodev *dev, Error **errp)
goto out;
}
} else {
+ assert(!default_audio_state);
for (;;) {
AudiodevListEntry *e = QSIMPLEQ_FIRST(&default_audiodevs);
if (!e) {
@@ -1808,36 +1789,27 @@ out:
return NULL;
}
+AudioState *audio_get_default_audio_state(Error **errp)
+{
+ if (!default_audio_state) {
+ default_audio_state = audio_init(NULL, errp);
+ if (!default_audio_state) {
+ if (!QSIMPLEQ_EMPTY(&audiodevs)) {
+ error_append_hint(errp, "Perhaps you wanted to use -audio or set audiodev=%s?\n",
+ QSIMPLEQ_FIRST(&audiodevs)->dev->id);
+ }
+ }
+ }
+
+ return default_audio_state;
+}
+
bool AUD_register_card (const char *name, QEMUSoundCard *card, Error **errp)
{
if (!card->state) {
- if (!QTAILQ_EMPTY(&audio_states)) {
- /*
- * FIXME: once it is possible to create an arbitrary
- * default device via -audio DRIVER,OPT=VALUE (no "model"),
- * replace this special case with the default AudioState*,
- * storing it in a separate global. For now, keep the
- * warning to encourage moving off magic use of the first
- * -audiodev.
- */
- if (QSIMPLEQ_EMPTY(&default_audiodevs)) {
- dolog("Device %s: audiodev default parameter is deprecated, please "
- "specify audiodev=%s\n", name,
- QTAILQ_FIRST(&audio_states)->dev->id);
- }
- card->state = QTAILQ_FIRST(&audio_states);
- } else {
- if (QSIMPLEQ_EMPTY(&default_audiodevs)) {
- audio_create_default_audiodevs();
- }
- card->state = audio_init(NULL, errp);
- if (!card->state) {
- if (!QSIMPLEQ_EMPTY(&audiodevs)) {
- error_append_hint(errp, "Perhaps you wanted to set audiodev=%s?",
- QSIMPLEQ_FIRST(&audiodevs)->dev->id);
- }
- return false;
- }
+ card->state = audio_get_default_audio_state(errp);
+ if (!card->state) {
+ return false;
}
}
@@ -2172,6 +2144,17 @@ void audio_define(Audiodev *dev)
QSIMPLEQ_INSERT_TAIL(&audiodevs, e, next);
}
+void audio_define_default(Audiodev *dev, Error **errp)
+{
+ AudiodevListEntry *e;
+
+ audio_validate_opts(dev, errp);
+
+ e = g_new0(AudiodevListEntry, 1);
+ e->dev = dev;
+ QSIMPLEQ_INSERT_TAIL(&default_audiodevs, e, next);
+}
+
void audio_init_audiodevs(void)
{
AudiodevListEntry *e;
diff --git a/audio/audio.h b/audio/audio.h
index 80f3f92124..fcc22307be 100644
--- a/audio/audio.h
+++ b/audio/audio.h
@@ -169,11 +169,14 @@ void audio_sample_from_uint64(void *samples, int pos,
uint64_t left, uint64_t right);
void audio_define(Audiodev *audio);
+void audio_define_default(Audiodev *dev, Error **errp);
void audio_parse_option(const char *opt);
+void audio_create_default_audiodevs(void);
void audio_init_audiodevs(void);
void audio_help(void);
AudioState *audio_state_by_name(const char *name, Error **errp);
+AudioState *audio_get_default_audio_state(Error **errp);
const char *audio_get_id(QEMUSoundCard *card);
#define DEFINE_AUDIO_PROPERTIES(_s, _f) \
diff --git a/configure b/configure
index e08127045d..97a5e8de49 100755
--- a/configure
+++ b/configure
@@ -252,7 +252,7 @@ docs="auto"
EXESUF=""
prefix="/usr/local"
qemu_suffix="qemu"
-softmmu="yes"
+system="yes"
linux_user=""
bsd_user=""
plugins="$default_feature"
@@ -740,9 +740,9 @@ for opt do
;;
--enable-tcg) tcg="enabled"
;;
- --disable-system) softmmu="no"
+ --disable-system) system="no"
;;
- --enable-system) softmmu="yes"
+ --enable-system) system="yes"
;;
--disable-user)
linux_user="no" ;
@@ -864,7 +864,7 @@ else
error_exit "user mode emulation not supported on this architecture"
fi
fi
-if [ "$softmmu" = "yes" ]; then
+if [ "$system" = "yes" ]; then
mak_wilds="${mak_wilds} $source_path/configs/targets/*-softmmu.mak"
fi
@@ -1756,7 +1756,7 @@ for target in $target_list; do
case $target in
xtensa*-linux-user)
- # the toolchain is not complete with headers, only build softmmu tests
+ # the toolchain is not complete with headers, only build system tests
continue
;;
*-softmmu)
diff --git a/cpu-target.c b/cpu-target.c
index 658d179582..79363ae370 100644
--- a/cpu-target.c
+++ b/cpu-target.c
@@ -202,7 +202,7 @@ static Property cpu_common_props[] = {
prctl_unalign_sigbus, false),
#else
/*
- * Create a memory property for softmmu CPU object, so users can
+ * Create a memory property for system CPU object, so users can
* wire up its memory. The default if no link is set up is to use
* the system address space.
*/
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 3b074b9ed4..8b136320e2 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -23,12 +23,6 @@ deprecated.
System emulator command line arguments
--------------------------------------
-Creating sound card devices without ``audiodev=`` property (since 4.2)
-''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-
-When not using the deprecated legacy audio config, each sound card
-should specify an ``audiodev=`` property.
-
Short-form boolean options (since 6.0)
''''''''''''''''''''''''''''''''''''''
diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
index e83ed087f6..f04036987b 100644
--- a/docs/about/removed-features.rst
+++ b/docs/about/removed-features.rst
@@ -442,11 +442,23 @@ line using a ``secret`` object instance.
The ``-audiodev`` and ``-audio`` command line options are now the only
way to specify audio backend settings.
-Creating vnc without ``audiodev=`` property (removed in 8.2)
-''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-
-When using vnc, you should specify an ``audiodev=`` property if
-you plan to transmit audio through the VNC protocol.
+Using ``-audiodev`` to define the default audio backend (removed in 8.2)
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+
+If no audiodev property is specified, previous versions would use the
+first ``-audiodev`` command line option as a fallback. Starting with
+version 8.2, audio backends created with ``-audiodev`` will only be
+used by clients (sound cards, machines with embedded sound hardware, VNC)
+that refer to it in an ``audiodev=`` property.
+
+In order to configure a default audio backend, use the ``-audio``
+command line option without specifying a ``model``; while previous
+versions of QEMU required a model, starting with version 8.2
+QEMU does not require a model and will not create any sound card
+in this case.
+
+Note that the default audio backend must be configured on the command
+line if the ``-nodefaults`` options is used.
QEMU Machine Protocol (QMP) commands
------------------------------------
diff --git a/docs/devel/build-system.rst b/docs/devel/build-system.rst
index 0f990bb3e9..21f78da7d1 100644
--- a/docs/devel/build-system.rst
+++ b/docs/devel/build-system.rst
@@ -225,14 +225,14 @@ Target-dependent emulator sourcesets:
The sourceset is only used for system emulators.
Each subdirectory in ``target/`` instead should add one sourceset to each
- of the ``target_arch`` and ``target_softmmu_arch``, which are used respectively
+ of the ``target_arch`` and ``target_system_arch``, which are used respectively
for all emulators and for system emulators only. For example::
arm_ss = ss.source_set()
arm_system_ss = ss.source_set()
...
target_arch += {'arm': arm_ss}
- target_softmmu_arch += {'arm': arm_system_ss}
+ target_system_arch += {'arm': arm_system_ss}
Module sourcesets:
There are two dictionaries for modules: ``modules`` is used for
diff --git a/docs/devel/qtest.rst b/docs/devel/qtest.rst
index 0455aa06ab..c5b8546b3e 100644
--- a/docs/devel/qtest.rst
+++ b/docs/devel/qtest.rst
@@ -81,7 +81,7 @@ which you can run manually.
QTest Protocol
--------------
-.. kernel-doc:: softmmu/qtest.c
+.. kernel-doc:: system/qtest.c
:doc: QTest Protocol
diff --git a/docs/devel/testing.rst b/docs/devel/testing.rst
index 5d1fc0aa95..f3e2472189 100644
--- a/docs/devel/testing.rst
+++ b/docs/devel/testing.rst
@@ -1458,7 +1458,7 @@ TCG test dependencies
~~~~~~~~~~~~~~~~~~~~~
The TCG tests are deliberately very light on dependencies and are
-either totally bare with minimal gcc lib support (for softmmu tests)
+either totally bare with minimal gcc lib support (for system-mode tests)
or just glibc (for linux-user tests). This is because getting a cross
compiler to work with additional libraries can be challenging.
diff --git a/gdbstub/internals.h b/gdbstub/internals.h
index fee243081f..f7fd1bede5 100644
--- a/gdbstub/internals.h
+++ b/gdbstub/internals.h
@@ -103,7 +103,7 @@ static inline int tohex(int v)
}
/*
- * Connection helpers for both softmmu and user backends
+ * Connection helpers for both system and user backends
*/
void gdb_put_strbuf(void);
@@ -229,7 +229,7 @@ void gdb_breakpoint_remove_all(CPUState *cs);
* @is_write: is it a write operation
*
* This function is specialised depending on the mode we are running
- * in. For softmmu guests we can switch the interpretation of the
+ * in. For system guests we can switch the interpretation of the
* address to a physical address.
*/
int gdb_target_memory_rw_debug(CPUState *cs, hwaddr addr,
diff --git a/gdbstub/meson.build b/gdbstub/meson.build
index a5a1f4e433..e5bccba34e 100644
--- a/gdbstub/meson.build
+++ b/gdbstub/meson.build
@@ -1,6 +1,6 @@
#
# The main gdbstub still relies on per-build definitions of various
-# types. The bits pushed to softmmu/user.c try to use guest agnostic
+# types. The bits pushed to system/user.c try to use guest agnostic
# types such as hwaddr.
#
@@ -12,7 +12,7 @@ gdb_system_ss = ss.source_set()
# We build two versions of gdbstub, one for each mode
gdb_user_ss.add(files('gdbstub.c', 'user.c'))
-gdb_system_ss.add(files('gdbstub.c', 'softmmu.c'))
+gdb_system_ss.add(files('gdbstub.c', 'system.c'))
gdb_user_ss = gdb_user_ss.apply(config_targetos, strict: false)
gdb_system_ss = gdb_system_ss.apply(config_targetos, strict: false)
@@ -23,15 +23,15 @@ libgdb_user = static_library('gdb_user',
c_args: '-DCONFIG_USER_ONLY',
build_by_default: false)
-libgdb_softmmu = static_library('gdb_softmmu',
+libgdb_system = static_library('gdb_system',
gdb_system_ss.sources() + genh,
name_suffix: 'fa',
build_by_default: false)
gdb_user = declare_dependency(link_whole: libgdb_user)
user_ss.add(gdb_user)
-gdb_softmmu = declare_dependency(link_whole: libgdb_softmmu)
-system_ss.add(gdb_softmmu)
+gdb_system = declare_dependency(link_whole: libgdb_system)
+system_ss.add(gdb_system)
common_ss.add(files('syscalls.c'))
diff --git a/gdbstub/softmmu.c b/gdbstub/system.c
index 9f0b8b5497..189975b1d6 100644
--- a/gdbstub/softmmu.c
+++ b/gdbstub/system.c
@@ -104,7 +104,7 @@ static void gdb_chr_event(void *opaque, QEMUChrEvent event)
}
/*
- * In softmmu mode we stop the VM and wait to send the syscall packet
+ * In system-mode we stop the VM and wait to send the syscall packet
* until notification that the CPU has stopped. This must be done
* because if the packet is sent now the reply from the syscall
* request could be received while the CPU is still in the running
diff --git a/gdbstub/trace-events b/gdbstub/trace-events
index 7bc79a73c4..4fd126a38c 100644
--- a/gdbstub/trace-events
+++ b/gdbstub/trace-events
@@ -28,5 +28,5 @@ gdbstub_err_checksum_invalid(uint8_t ch) "got invalid command checksum digit: 0x
gdbstub_err_checksum_incorrect(uint8_t expected, uint8_t got) "got command packet with incorrect checksum, expected=0x%02x, received=0x%02x"
gdbstub_err_unexpected_runpkt(uint8_t ch) "unexpected packet (0x%02x) while target running"
-# softmmu.c
+# system.c
gdbstub_hit_watchpoint(const char *type, int cpu_gdb_index, uint64_t vaddr) "Watchpoint hit, type=\"%s\" cpu=%d, vaddr=0x%" PRIx64 ""
diff --git a/hw/core/cpu-common.c b/hw/core/cpu-common.c
index 4d406995ab..bab8942c30 100644
--- a/hw/core/cpu-common.c
+++ b/hw/core/cpu-common.c
@@ -228,8 +228,8 @@ static void cpu_common_initfn(Object *obj)
cpu->cpu_index = UNASSIGNED_CPU_INDEX;
cpu->cluster_index = UNASSIGNED_CLUSTER_INDEX;
cpu->gdb_num_regs = cpu->gdb_num_g_regs = cc->gdb_num_core_regs;
- /* *-user doesn't have configurable SMP topology */
- /* the default value is changed by qemu_init_vcpu() for softmmu */
+ /* user-mode doesn't have configurable SMP topology */
+ /* the default value is changed by qemu_init_vcpu() for system-mode */
cpu->nr_cores = 1;
cpu->nr_threads = 1;
cpu->cflags_next_tb = -1;
diff --git a/include/qemu/atomic128.h b/include/qemu/atomic128.h
index 34554bf0ac..88af6d4ea3 100644
--- a/include/qemu/atomic128.h
+++ b/include/qemu/atomic128.h
@@ -43,8 +43,8 @@
* See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80878
*
* This interpretation is not especially helpful for QEMU.
- * For softmmu, all RAM is always read/write from the hypervisor.
- * For user-only, if the guest doesn't implement such an __atomic_read
+ * For system-mode, all RAM is always read/write from the hypervisor.
+ * For user-mode, if the guest doesn't implement such an __atomic_read
* then the host need not worry about it either.
*
* Moreover, using libatomic is not an option, because its interface is
diff --git a/include/semihosting/softmmu-uaccess.h b/include/semihosting/uaccess.h
index 4f08dfc098..3963eafc3e 100644
--- a/include/semihosting/softmmu-uaccess.h
+++ b/include/semihosting/uaccess.h
@@ -7,8 +7,12 @@
* This code is licensed under the GPL
*/
-#ifndef SEMIHOSTING_SOFTMMU_UACCESS_H
-#define SEMIHOSTING_SOFTMMU_UACCESS_H
+#ifndef SEMIHOSTING_UACCESS_H
+#define SEMIHOSTING_UACCESS_H
+
+#ifdef CONFIG_USER_ONLY
+#error Cannot include semihosting/uaccess.h from user emulation
+#endif
#include "cpu.h"
@@ -42,18 +46,18 @@
#define put_user_ual(arg, p) put_user_u32(arg, p)
-void *softmmu_lock_user(CPUArchState *env, target_ulong addr,
+void *uaccess_lock_user(CPUArchState *env, target_ulong addr,
target_ulong len, bool copy);
-#define lock_user(type, p, len, copy) softmmu_lock_user(env, p, len, copy)
+#define lock_user(type, p, len, copy) uaccess_lock_user(env, p, len, copy)
-char *softmmu_lock_user_string(CPUArchState *env, target_ulong addr);
-#define lock_user_string(p) softmmu_lock_user_string(env, p)
+char *uaccess_lock_user_string(CPUArchState *env, target_ulong addr);
+#define lock_user_string(p) uaccess_lock_user_string(env, p)
-void softmmu_unlock_user(CPUArchState *env, void *p,
+void uaccess_unlock_user(CPUArchState *env, void *p,
target_ulong addr, target_ulong len);
-#define unlock_user(s, args, len) softmmu_unlock_user(env, s, args, len)
+#define unlock_user(s, args, len) uaccess_unlock_user(env, s, args, len)
-ssize_t softmmu_strlen_user(CPUArchState *env, target_ulong addr);
-#define target_strlen(p) softmmu_strlen_user(env, p)
+ssize_t uaccess_strlen_user(CPUArchState *env, target_ulong addr);
+#define target_strlen(p) uaccess_strlen_user(env, p)
#endif /* SEMIHOSTING_SOFTMMU_UACCESS_H */
diff --git a/softmmu/timers-state.h b/include/sysemu/cpu-timers-internal.h
index 94bb7394c5..94bb7394c5 100644
--- a/softmmu/timers-state.h
+++ b/include/sysemu/cpu-timers-internal.h
diff --git a/include/sysemu/hvf.h b/include/sysemu/hvf.h
index 4037cd6a73..4a7c6af3a5 100644
--- a/include/sysemu/hvf.h
+++ b/include/sysemu/hvf.h
@@ -20,13 +20,10 @@
#include "cpu.h"
#ifdef CONFIG_HVF
-uint32_t hvf_get_supported_cpuid(uint32_t func, uint32_t idx,
- int reg);
extern bool hvf_allowed;
#define hvf_enabled() (hvf_allowed)
#else /* !CONFIG_HVF */
#define hvf_enabled() 0
-#define hvf_get_supported_cpuid(func, idx, reg) 0
#endif /* !CONFIG_HVF */
#endif /* NEED_CPU_H */
diff --git a/include/sysemu/runstate-action.h b/include/sysemu/runstate-action.h
index cff45a047b..db4e3099ae 100644
--- a/include/sysemu/runstate-action.h
+++ b/include/sysemu/runstate-action.h
@@ -11,7 +11,7 @@
#include "qapi/qapi-commands-run-state.h"
-/* in softmmu/runstate-action.c */
+/* in system/runstate-action.c */
extern RebootAction reboot_action;
extern ShutdownAction shutdown_action;
extern PanicAction panic_action;
diff --git a/include/tcg/tcg-op-common.h b/include/tcg/tcg-op-common.h
index a53b15933b..2048f92b5e 100644
--- a/include/tcg/tcg-op-common.h
+++ b/include/tcg/tcg-op-common.h
@@ -265,7 +265,7 @@ void tcg_gen_exit_tb(const TranslationBlock *tb, unsigned idx);
*
* See tcg/README for more info about this TCG operation.
*
- * NOTE: In softmmu emulation, direct jumps with goto_tb are only safe within
+ * NOTE: In system emulation, direct jumps with goto_tb are only safe within
* the pages this TB resides in because we don't take care of direct jumps when
* address mapping changes, e.g. in tlb_flush(). In user mode, there's only a
* static address translation, so the destination address is always valid, TBs
diff --git a/meson.build b/meson.build
index 3bb64b536c..79aef19bdc 100644
--- a/meson.build
+++ b/meson.build
@@ -3198,7 +3198,7 @@ modules = {}
target_modules = {}
hw_arch = {}
target_arch = {}
-target_softmmu_arch = {}
+target_system_arch = {}
target_user_arch = {}
###############
@@ -3291,7 +3291,7 @@ if have_system
'hw/gpio',
'migration',
'net',
- 'softmmu',
+ 'system',
'ui',
'hw/remote',
]
@@ -3418,7 +3418,7 @@ endif
common_ss.add(files('cpu-common.c'))
specific_ss.add(files('cpu-target.c'))
-subdir('softmmu')
+subdir('system')
# Work around a gcc bug/misfeature wherein constant propagation looks
# through an alias:
@@ -3480,7 +3480,7 @@ modinfo_generate = find_program('scripts/modinfo-generate.py')
modinfo_files = []
block_mods = []
-softmmu_mods = []
+system_mods = []
foreach d, list : modules
if not (d == 'block' ? have_block : have_system)
continue
@@ -3494,7 +3494,7 @@ foreach d, list : modules
if d == 'block'
block_mods += sl
else
- softmmu_mods += sl
+ system_mods += sl
endif
if module_ss.sources() != []
# FIXME: Should use sl.extract_all_objects(recursive: true) as
@@ -3538,7 +3538,7 @@ foreach d, list : target_modules
include_directories: target_inc,
c_args: c_args,
pic: true)
- softmmu_mods += sl
+ system_mods += sl
# FIXME: Should use sl.extract_all_objects(recursive: true) too.
modinfo_files += custom_target(module_name + '.modinfo',
output: module_name + '.modinfo',
@@ -3581,7 +3581,7 @@ block_syms = custom_target('block.syms', output: 'block.syms',
capture: true,
command: [undefsym, nm, '@INPUT@'])
qemu_syms = custom_target('qemu.syms', output: 'qemu.syms',
- input: [libqemuutil, softmmu_mods],
+ input: [libqemuutil, system_mods],
capture: true,
command: [undefsym, nm, '@INPUT@'])
@@ -3666,7 +3666,7 @@ common_ss.add(hwcore)
###########
emulator_modules = []
-foreach m : block_mods + softmmu_mods
+foreach m : block_mods + system_mods
emulator_modules += shared_module(m.name(),
build_by_default: true,
name_prefix: '',
@@ -3718,7 +3718,7 @@ foreach target : target_dirs
endif
if target.endswith('-softmmu')
target_type='system'
- t = target_softmmu_arch[target_base_arch].apply(config_target, strict: false)
+ t = target_system_arch[target_base_arch].apply(config_target, strict: false)
arch_srcs += t.sources()
arch_deps += t.dependencies()
@@ -3797,14 +3797,14 @@ foreach target : target_dirs
execs = [{
'name': 'qemu-system-' + target_name,
'win_subsystem': 'console',
- 'sources': files('softmmu/main.c'),
+ 'sources': files('system/main.c'),
'dependencies': []
}]
if targetos == 'windows' and (sdl.found() or gtk.found())
execs += [{
'name': 'qemu-system-' + target_name + 'w',
'win_subsystem': 'windows',
- 'sources': files('softmmu/main.c'),
+ 'sources': files('system/main.c'),
'dependencies': []
}]
endif
diff --git a/qemu-options.hx b/qemu-options.hx
index 840b83d237..54a7e94970 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -728,20 +728,22 @@ ERST
DEF("audio", HAS_ARG, QEMU_OPTION_audio,
+ "-audio [driver=]driver[,prop[=value][,...]]\n"
+ " specifies default audio backend when `audiodev` is not\n"
+ " used to create a machine or sound device;"
+ " options are the same as for -audiodev\n"
"-audio [driver=]driver,model=value[,prop[=value][,...]]\n"
" specifies the audio backend and device to use;\n"
" apart from 'model', options are the same as for -audiodev.\n"
" use '-audio model=help' to show possible devices.\n",
QEMU_ARCH_ALL)
SRST
-``-audio [driver=]driver,model=value[,prop[=value][,...]]``
- This option is a shortcut for configuring both the guest audio
- hardware and the host audio backend in one go.
- The driver option is the same as with the corresponding ``-audiodev`` option below.
- The guest hardware model can be set with ``model=modelname``.
-
- Use ``driver=help`` to list the available drivers,
- and ``model=help`` to list the available device types.
+``-audio [driver=]driver[,model=value][,prop[=value][,...]]``
+ If the ``model`` option is specified, ``-audio`` is a shortcut
+ for configuring both the guest audio hardware and the host audio
+ backend in one go. The guest hardware model can be set with
+ ``model=modelname``. Use ``model=help`` to list the available
+ device types.
The following two example do exactly the same, to show how ``-audio``
can be used to shorten the command line length:
@@ -750,6 +752,17 @@ SRST
|qemu_system| -audiodev pa,id=pa -device sb16,audiodev=pa
|qemu_system| -audio pa,model=sb16
+
+ If the ``model`` option is not specified, ``-audio`` is used to
+ configure a default audio backend that will be used whenever the
+ ``audiodev`` property is not set on a device or machine. In
+ particular, ``-audio none`` ensures that no audio is produced even
+ for machines that have embedded sound hardware.
+
+ In both cases, the driver option is the same as with the corresponding
+ ``-audiodev`` option below. Use ``driver=help`` to list the available
+ drivers.
+
ERST
DEF("audiodev", HAS_ARG, QEMU_OPTION_audiodev,
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 1ad9ccb74b..6e4100d2a4 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -466,7 +466,7 @@ sub top_of_kernel_tree {
my @tree_check = (
"COPYING", "MAINTAINERS", "Makefile",
"README.rst", "docs", "VERSION",
- "linux-user", "softmmu"
+ "linux-user", "system"
);
foreach my $check (@tree_check) {
diff --git a/scripts/coverity-scan/COMPONENTS.md b/scripts/coverity-scan/COMPONENTS.md
index 883da95aff..0e62f10aad 100644
--- a/scripts/coverity-scan/COMPONENTS.md
+++ b/scripts/coverity-scan/COMPONENTS.md
@@ -148,7 +148,7 @@ tcg
~ (/qemu)?(/accel/tcg|/replay|/tcg)/.*
sysemu
- ~ (/qemu)?(/softmmu/.*|/accel/.*)
+ ~ (/qemu)?(/system/.*|/accel/.*)
(headers)
~ (/qemu)?(/include/.*)
diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
index e5499b94b4..02fa828100 100755
--- a/scripts/get_maintainer.pl
+++ b/scripts/get_maintainer.pl
@@ -796,7 +796,7 @@ sub top_of_tree {
&& (-d "${lk_path}docs")
&& (-f "${lk_path}VERSION")
&& (-d "${lk_path}linux-user/")
- && (-d "${lk_path}softmmu/")) {
+ && (-d "${lk_path}system/")) {
return 1;
}
return 0;
diff --git a/scripts/oss-fuzz/build.sh b/scripts/oss-fuzz/build.sh
index 3bda0d72c7..5238f83343 100755
--- a/scripts/oss-fuzz/build.sh
+++ b/scripts/oss-fuzz/build.sh
@@ -43,10 +43,10 @@ EXTRA_CFLAGS="$CFLAGS -U __OPTIMIZE__"
if ! { [ -e "./COPYING" ] &&
[ -e "./MAINTAINERS" ] &&
[ -e "./Makefile" ] &&
- [ -e "./docs" ] &&
+ [ -d "./docs" ] &&
[ -e "./VERSION" ] &&
- [ -e "./linux-user" ] &&
- [ -e "./softmmu" ];} ; then
+ [ -d "./linux-user" ] &&
+ [ -d "./system" ];} ; then
fatal "Please run the script from the top of the QEMU tree"
fi
diff --git a/semihosting/arm-compat-semi.c b/semihosting/arm-compat-semi.c
index ec959b3e01..329ea11260 100644
--- a/semihosting/arm-compat-semi.c
+++ b/semihosting/arm-compat-semi.c
@@ -202,13 +202,13 @@ static LayoutInfo common_semi_find_bases(CPUState *cs)
* The semihosting API has no concept of its errno being thread-safe,
* as the API design predates SMP CPUs and was intended as a simple
* real-hardware set of debug functionality. For QEMU, we make the
- * errno be per-thread in linux-user mode; in softmmu it is a simple
+ * errno be per-thread in linux-user mode; in system-mode it is a simple
* global, and we assume that the guest takes care of avoiding any races.
*/
#ifndef CONFIG_USER_ONLY
static target_ulong syscall_err;
-#include "semihosting/softmmu-uaccess.h"
+#include "semihosting/uaccess.h"
#endif
static inline uint32_t get_swi_errno(CPUState *cs)
diff --git a/semihosting/config.c b/semihosting/config.c
index e826457733..249a377ae8 100644
--- a/semihosting/config.c
+++ b/semihosting/config.c
@@ -12,7 +12,7 @@
* linux-user targets. However in that use case no configuration of
* the outputs and command lines is supported.
*
- * The config module is common to all softmmu targets however as vl.c
+ * The config module is common to all system targets however as vl.c
* needs to link against the helpers.
*
* SPDX-License-Identifier: GPL-2.0-or-later
diff --git a/semihosting/guestfd.c b/semihosting/guestfd.c
index acb86b50dd..955c2efbd0 100644
--- a/semihosting/guestfd.c
+++ b/semihosting/guestfd.c
@@ -15,7 +15,7 @@
#ifdef CONFIG_USER_ONLY
#include "qemu.h"
#else
-#include "semihosting/softmmu-uaccess.h"
+#include "semihosting/uaccess.h"
#include CONFIG_DEVICES
#endif
diff --git a/semihosting/syscalls.c b/semihosting/syscalls.c
index 1ab4809567..c40348f996 100644
--- a/semihosting/syscalls.c
+++ b/semihosting/syscalls.c
@@ -15,7 +15,7 @@
#ifdef CONFIG_USER_ONLY
#include "qemu.h"
#else
-#include "semihosting/softmmu-uaccess.h"
+#include "semihosting/uaccess.h"
#endif
diff --git a/semihosting/uaccess.c b/semihosting/uaccess.c
index 7505eb6d1b..5d889f9263 100644
--- a/semihosting/uaccess.c
+++ b/semihosting/uaccess.c
@@ -9,9 +9,9 @@
#include "qemu/osdep.h"
#include "exec/exec-all.h"
-#include "semihosting/softmmu-uaccess.h"
+#include "semihosting/uaccess.h"
-void *softmmu_lock_user(CPUArchState *env, target_ulong addr,
+void *uaccess_lock_user(CPUArchState *env, target_ulong addr,
target_ulong len, bool copy)
{
void *p = malloc(len);
@@ -24,7 +24,7 @@ void *softmmu_lock_user(CPUArchState *env, target_ulong addr,
return p;
}
-ssize_t softmmu_strlen_user(CPUArchState *env, target_ulong addr)
+ssize_t uaccess_strlen_user(CPUArchState *env, target_ulong addr)
{
int mmu_idx = cpu_mmu_index(env, false);
size_t len = 0;
@@ -72,16 +72,16 @@ ssize_t softmmu_strlen_user(CPUArchState *env, target_ulong addr)
}
}
-char *softmmu_lock_user_string(CPUArchState *env, target_ulong addr)
+char *uaccess_lock_user_string(CPUArchState *env, target_ulong addr)
{
- ssize_t len = softmmu_strlen_user(env, addr);
+ ssize_t len = uaccess_strlen_user(env, addr);
if (len < 0) {
return NULL;
}
- return softmmu_lock_user(env, addr, len + 1, true);
+ return uaccess_lock_user(env, addr, len + 1, true);
}
-void softmmu_unlock_user(CPUArchState *env, void *p,
+void uaccess_unlock_user(CPUArchState *env, void *p,
target_ulong addr, target_ulong len)
{
if (len) {
diff --git a/softmmu/trace.h b/softmmu/trace.h
deleted file mode 100644
index 2ad1011572..0000000000
--- a/softmmu/trace.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "trace/trace-softmmu.h"
diff --git a/stubs/semihost.c b/stubs/semihost.c
index b3c61935b3..f26cbb7c25 100644
--- a/stubs/semihost.c
+++ b/stubs/semihost.c
@@ -1,9 +1,9 @@
/*
- * Semihosting Stubs for SoftMMU
+ * Semihosting Stubs for system emulation
*
* Copyright (c) 2019 Linaro Ltd
*
- * Stubs for SoftMMU targets that don't actually do semihosting.
+ * Stubs for system targets that don't actually do semihosting.
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
diff --git a/softmmu/arch_init.c b/system/arch_init.c
index 79716f959b..79716f959b 100644
--- a/softmmu/arch_init.c
+++ b/system/arch_init.c
diff --git a/softmmu/async-teardown.c b/system/async-teardown.c
index 396963c091..396963c091 100644
--- a/softmmu/async-teardown.c
+++ b/system/async-teardown.c
diff --git a/softmmu/balloon.c b/system/balloon.c
index e0e8969a4b..e0e8969a4b 100644
--- a/softmmu/balloon.c
+++ b/system/balloon.c
diff --git a/softmmu/bootdevice.c b/system/bootdevice.c
index 2106f1026f..2106f1026f 100644
--- a/softmmu/bootdevice.c
+++ b/system/bootdevice.c
diff --git a/softmmu/cpu-throttle.c b/system/cpu-throttle.c
index d9bb30a223..d9bb30a223 100644
--- a/softmmu/cpu-throttle.c
+++ b/system/cpu-throttle.c
diff --git a/softmmu/cpu-timers.c b/system/cpu-timers.c
index 117408cb83..7452d97b67 100644
--- a/softmmu/cpu-timers.c
+++ b/system/cpu-timers.c
@@ -36,7 +36,7 @@
#include "hw/core/cpu.h"
#include "sysemu/cpu-timers.h"
#include "sysemu/cpu-throttle.h"
-#include "timers-state.h"
+#include "sysemu/cpu-timers-internal.h"
/* clock and ticks */
diff --git a/softmmu/cpus.c b/system/cpus.c
index 0848e0dbdb..0848e0dbdb 100644
--- a/softmmu/cpus.c
+++ b/system/cpus.c
diff --git a/softmmu/datadir.c b/system/datadir.c
index c9237cb5d4..c9237cb5d4 100644
--- a/softmmu/datadir.c
+++ b/system/datadir.c
diff --git a/softmmu/device_tree.c b/system/device_tree.c
index eb5166ca36..eb5166ca36 100644
--- a/softmmu/device_tree.c
+++ b/system/device_tree.c
diff --git a/softmmu/dirtylimit.c b/system/dirtylimit.c
index fa959d7743..fa959d7743 100644
--- a/softmmu/dirtylimit.c
+++ b/system/dirtylimit.c
diff --git a/softmmu/dma-helpers.c b/system/dma-helpers.c
index 36211acc7e..36211acc7e 100644
--- a/softmmu/dma-helpers.c
+++ b/system/dma-helpers.c
diff --git a/softmmu/globals.c b/system/globals.c
index e83b5428d1..e83b5428d1 100644
--- a/softmmu/globals.c
+++ b/system/globals.c
diff --git a/softmmu/ioport.c b/system/ioport.c
index 1824aa808c..1824aa808c 100644
--- a/softmmu/ioport.c
+++ b/system/ioport.c
diff --git a/softmmu/main.c b/system/main.c
index 694388bd7f..694388bd7f 100644
--- a/softmmu/main.c
+++ b/system/main.c
diff --git a/softmmu/memory.c b/system/memory.c
index 234bd7b116..fa1c99f9ba 100644
--- a/softmmu/memory.c
+++ b/system/memory.c
@@ -3638,7 +3638,7 @@ void memory_region_init_rom_device(MemoryRegion *mr,
}
/*
- * Support softmmu builds with CONFIG_FUZZ using a weak symbol and a stub for
+ * Support system builds with CONFIG_FUZZ using a weak symbol and a stub for
* the fuzz_dma_read_cb callback
*/
#ifdef CONFIG_FUZZ
diff --git a/softmmu/memory_mapping.c b/system/memory_mapping.c
index d7f1d096e0..d7f1d096e0 100644
--- a/softmmu/memory_mapping.c
+++ b/system/memory_mapping.c
diff --git a/softmmu/meson.build b/system/meson.build
index 3a64dd89de..3a64dd89de 100644
--- a/softmmu/meson.build
+++ b/system/meson.build
diff --git a/softmmu/physmem.c b/system/physmem.c
index 309653c722..edc3ed8ab9 100644
--- a/softmmu/physmem.c
+++ b/system/physmem.c
@@ -2301,8 +2301,10 @@ RAMBlock *qemu_ram_block_by_name(const char *name)
return NULL;
}
-/* Some of the softmmu routines need to translate from a host pointer
- (typically a TLB entry) back to a ram offset. */
+/*
+ * Some of the system routines need to translate from a host pointer
+ * (typically a TLB entry) back to a ram offset.
+ */
ram_addr_t qemu_ram_addr_from_host(void *ptr)
{
RAMBlock *block;
diff --git a/softmmu/qdev-monitor.c b/system/qdev-monitor.c
index 74f4e41338..74f4e41338 100644
--- a/softmmu/qdev-monitor.c
+++ b/system/qdev-monitor.c
diff --git a/softmmu/qemu-seccomp.c b/system/qemu-seccomp.c
index 4d7439e7f7..4d7439e7f7 100644
--- a/softmmu/qemu-seccomp.c
+++ b/system/qemu-seccomp.c
diff --git a/softmmu/qtest.c b/system/qtest.c
index 35b643a274..35b643a274 100644
--- a/softmmu/qtest.c
+++ b/system/qtest.c
diff --git a/softmmu/rtc.c b/system/rtc.c
index 4904581abe..4904581abe 100644
--- a/softmmu/rtc.c
+++ b/system/rtc.c
diff --git a/softmmu/runstate-action.c b/system/runstate-action.c
index ae0761a9c3..ae0761a9c3 100644
--- a/softmmu/runstate-action.c
+++ b/system/runstate-action.c
diff --git a/softmmu/runstate-hmp-cmds.c b/system/runstate-hmp-cmds.c
index 2df670f0c0..2df670f0c0 100644
--- a/softmmu/runstate-hmp-cmds.c
+++ b/system/runstate-hmp-cmds.c
diff --git a/softmmu/runstate.c b/system/runstate.c
index 1652ed0439..1652ed0439 100644
--- a/softmmu/runstate.c
+++ b/system/runstate.c
diff --git a/softmmu/tpm-hmp-cmds.c b/system/tpm-hmp-cmds.c
index 9ed6ad6c4d..9ed6ad6c4d 100644
--- a/softmmu/tpm-hmp-cmds.c
+++ b/system/tpm-hmp-cmds.c
diff --git a/softmmu/tpm.c b/system/tpm.c
index 7164ea7ff1..7164ea7ff1 100644
--- a/softmmu/tpm.c
+++ b/system/tpm.c
diff --git a/softmmu/trace-events b/system/trace-events
index 22606dc27b..69c9044151 100644
--- a/softmmu/trace-events
+++ b/system/trace-events
@@ -21,7 +21,7 @@ flatview_destroy(void *view, void *root) "%p (root %p)"
flatview_destroy_rcu(void *view, void *root) "%p (root %p)"
global_dirty_changed(unsigned int bitmask) "bitmask 0x%"PRIx32
-# softmmu.c
+# cpus.c
vm_stop_flush_all(int ret) "ret %d"
# vl.c
diff --git a/system/trace.h b/system/trace.h
new file mode 100644
index 0000000000..cd0136dcdc
--- /dev/null
+++ b/system/trace.h
@@ -0,0 +1 @@
+#include "trace/trace-system.h"
diff --git a/softmmu/vl.c b/system/vl.c
index 13c1b24706..ba83040675 100644
--- a/softmmu/vl.c
+++ b/system/vl.c
@@ -184,6 +184,7 @@ static const char *qtest_log;
static bool opt_one_insn_per_tb;
static int has_defaults = 1;
+static int default_audio = 1;
static int default_serial = 1;
static int default_parallel = 1;
static int default_monitor = 1;
@@ -1327,6 +1328,7 @@ static void qemu_disable_default_devices(void)
default_sdcard = 0;
}
if (!has_defaults) {
+ default_audio = 0;
default_monitor = 0;
default_net = 0;
default_vga = 0;
@@ -1963,6 +1965,9 @@ static void qemu_create_early_backends(void)
*/
configure_blockdev(&bdo_queue, machine_class, snapshot);
audio_init_audiodevs();
+ if (default_audio) {
+ audio_create_default_audiodevs();
+ }
}
@@ -2925,14 +2930,16 @@ void qemu_init(int argc, char **argv)
break;
#endif
case QEMU_OPTION_audiodev:
+ default_audio = 0;
audio_parse_option(optarg);
break;
case QEMU_OPTION_audio: {
bool help;
- char *model;
+ char *model = NULL;
Audiodev *dev = NULL;
Visitor *v;
QDict *dict = keyval_parse(optarg, "driver", &help, &error_fatal);
+ default_audio = 0;
if (help || (qdict_haskey(dict, "driver") &&
is_help_option(qdict_get_str(dict, "driver")))) {
audio_help();
@@ -2941,22 +2948,25 @@ void qemu_init(int argc, char **argv)
if (!qdict_haskey(dict, "id")) {
qdict_put_str(dict, "id", "audiodev0");
}
- if (!qdict_haskey(dict, "model")) {
- error_setg(&error_fatal, "Parameter 'model' is missing");
- }
- model = g_strdup(qdict_get_str(dict, "model"));
- qdict_del(dict, "model");
- if (is_help_option(model)) {
- show_valid_soundhw();
- exit(0);
+ if (qdict_haskey(dict, "model")) {
+ model = g_strdup(qdict_get_str(dict, "model"));
+ qdict_del(dict, "model");
+ if (is_help_option(model)) {
+ show_valid_soundhw();
+ exit(0);
+ }
}
v = qobject_input_visitor_new_keyval(QOBJECT(dict));
qobject_unref(dict);
visit_type_Audiodev(v, NULL, &dev, &error_fatal);
visit_free(v);
- audio_define(dev);
- select_soundhw(model, dev->id);
- g_free(model);
+ if (model) {
+ audio_define(dev);
+ select_soundhw(model, dev->id);
+ g_free(model);
+ } else {
+ audio_define_default(dev, &error_fatal);
+ }
break;
}
case QEMU_OPTION_h:
diff --git a/softmmu/watchpoint.c b/system/watchpoint.c
index 45d1f12faf..45d1f12faf 100644
--- a/softmmu/watchpoint.c
+++ b/system/watchpoint.c
diff --git a/target/alpha/meson.build b/target/alpha/meson.build
index 3f5253c002..d3502dd823 100644
--- a/target/alpha/meson.build
+++ b/target/alpha/meson.build
@@ -15,4 +15,4 @@ alpha_system_ss = ss.source_set()
alpha_system_ss.add(files('machine.c'))
target_arch += {'alpha': alpha_ss}
-target_softmmu_arch += {'alpha': alpha_system_ss}
+target_system_arch += {'alpha': alpha_system_ss}
diff --git a/target/arm/meson.build b/target/arm/meson.build
index e645e456da..5d04a8e94f 100644
--- a/target/arm/meson.build
+++ b/target/arm/meson.build
@@ -35,4 +35,4 @@ else
endif
target_arch += {'arm': arm_ss}
-target_softmmu_arch += {'arm': arm_system_ss}
+target_system_arch += {'arm': arm_system_ss}
diff --git a/target/avr/meson.build b/target/avr/meson.build
index a24cf6d26d..3e172bde1c 100644
--- a/target/avr/meson.build
+++ b/target/avr/meson.build
@@ -17,4 +17,4 @@ avr_ss.add(files(
avr_system_ss.add(files('machine.c'))
target_arch += {'avr': avr_ss}
-target_softmmu_arch += {'avr': avr_system_ss}
+target_system_arch += {'avr': avr_system_ss}
diff --git a/target/cris/meson.build b/target/cris/meson.build
index 07dc3a5682..bbfcdf7f7a 100644
--- a/target/cris/meson.build
+++ b/target/cris/meson.build
@@ -14,4 +14,4 @@ cris_system_ss.add(files(
))
target_arch += {'cris': cris_ss}
-target_softmmu_arch += {'cris': cris_system_ss}
+target_system_arch += {'cris': cris_system_ss}
diff --git a/target/hppa/meson.build b/target/hppa/meson.build
index 59b68e82e2..f47e54f5fa 100644
--- a/target/hppa/meson.build
+++ b/target/hppa/meson.build
@@ -20,4 +20,4 @@ hppa_system_ss.add(files(
))
target_arch += {'hppa': hppa_ss}
-target_softmmu_arch += {'hppa': hppa_system_ss}
+target_system_arch += {'hppa': hppa_system_ss}
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 9fad31b8db..cec5d2b7b6 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -26,6 +26,7 @@
#include "tcg/helper-tcg.h"
#include "sysemu/reset.h"
#include "sysemu/hvf.h"
+#include "hvf/hvf-i386.h"
#include "kvm/kvm_i386.h"
#include "sev.h"
#include "qapi/error.h"
@@ -718,7 +719,7 @@ void x86_cpu_vendor_words2str(char *dst, uint32_t vendor1,
CPUID_7_0_EBX_HLE
CPUID_7_0_EBX_INVPCID, CPUID_7_0_EBX_RTM */
-#if defined CONFIG_SOFTMMU || defined CONFIG_LINUX
+#if !defined CONFIG_USER_ONLY || defined CONFIG_LINUX
#define TCG_7_0_ECX_RDPID CPUID_7_0_ECX_RDPID
#else
#define TCG_7_0_ECX_RDPID 0
diff --git a/target/i386/hvf/hvf-cpu.c b/target/i386/hvf/hvf-cpu.c
index bb0da3947a..ac617f17e7 100644
--- a/target/i386/hvf/hvf-cpu.c
+++ b/target/i386/hvf/hvf-cpu.c
@@ -15,6 +15,7 @@
#include "hw/boards.h"
#include "sysemu/hvf.h"
#include "hw/core/accel-cpu.h"
+#include "hvf-i386.h"
static void hvf_cpu_max_instance_init(X86CPU *cpu)
{
diff --git a/target/i386/hvf/hvf-i386.h b/target/i386/hvf/hvf-i386.h
index 95b47c1c2e..e99c02cd4b 100644
--- a/target/i386/hvf/hvf-i386.h
+++ b/target/i386/hvf/hvf-i386.h
@@ -16,11 +16,7 @@
#ifndef HVF_I386_H
#define HVF_I386_H
-#include "qemu/accel.h"
-#include "sysemu/hvf.h"
-#include "sysemu/hvf_int.h"
-#include "cpu.h"
-#include "x86.h"
+uint32_t hvf_get_supported_cpuid(uint32_t func, uint32_t idx, int reg);
void hvf_handle_io(CPUArchState *, uint16_t, void *, int, int, int);
diff --git a/target/i386/hvf/x86_cpuid.c b/target/i386/hvf/x86_cpuid.c
index 7323a7a94b..9380b90496 100644
--- a/target/i386/hvf/x86_cpuid.c
+++ b/target/i386/hvf/x86_cpuid.c
@@ -25,6 +25,7 @@
#include "x86.h"
#include "vmx.h"
#include "sysemu/hvf.h"
+#include "hvf-i386.h"
static bool xgetbv(uint32_t cpuid_ecx, uint32_t idx, uint64_t *xcr)
{
diff --git a/target/i386/kvm/meson.build b/target/i386/kvm/meson.build
index 5d9174bbb5..84d9143e60 100644
--- a/target/i386/kvm/meson.build
+++ b/target/i386/kvm/meson.build
@@ -1,14 +1,14 @@
-i386_softmmu_kvm_ss = ss.source_set()
+i386_kvm_ss = ss.source_set()
-i386_softmmu_kvm_ss.add(files(
+i386_kvm_ss.add(files(
'kvm.c',
'kvm-cpu.c',
))
-i386_softmmu_kvm_ss.add(when: 'CONFIG_XEN_EMU', if_true: files('xen-emu.c'))
+i386_kvm_ss.add(when: 'CONFIG_XEN_EMU', if_true: files('xen-emu.c'))
-i386_softmmu_kvm_ss.add(when: 'CONFIG_SEV', if_false: files('sev-stub.c'))
+i386_kvm_ss.add(when: 'CONFIG_SEV', if_false: files('sev-stub.c'))
i386_system_ss.add(when: 'CONFIG_HYPERV', if_true: files('hyperv.c'), if_false: files('hyperv-stub.c'))
-i386_system_ss.add_all(when: 'CONFIG_KVM', if_true: i386_softmmu_kvm_ss)
+i386_system_ss.add_all(when: 'CONFIG_KVM', if_true: i386_kvm_ss)
diff --git a/target/i386/meson.build b/target/i386/meson.build
index 6f1036d469..7c74bfa859 100644
--- a/target/i386/meson.build
+++ b/target/i386/meson.build
@@ -31,5 +31,5 @@ subdir('hvf')
subdir('tcg')
target_arch += {'i386': i386_ss}
-target_softmmu_arch += {'i386': i386_system_ss}
+target_system_arch += {'i386': i386_system_ss}
target_user_arch += {'i386': i386_user_ss}
diff --git a/target/i386/tcg/misc_helper.c b/target/i386/tcg/misc_helper.c
index 868f36ab7f..babff06186 100644
--- a/target/i386/tcg/misc_helper.c
+++ b/target/i386/tcg/misc_helper.c
@@ -134,7 +134,7 @@ void helper_wrpkru(CPUX86State *env, uint32_t ecx, uint64_t val)
target_ulong HELPER(rdpid)(CPUX86State *env)
{
-#if defined CONFIG_SOFTMMU
+#if !defined CONFIG_USER_ONLY
return env->tsc_aux;
#elif defined CONFIG_LINUX && defined CONFIG_GETCPU
unsigned cpu, node;
diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c
index 4f1287311d..d2061ec44a 100644
--- a/target/i386/tcg/translate.c
+++ b/target/i386/tcg/translate.c
@@ -178,10 +178,10 @@ typedef struct DisasContext {
#else
#define CODE64(S) (((S)->flags & HF_CS64_MASK) != 0)
#endif
-#if defined(CONFIG_SOFTMMU) && !defined(TARGET_X86_64)
-#define LMA(S) false
-#else
+#if defined(CONFIG_USER_ONLY) || defined(TARGET_X86_64)
#define LMA(S) (((S)->flags & HF_LMA_MASK) != 0)
+#else
+#define LMA(S) false
#endif
#ifdef TARGET_X86_64
diff --git a/target/loongarch/meson.build b/target/loongarch/meson.build
index 7fbf045a5d..18e8191e2b 100644
--- a/target/loongarch/meson.build
+++ b/target/loongarch/meson.build
@@ -30,4 +30,4 @@ common_ss.add(when: 'CONFIG_LOONGARCH_DIS', if_true: [files('disas.c'), gen])
loongarch_ss.add_all(when: 'CONFIG_TCG', if_true: [loongarch_tcg_ss])
target_arch += {'loongarch': loongarch_ss}
-target_softmmu_arch += {'loongarch': loongarch_system_ss}
+target_system_arch += {'loongarch': loongarch_system_ss}
diff --git a/target/m68k/m68k-semi.c b/target/m68k/m68k-semi.c
index 80cd8d70db..b4ffb70f8b 100644
--- a/target/m68k/m68k-semi.c
+++ b/target/m68k/m68k-semi.c
@@ -27,7 +27,7 @@
#include "gdbstub/syscalls.h"
#include "gdbstub/helpers.h"
#include "semihosting/syscalls.h"
-#include "semihosting/softmmu-uaccess.h"
+#include "semihosting/uaccess.h"
#include "hw/boards.h"
#include "qemu/log.h"
diff --git a/target/m68k/meson.build b/target/m68k/meson.build
index 355db26c6f..8d3f9ce288 100644
--- a/target/m68k/meson.build
+++ b/target/m68k/meson.build
@@ -16,4 +16,4 @@ m68k_system_ss.add(files(
))
target_arch += {'m68k': m68k_ss}
-target_softmmu_arch += {'m68k': m68k_system_ss}
+target_system_arch += {'m68k': m68k_system_ss}
diff --git a/target/microblaze/meson.build b/target/microblaze/meson.build
index 50fd9ff378..3ed4fbb67a 100644
--- a/target/microblaze/meson.build
+++ b/target/microblaze/meson.build
@@ -17,4 +17,4 @@ microblaze_system_ss.add(files(
))
target_arch += {'microblaze': microblaze_ss}
-target_softmmu_arch += {'microblaze': microblaze_system_ss}
+target_system_arch += {'microblaze': microblaze_system_ss}
diff --git a/target/mips/meson.build b/target/mips/meson.build
index f35e8f0eca..e57ef24ecf 100644
--- a/target/mips/meson.build
+++ b/target/mips/meson.build
@@ -19,5 +19,5 @@ endif
mips_ss.add(when: 'CONFIG_KVM', if_true: files('kvm.c'))
target_arch += {'mips': mips_ss}
-target_softmmu_arch += {'mips': mips_system_ss}
+target_system_arch += {'mips': mips_system_ss}
target_user_arch += {'mips': mips_user_ss}
diff --git a/target/mips/tcg/sysemu/mips-semi.c b/target/mips/tcg/sysemu/mips-semi.c
index b3e4e49ff7..5ba06e9573 100644
--- a/target/mips/tcg/sysemu/mips-semi.c
+++ b/target/mips/tcg/sysemu/mips-semi.c
@@ -22,7 +22,7 @@
#include "qemu/log.h"
#include "gdbstub/syscalls.h"
#include "gdbstub/helpers.h"
-#include "semihosting/softmmu-uaccess.h"
+#include "semihosting/uaccess.h"
#include "semihosting/semihost.h"
#include "semihosting/console.h"
#include "semihosting/syscalls.h"
diff --git a/target/nios2/meson.build b/target/nios2/meson.build
index 8f0f9dc628..12d8abf0bd 100644
--- a/target/nios2/meson.build
+++ b/target/nios2/meson.build
@@ -14,4 +14,4 @@ nios2_system_ss.add(files(
))
target_arch += {'nios2': nios2_ss}
-target_softmmu_arch += {'nios2': nios2_system_ss}
+target_system_arch += {'nios2': nios2_system_ss}
diff --git a/target/nios2/nios2-semi.c b/target/nios2/nios2-semi.c
index 9d0241c758..0b84fcb6b6 100644
--- a/target/nios2/nios2-semi.c
+++ b/target/nios2/nios2-semi.c
@@ -26,7 +26,7 @@
#include "gdbstub/syscalls.h"
#include "gdbstub/helpers.h"
#include "semihosting/syscalls.h"
-#include "semihosting/softmmu-uaccess.h"
+#include "semihosting/uaccess.h"
#include "qemu/log.h"
#define HOSTED_EXIT 0
diff --git a/target/openrisc/meson.build b/target/openrisc/meson.build
index c1cd943f78..31608b6dc7 100644
--- a/target/openrisc/meson.build
+++ b/target/openrisc/meson.build
@@ -22,4 +22,4 @@ openrisc_system_ss.add(files(
))
target_arch += {'openrisc': openrisc_ss}
-target_softmmu_arch += {'openrisc': openrisc_system_ss}
+target_system_arch += {'openrisc': openrisc_system_ss}
diff --git a/target/ppc/meson.build b/target/ppc/meson.build
index 4c2635039e..97ceb6e7c0 100644
--- a/target/ppc/meson.build
+++ b/target/ppc/meson.build
@@ -55,4 +55,4 @@ ppc_system_ss.add(when: 'TARGET_PPC64', if_true: files(
))
target_arch += {'ppc': ppc_ss}
-target_softmmu_arch += {'ppc': ppc_system_ss}
+target_system_arch += {'ppc': ppc_system_ss}
diff --git a/target/riscv/meson.build b/target/riscv/meson.build
index 660078bda1..ff60b21d04 100644
--- a/target/riscv/meson.build
+++ b/target/riscv/meson.build
@@ -39,4 +39,4 @@ riscv_system_ss.add(files(
))
target_arch += {'riscv': riscv_ss}
-target_softmmu_arch += {'riscv': riscv_system_ss}
+target_system_arch += {'riscv': riscv_system_ss}
diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c
index cba02c1320..c9b39fb67f 100644
--- a/target/riscv/vector_helper.c
+++ b/target/riscv/vector_helper.c
@@ -100,7 +100,7 @@ static inline target_ulong adjust_addr(CPURISCVState *env, target_ulong addr)
/*
* This function checks watchpoint before real load operation.
*
- * In softmmu mode, the TLB API probe_access is enough for watchpoint check.
+ * In system mode, the TLB API probe_access is enough for watchpoint check.
* In user mode, there is no watchpoint support now.
*
* It will trigger an exception if there is no mapping in TLB
diff --git a/target/rx/meson.build b/target/rx/meson.build
index 8de0ad49b9..d196737ce3 100644
--- a/target/rx/meson.build
+++ b/target/rx/meson.build
@@ -13,4 +13,4 @@ rx_ss.add(files(
'disas.c'))
target_arch += {'rx': rx_ss}
-target_softmmu_arch += {'rx': ss.source_set()}
+target_system_arch += {'rx': ss.source_set()}
diff --git a/target/s390x/meson.build b/target/s390x/meson.build
index 42ed38942a..02ca43d9f0 100644
--- a/target/s390x/meson.build
+++ b/target/s390x/meson.build
@@ -40,5 +40,5 @@ subdir('tcg')
subdir('kvm')
target_arch += {'s390x': s390x_ss}
-target_softmmu_arch += {'s390x': s390x_system_ss}
+target_system_arch += {'s390x': s390x_system_ss}
target_user_arch += {'s390x': s390x_user_ss}
diff --git a/target/sh4/meson.build b/target/sh4/meson.build
index a78e9ec7e4..fe09f96684 100644
--- a/target/sh4/meson.build
+++ b/target/sh4/meson.build
@@ -11,4 +11,4 @@ sh4_system_ss = ss.source_set()
sh4_system_ss.add(files('monitor.c'))
target_arch += {'sh4': sh4_ss}
-target_softmmu_arch += {'sh4': sh4_system_ss}
+target_system_arch += {'sh4': sh4_system_ss}
diff --git a/target/sparc/meson.build b/target/sparc/meson.build
index d32e67b287..48025cce76 100644
--- a/target/sparc/meson.build
+++ b/target/sparc/meson.build
@@ -20,4 +20,4 @@ sparc_system_ss.add(files(
))
target_arch += {'sparc': sparc_ss}
-target_softmmu_arch += {'sparc': sparc_system_ss}
+target_system_arch += {'sparc': sparc_system_ss}
diff --git a/target/tricore/meson.build b/target/tricore/meson.build
index 34825b6048..45f49f0128 100644
--- a/target/tricore/meson.build
+++ b/target/tricore/meson.build
@@ -12,4 +12,4 @@ tricore_ss.add(zlib)
tricore_system_ss = ss.source_set()
target_arch += {'tricore': tricore_ss}
-target_softmmu_arch += {'tricore': tricore_system_ss}
+target_system_arch += {'tricore': tricore_system_ss}
diff --git a/target/xtensa/meson.build b/target/xtensa/meson.build
index 95692bd75f..f8d60101e3 100644
--- a/target/xtensa/meson.build
+++ b/target/xtensa/meson.build
@@ -24,4 +24,4 @@ xtensa_system_ss.add(files(
))
target_arch += {'xtensa': xtensa_ss}
-target_softmmu_arch += {'xtensa': xtensa_system_ss}
+target_system_arch += {'xtensa': xtensa_system_ss}
diff --git a/tcg/aarch64/tcg-target.c.inc b/tcg/aarch64/tcg-target.c.inc
index 69f2daf2c2..3afb896a3a 100644
--- a/tcg/aarch64/tcg-target.c.inc
+++ b/tcg/aarch64/tcg-target.c.inc
@@ -1643,8 +1643,8 @@ static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)
#define MIN_TLB_MASK_TABLE_OFS -512
/*
- * For softmmu, perform the TLB load and compare.
- * For useronly, perform any required alignment tests.
+ * For system-mode, perform the TLB load and compare.
+ * For user-mode, perform any required alignment tests.
* In both cases, return a TCGLabelQemuLdst structure if the slow path
* is required and fill in @h with the host address for the fast path.
*/
diff --git a/tcg/arm/tcg-target.c.inc b/tcg/arm/tcg-target.c.inc
index a2f60106af..0d9c2d157b 100644
--- a/tcg/arm/tcg-target.c.inc
+++ b/tcg/arm/tcg-target.c.inc
@@ -353,7 +353,7 @@ static bool patch_reloc(tcg_insn_unit *code_ptr, int type,
#define ALL_VECTOR_REGS 0xffff0000u
/*
- * r0-r3 will be overwritten when reading the tlb entry (softmmu only);
+ * r0-r3 will be overwritten when reading the tlb entry (system-mode only);
* r14 will be overwritten by the BLNE branching to the slow path.
*/
#ifdef CONFIG_SOFTMMU
diff --git a/tcg/i386/tcg-target.c.inc b/tcg/i386/tcg-target.c.inc
index 4e47151241..788d608150 100644
--- a/tcg/i386/tcg-target.c.inc
+++ b/tcg/i386/tcg-target.c.inc
@@ -2276,7 +2276,7 @@ static void tcg_out_qemu_st_direct(TCGContext *s, TCGReg datalo, TCGReg datahi,
int movop = OPC_MOVL_EvGv;
/*
- * Do big-endian stores with movbe or softmmu.
+ * Do big-endian stores with movbe or system-mode.
* User-only without movbe will have its swapping done generically.
*/
if (memop & MO_BSWAP) {
diff --git a/tcg/loongarch64/tcg-target.c.inc b/tcg/loongarch64/tcg-target.c.inc
index 8f7091002b..801302d85d 100644
--- a/tcg/loongarch64/tcg-target.c.inc
+++ b/tcg/loongarch64/tcg-target.c.inc
@@ -891,8 +891,8 @@ bool tcg_target_has_memory_bswap(MemOp memop)
#define MIN_TLB_MASK_TABLE_OFS -(1 << 11)
/*
- * For softmmu, perform the TLB load and compare.
- * For useronly, perform any required alignment tests.
+ * For system-mode, perform the TLB load and compare.
+ * For user-mode, perform any required alignment tests.
* In both cases, return a TCGLabelQemuLdst structure if the slow path
* is required and fill in @h with the host address for the fast path.
*/
diff --git a/tcg/meson.build b/tcg/meson.build
index 4be4a616ca..895a11d3fa 100644
--- a/tcg/meson.build
+++ b/tcg/meson.build
@@ -34,12 +34,12 @@ tcg_user = declare_dependency(link_with: libtcg_user,
dependencies: tcg_ss.dependencies())
user_ss.add(tcg_user)
-libtcg_softmmu = static_library('tcg_softmmu',
+libtcg_system = static_library('tcg_system',
tcg_ss.sources() + genh,
name_suffix: 'fa',
c_args: '-DCONFIG_SOFTMMU',
build_by_default: false)
-tcg_softmmu = declare_dependency(link_with: libtcg_softmmu,
+tcg_system = declare_dependency(link_with: libtcg_system,
dependencies: tcg_ss.dependencies())
-system_ss.add(tcg_softmmu)
+system_ss.add(tcg_system)
diff --git a/tcg/mips/tcg-target.c.inc b/tcg/mips/tcg-target.c.inc
index f52bda4828..e2892edc6a 100644
--- a/tcg/mips/tcg-target.c.inc
+++ b/tcg/mips/tcg-target.c.inc
@@ -1258,8 +1258,8 @@ bool tcg_target_has_memory_bswap(MemOp memop)
#define MIN_TLB_MASK_TABLE_OFS -32768
/*
- * For softmmu, perform the TLB load and compare.
- * For useronly, perform any required alignment tests.
+ * For system-mode, perform the TLB load and compare.
+ * For user-mode, perform any required alignment tests.
* In both cases, return a TCGLabelQemuLdst structure if the slow path
* is required and fill in @h with the host address for the fast path.
*/
diff --git a/tcg/ppc/tcg-target.c.inc b/tcg/ppc/tcg-target.c.inc
index 90d76c2c2c..5c873b2161 100644
--- a/tcg/ppc/tcg-target.c.inc
+++ b/tcg/ppc/tcg-target.c.inc
@@ -2091,8 +2091,8 @@ bool tcg_target_has_memory_bswap(MemOp memop)
#define MIN_TLB_MASK_TABLE_OFS -32768
/*
- * For softmmu, perform the TLB load and compare.
- * For useronly, perform any required alignment tests.
+ * For system-mode, perform the TLB load and compare.
+ * For user-mode, perform any required alignment tests.
* In both cases, return a TCGLabelQemuLdst structure if the slow path
* is required and fill in @h with the host address for the fast path.
*/
diff --git a/tcg/region.c b/tcg/region.c
index a078899096..86692455c0 100644
--- a/tcg/region.c
+++ b/tcg/region.c
@@ -733,7 +733,7 @@ static int alloc_code_gen_buffer(size_t size, int splitwx, Error **errp)
* and then assigning regions to TCG threads so that the threads can translate
* code in parallel without synchronization.
*
- * In softmmu the number of TCG threads is bounded by max_cpus, so we use at
+ * In system-mode the number of TCG threads is bounded by max_cpus, so we use at
* least max_cpus regions in MTTCG. In !MTTCG we use a single region.
* Note that the TCG options from the command-line (i.e. -accel accel=tcg,[...])
* must have been parsed before calling this function, since it calls
@@ -749,7 +749,7 @@ static int alloc_code_gen_buffer(size_t size, int splitwx, Error **errp)
*
* However, this user-mode limitation is unlikely to be a significant problem
* in practice. Multi-threaded guests share most if not all of their translated
- * code, which makes parallel code generation less appealing than in softmmu.
+ * code, which makes parallel code generation less appealing than in system-mode
*/
void tcg_region_init(size_t tb_size, int splitwx, unsigned max_cpus)
{
diff --git a/tcg/riscv/tcg-target.c.inc b/tcg/riscv/tcg-target.c.inc
index c2bcdea33f..d6dbcaf3cb 100644
--- a/tcg/riscv/tcg-target.c.inc
+++ b/tcg/riscv/tcg-target.c.inc
@@ -1227,8 +1227,8 @@ static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *l)
#define MIN_TLB_MASK_TABLE_OFS -(1 << 11)
/*
- * For softmmu, perform the TLB load and compare.
- * For useronly, perform any required alignment tests.
+ * For system-mode, perform the TLB load and compare.
+ * For user-mode, perform any required alignment tests.
* In both cases, return a TCGLabelQemuLdst structure if the slow path
* is required and fill in @h with the host address for the fast path.
*/
diff --git a/tcg/s390x/tcg-target.c.inc b/tcg/s390x/tcg-target.c.inc
index 7552f63a05..4ef9ac3d5b 100644
--- a/tcg/s390x/tcg-target.c.inc
+++ b/tcg/s390x/tcg-target.c.inc
@@ -1750,8 +1750,8 @@ static bool tcg_out_qemu_st_slow_path(TCGContext *s, TCGLabelQemuLdst *lb)
#define MIN_TLB_MASK_TABLE_OFS -(1 << 19)
/*
- * For softmmu, perform the TLB load and compare.
- * For useronly, perform any required alignment tests.
+ * For system-mode, perform the TLB load and compare.
+ * For user-mode, perform any required alignment tests.
* In both cases, return a TCGLabelQemuLdst structure if the slow path
* is required and fill in @h with the host address for the fast path.
*/
diff --git a/tcg/sparc64/tcg-target.c.inc b/tcg/sparc64/tcg-target.c.inc
index 01ac26c192..19d9df4a09 100644
--- a/tcg/sparc64/tcg-target.c.inc
+++ b/tcg/sparc64/tcg-target.c.inc
@@ -1033,8 +1033,8 @@ bool tcg_target_has_memory_bswap(MemOp memop)
#define MIN_TLB_MASK_TABLE_OFS -(1 << 12)
/*
- * For softmmu, perform the TLB load and compare.
- * For useronly, perform any required alignment tests.
+ * For system-mode, perform the TLB load and compare.
+ * For user-mode, perform any required alignment tests.
* In both cases, return a TCGLabelQemuLdst structure if the slow path
* is required and fill in @h with the host address for the fast path.
*/
diff --git a/tcg/tcg.c b/tcg/tcg.c
index f664cf1484..637b9e6870 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -760,12 +760,13 @@ static void alloc_tcg_plugin_context(TCGContext *s)
* In user-mode we just point tcg_ctx to tcg_init_ctx. See the documentation
* of tcg_region_init() for the reasoning behind this.
*
- * In softmmu each caller registers its context in tcg_ctxs[]. Note that in
- * softmmu tcg_ctxs[] does not track tcg_ctx_init, since the initial context
+ * In system-mode each caller registers its context in tcg_ctxs[]. Note that in
+ * system-mode tcg_ctxs[] does not track tcg_ctx_init, since the initial context
* is not used anymore for translation once this function is called.
*
- * Not tracking tcg_init_ctx in tcg_ctxs[] in softmmu keeps code that iterates
- * over the array (e.g. tcg_code_size() the same for both softmmu and user-mode.
+ * Not tracking tcg_init_ctx in tcg_ctxs[] in system-mode keeps code that
+ * iterates over the array (e.g. tcg_code_size() the same for both system/user
+ * modes.
*/
#ifdef CONFIG_USER_ONLY
void tcg_register_thread(void)
@@ -1349,7 +1350,7 @@ static void tcg_context_init(unsigned max_cpus)
* In user-mode we simply share the init context among threads, since we
* use a single region. See the documentation tcg_region_init() for the
* reasoning behind this.
- * In softmmu we will have at most max_cpus TCG threads.
+ * In system-mode we will have at most max_cpus TCG threads.
*/
#ifdef CONFIG_USER_ONLY
tcg_ctxs = &tcg_ctx;
diff --git a/tests/qtest/fuzz/fuzz.c b/tests/qtest/fuzz/fuzz.c
index 3bedb81b32..9b9c9f9c36 100644
--- a/tests/qtest/fuzz/fuzz.c
+++ b/tests/qtest/fuzz/fuzz.c
@@ -207,7 +207,7 @@ int LLVMFuzzerInitialize(int *argc, char ***argv, char ***envp)
fuzz_target->pre_vm_init();
}
- /* Run QEMU's softmmu main with the fuzz-target dependent arguments */
+ /* Run QEMU's system main with the fuzz-target dependent arguments */
cmd_line = fuzz_target->get_init_cmdline(fuzz_target);
g_string_append_printf(cmd_line, " %s -qtest /dev/null ",
getenv("QTEST_LOG") ? "" : "-qtest-log none");
diff --git a/tests/qtest/fuzz/fuzz.h b/tests/qtest/fuzz/fuzz.h
index 21d1362d65..7da0bc3d7e 100644
--- a/tests/qtest/fuzz/fuzz.h
+++ b/tests/qtest/fuzz/fuzz.h
@@ -49,13 +49,13 @@ typedef struct FuzzTarget {
/*
- * Returns the arguments that are passed to qemu/softmmu init(). Freed by
+ * Returns the arguments that are passed to qemu/system init(). Freed by
* the caller.
*/
GString *(*get_init_cmdline)(struct FuzzTarget *);
/*
- * will run once, prior to running qemu/softmmu init.
+ * will run once, prior to running qemu/system init.
* eg: set up shared-memory for communication with the child-process
* Can be NULL
*/
diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c
index b1eba71ffe..3f94a4f477 100644
--- a/tests/qtest/libqtest.c
+++ b/tests/qtest/libqtest.c
@@ -421,9 +421,6 @@ static QTestState *G_GNUC_PRINTF(1, 2) qtest_spawn_qemu(const char *fmt, ...)
int sig = SIGKILL;
procctl(P_PID, getpid(), PROC_PDEATHSIG_CTL, &sig);
#endif /* __FreeBSD__ */
- if (!g_setenv("QEMU_AUDIO_DRV", "none", true)) {
- exit(1);
- }
execlp("/bin/sh", "sh", "-c", command->str, NULL);
exit(1);
}
@@ -464,6 +461,7 @@ QTestState *qtest_init_without_qmp_handshake(const char *extra_args)
"-chardev socket,path=%s,id=char0 "
"-mon chardev=char0,mode=control "
"-display none "
+ "-audio none "
"%s"
" -accel qtest",
socket_path,
diff --git a/tests/tcg/Makefile.target b/tests/tcg/Makefile.target
index 462289f47c..f3a189c9d4 100644
--- a/tests/tcg/Makefile.target
+++ b/tests/tcg/Makefile.target
@@ -120,7 +120,7 @@ endif
%: %.S
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
else
-# For softmmu targets we include a different Makefile fragment as the
+# For system targets we include a different Makefile fragment as the
# build options for bare programs are usually pretty different. They
# are expected to provide their own build recipes.
EXTRA_CFLAGS += -ffreestanding
diff --git a/tests/tcg/multiarch/gdbstub/interrupt.py b/tests/tcg/multiarch/gdbstub/interrupt.py
index e222ac94c5..c016e7afbb 100644
--- a/tests/tcg/multiarch/gdbstub/interrupt.py
+++ b/tests/tcg/multiarch/gdbstub/interrupt.py
@@ -1,6 +1,6 @@
from __future__ import print_function
#
-# Test some of the softmmu debug features with the multiarch memory
+# Test some of the system debug features with the multiarch memory
# test. It is a port of the original vmlinux focused test case but
# using the "memory" test instead.
#
diff --git a/tests/tcg/multiarch/gdbstub/memory.py b/tests/tcg/multiarch/gdbstub/memory.py
index dd25e72281..fb1d06b7bb 100644
--- a/tests/tcg/multiarch/gdbstub/memory.py
+++ b/tests/tcg/multiarch/gdbstub/memory.py
@@ -1,6 +1,6 @@
from __future__ import print_function
#
-# Test some of the softmmu debug features with the multiarch memory
+# Test some of the system debug features with the multiarch memory
# test. It is a port of the original vmlinux focused test case but
# using the "memory" test instead.
#
diff --git a/tests/tcg/multiarch/system/memory.c b/tests/tcg/multiarch/system/memory.c
index e29786ae55..6eb2eb16f7 100644
--- a/tests/tcg/multiarch/system/memory.c
+++ b/tests/tcg/multiarch/system/memory.c
@@ -1,14 +1,14 @@
/*
* Memory Test
*
- * This is intended to test the softmmu code and ensure we properly
+ * This is intended to test the system-mode code and ensure we properly
* behave across normal and unaligned accesses across several pages.
* We are not replicating memory tests for stuck bits and other
* hardware level failures but looking for issues with different size
* accesses when access is:
*
* - unaligned at various sizes (if -DCHECK_UNALIGNED set)
- * - spanning a (softmmu) page
+ * - spanning a (system) page
* - sign extension when loading
*/
diff --git a/tests/tcg/s390x/pgm-specification-softmmu.S b/tests/tcg/s390x/pgm-specification-softmmu.S
index d534f4e505..86c340aeef 100644
--- a/tests/tcg/s390x/pgm-specification-softmmu.S
+++ b/tests/tcg/s390x/pgm-specification-softmmu.S
@@ -1,5 +1,5 @@
/*
- * Common softmmu code for specification exception testing.
+ * Common system code for specification exception testing.
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
diff --git a/tests/tcg/s390x/pgm-specification.mak b/tests/tcg/s390x/pgm-specification.mak
index 2999aee26e..73dc47af0d 100644
--- a/tests/tcg/s390x/pgm-specification.mak
+++ b/tests/tcg/s390x/pgm-specification.mak
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# List of specification exception tests.
-# Shared between the softmmu and the user makefiles.
+# Shared between the system and the user makefiles.
PGM_SPECIFICATION_TESTS = \
br-odd \
cgrl-unaligned \
diff --git a/tests/tcg/s390x/softmmu.ld b/tests/tcg/s390x/softmmu.ld
index ea944eaa3c..c7a8864407 100644
--- a/tests/tcg/s390x/softmmu.ld
+++ b/tests/tcg/s390x/softmmu.ld
@@ -1,5 +1,5 @@
/*
- * Linker script for the softmmu test kernels.
+ * Linker script for the system test kernels.
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
diff --git a/tests/tcg/xtensa/Makefile.softmmu-target b/tests/tcg/xtensa/Makefile.softmmu-target
index 78bf72dfaa..a29571b367 100644
--- a/tests/tcg/xtensa/Makefile.softmmu-target
+++ b/tests/tcg/xtensa/Makefile.softmmu-target
@@ -1,5 +1,5 @@
#
-# Xtensa softmmu tests
+# Xtensa system tests
#
CORE=dc232b
diff --git a/tests/tcg/xtensaeb/Makefile.softmmu-target b/tests/tcg/xtensaeb/Makefile.softmmu-target
index 4204a96d53..95d0528c37 100644
--- a/tests/tcg/xtensaeb/Makefile.softmmu-target
+++ b/tests/tcg/xtensaeb/Makefile.softmmu-target
@@ -1,5 +1,5 @@
#
-# Xtensa softmmu tests
+# Xtensa system tests
#
include $(SRC_PATH)/tests/tcg/xtensa/Makefile.softmmu-target
diff --git a/tests/unit/meson.build b/tests/unit/meson.build
index 1977b302e2..f33ae64b8d 100644
--- a/tests/unit/meson.build
+++ b/tests/unit/meson.build
@@ -59,7 +59,7 @@ if have_system or have_tools
}
if seccomp.found()
- tests += {'test-seccomp': ['../../softmmu/qemu-seccomp.c', seccomp]}
+ tests += {'test-seccomp': ['../../system/qemu-seccomp.c', seccomp]}
endif
endif
diff --git a/ui/vnc.c b/ui/vnc.c
index 6056028e49..4f23a0fa79 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -4185,6 +4185,8 @@ void vnc_display_open(const char *id, Error **errp)
if (!vd->audio_state) {
goto fail;
}
+ } else {
+ vd->audio_state = audio_get_default_audio_state(NULL);
}
device_id = qemu_opt_get(opts, "display");
diff --git a/util/cutils.c b/util/cutils.c
index b44718a6a2..c99d26c5e2 100644
--- a/util/cutils.c
+++ b/util/cutils.c
@@ -1012,8 +1012,17 @@ int qemu_pstrcmp0(const char **str1, const char **str2)
static inline bool starts_with_prefix(const char *dir)
{
size_t prefix_len = strlen(CONFIG_PREFIX);
+ /*
+ * dir[prefix_len] is only accessed if the length of dir is
+ * >= prefix_len, so no out of bounds access is possible.
+ */
+#pragma GCC diagnostic push
+#if !defined(__clang__) || __has_warning("-Warray-bounds=")
+#pragma GCC diagnostic ignored "-Warray-bounds="
+#endif
return !memcmp(dir, CONFIG_PREFIX, prefix_len) &&
(!dir[prefix_len] || G_IS_DIR_SEPARATOR(dir[prefix_len]));
+#pragma GCC diagnostic pop
}
/* Return the next path component in dir, and store its length in *p_len. */
diff --git a/util/log.c b/util/log.c
index def88a9402..d36c98da0b 100644
--- a/util/log.c
+++ b/util/log.c
@@ -298,6 +298,8 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name,
r->fd = logfile;
qatomic_rcu_set(&global_file, NULL);
call_rcu(r, rcu_close_file, rcu);
+ }
+ if (changed_name) {
logfile = NULL;
}
}