1
The following changes since commit 3e08b2b9cb64bff2b73fa9128c0e49bfcde0dd40:
1
The following changes since commit 48ab886d3da4f3ab94f79f6c0f8b4535b446bbfd:
2
2
3
Merge remote-tracking branch 'remotes/philmd-gitlab/tags/edk2-next-20200121' into staging (2020-01-21 15:29:25 +0000)
3
Merge tag 'pull-target-arm-20230619' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2023-06-19 16:32:25 +0200)
4
4
5
are available in the Git repository at:
5
are available in the Git repository at:
6
6
7
https://github.com/rth7680/qemu.git tags/pull-tcg-20200121
7
https://gitlab.com/rth7680/qemu.git tags/pull-tcg-20230620
8
8
9
for you to fetch changes up to 75fa376cdab5e5db2c7fdd107358e16f95503ac6:
9
for you to fetch changes up to d7ee93e24359703debf4137f4cc632563aa4e8d1:
10
10
11
scripts/git.orderfile: Display decodetree before C source (2020-01-21 15:26:09 -1000)
11
cputlb: Restrict SavedIOTLB to system emulation (2023-06-20 10:02:14 +0200)
12
12
13
----------------------------------------------------------------
13
----------------------------------------------------------------
14
Remove another limit to NB_MMU_MODES.
14
tcg: Define _CALL_AIX for clang on ppc64
15
Fix compilation using uclibc.
15
accel/tcg: Build fix for macos catalina
16
Fix defaulting of -accel parameters.
16
accel/tcg: Handle MO_ATOM_WITHIN16 in do_st16_leN
17
Tidy cputlb basic routines.
17
accel/tcg: Restrict SavedIOTLB to system emulation
18
Adjust git.orderfile for decodetree.
18
accel/tcg: Use generic 'helper-proto-common.h' header
19
plugins: Remove unused 'exec/helper-proto.h' header
20
*: Check for CONFIG_USER_ONLY instead of CONFIG_SOFTMMU
19
21
20
----------------------------------------------------------------
22
----------------------------------------------------------------
21
Carlos Santos (1):
23
Philippe Mathieu-Daudé (13):
22
util/cacheinfo: fix crash when compiling with uClibc
24
target/i386: Simplify i386_tr_init_disas_context()
25
target/tricore: Remove pointless CONFIG_SOFTMMU guard
26
target/m68k: Check for USER_ONLY definition instead of SOFTMMU one
27
target/ppc: Check for USER_ONLY definition instead of SOFTMMU one
28
hw/core/cpu: Check for USER_ONLY definition instead of SOFTMMU one
29
accel/tcg: Check for USER_ONLY definition instead of SOFTMMU one
30
meson: Alias CONFIG_SOFTMMU -> CONFIG_SYSTEM_ONLY
31
meson: Replace CONFIG_SOFTMMU -> CONFIG_SYSTEM_ONLY
32
meson: Replace softmmu_ss -> system_ss
33
plugins: Remove unused 'exec/helper-proto.h' header
34
accel/tcg/cpu-exec: Use generic 'helper-proto-common.h' header
35
exec/cpu-defs: Check for SOFTMMU instead of !USER_ONLY
36
cputlb: Restrict SavedIOTLB to system emulation
23
37
24
Philippe Mathieu-Daudé (1):
38
Richard Henderson (3):
25
scripts/git.orderfile: Display decodetree before C source
39
host/include/x86_64: Use __m128i for "x" constraints
40
accel/tcg: Handle MO_ATOM_WITHIN16 in do_st16_leN
41
tcg/ppc: Define _CALL_AIX for clang on ppc64(be)
26
42
27
Richard Henderson (14):
43
docs/devel/build-system.rst | 14 +--
28
cputlb: Handle NB_MMU_MODES > TARGET_PAGE_BITS_MIN
44
meson.build | 15 +--
29
vl: Remove unused variable in configure_accelerators
45
accel/tcg/internal.h | 6 +-
30
vl: Reduce scope of variables in configure_accelerators
46
host/include/x86_64/host/atomic128-ldst.h | 25 ++--
31
vl: Remove useless test in configure_accelerators
47
host/include/x86_64/host/load-extract-al16-al8.h | 8 +-
32
vl: Only choose enabled accelerators in configure_accelerators
48
include/exec/cpu-defs.h | 12 +-
33
cputlb: Merge tlb_table_flush_by_mmuidx into tlb_flush_one_mmuidx_locked
49
include/hw/core/cpu.h | 10 +-
34
cputlb: Make tlb_n_entries private to cputlb.c
50
include/hw/core/tcg-cpu-ops.h | 102 ++++++++--------
35
cputlb: Pass CPUTLBDescFast to tlb_n_entries and sizeof_tlb
51
target/m68k/helper.h | 2 +-
36
cputlb: Hoist tlb portions in tlb_mmu_resize_locked
52
accel/tcg/cpu-exec.c | 6 +-
37
cputlb: Hoist tlb portions in tlb_flush_one_mmuidx_locked
53
accel/tcg/cputlb.c | 1 +
38
cputlb: Split out tlb_mmu_flush_locked
54
plugins/core.c | 1 -
39
cputlb: Partially merge tlb_dyn_init into tlb_init
55
target/i386/tcg/translate.c | 3 -
40
cputlb: Initialize tlbs as flushed
56
target/m68k/cpu.c | 14 +--
41
cputlb: Hoist timestamp outside of loops over tlbs
57
target/m68k/helper.c | 4 +-
58
target/m68k/translate.c | 28 ++---
59
target/ppc/cpu_init.c | 20 +--
60
target/ppc/helper_regs.c | 6 +-
61
target/tricore/helper.c | 2 -
62
tcg/ppc/tcg-target.c.inc | 23 ++--
63
accel/meson.build | 4 +-
64
accel/qtest/meson.build | 2 +-
65
accel/stubs/meson.build | 2 +-
66
accel/tcg/meson.build | 6 +-
67
audio/meson.build | 8 +-
68
backends/meson.build | 20 +--
69
backends/tpm/meson.build | 8 +-
70
block/meson.build | 6 +-
71
block/monitor/meson.build | 2 +-
72
chardev/meson.build | 2 +-
73
disas/meson.build | 2 +-
74
dump/meson.build | 4 +-
75
ebpf/meson.build | 2 +-
76
fsdev/meson.build | 4 +-
77
gdbstub/meson.build | 10 +-
78
hw/9pfs/meson.build | 2 +-
79
hw/acpi/meson.build | 10 +-
80
hw/adc/meson.build | 10 +-
81
hw/arm/meson.build | 8 +-
82
hw/audio/meson.build | 28 ++---
83
hw/block/meson.build | 28 ++---
84
hw/char/meson.build | 70 +++++------
85
hw/core/meson.build | 22 ++--
86
hw/cpu/meson.build | 6 +-
87
hw/cxl/meson.build | 4 +-
88
hw/display/meson.build | 76 ++++++------
89
hw/dma/meson.build | 32 ++---
90
hw/gpio/meson.build | 26 ++--
91
hw/i2c/meson.build | 2 +-
92
hw/i386/kvm/meson.build | 2 +-
93
hw/ide/meson.build | 28 ++---
94
hw/input/meson.build | 32 ++---
95
hw/intc/meson.build | 44 +++----
96
hw/ipack/meson.build | 2 +-
97
hw/ipmi/meson.build | 2 +-
98
hw/isa/meson.build | 18 +--
99
hw/mem/meson.build | 8 +-
100
hw/misc/macio/meson.build | 2 +-
101
hw/misc/meson.build | 148 +++++++++++------------
102
hw/net/can/meson.build | 16 +--
103
hw/net/meson.build | 96 +++++++--------
104
hw/nubus/meson.build | 2 +-
105
hw/nvme/meson.build | 2 +-
106
hw/nvram/meson.build | 26 ++--
107
hw/pci-bridge/meson.build | 4 +-
108
hw/pci-host/meson.build | 2 +-
109
hw/pci/meson.build | 8 +-
110
hw/pcmcia/meson.build | 4 +-
111
hw/rdma/meson.build | 2 +-
112
hw/remote/meson.build | 2 +-
113
hw/rtc/meson.build | 28 ++---
114
hw/scsi/meson.build | 2 +-
115
hw/sd/meson.build | 24 ++--
116
hw/sensor/meson.build | 18 +--
117
hw/smbios/meson.build | 6 +-
118
hw/ssi/meson.build | 26 ++--
119
hw/timer/meson.build | 74 ++++++------
120
hw/tpm/meson.build | 14 +--
121
hw/usb/meson.build | 74 ++++++------
122
hw/virtio/meson.build | 12 +-
123
hw/watchdog/meson.build | 18 +--
124
hw/xen/meson.build | 4 +-
125
migration/meson.build | 12 +-
126
monitor/meson.build | 6 +-
127
net/can/meson.build | 2 +-
128
net/meson.build | 38 +++---
129
qapi/meson.build | 2 +-
130
qom/meson.build | 2 +-
131
replay/meson.build | 2 +-
132
semihosting/meson.build | 2 +-
133
softmmu/meson.build | 12 +-
134
stats/meson.build | 2 +-
135
target/alpha/meson.build | 6 +-
136
target/arm/hvf/meson.build | 2 +-
137
target/arm/meson.build | 6 +-
138
target/arm/tcg/meson.build | 2 +-
139
target/avr/meson.build | 6 +-
140
target/cris/meson.build | 6 +-
141
target/hppa/meson.build | 6 +-
142
target/i386/hax/meson.build | 6 +-
143
target/i386/hvf/meson.build | 2 +-
144
target/i386/kvm/meson.build | 4 +-
145
target/i386/meson.build | 8 +-
146
target/i386/nvmm/meson.build | 4 +-
147
target/i386/tcg/sysemu/meson.build | 2 +-
148
target/i386/whpx/meson.build | 2 +-
149
target/loongarch/meson.build | 6 +-
150
target/m68k/meson.build | 6 +-
151
target/microblaze/meson.build | 6 +-
152
target/mips/meson.build | 4 +-
153
target/mips/sysemu/meson.build | 2 +-
154
target/mips/tcg/sysemu/meson.build | 2 +-
155
target/nios2/meson.build | 6 +-
156
target/openrisc/meson.build | 6 +-
157
target/ppc/meson.build | 10 +-
158
target/riscv/meson.build | 6 +-
159
target/s390x/kvm/meson.build | 2 +-
160
target/s390x/meson.build | 6 +-
161
target/sh4/meson.build | 6 +-
162
target/sparc/meson.build | 6 +-
163
target/tricore/meson.build | 4 +-
164
target/xtensa/meson.build | 6 +-
165
tcg/meson.build | 2 +-
166
trace/meson.build | 2 +-
167
ui/meson.build | 30 ++---
168
125 files changed, 864 insertions(+), 854 deletions(-)
42
169
43
include/exec/cpu_ldst.h | 5 -
44
accel/tcg/cputlb.c | 287 +++++++++++++++++++++++++++++++++---------------
45
util/cacheinfo.c | 10 +-
46
vl.c | 27 +++--
47
scripts/git.orderfile | 3 +
48
5 files changed, 223 insertions(+), 109 deletions(-)
49
diff view generated by jsdifflib
1
No functional change, but the smaller expressions make
1
The macOS catalina compiler produces an error for __int128_t
2
the code easier to read.
2
as the type for allocation with SSE inline asm constraint.
3
Create a new X86Int128Union type and use the vector type for
4
all SSE register inputs and outputs.
3
5
4
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
6
Tested-by: Peter Maydell <peter.maydell@linaro.org>
5
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
6
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
7
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
7
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
8
---
8
---
9
accel/tcg/cputlb.c | 35 +++++++++++++++++------------------
9
host/include/x86_64/host/atomic128-ldst.h | 25 ++++++++++++-------
10
1 file changed, 17 insertions(+), 18 deletions(-)
10
.../x86_64/host/load-extract-al16-al8.h | 8 +++---
11
2 files changed, 20 insertions(+), 13 deletions(-)
11
12
12
diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c
13
diff --git a/host/include/x86_64/host/atomic128-ldst.h b/host/include/x86_64/host/atomic128-ldst.h
13
index XXXXXXX..XXXXXXX 100644
14
index XXXXXXX..XXXXXXX 100644
14
--- a/accel/tcg/cputlb.c
15
--- a/host/include/x86_64/host/atomic128-ldst.h
15
+++ b/accel/tcg/cputlb.c
16
+++ b/host/include/x86_64/host/atomic128-ldst.h
16
@@ -XXX,XX +XXX,XX @@ static void tlb_dyn_init(CPUArchState *env)
17
@@ -XXX,XX +XXX,XX @@
18
* atomic primitive is meant to provide.
19
*/
20
21
-#ifndef AARCH64_ATOMIC128_LDST_H
22
-#define AARCH64_ATOMIC128_LDST_H
23
+#ifndef X86_64_ATOMIC128_LDST_H
24
+#define X86_64_ATOMIC128_LDST_H
25
26
#ifdef CONFIG_INT128_TYPE
27
#include "host/cpuinfo.h"
28
#include "tcg/debug-assert.h"
29
+#include <immintrin.h>
30
+
31
+typedef union {
32
+ __m128i v;
33
+ __int128_t i;
34
+ Int128 s;
35
+} X86Int128Union;
36
37
/*
38
* Through clang 16, with -mcx16, __atomic_load_n is incorrectly
39
@@ -XXX,XX +XXX,XX @@
40
41
static inline Int128 atomic16_read_ro(const Int128 *ptr)
42
{
43
- Int128Alias r;
44
+ X86Int128Union r;
45
46
tcg_debug_assert(HAVE_ATOMIC128_RO);
47
- asm("vmovdqa %1, %0" : "=x" (r.i) : "m" (*ptr));
48
+ asm("vmovdqa %1, %0" : "=x" (r.v) : "m" (*ptr));
49
50
return r.s;
51
}
52
@@ -XXX,XX +XXX,XX @@ static inline Int128 atomic16_read_ro(const Int128 *ptr)
53
static inline Int128 atomic16_read_rw(Int128 *ptr)
54
{
55
__int128_t *ptr_align = __builtin_assume_aligned(ptr, 16);
56
- Int128Alias r;
57
+ X86Int128Union r;
58
59
if (HAVE_ATOMIC128_RO) {
60
- asm("vmovdqa %1, %0" : "=x" (r.i) : "m" (*ptr_align));
61
+ asm("vmovdqa %1, %0" : "=x" (r.v) : "m" (*ptr_align));
62
} else {
63
r.i = __sync_val_compare_and_swap_16(ptr_align, 0, 0);
64
}
65
@@ -XXX,XX +XXX,XX @@ static inline Int128 atomic16_read_rw(Int128 *ptr)
66
static inline void atomic16_set(Int128 *ptr, Int128 val)
67
{
68
__int128_t *ptr_align = __builtin_assume_aligned(ptr, 16);
69
- Int128Alias new = { .s = val };
70
+ X86Int128Union new = { .s = val };
71
72
if (HAVE_ATOMIC128_RO) {
73
- asm("vmovdqa %1, %0" : "=m"(*ptr_align) : "x" (new.i));
74
+ asm("vmovdqa %1, %0" : "=m"(*ptr_align) : "x" (new.v));
75
} else {
76
__int128_t old;
77
do {
78
@@ -XXX,XX +XXX,XX @@ static inline void atomic16_set(Int128 *ptr, Int128 val)
79
#include "host/include/generic/host/atomic128-ldst.h"
80
#endif
81
82
-#endif /* AARCH64_ATOMIC128_LDST_H */
83
+#endif /* X86_64_ATOMIC128_LDST_H */
84
diff --git a/host/include/x86_64/host/load-extract-al16-al8.h b/host/include/x86_64/host/load-extract-al16-al8.h
85
index XXXXXXX..XXXXXXX 100644
86
--- a/host/include/x86_64/host/load-extract-al16-al8.h
87
+++ b/host/include/x86_64/host/load-extract-al16-al8.h
88
@@ -XXX,XX +XXX,XX @@
89
#define X86_64_LOAD_EXTRACT_AL16_AL8_H
90
91
#ifdef CONFIG_INT128_TYPE
92
-#include "host/cpuinfo.h"
93
+#include "host/atomic128-ldst.h"
17
94
18
/**
95
/**
19
* tlb_mmu_resize_locked() - perform TLB resize bookkeeping; resize if necessary
96
* load_atom_extract_al16_or_al8:
20
- * @env: CPU that owns the TLB
97
@@ -XXX,XX +XXX,XX @@ load_atom_extract_al16_or_al8(void *pv, int s)
21
- * @mmu_idx: MMU index of the TLB
98
uintptr_t pi = (uintptr_t)pv;
22
+ * @desc: The CPUTLBDesc portion of the TLB
99
__int128_t *ptr_align = (__int128_t *)(pi & ~7);
23
+ * @fast: The CPUTLBDescFast portion of the same TLB
100
int shr = (pi & 7) * 8;
24
*
101
- Int128Alias r;
25
* Called with tlb_lock_held.
102
+ X86Int128Union r;
26
*
103
27
@@ -XXX,XX +XXX,XX @@ static void tlb_dyn_init(CPUArchState *env)
104
/*
28
* high), since otherwise we are likely to have a significant amount of
105
* ptr_align % 16 is now only 0 or 8.
29
* conflict misses.
106
@@ -XXX,XX +XXX,XX @@ load_atom_extract_al16_or_al8(void *pv, int s)
30
*/
107
* when ptr_align % 16 == 0 for 16-byte atomicity.
31
-static void tlb_mmu_resize_locked(CPUArchState *env, int mmu_idx)
108
*/
32
+static void tlb_mmu_resize_locked(CPUTLBDesc *desc, CPUTLBDescFast *fast)
109
if ((cpuinfo & CPUINFO_ATOMIC_VMOVDQU) || (pi & 8)) {
33
{
110
- asm("vmovdqu %1, %0" : "=x" (r.i) : "m" (*ptr_align));
34
- CPUTLBDesc *desc = &env_tlb(env)->d[mmu_idx];
111
+ asm("vmovdqu %1, %0" : "=x" (r.v) : "m" (*ptr_align));
35
- size_t old_size = tlb_n_entries(&env_tlb(env)->f[mmu_idx]);
112
} else {
36
+ size_t old_size = tlb_n_entries(fast);
113
- asm("vmovdqa %1, %0" : "=x" (r.i) : "m" (*ptr_align));
37
size_t rate;
114
+ asm("vmovdqa %1, %0" : "=x" (r.v) : "m" (*ptr_align));
38
size_t new_size = old_size;
39
int64_t now = get_clock_realtime();
40
@@ -XXX,XX +XXX,XX @@ static void tlb_mmu_resize_locked(CPUArchState *env, int mmu_idx)
41
return;
42
}
115
}
43
116
return int128_getlo(int128_urshift(r.s, shr));
44
- g_free(env_tlb(env)->f[mmu_idx].table);
45
- g_free(env_tlb(env)->d[mmu_idx].iotlb);
46
+ g_free(fast->table);
47
+ g_free(desc->iotlb);
48
49
tlb_window_reset(desc, now, 0);
50
/* desc->n_used_entries is cleared by the caller */
51
- env_tlb(env)->f[mmu_idx].mask = (new_size - 1) << CPU_TLB_ENTRY_BITS;
52
- env_tlb(env)->f[mmu_idx].table = g_try_new(CPUTLBEntry, new_size);
53
- env_tlb(env)->d[mmu_idx].iotlb = g_try_new(CPUIOTLBEntry, new_size);
54
+ fast->mask = (new_size - 1) << CPU_TLB_ENTRY_BITS;
55
+ fast->table = g_try_new(CPUTLBEntry, new_size);
56
+ desc->iotlb = g_try_new(CPUIOTLBEntry, new_size);
57
+
58
/*
59
* If the allocations fail, try smaller sizes. We just freed some
60
* memory, so going back to half of new_size has a good chance of working.
61
@@ -XXX,XX +XXX,XX @@ static void tlb_mmu_resize_locked(CPUArchState *env, int mmu_idx)
62
* allocations to fail though, so we progressively reduce the allocation
63
* size, aborting if we cannot even allocate the smallest TLB we support.
64
*/
65
- while (env_tlb(env)->f[mmu_idx].table == NULL ||
66
- env_tlb(env)->d[mmu_idx].iotlb == NULL) {
67
+ while (fast->table == NULL || desc->iotlb == NULL) {
68
if (new_size == (1 << CPU_TLB_DYN_MIN_BITS)) {
69
error_report("%s: %s", __func__, strerror(errno));
70
abort();
71
}
72
new_size = MAX(new_size >> 1, 1 << CPU_TLB_DYN_MIN_BITS);
73
- env_tlb(env)->f[mmu_idx].mask = (new_size - 1) << CPU_TLB_ENTRY_BITS;
74
+ fast->mask = (new_size - 1) << CPU_TLB_ENTRY_BITS;
75
76
- g_free(env_tlb(env)->f[mmu_idx].table);
77
- g_free(env_tlb(env)->d[mmu_idx].iotlb);
78
- env_tlb(env)->f[mmu_idx].table = g_try_new(CPUTLBEntry, new_size);
79
- env_tlb(env)->d[mmu_idx].iotlb = g_try_new(CPUIOTLBEntry, new_size);
80
+ g_free(fast->table);
81
+ g_free(desc->iotlb);
82
+ fast->table = g_try_new(CPUTLBEntry, new_size);
83
+ desc->iotlb = g_try_new(CPUIOTLBEntry, new_size);
84
}
85
}
117
}
86
87
static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx)
88
{
89
- tlb_mmu_resize_locked(env, mmu_idx);
90
+ tlb_mmu_resize_locked(&env_tlb(env)->d[mmu_idx], &env_tlb(env)->f[mmu_idx]);
91
env_tlb(env)->d[mmu_idx].n_used_entries = 0;
92
env_tlb(env)->d[mmu_idx].large_page_addr = -1;
93
env_tlb(env)->d[mmu_idx].large_page_mask = -1;
94
--
118
--
95
2.20.1
119
2.34.1
96
97
diff view generated by jsdifflib
1
In target/arm we will shortly have "too many" mmu_idx.
1
Otherwise we hit the default assert not reached.
2
The current minimum barrier is caused by the way in which
2
Handle it as MO_ATOM_NONE, because of size and misalignment.
3
tlb_flush_page_by_mmuidx is coded.
3
We already handle this correctly in do_ld16_beN.
4
5
We can remove this limitation by allocating memory for
6
consumption by the worker. Let us assume that this is
7
the unlikely case, as will be the case for the majority
8
of targets which have so far satisfied the BUILD_BUG_ON,
9
and only allocate memory when necessary.
10
4
11
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
5
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
12
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
6
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
13
---
7
---
14
accel/tcg/cputlb.c | 167 +++++++++++++++++++++++++++++++++++----------
8
accel/tcg/cputlb.c | 1 +
15
1 file changed, 132 insertions(+), 35 deletions(-)
9
1 file changed, 1 insertion(+)
16
10
17
diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c
11
diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c
18
index XXXXXXX..XXXXXXX 100644
12
index XXXXXXX..XXXXXXX 100644
19
--- a/accel/tcg/cputlb.c
13
--- a/accel/tcg/cputlb.c
20
+++ b/accel/tcg/cputlb.c
14
+++ b/accel/tcg/cputlb.c
21
@@ -XXX,XX +XXX,XX @@ static void tlb_flush_page_locked(CPUArchState *env, int midx,
15
@@ -XXX,XX +XXX,XX @@ static uint64_t do_st16_leN(CPUArchState *env, MMULookupPageData *p,
22
}
16
* and so neither is atomic.
23
}
17
*/
24
18
case MO_ATOM_IFALIGN:
25
-/* As we are going to hijack the bottom bits of the page address for a
19
+ case MO_ATOM_WITHIN16:
26
- * mmuidx bit mask we need to fail to build if we can't do that
20
case MO_ATOM_NONE:
27
+/**
21
stq_le_p(p->haddr, int128_getlo(val_le));
28
+ * tlb_flush_page_by_mmuidx_async_0:
22
return store_bytes_leN(p->haddr + 8, p->size - 8,
29
+ * @cpu: cpu on which to flush
30
+ * @addr: page of virtual address to flush
31
+ * @idxmap: set of mmu_idx to flush
32
+ *
33
+ * Helper for tlb_flush_page_by_mmuidx and friends, flush one page
34
+ * at @addr from the tlbs indicated by @idxmap from @cpu.
35
*/
36
-QEMU_BUILD_BUG_ON(NB_MMU_MODES > TARGET_PAGE_BITS_MIN);
37
-
38
-static void tlb_flush_page_by_mmuidx_async_work(CPUState *cpu,
39
- run_on_cpu_data data)
40
+static void tlb_flush_page_by_mmuidx_async_0(CPUState *cpu,
41
+ target_ulong addr,
42
+ uint16_t idxmap)
43
{
44
CPUArchState *env = cpu->env_ptr;
45
- target_ulong addr_and_mmuidx = (target_ulong) data.target_ptr;
46
- target_ulong addr = addr_and_mmuidx & TARGET_PAGE_MASK;
47
- unsigned long mmu_idx_bitmap = addr_and_mmuidx & ALL_MMUIDX_BITS;
48
int mmu_idx;
49
50
assert_cpu_is_self(cpu);
51
52
- tlb_debug("page addr:" TARGET_FMT_lx " mmu_map:0x%lx\n",
53
- addr, mmu_idx_bitmap);
54
+ tlb_debug("page addr:" TARGET_FMT_lx " mmu_map:0x%x\n", addr, idxmap);
55
56
qemu_spin_lock(&env_tlb(env)->c.lock);
57
for (mmu_idx = 0; mmu_idx < NB_MMU_MODES; mmu_idx++) {
58
- if (test_bit(mmu_idx, &mmu_idx_bitmap)) {
59
+ if ((idxmap >> mmu_idx) & 1) {
60
tlb_flush_page_locked(env, mmu_idx, addr);
61
}
62
}
63
@@ -XXX,XX +XXX,XX @@ static void tlb_flush_page_by_mmuidx_async_work(CPUState *cpu,
64
tb_flush_jmp_cache(cpu, addr);
65
}
66
67
+/**
68
+ * tlb_flush_page_by_mmuidx_async_1:
69
+ * @cpu: cpu on which to flush
70
+ * @data: encoded addr + idxmap
71
+ *
72
+ * Helper for tlb_flush_page_by_mmuidx and friends, called through
73
+ * async_run_on_cpu. The idxmap parameter is encoded in the page
74
+ * offset of the target_ptr field. This limits the set of mmu_idx
75
+ * that can be passed via this method.
76
+ */
77
+static void tlb_flush_page_by_mmuidx_async_1(CPUState *cpu,
78
+ run_on_cpu_data data)
79
+{
80
+ target_ulong addr_and_idxmap = (target_ulong) data.target_ptr;
81
+ target_ulong addr = addr_and_idxmap & TARGET_PAGE_MASK;
82
+ uint16_t idxmap = addr_and_idxmap & ~TARGET_PAGE_MASK;
83
+
84
+ tlb_flush_page_by_mmuidx_async_0(cpu, addr, idxmap);
85
+}
86
+
87
+typedef struct {
88
+ target_ulong addr;
89
+ uint16_t idxmap;
90
+} TLBFlushPageByMMUIdxData;
91
+
92
+/**
93
+ * tlb_flush_page_by_mmuidx_async_2:
94
+ * @cpu: cpu on which to flush
95
+ * @data: allocated addr + idxmap
96
+ *
97
+ * Helper for tlb_flush_page_by_mmuidx and friends, called through
98
+ * async_run_on_cpu. The addr+idxmap parameters are stored in a
99
+ * TLBFlushPageByMMUIdxData structure that has been allocated
100
+ * specifically for this helper. Free the structure when done.
101
+ */
102
+static void tlb_flush_page_by_mmuidx_async_2(CPUState *cpu,
103
+ run_on_cpu_data data)
104
+{
105
+ TLBFlushPageByMMUIdxData *d = data.host_ptr;
106
+
107
+ tlb_flush_page_by_mmuidx_async_0(cpu, d->addr, d->idxmap);
108
+ g_free(d);
109
+}
110
+
111
void tlb_flush_page_by_mmuidx(CPUState *cpu, target_ulong addr, uint16_t idxmap)
112
{
113
- target_ulong addr_and_mmu_idx;
114
-
115
tlb_debug("addr: "TARGET_FMT_lx" mmu_idx:%" PRIx16 "\n", addr, idxmap);
116
117
/* This should already be page aligned */
118
- addr_and_mmu_idx = addr & TARGET_PAGE_MASK;
119
- addr_and_mmu_idx |= idxmap;
120
+ addr &= TARGET_PAGE_MASK;
121
122
- if (!qemu_cpu_is_self(cpu)) {
123
- async_run_on_cpu(cpu, tlb_flush_page_by_mmuidx_async_work,
124
- RUN_ON_CPU_TARGET_PTR(addr_and_mmu_idx));
125
+ if (qemu_cpu_is_self(cpu)) {
126
+ tlb_flush_page_by_mmuidx_async_0(cpu, addr, idxmap);
127
+ } else if (idxmap < TARGET_PAGE_SIZE) {
128
+ /*
129
+ * Most targets have only a few mmu_idx. In the case where
130
+ * we can stuff idxmap into the low TARGET_PAGE_BITS, avoid
131
+ * allocating memory for this operation.
132
+ */
133
+ async_run_on_cpu(cpu, tlb_flush_page_by_mmuidx_async_1,
134
+ RUN_ON_CPU_TARGET_PTR(addr | idxmap));
135
} else {
136
- tlb_flush_page_by_mmuidx_async_work(
137
- cpu, RUN_ON_CPU_TARGET_PTR(addr_and_mmu_idx));
138
+ TLBFlushPageByMMUIdxData *d = g_new(TLBFlushPageByMMUIdxData, 1);
139
+
140
+ /* Otherwise allocate a structure, freed by the worker. */
141
+ d->addr = addr;
142
+ d->idxmap = idxmap;
143
+ async_run_on_cpu(cpu, tlb_flush_page_by_mmuidx_async_2,
144
+ RUN_ON_CPU_HOST_PTR(d));
145
}
146
}
147
148
@@ -XXX,XX +XXX,XX @@ void tlb_flush_page(CPUState *cpu, target_ulong addr)
149
void tlb_flush_page_by_mmuidx_all_cpus(CPUState *src_cpu, target_ulong addr,
150
uint16_t idxmap)
151
{
152
- const run_on_cpu_func fn = tlb_flush_page_by_mmuidx_async_work;
153
- target_ulong addr_and_mmu_idx;
154
-
155
tlb_debug("addr: "TARGET_FMT_lx" mmu_idx:%"PRIx16"\n", addr, idxmap);
156
157
/* This should already be page aligned */
158
- addr_and_mmu_idx = addr & TARGET_PAGE_MASK;
159
- addr_and_mmu_idx |= idxmap;
160
+ addr &= TARGET_PAGE_MASK;
161
162
- flush_all_helper(src_cpu, fn, RUN_ON_CPU_TARGET_PTR(addr_and_mmu_idx));
163
- fn(src_cpu, RUN_ON_CPU_TARGET_PTR(addr_and_mmu_idx));
164
+ /*
165
+ * Allocate memory to hold addr+idxmap only when needed.
166
+ * See tlb_flush_page_by_mmuidx for details.
167
+ */
168
+ if (idxmap < TARGET_PAGE_SIZE) {
169
+ flush_all_helper(src_cpu, tlb_flush_page_by_mmuidx_async_1,
170
+ RUN_ON_CPU_TARGET_PTR(addr | idxmap));
171
+ } else {
172
+ CPUState *dst_cpu;
173
+
174
+ /* Allocate a separate data block for each destination cpu. */
175
+ CPU_FOREACH(dst_cpu) {
176
+ if (dst_cpu != src_cpu) {
177
+ TLBFlushPageByMMUIdxData *d
178
+ = g_new(TLBFlushPageByMMUIdxData, 1);
179
+
180
+ d->addr = addr;
181
+ d->idxmap = idxmap;
182
+ async_run_on_cpu(dst_cpu, tlb_flush_page_by_mmuidx_async_2,
183
+ RUN_ON_CPU_HOST_PTR(d));
184
+ }
185
+ }
186
+ }
187
+
188
+ tlb_flush_page_by_mmuidx_async_0(src_cpu, addr, idxmap);
189
}
190
191
void tlb_flush_page_all_cpus(CPUState *src, target_ulong addr)
192
@@ -XXX,XX +XXX,XX @@ void tlb_flush_page_by_mmuidx_all_cpus_synced(CPUState *src_cpu,
193
target_ulong addr,
194
uint16_t idxmap)
195
{
196
- const run_on_cpu_func fn = tlb_flush_page_by_mmuidx_async_work;
197
- target_ulong addr_and_mmu_idx;
198
-
199
tlb_debug("addr: "TARGET_FMT_lx" mmu_idx:%"PRIx16"\n", addr, idxmap);
200
201
/* This should already be page aligned */
202
- addr_and_mmu_idx = addr & TARGET_PAGE_MASK;
203
- addr_and_mmu_idx |= idxmap;
204
+ addr &= TARGET_PAGE_MASK;
205
206
- flush_all_helper(src_cpu, fn, RUN_ON_CPU_TARGET_PTR(addr_and_mmu_idx));
207
- async_safe_run_on_cpu(src_cpu, fn, RUN_ON_CPU_TARGET_PTR(addr_and_mmu_idx));
208
+ /*
209
+ * Allocate memory to hold addr+idxmap only when needed.
210
+ * See tlb_flush_page_by_mmuidx for details.
211
+ */
212
+ if (idxmap < TARGET_PAGE_SIZE) {
213
+ flush_all_helper(src_cpu, tlb_flush_page_by_mmuidx_async_1,
214
+ RUN_ON_CPU_TARGET_PTR(addr | idxmap));
215
+ async_safe_run_on_cpu(src_cpu, tlb_flush_page_by_mmuidx_async_1,
216
+ RUN_ON_CPU_TARGET_PTR(addr | idxmap));
217
+ } else {
218
+ CPUState *dst_cpu;
219
+ TLBFlushPageByMMUIdxData *d;
220
+
221
+ /* Allocate a separate data block for each destination cpu. */
222
+ CPU_FOREACH(dst_cpu) {
223
+ if (dst_cpu != src_cpu) {
224
+ d = g_new(TLBFlushPageByMMUIdxData, 1);
225
+ d->addr = addr;
226
+ d->idxmap = idxmap;
227
+ async_run_on_cpu(dst_cpu, tlb_flush_page_by_mmuidx_async_2,
228
+ RUN_ON_CPU_HOST_PTR(d));
229
+ }
230
+ }
231
+
232
+ d = g_new(TLBFlushPageByMMUIdxData, 1);
233
+ d->addr = addr;
234
+ d->idxmap = idxmap;
235
+ async_safe_run_on_cpu(src_cpu, tlb_flush_page_by_mmuidx_async_2,
236
+ RUN_ON_CPU_HOST_PTR(d));
237
+ }
238
}
239
240
void tlb_flush_page_all_cpus_synced(CPUState *src, target_ulong addr)
241
--
23
--
242
2.20.1
24
2.34.1
243
244
diff view generated by jsdifflib
1
There's little point in leaving these data structures half initialized,
1
Restructure the ifdef ladder, separating 64-bit from 32-bit,
2
and relying on a flush to be done during reset.
2
and ensure _CALL_AIX is set for ELF v1. Fixes the build for
3
ppc64 big-endian host with clang.
3
4
4
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
5
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
5
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
6
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
6
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
7
---
7
---
8
accel/tcg/cputlb.c | 5 +++--
8
tcg/ppc/tcg-target.c.inc | 23 ++++++++++++++++-------
9
1 file changed, 3 insertions(+), 2 deletions(-)
9
1 file changed, 16 insertions(+), 7 deletions(-)
10
10
11
diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c
11
diff --git a/tcg/ppc/tcg-target.c.inc b/tcg/ppc/tcg-target.c.inc
12
index XXXXXXX..XXXXXXX 100644
12
index XXXXXXX..XXXXXXX 100644
13
--- a/accel/tcg/cputlb.c
13
--- a/tcg/ppc/tcg-target.c.inc
14
+++ b/accel/tcg/cputlb.c
14
+++ b/tcg/ppc/tcg-target.c.inc
15
@@ -XXX,XX +XXX,XX @@ static void tlb_mmu_init(CPUTLBDesc *desc, CPUTLBDescFast *fast, int64_t now)
15
@@ -XXX,XX +XXX,XX @@
16
fast->mask = (n_entries - 1) << CPU_TLB_ENTRY_BITS;
16
/*
17
fast->table = g_new(CPUTLBEntry, n_entries);
17
* Standardize on the _CALL_FOO symbols used by GCC:
18
desc->iotlb = g_new(CPUIOTLBEntry, n_entries);
18
* Apple XCode does not define _CALL_DARWIN.
19
+ tlb_mmu_flush_locked(desc, fast);
19
- * Clang defines _CALL_ELF (64-bit) but not _CALL_SYSV (32-bit).
20
}
20
+ * Clang defines _CALL_ELF (64-bit) but not _CALL_SYSV or _CALL_AIX.
21
21
*/
22
static inline void tlb_n_used_entries_inc(CPUArchState *env, uintptr_t mmu_idx)
22
-#if !defined(_CALL_SYSV) && \
23
@@ -XXX,XX +XXX,XX @@ void tlb_init(CPUState *cpu)
23
- !defined(_CALL_DARWIN) && \
24
24
- !defined(_CALL_AIX) && \
25
qemu_spin_init(&env_tlb(env)->c.lock);
25
- !defined(_CALL_ELF)
26
26
-# if defined(__APPLE__)
27
- /* Ensure that cpu_reset performs a full flush. */
27
+#if TCG_TARGET_REG_BITS == 64
28
- env_tlb(env)->c.dirty = ALL_MMUIDX_BITS;
28
+# ifdef _CALL_AIX
29
+ /* All tlbs are initialized flushed. */
29
+ /* ok */
30
+ env_tlb(env)->c.dirty = 0;
30
+# elif defined(_CALL_ELF) && _CALL_ELF == 1
31
31
+# define _CALL_AIX
32
for (i = 0; i < NB_MMU_MODES; i++) {
32
+# elif defined(_CALL_ELF) && _CALL_ELF == 2
33
tlb_mmu_init(&env_tlb(env)->d[i], &env_tlb(env)->f[i], now);
33
+ /* ok */
34
+# else
35
+# error "Unknown ABI"
36
+# endif
37
+#else
38
+# if defined(_CALL_SYSV) || defined(_CALL_DARWIN)
39
+ /* ok */
40
+# elif defined(__APPLE__)
41
# define _CALL_DARWIN
42
-# elif defined(__ELF__) && TCG_TARGET_REG_BITS == 32
43
+# elif defined(__ELF__)
44
# define _CALL_SYSV
45
# else
46
# error "Unknown ABI"
34
--
47
--
35
2.20.1
48
2.34.1
36
37
diff view generated by jsdifflib
1
From: Philippe Mathieu-Daudé <philmd@redhat.com>
1
From: Philippe Mathieu-Daudé <philmd@linaro.org>
2
2
3
To avoid scrolling each instruction when reviewing tcg
3
Since cpu_mmu_index() is well-defined for user-only,
4
helpers written for the decodetree script, display the
4
we can remove the surrounding #ifdef'ry entirely.
5
.decode files (similar to header declarations) before
6
the C source (implementation of previous declarations).
7
5
8
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
6
Suggested-by: Richard Henderson <richard.henderson@linaro.org>
9
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
7
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
10
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
8
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
11
Message-Id: <20191230082856.30556-1-philmd@redhat.com>
9
Message-Id: <20230613133347.82210-2-philmd@linaro.org>
12
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
10
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
13
---
11
---
14
scripts/git.orderfile | 3 +++
12
target/i386/tcg/translate.c | 3 ---
15
1 file changed, 3 insertions(+)
13
1 file changed, 3 deletions(-)
16
14
17
diff --git a/scripts/git.orderfile b/scripts/git.orderfile
15
diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c
18
index XXXXXXX..XXXXXXX 100644
16
index XXXXXXX..XXXXXXX 100644
19
--- a/scripts/git.orderfile
17
--- a/target/i386/tcg/translate.c
20
+++ b/scripts/git.orderfile
18
+++ b/target/i386/tcg/translate.c
21
@@ -XXX,XX +XXX,XX @@ qga/*.json
19
@@ -XXX,XX +XXX,XX @@ static void i386_tr_init_disas_context(DisasContextBase *dcbase, CPUState *cpu)
22
# headers
20
dc->cc_op_dirty = false;
23
*.h
21
dc->popl_esp_hack = 0;
24
22
/* select memory access functions */
25
+# decoding tree specification
23
- dc->mem_index = 0;
26
+*.decode
24
-#ifdef CONFIG_SOFTMMU
27
+
25
dc->mem_index = cpu_mmu_index(env, false);
28
# code
26
-#endif
29
*.c
27
dc->cpuid_features = env->features[FEAT_1_EDX];
28
dc->cpuid_ext_features = env->features[FEAT_1_ECX];
29
dc->cpuid_ext2_features = env->features[FEAT_8000_0001_EDX];
30
--
30
--
31
2.20.1
31
2.34.1
32
32
33
33
diff view generated by jsdifflib
1
Merge into the only caller, but at the same time split
1
From: Philippe Mathieu-Daudé <philmd@linaro.org>
2
out tlb_mmu_init to initialize a single tlb entry.
3
2
4
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
3
We don't build any user emulation target for Tricore,
5
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
4
only the system emulation. No need to check for it as
6
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
5
it is always defined.
6
7
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
8
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
9
Reviewed-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
10
Message-Id: <20230613133347.82210-3-philmd@linaro.org>
7
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
11
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
8
---
12
---
9
accel/tcg/cputlb.c | 33 ++++++++++++++++-----------------
13
target/tricore/helper.c | 2 --
10
1 file changed, 16 insertions(+), 17 deletions(-)
14
1 file changed, 2 deletions(-)
11
15
12
diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c
16
diff --git a/target/tricore/helper.c b/target/tricore/helper.c
13
index XXXXXXX..XXXXXXX 100644
17
index XXXXXXX..XXXXXXX 100644
14
--- a/accel/tcg/cputlb.c
18
--- a/target/tricore/helper.c
15
+++ b/accel/tcg/cputlb.c
19
+++ b/target/tricore/helper.c
16
@@ -XXX,XX +XXX,XX @@ static void tlb_window_reset(CPUTLBDesc *desc, int64_t ns,
20
@@ -XXX,XX +XXX,XX @@ enum {
17
desc->window_max_entries = max_entries;
21
TLBRET_MATCH = 0
22
};
23
24
-#if defined(CONFIG_SOFTMMU)
25
static int get_physical_address(CPUTriCoreState *env, hwaddr *physical,
26
int *prot, target_ulong address,
27
MMUAccessType access_type, int mmu_idx)
28
@@ -XXX,XX +XXX,XX @@ hwaddr tricore_cpu_get_phys_page_debug(CPUState *cs, vaddr addr)
29
}
30
return phys_addr;
18
}
31
}
19
32
-#endif
20
-static void tlb_dyn_init(CPUArchState *env)
33
21
-{
34
/* TODO: Add exeption support*/
22
- int i;
35
static void raise_mmu_exception(CPUTriCoreState *env, target_ulong address,
23
-
24
- for (i = 0; i < NB_MMU_MODES; i++) {
25
- CPUTLBDesc *desc = &env_tlb(env)->d[i];
26
- size_t n_entries = 1 << CPU_TLB_DYN_DEFAULT_BITS;
27
-
28
- tlb_window_reset(desc, get_clock_realtime(), 0);
29
- desc->n_used_entries = 0;
30
- env_tlb(env)->f[i].mask = (n_entries - 1) << CPU_TLB_ENTRY_BITS;
31
- env_tlb(env)->f[i].table = g_new(CPUTLBEntry, n_entries);
32
- env_tlb(env)->d[i].iotlb = g_new(CPUIOTLBEntry, n_entries);
33
- }
34
-}
35
-
36
/**
37
* tlb_mmu_resize_locked() - perform TLB resize bookkeeping; resize if necessary
38
* @desc: The CPUTLBDesc portion of the TLB
39
@@ -XXX,XX +XXX,XX @@ static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx)
40
tlb_mmu_flush_locked(desc, fast);
41
}
42
43
+static void tlb_mmu_init(CPUTLBDesc *desc, CPUTLBDescFast *fast, int64_t now)
44
+{
45
+ size_t n_entries = 1 << CPU_TLB_DYN_DEFAULT_BITS;
46
+
47
+ tlb_window_reset(desc, now, 0);
48
+ desc->n_used_entries = 0;
49
+ fast->mask = (n_entries - 1) << CPU_TLB_ENTRY_BITS;
50
+ fast->table = g_new(CPUTLBEntry, n_entries);
51
+ desc->iotlb = g_new(CPUIOTLBEntry, n_entries);
52
+}
53
+
54
static inline void tlb_n_used_entries_inc(CPUArchState *env, uintptr_t mmu_idx)
55
{
56
env_tlb(env)->d[mmu_idx].n_used_entries++;
57
@@ -XXX,XX +XXX,XX @@ static inline void tlb_n_used_entries_dec(CPUArchState *env, uintptr_t mmu_idx)
58
void tlb_init(CPUState *cpu)
59
{
60
CPUArchState *env = cpu->env_ptr;
61
+ int64_t now = get_clock_realtime();
62
+ int i;
63
64
qemu_spin_init(&env_tlb(env)->c.lock);
65
66
/* Ensure that cpu_reset performs a full flush. */
67
env_tlb(env)->c.dirty = ALL_MMUIDX_BITS;
68
69
- tlb_dyn_init(env);
70
+ for (i = 0; i < NB_MMU_MODES; i++) {
71
+ tlb_mmu_init(&env_tlb(env)->d[i], &env_tlb(env)->f[i], now);
72
+ }
73
}
74
75
/* flush_all_helper: run fn across all cpus
76
--
36
--
77
2.20.1
37
2.34.1
78
38
79
39
diff view generated by jsdifflib
1
Do not call get_clock_realtime() in tlb_mmu_resize_locked,
1
From: Philippe Mathieu-Daudé <philmd@linaro.org>
2
but hoist outside of any loop over a set of tlbs. This is
2
3
only two (indirect) callers, tlb_flush_by_mmuidx_async_work
3
Since we *might* have user emulation with softmmu,
4
and tlb_flush_page_locked, so not onerous.
4
replace the system emulation check by !user emulation one.
5
5
6
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
6
Invert some if() ladders for clarity.
7
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
7
8
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
8
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
9
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
10
Message-Id: <20230613133347.82210-4-philmd@linaro.org>
9
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
11
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
10
---
12
---
11
accel/tcg/cputlb.c | 14 ++++++++------
13
target/m68k/helper.h | 2 +-
12
1 file changed, 8 insertions(+), 6 deletions(-)
14
target/m68k/cpu.c | 14 ++++++--------
13
15
target/m68k/helper.c | 4 ++--
14
diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c
16
target/m68k/translate.c | 28 ++++++++++++++--------------
15
index XXXXXXX..XXXXXXX 100644
17
4 files changed, 23 insertions(+), 25 deletions(-)
16
--- a/accel/tcg/cputlb.c
18
17
+++ b/accel/tcg/cputlb.c
19
diff --git a/target/m68k/helper.h b/target/m68k/helper.h
18
@@ -XXX,XX +XXX,XX @@ static void tlb_window_reset(CPUTLBDesc *desc, int64_t ns,
20
index XXXXXXX..XXXXXXX 100644
19
* high), since otherwise we are likely to have a significant amount of
21
--- a/target/m68k/helper.h
20
* conflict misses.
22
+++ b/target/m68k/helper.h
21
*/
23
@@ -XXX,XX +XXX,XX @@ DEF_HELPER_FLAGS_4(bfffo_mem, TCG_CALL_NO_WG, i64, env, i32, s32, i32)
22
-static void tlb_mmu_resize_locked(CPUTLBDesc *desc, CPUTLBDescFast *fast)
24
DEF_HELPER_3(chk, void, env, s32, s32)
23
+static void tlb_mmu_resize_locked(CPUTLBDesc *desc, CPUTLBDescFast *fast,
25
DEF_HELPER_4(chk2, void, env, s32, s32, s32)
24
+ int64_t now)
26
25
{
27
-#if defined(CONFIG_SOFTMMU)
26
size_t old_size = tlb_n_entries(fast);
28
+#if !defined(CONFIG_USER_ONLY)
27
size_t rate;
29
DEF_HELPER_3(ptest, void, env, i32, i32)
28
size_t new_size = old_size;
30
DEF_HELPER_3(pflush, void, env, i32, i32)
29
- int64_t now = get_clock_realtime();
31
DEF_HELPER_FLAGS_1(reset, TCG_CALL_NO_RWG, void, env)
30
int64_t window_len_ms = 100;
32
diff --git a/target/m68k/cpu.c b/target/m68k/cpu.c
31
int64_t window_len_ns = window_len_ms * 1000 * 1000;
33
index XXXXXXX..XXXXXXX 100644
32
bool window_expired = now > desc->window_begin_ns + window_len_ns;
34
--- a/target/m68k/cpu.c
33
@@ -XXX,XX +XXX,XX @@ static void tlb_mmu_flush_locked(CPUTLBDesc *desc, CPUTLBDescFast *fast)
35
+++ b/target/m68k/cpu.c
34
memset(desc->vtable, -1, sizeof(desc->vtable));
36
@@ -XXX,XX +XXX,XX @@ static void m68k_cpu_reset_hold(Object *obj)
35
}
36
37
-static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx)
38
+static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx,
39
+ int64_t now)
40
{
41
CPUTLBDesc *desc = &env_tlb(env)->d[mmu_idx];
42
CPUTLBDescFast *fast = &env_tlb(env)->f[mmu_idx];
43
44
- tlb_mmu_resize_locked(desc, fast);
45
+ tlb_mmu_resize_locked(desc, fast, now);
46
tlb_mmu_flush_locked(desc, fast);
47
}
48
49
@@ -XXX,XX +XXX,XX @@ static void tlb_flush_by_mmuidx_async_work(CPUState *cpu, run_on_cpu_data data)
50
CPUArchState *env = cpu->env_ptr;
51
uint16_t asked = data.host_int;
52
uint16_t all_dirty, work, to_clean;
53
+ int64_t now = get_clock_realtime();
54
55
assert_cpu_is_self(cpu);
56
57
@@ -XXX,XX +XXX,XX @@ static void tlb_flush_by_mmuidx_async_work(CPUState *cpu, run_on_cpu_data data)
58
59
for (work = to_clean; work != 0; work &= work - 1) {
60
int mmu_idx = ctz32(work);
61
- tlb_flush_one_mmuidx_locked(env, mmu_idx);
62
+ tlb_flush_one_mmuidx_locked(env, mmu_idx, now);
63
}
37
}
64
38
65
qemu_spin_unlock(&env_tlb(env)->c.lock);
39
memset(env, 0, offsetof(CPUM68KState, end_reset_fields));
66
@@ -XXX,XX +XXX,XX @@ static void tlb_flush_page_locked(CPUArchState *env, int midx,
40
-#ifdef CONFIG_SOFTMMU
67
tlb_debug("forcing full flush midx %d ("
41
- cpu_m68k_set_sr(env, SR_S | SR_I);
68
TARGET_FMT_lx "/" TARGET_FMT_lx ")\n",
42
-#else
69
midx, lp_addr, lp_mask);
43
+#ifdef CONFIG_USER_ONLY
70
- tlb_flush_one_mmuidx_locked(env, midx);
44
cpu_m68k_set_sr(env, 0);
71
+ tlb_flush_one_mmuidx_locked(env, midx, get_clock_realtime());
45
+#else
72
} else {
46
+ cpu_m68k_set_sr(env, SR_S | SR_I);
73
if (tlb_flush_entry_locked(tlb_entry(env, midx, page), page)) {
47
#endif
74
tlb_n_used_entries_dec(env, midx);
48
for (i = 0; i < 8; i++) {
49
env->fregs[i].d = nan;
50
@@ -XXX,XX +XXX,XX @@ static void m68k_cpu_initfn(Object *obj)
51
cpu_set_cpustate_pointers(cpu);
52
}
53
54
-#if defined(CONFIG_SOFTMMU)
55
+#if !defined(CONFIG_USER_ONLY)
56
static bool fpu_needed(void *opaque)
57
{
58
M68kCPU *s = opaque;
59
@@ -XXX,XX +XXX,XX @@ static const VMStateDescription vmstate_m68k_cpu = {
60
NULL
61
},
62
};
63
-#endif
64
65
-#ifndef CONFIG_USER_ONLY
66
#include "hw/core/sysemu-cpu-ops.h"
67
68
static const struct SysemuCPUOps m68k_sysemu_ops = {
69
.get_phys_page_debug = m68k_cpu_get_phys_page_debug,
70
};
71
-#endif
72
+#endif /* !CONFIG_USER_ONLY */
73
74
#include "hw/core/tcg-cpu-ops.h"
75
76
@@ -XXX,XX +XXX,XX @@ static void m68k_cpu_class_init(ObjectClass *c, void *data)
77
cc->get_pc = m68k_cpu_get_pc;
78
cc->gdb_read_register = m68k_cpu_gdb_read_register;
79
cc->gdb_write_register = m68k_cpu_gdb_write_register;
80
-#if defined(CONFIG_SOFTMMU)
81
+#if !defined(CONFIG_USER_ONLY)
82
dc->vmsd = &vmstate_m68k_cpu;
83
cc->sysemu_ops = &m68k_sysemu_ops;
84
#endif
85
diff --git a/target/m68k/helper.c b/target/m68k/helper.c
86
index XXXXXXX..XXXXXXX 100644
87
--- a/target/m68k/helper.c
88
+++ b/target/m68k/helper.c
89
@@ -XXX,XX +XXX,XX @@ void HELPER(set_mac_extu)(CPUM68KState *env, uint32_t val, uint32_t acc)
90
env->macc[acc + 1] = res;
91
}
92
93
-#if defined(CONFIG_SOFTMMU)
94
+#if !defined(CONFIG_USER_ONLY)
95
void HELPER(ptest)(CPUM68KState *env, uint32_t addr, uint32_t is_read)
96
{
97
hwaddr physical;
98
@@ -XXX,XX +XXX,XX @@ void HELPER(reset)(CPUM68KState *env)
99
{
100
/* FIXME: reset all except CPU */
101
}
102
-#endif
103
+#endif /* !CONFIG_USER_ONLY */
104
diff --git a/target/m68k/translate.c b/target/m68k/translate.c
105
index XXXXXXX..XXXXXXX 100644
106
--- a/target/m68k/translate.c
107
+++ b/target/m68k/translate.c
108
@@ -XXX,XX +XXX,XX @@ DISAS_INSN(swap)
109
110
DISAS_INSN(bkpt)
111
{
112
-#if defined(CONFIG_SOFTMMU)
113
- gen_exception(s, s->base.pc_next, EXCP_ILLEGAL);
114
-#else
115
+#if defined(CONFIG_USER_ONLY)
116
gen_exception(s, s->base.pc_next, EXCP_DEBUG);
117
+#else
118
+ gen_exception(s, s->base.pc_next, EXCP_ILLEGAL);
119
#endif
120
}
121
122
@@ -XXX,XX +XXX,XX @@ DISAS_INSN(unlk)
123
tcg_gen_addi_i32(QREG_SP, src, 4);
124
}
125
126
-#if defined(CONFIG_SOFTMMU)
127
+#if !defined(CONFIG_USER_ONLY)
128
DISAS_INSN(reset)
129
{
130
if (IS_USER(s)) {
131
@@ -XXX,XX +XXX,XX @@ DISAS_INSN(move_from_sr)
132
DEST_EA(env, insn, OS_WORD, sr, NULL);
133
}
134
135
-#if defined(CONFIG_SOFTMMU)
136
+#if !defined(CONFIG_USER_ONLY)
137
DISAS_INSN(moves)
138
{
139
int opsize;
140
@@ -XXX,XX +XXX,XX @@ DISAS_INSN(cinv)
141
/* Invalidate cache line. Implement as no-op. */
142
}
143
144
-#if defined(CONFIG_SOFTMMU)
145
+#if !defined(CONFIG_USER_ONLY)
146
DISAS_INSN(pflush)
147
{
148
TCGv opmode;
149
@@ -XXX,XX +XXX,XX @@ DISAS_INSN(ftrapcc)
150
do_trapcc(s, &c);
151
}
152
153
-#if defined(CONFIG_SOFTMMU)
154
+#if !defined(CONFIG_USER_ONLY)
155
DISAS_INSN(frestore)
156
{
157
TCGv addr;
158
@@ -XXX,XX +XXX,XX @@ void register_m68k_insns (CPUM68KState *env)
159
BASE(bitop_im, 08c0, ffc0);
160
INSN(arith_im, 0a80, fff8, CF_ISA_A);
161
INSN(arith_im, 0a00, ff00, M68K);
162
-#if defined(CONFIG_SOFTMMU)
163
+#if !defined(CONFIG_USER_ONLY)
164
INSN(moves, 0e00, ff00, M68K);
165
#endif
166
INSN(cas, 0ac0, ffc0, CAS);
167
@@ -XXX,XX +XXX,XX @@ void register_m68k_insns (CPUM68KState *env)
168
BASE(move_to_ccr, 44c0, ffc0);
169
INSN(not, 4680, fff8, CF_ISA_A);
170
INSN(not, 4600, ff00, M68K);
171
-#if defined(CONFIG_SOFTMMU)
172
+#if !defined(CONFIG_USER_ONLY)
173
BASE(move_to_sr, 46c0, ffc0);
174
#endif
175
INSN(nbcd, 4800, ffc0, M68K);
176
@@ -XXX,XX +XXX,XX @@ void register_m68k_insns (CPUM68KState *env)
177
BASE(tst, 4a00, ff00);
178
INSN(tas, 4ac0, ffc0, CF_ISA_B);
179
INSN(tas, 4ac0, ffc0, M68K);
180
-#if defined(CONFIG_SOFTMMU)
181
+#if !defined(CONFIG_USER_ONLY)
182
INSN(halt, 4ac8, ffff, CF_ISA_A);
183
INSN(halt, 4ac8, ffff, M68K);
184
#endif
185
@@ -XXX,XX +XXX,XX @@ void register_m68k_insns (CPUM68KState *env)
186
BASE(trap, 4e40, fff0);
187
BASE(link, 4e50, fff8);
188
BASE(unlk, 4e58, fff8);
189
-#if defined(CONFIG_SOFTMMU)
190
+#if !defined(CONFIG_USER_ONLY)
191
INSN(move_to_usp, 4e60, fff8, USP);
192
INSN(move_from_usp, 4e68, fff8, USP);
193
INSN(reset, 4e70, ffff, M68K);
194
@@ -XXX,XX +XXX,XX @@ void register_m68k_insns (CPUM68KState *env)
195
INSN(ftrapcc, f27a, fffe, FPU); /* opmode 010, 011 */
196
INSN(ftrapcc, f27c, ffff, FPU); /* opmode 100 */
197
INSN(fbcc, f280, ff80, FPU);
198
-#if defined(CONFIG_SOFTMMU)
199
+#if !defined(CONFIG_USER_ONLY)
200
INSN(frestore, f340, ffc0, CF_FPU);
201
INSN(fsave, f300, ffc0, CF_FPU);
202
INSN(frestore, f340, ffc0, FPU);
203
@@ -XXX,XX +XXX,XX @@ void m68k_cpu_dump_state(CPUState *cs, FILE *f, int flags)
204
break;
205
}
206
qemu_fprintf(f, "\n");
207
-#ifdef CONFIG_SOFTMMU
208
+#ifndef CONFIG_USER_ONLY
209
qemu_fprintf(f, "%sA7(MSP) = %08x %sA7(USP) = %08x %sA7(ISP) = %08x\n",
210
env->current_sp == M68K_SSP ? "->" : " ", env->sp[M68K_SSP],
211
env->current_sp == M68K_USP ? "->" : " ", env->sp[M68K_USP],
212
@@ -XXX,XX +XXX,XX @@ void m68k_cpu_dump_state(CPUState *cs, FILE *f, int flags)
213
env->mmu.ttr[M68K_ITTR0], env->mmu.ttr[M68K_ITTR1]);
214
qemu_fprintf(f, "MMUSR %08x, fault at %08x\n",
215
env->mmu.mmusr, env->mmu.ar);
216
-#endif
217
+#endif /* !CONFIG_USER_ONLY */
218
}
75
--
219
--
76
2.20.1
220
2.34.1
77
221
78
222
diff view generated by jsdifflib
1
We do not need the entire CPUArchState to compute these values.
1
From: Philippe Mathieu-Daudé <philmd@linaro.org>
2
2
3
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
3
Since we *might* have user emulation with softmmu,
4
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
4
replace the system emulation check by !user emulation one.
5
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
5
6
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
7
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
8
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
9
Message-Id: <20230613133347.82210-5-philmd@linaro.org>
6
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
10
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
7
---
11
---
8
accel/tcg/cputlb.c | 15 ++++++++-------
12
target/ppc/cpu_init.c | 20 ++++++++++----------
9
1 file changed, 8 insertions(+), 7 deletions(-)
13
target/ppc/helper_regs.c | 6 ++----
14
2 files changed, 12 insertions(+), 14 deletions(-)
10
15
11
diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c
16
diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c
12
index XXXXXXX..XXXXXXX 100644
17
index XXXXXXX..XXXXXXX 100644
13
--- a/accel/tcg/cputlb.c
18
--- a/target/ppc/cpu_init.c
14
+++ b/accel/tcg/cputlb.c
19
+++ b/target/ppc/cpu_init.c
15
@@ -XXX,XX +XXX,XX @@ QEMU_BUILD_BUG_ON(sizeof(target_ulong) > sizeof(run_on_cpu_data));
20
@@ -XXX,XX +XXX,XX @@ POWERPC_FAMILY(970)(ObjectClass *oc, void *data)
16
QEMU_BUILD_BUG_ON(NB_MMU_MODES > 16);
21
(1ull << MSR_PMM) |
17
#define ALL_MMUIDX_BITS ((1 << NB_MMU_MODES) - 1)
22
(1ull << MSR_RI);
18
23
pcc->mmu_model = POWERPC_MMU_64B;
19
-static inline size_t tlb_n_entries(CPUArchState *env, uintptr_t mmu_idx)
24
-#if defined(CONFIG_SOFTMMU)
20
+static inline size_t tlb_n_entries(CPUTLBDescFast *fast)
25
+#if !defined(CONFIG_USER_ONLY)
26
pcc->hash64_opts = &ppc_hash64_opts_basic;
27
#endif
28
pcc->excp_model = POWERPC_EXCP_970;
29
@@ -XXX,XX +XXX,XX @@ POWERPC_FAMILY(POWER5P)(ObjectClass *oc, void *data)
30
pcc->lpcr_mask = LPCR_RMLS | LPCR_ILE | LPCR_LPES0 | LPCR_LPES1 |
31
LPCR_RMI | LPCR_HDICE;
32
pcc->mmu_model = POWERPC_MMU_2_03;
33
-#if defined(CONFIG_SOFTMMU)
34
+#if !defined(CONFIG_USER_ONLY)
35
pcc->hash64_opts = &ppc_hash64_opts_basic;
36
pcc->lrg_decr_bits = 32;
37
#endif
38
@@ -XXX,XX +XXX,XX @@ POWERPC_FAMILY(POWER7)(ObjectClass *oc, void *data)
39
LPCR_LPES0 | LPCR_LPES1 | LPCR_HDICE;
40
pcc->lpcr_pm = LPCR_P7_PECE0 | LPCR_P7_PECE1 | LPCR_P7_PECE2;
41
pcc->mmu_model = POWERPC_MMU_2_06;
42
-#if defined(CONFIG_SOFTMMU)
43
+#if !defined(CONFIG_USER_ONLY)
44
pcc->hash64_opts = &ppc_hash64_opts_POWER7;
45
pcc->lrg_decr_bits = 32;
46
#endif
47
@@ -XXX,XX +XXX,XX @@ POWERPC_FAMILY(POWER8)(ObjectClass *oc, void *data)
48
pcc->lpcr_pm = LPCR_P8_PECE0 | LPCR_P8_PECE1 | LPCR_P8_PECE2 |
49
LPCR_P8_PECE3 | LPCR_P8_PECE4;
50
pcc->mmu_model = POWERPC_MMU_2_07;
51
-#if defined(CONFIG_SOFTMMU)
52
+#if !defined(CONFIG_USER_ONLY)
53
pcc->hash64_opts = &ppc_hash64_opts_POWER7;
54
pcc->lrg_decr_bits = 32;
55
pcc->n_host_threads = 8;
56
@@ -XXX,XX +XXX,XX @@ POWERPC_FAMILY(POWER8)(ObjectClass *oc, void *data)
57
pcc->l1_icache_size = 0x8000;
58
}
59
60
-#ifdef CONFIG_SOFTMMU
61
+#ifndef CONFIG_USER_ONLY
62
/*
63
* Radix pg sizes and AP encodings for dt node ibm,processor-radix-AP-encodings
64
* Encoded as array of int_32s in the form:
65
@@ -XXX,XX +XXX,XX @@ static struct ppc_radix_page_info POWER9_radix_page_info = {
66
0x4000001e /* 1G - enc: 0x2 */
67
}
68
};
69
-#endif /* CONFIG_SOFTMMU */
70
+#endif /* CONFIG_USER_ONLY */
71
72
static void init_proc_POWER9(CPUPPCState *env)
21
{
73
{
22
- return (env_tlb(env)->f[mmu_idx].mask >> CPU_TLB_ENTRY_BITS) + 1;
74
@@ -XXX,XX +XXX,XX @@ POWERPC_FAMILY(POWER9)(ObjectClass *oc, void *data)
23
+ return (fast->mask >> CPU_TLB_ENTRY_BITS) + 1;
75
LPCR_HEIC | LPCR_LPES0 | LPCR_HVICE | LPCR_HDICE;
76
pcc->lpcr_pm = LPCR_PDEE | LPCR_HDEE | LPCR_EEE | LPCR_DEE | LPCR_OEE;
77
pcc->mmu_model = POWERPC_MMU_3_00;
78
-#if defined(CONFIG_SOFTMMU)
79
+#if !defined(CONFIG_USER_ONLY)
80
/* segment page size remain the same */
81
pcc->hash64_opts = &ppc_hash64_opts_POWER7;
82
pcc->radix_page_info = &POWER9_radix_page_info;
83
@@ -XXX,XX +XXX,XX @@ POWERPC_FAMILY(POWER9)(ObjectClass *oc, void *data)
84
pcc->l1_icache_size = 0x8000;
24
}
85
}
25
86
26
-static inline size_t sizeof_tlb(CPUArchState *env, uintptr_t mmu_idx)
87
-#ifdef CONFIG_SOFTMMU
27
+static inline size_t sizeof_tlb(CPUTLBDescFast *fast)
88
+#ifndef CONFIG_USER_ONLY
89
/*
90
* Radix pg sizes and AP encodings for dt node ibm,processor-radix-AP-encodings
91
* Encoded as array of int_32s in the form:
92
@@ -XXX,XX +XXX,XX @@ static struct ppc_radix_page_info POWER10_radix_page_info = {
93
0x4000001e /* 1G - enc: 0x2 */
94
}
95
};
96
-#endif /* CONFIG_SOFTMMU */
97
+#endif /* !CONFIG_USER_ONLY */
98
99
static void init_proc_POWER10(CPUPPCState *env)
28
{
100
{
29
- return env_tlb(env)->f[mmu_idx].mask + (1 << CPU_TLB_ENTRY_BITS);
101
@@ -XXX,XX +XXX,XX @@ POWERPC_FAMILY(POWER10)(ObjectClass *oc, void *data)
30
+ return fast->mask + (1 << CPU_TLB_ENTRY_BITS);
102
103
pcc->lpcr_pm = LPCR_PDEE | LPCR_HDEE | LPCR_EEE | LPCR_DEE | LPCR_OEE;
104
pcc->mmu_model = POWERPC_MMU_3_00;
105
-#if defined(CONFIG_SOFTMMU)
106
+#if !defined(CONFIG_USER_ONLY)
107
/* segment page size remain the same */
108
pcc->hash64_opts = &ppc_hash64_opts_POWER7;
109
pcc->radix_page_info = &POWER10_radix_page_info;
110
diff --git a/target/ppc/helper_regs.c b/target/ppc/helper_regs.c
111
index XXXXXXX..XXXXXXX 100644
112
--- a/target/ppc/helper_regs.c
113
+++ b/target/ppc/helper_regs.c
114
@@ -XXX,XX +XXX,XX @@ int hreg_store_msr(CPUPPCState *env, target_ulong value, int alter_hv)
115
return excp;
31
}
116
}
32
117
33
static void tlb_window_reset(CPUTLBDesc *desc, int64_t ns,
118
-#ifdef CONFIG_SOFTMMU
34
@@ -XXX,XX +XXX,XX @@ static void tlb_dyn_init(CPUArchState *env)
119
+#ifndef CONFIG_USER_ONLY
35
static void tlb_mmu_resize_locked(CPUArchState *env, int mmu_idx)
120
void store_40x_sler(CPUPPCState *env, uint32_t val)
36
{
121
{
37
CPUTLBDesc *desc = &env_tlb(env)->d[mmu_idx];
122
/* XXX: TO BE FIXED */
38
- size_t old_size = tlb_n_entries(env, mmu_idx);
123
@@ -XXX,XX +XXX,XX @@ void store_40x_sler(CPUPPCState *env, uint32_t val)
39
+ size_t old_size = tlb_n_entries(&env_tlb(env)->f[mmu_idx]);
124
}
40
size_t rate;
125
env->spr[SPR_405_SLER] = val;
41
size_t new_size = old_size;
42
int64_t now = get_clock_realtime();
43
@@ -XXX,XX +XXX,XX @@ static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx)
44
env_tlb(env)->d[mmu_idx].large_page_addr = -1;
45
env_tlb(env)->d[mmu_idx].large_page_mask = -1;
46
env_tlb(env)->d[mmu_idx].vindex = 0;
47
- memset(env_tlb(env)->f[mmu_idx].table, -1, sizeof_tlb(env, mmu_idx));
48
+ memset(env_tlb(env)->f[mmu_idx].table, -1,
49
+ sizeof_tlb(&env_tlb(env)->f[mmu_idx]));
50
memset(env_tlb(env)->d[mmu_idx].vtable, -1,
51
sizeof(env_tlb(env)->d[0].vtable));
52
}
126
}
53
@@ -XXX,XX +XXX,XX @@ void tlb_reset_dirty(CPUState *cpu, ram_addr_t start1, ram_addr_t length)
127
-#endif /* CONFIG_SOFTMMU */
54
qemu_spin_lock(&env_tlb(env)->c.lock);
128
55
for (mmu_idx = 0; mmu_idx < NB_MMU_MODES; mmu_idx++) {
129
-#ifndef CONFIG_USER_ONLY
56
unsigned int i;
130
void check_tlb_flush(CPUPPCState *env, bool global)
57
- unsigned int n = tlb_n_entries(env, mmu_idx);
131
{
58
+ unsigned int n = tlb_n_entries(&env_tlb(env)->f[mmu_idx]);
132
CPUState *cs = env_cpu(env);
59
133
@@ -XXX,XX +XXX,XX @@ void check_tlb_flush(CPUPPCState *env, bool global)
60
for (i = 0; i < n; i++) {
134
tlb_flush(cs);
61
tlb_reset_dirty_range_locked(&env_tlb(env)->f[mmu_idx].table[i],
135
}
136
}
137
-#endif
138
+#endif /* !CONFIG_USER_ONLY */
139
140
/**
141
* _spr_register
62
--
142
--
63
2.20.1
143
2.34.1
64
144
65
145
diff view generated by jsdifflib
1
We will want to be able to flush a tlb without resizing.
1
From: Philippe Mathieu-Daudé <philmd@linaro.org>
2
2
3
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
3
Since we *might* have user emulation with softmmu,
4
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
4
replace the system emulation check by !user emulation one.
5
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
5
6
Invert the #ifdef'ry in TCGCPUOps structure for clarity.
7
8
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
9
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
10
Message-Id: <20230613133347.82210-6-philmd@linaro.org>
6
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
11
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
7
---
12
---
8
accel/tcg/cputlb.c | 15 ++++++++++-----
13
include/hw/core/cpu.h | 4 +-
9
1 file changed, 10 insertions(+), 5 deletions(-)
14
include/hw/core/tcg-cpu-ops.h | 102 +++++++++++++++++-----------------
15
2 files changed, 53 insertions(+), 53 deletions(-)
10
16
11
diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c
17
diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
12
index XXXXXXX..XXXXXXX 100644
18
index XXXXXXX..XXXXXXX 100644
13
--- a/accel/tcg/cputlb.c
19
--- a/include/hw/core/cpu.h
14
+++ b/accel/tcg/cputlb.c
20
+++ b/include/hw/core/cpu.h
15
@@ -XXX,XX +XXX,XX @@ static void tlb_mmu_resize_locked(CPUTLBDesc *desc, CPUTLBDescFast *fast)
21
@@ -XXX,XX +XXX,XX @@ void page_size_init(void);
16
}
22
23
#ifdef NEED_CPU_H
24
25
-#ifdef CONFIG_SOFTMMU
26
+#ifndef CONFIG_USER_ONLY
27
28
extern const VMStateDescription vmstate_cpu_common;
29
30
@@ -XXX,XX +XXX,XX @@ extern const VMStateDescription vmstate_cpu_common;
31
.flags = VMS_STRUCT, \
32
.offset = 0, \
17
}
33
}
18
34
-#endif /* CONFIG_SOFTMMU */
19
-static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx)
35
+#endif /* !CONFIG_USER_ONLY */
20
+static void tlb_mmu_flush_locked(CPUTLBDesc *desc, CPUTLBDescFast *fast)
36
21
{
37
#endif /* NEED_CPU_H */
22
- CPUTLBDesc *desc = &env_tlb(env)->d[mmu_idx];
38
23
- CPUTLBDescFast *fast = &env_tlb(env)->f[mmu_idx];
39
diff --git a/include/hw/core/tcg-cpu-ops.h b/include/hw/core/tcg-cpu-ops.h
24
-
40
index XXXXXXX..XXXXXXX 100644
25
- tlb_mmu_resize_locked(desc, fast);
41
--- a/include/hw/core/tcg-cpu-ops.h
26
desc->n_used_entries = 0;
42
+++ b/include/hw/core/tcg-cpu-ops.h
27
desc->large_page_addr = -1;
43
@@ -XXX,XX +XXX,XX @@ struct TCGCPUOps {
28
desc->large_page_mask = -1;
44
*/
29
@@ -XXX,XX +XXX,XX @@ static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx)
45
void (*do_interrupt)(CPUState *cpu);
30
memset(desc->vtable, -1, sizeof(desc->vtable));
46
#endif /* !CONFIG_USER_ONLY || !TARGET_I386 */
31
}
47
-#ifdef CONFIG_SOFTMMU
32
48
+#ifdef CONFIG_USER_ONLY
33
+static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx)
49
+ /**
34
+{
50
+ * record_sigsegv:
35
+ CPUTLBDesc *desc = &env_tlb(env)->d[mmu_idx];
51
+ * @cpu: cpu context
36
+ CPUTLBDescFast *fast = &env_tlb(env)->f[mmu_idx];
52
+ * @addr: faulting guest address
37
+
53
+ * @access_type: access was read/write/execute
38
+ tlb_mmu_resize_locked(desc, fast);
54
+ * @maperr: true for invalid page, false for permission fault
39
+ tlb_mmu_flush_locked(desc, fast);
55
+ * @ra: host pc for unwinding
40
+}
56
+ *
41
+
57
+ * We are about to raise SIGSEGV with si_code set for @maperr,
42
static inline void tlb_n_used_entries_inc(CPUArchState *env, uintptr_t mmu_idx)
58
+ * and si_addr set for @addr. Record anything further needed
43
{
59
+ * for the signal ucontext_t.
44
env_tlb(env)->d[mmu_idx].n_used_entries++;
60
+ *
61
+ * If the emulated kernel does not provide anything to the signal
62
+ * handler with anything besides the user context registers, and
63
+ * the siginfo_t, then this hook need do nothing and may be omitted.
64
+ * Otherwise, record the data and return; the caller will raise
65
+ * the signal, unwind the cpu state, and return to the main loop.
66
+ *
67
+ * If it is simpler to re-use the sysemu tlb_fill code, @ra is provided
68
+ * so that a "normal" cpu exception can be raised. In this case,
69
+ * the signal must be raised by the architecture cpu_loop.
70
+ */
71
+ void (*record_sigsegv)(CPUState *cpu, vaddr addr,
72
+ MMUAccessType access_type,
73
+ bool maperr, uintptr_t ra);
74
+ /**
75
+ * record_sigbus:
76
+ * @cpu: cpu context
77
+ * @addr: misaligned guest address
78
+ * @access_type: access was read/write/execute
79
+ * @ra: host pc for unwinding
80
+ *
81
+ * We are about to raise SIGBUS with si_code BUS_ADRALN,
82
+ * and si_addr set for @addr. Record anything further needed
83
+ * for the signal ucontext_t.
84
+ *
85
+ * If the emulated kernel does not provide the signal handler with
86
+ * anything besides the user context registers, and the siginfo_t,
87
+ * then this hook need do nothing and may be omitted.
88
+ * Otherwise, record the data and return; the caller will raise
89
+ * the signal, unwind the cpu state, and return to the main loop.
90
+ *
91
+ * If it is simpler to re-use the sysemu do_unaligned_access code,
92
+ * @ra is provided so that a "normal" cpu exception can be raised.
93
+ * In this case, the signal must be raised by the architecture cpu_loop.
94
+ */
95
+ void (*record_sigbus)(CPUState *cpu, vaddr addr,
96
+ MMUAccessType access_type, uintptr_t ra);
97
+#else
98
/** @cpu_exec_interrupt: Callback for processing interrupts in cpu_exec */
99
bool (*cpu_exec_interrupt)(CPUState *cpu, int interrupt_request);
100
/**
101
@@ -XXX,XX +XXX,XX @@ struct TCGCPUOps {
102
*/
103
bool (*io_recompile_replay_branch)(CPUState *cpu,
104
const TranslationBlock *tb);
105
-#else
106
- /**
107
- * record_sigsegv:
108
- * @cpu: cpu context
109
- * @addr: faulting guest address
110
- * @access_type: access was read/write/execute
111
- * @maperr: true for invalid page, false for permission fault
112
- * @ra: host pc for unwinding
113
- *
114
- * We are about to raise SIGSEGV with si_code set for @maperr,
115
- * and si_addr set for @addr. Record anything further needed
116
- * for the signal ucontext_t.
117
- *
118
- * If the emulated kernel does not provide anything to the signal
119
- * handler with anything besides the user context registers, and
120
- * the siginfo_t, then this hook need do nothing and may be omitted.
121
- * Otherwise, record the data and return; the caller will raise
122
- * the signal, unwind the cpu state, and return to the main loop.
123
- *
124
- * If it is simpler to re-use the sysemu tlb_fill code, @ra is provided
125
- * so that a "normal" cpu exception can be raised. In this case,
126
- * the signal must be raised by the architecture cpu_loop.
127
- */
128
- void (*record_sigsegv)(CPUState *cpu, vaddr addr,
129
- MMUAccessType access_type,
130
- bool maperr, uintptr_t ra);
131
- /**
132
- * record_sigbus:
133
- * @cpu: cpu context
134
- * @addr: misaligned guest address
135
- * @access_type: access was read/write/execute
136
- * @ra: host pc for unwinding
137
- *
138
- * We are about to raise SIGBUS with si_code BUS_ADRALN,
139
- * and si_addr set for @addr. Record anything further needed
140
- * for the signal ucontext_t.
141
- *
142
- * If the emulated kernel does not provide the signal handler with
143
- * anything besides the user context registers, and the siginfo_t,
144
- * then this hook need do nothing and may be omitted.
145
- * Otherwise, record the data and return; the caller will raise
146
- * the signal, unwind the cpu state, and return to the main loop.
147
- *
148
- * If it is simpler to re-use the sysemu do_unaligned_access code,
149
- * @ra is provided so that a "normal" cpu exception can be raised.
150
- * In this case, the signal must be raised by the architecture cpu_loop.
151
- */
152
- void (*record_sigbus)(CPUState *cpu, vaddr addr,
153
- MMUAccessType access_type, uintptr_t ra);
154
-#endif /* CONFIG_SOFTMMU */
155
+#endif /* !CONFIG_USER_ONLY */
156
#endif /* NEED_CPU_H */
157
158
};
45
--
159
--
46
2.20.1
160
2.34.1
47
161
48
162
diff view generated by jsdifflib
1
There are no users of this function outside cputlb.c,
1
From: Philippe Mathieu-Daudé <philmd@linaro.org>
2
and its interface will change in the next patch.
3
2
4
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
3
Since we *might* have user emulation with softmmu,
5
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
4
replace the system emulation check by !user emulation one.
6
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
5
6
Invert some if() ladders for clarity.
7
8
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
9
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
10
Message-Id: <20230613133347.82210-7-philmd@linaro.org>
7
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
11
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
8
---
12
---
9
include/exec/cpu_ldst.h | 5 -----
13
accel/tcg/internal.h | 6 +++---
10
accel/tcg/cputlb.c | 5 +++++
14
accel/tcg/cpu-exec.c | 4 ++--
11
2 files changed, 5 insertions(+), 5 deletions(-)
15
2 files changed, 5 insertions(+), 5 deletions(-)
12
16
13
diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h
17
diff --git a/accel/tcg/internal.h b/accel/tcg/internal.h
14
index XXXXXXX..XXXXXXX 100644
18
index XXXXXXX..XXXXXXX 100644
15
--- a/include/exec/cpu_ldst.h
19
--- a/accel/tcg/internal.h
16
+++ b/include/exec/cpu_ldst.h
20
+++ b/accel/tcg/internal.h
17
@@ -XXX,XX +XXX,XX @@ static inline uintptr_t tlb_index(CPUArchState *env, uintptr_t mmu_idx,
21
@@ -XXX,XX +XXX,XX @@
18
return (addr >> TARGET_PAGE_BITS) & size_mask;
22
* memory related structures are protected with mmap_lock.
19
}
23
* In !user-mode we use per-page locks.
20
24
*/
21
-static inline size_t tlb_n_entries(CPUArchState *env, uintptr_t mmu_idx)
25
-#ifdef CONFIG_SOFTMMU
22
-{
26
-#define assert_memory_lock()
23
- return (env_tlb(env)->f[mmu_idx].mask >> CPU_TLB_ENTRY_BITS) + 1;
27
-#else
24
-}
28
+#ifdef CONFIG_USER_ONLY
25
-
29
#define assert_memory_lock() tcg_debug_assert(have_mmap_lock())
26
/* Find the TLB entry corresponding to the mmu_idx + address pair. */
30
+#else
27
static inline CPUTLBEntry *tlb_entry(CPUArchState *env, uintptr_t mmu_idx,
31
+#define assert_memory_lock()
28
target_ulong addr)
32
#endif
29
diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c
33
34
#if defined(CONFIG_SOFTMMU) && defined(CONFIG_DEBUG_TCG)
35
diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c
30
index XXXXXXX..XXXXXXX 100644
36
index XXXXXXX..XXXXXXX 100644
31
--- a/accel/tcg/cputlb.c
37
--- a/accel/tcg/cpu-exec.c
32
+++ b/accel/tcg/cputlb.c
38
+++ b/accel/tcg/cpu-exec.c
33
@@ -XXX,XX +XXX,XX @@ QEMU_BUILD_BUG_ON(sizeof(target_ulong) > sizeof(run_on_cpu_data));
39
@@ -XXX,XX +XXX,XX @@ void cpu_exec_step_atomic(CPUState *cpu)
34
QEMU_BUILD_BUG_ON(NB_MMU_MODES > 16);
40
cpu_tb_exec(cpu, tb, &tb_exit);
35
#define ALL_MMUIDX_BITS ((1 << NB_MMU_MODES) - 1)
41
cpu_exec_exit(cpu);
36
42
} else {
37
+static inline size_t tlb_n_entries(CPUArchState *env, uintptr_t mmu_idx)
43
-#ifndef CONFIG_SOFTMMU
38
+{
44
+#ifdef CONFIG_USER_ONLY
39
+ return (env_tlb(env)->f[mmu_idx].mask >> CPU_TLB_ENTRY_BITS) + 1;
45
clear_helper_retaddr();
40
+}
46
if (have_mmap_lock()) {
41
+
47
mmap_unlock();
42
static inline size_t sizeof_tlb(CPUArchState *env, uintptr_t mmu_idx)
48
@@ -XXX,XX +XXX,XX @@ static int cpu_exec_setjmp(CPUState *cpu, SyncClocks *sc)
43
{
49
/* Non-buggy compilers preserve this; assert the correct value. */
44
return env_tlb(env)->f[mmu_idx].mask + (1 << CPU_TLB_ENTRY_BITS);
50
g_assert(cpu == current_cpu);
51
52
-#ifndef CONFIG_SOFTMMU
53
+#ifdef CONFIG_USER_ONLY
54
clear_helper_retaddr();
55
if (have_mmap_lock()) {
56
mmap_unlock();
45
--
57
--
46
2.20.1
58
2.34.1
47
59
48
60
diff view generated by jsdifflib
1
No functional change, but the smaller expressions make
1
From: Philippe Mathieu-Daudé <philmd@linaro.org>
2
the code easier to read.
3
2
4
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
3
We use the CONFIG_USER_ONLY key to describe user emulation,
5
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
4
and the CONFIG_SOFTMMU key to describe system emulation. Alias
6
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
5
it as 'CONFIG_SYSTEM_ONLY' for parity with user emulation.
6
7
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
8
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
9
Message-Id: <20230613133347.82210-8-philmd@linaro.org>
7
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
10
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
8
---
11
---
9
accel/tcg/cputlb.c | 19 ++++++++++---------
12
meson.build | 1 +
10
1 file changed, 10 insertions(+), 9 deletions(-)
13
1 file changed, 1 insertion(+)
11
14
12
diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c
15
diff --git a/meson.build b/meson.build
13
index XXXXXXX..XXXXXXX 100644
16
index XXXXXXX..XXXXXXX 100644
14
--- a/accel/tcg/cputlb.c
17
--- a/meson.build
15
+++ b/accel/tcg/cputlb.c
18
+++ b/meson.build
16
@@ -XXX,XX +XXX,XX @@ static void tlb_mmu_resize_locked(CPUTLBDesc *desc, CPUTLBDescFast *fast)
19
@@ -XXX,XX +XXX,XX @@ foreach target : target_dirs
17
20
endif
18
static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx)
21
config_target += { 'CONFIG_BSD_USER': 'y' }
19
{
22
elif target.endswith('softmmu')
20
- tlb_mmu_resize_locked(&env_tlb(env)->d[mmu_idx], &env_tlb(env)->f[mmu_idx]);
23
+ config_target += { 'CONFIG_SYSTEM_ONLY': 'y' }
21
- env_tlb(env)->d[mmu_idx].n_used_entries = 0;
24
config_target += { 'CONFIG_SOFTMMU': 'y' }
22
- env_tlb(env)->d[mmu_idx].large_page_addr = -1;
25
endif
23
- env_tlb(env)->d[mmu_idx].large_page_mask = -1;
26
if target.endswith('-user')
24
- env_tlb(env)->d[mmu_idx].vindex = 0;
25
- memset(env_tlb(env)->f[mmu_idx].table, -1,
26
- sizeof_tlb(&env_tlb(env)->f[mmu_idx]));
27
- memset(env_tlb(env)->d[mmu_idx].vtable, -1,
28
- sizeof(env_tlb(env)->d[0].vtable));
29
+ CPUTLBDesc *desc = &env_tlb(env)->d[mmu_idx];
30
+ CPUTLBDescFast *fast = &env_tlb(env)->f[mmu_idx];
31
+
32
+ tlb_mmu_resize_locked(desc, fast);
33
+ desc->n_used_entries = 0;
34
+ desc->large_page_addr = -1;
35
+ desc->large_page_mask = -1;
36
+ desc->vindex = 0;
37
+ memset(fast->table, -1, sizeof_tlb(fast));
38
+ memset(desc->vtable, -1, sizeof(desc->vtable));
39
}
40
41
static inline void tlb_n_used_entries_inc(CPUArchState *env, uintptr_t mmu_idx)
42
--
27
--
43
2.20.1
28
2.34.1
44
29
45
30
diff view generated by jsdifflib
1
There is only one caller for tlb_table_flush_by_mmuidx. Place
1
From: Philippe Mathieu-Daudé <philmd@linaro.org>
2
the result at the earlier line number, due to an expected user
2
3
in the near future.
3
Since we *might* have user emulation with softmmu,
4
4
use the clearer 'CONFIG_SYSTEM_ONLY' key to check
5
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
5
for system emulation.
6
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
6
7
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
8
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
9
Message-Id: <20230613133347.82210-9-philmd@linaro.org>
7
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
10
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
8
---
11
---
9
accel/tcg/cputlb.c | 19 +++++++------------
12
meson.build | 4 ++--
10
1 file changed, 7 insertions(+), 12 deletions(-)
13
accel/qtest/meson.build | 2 +-
11
14
accel/stubs/meson.build | 2 +-
12
diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c
15
accel/tcg/meson.build | 6 +++---
13
index XXXXXXX..XXXXXXX 100644
16
dump/meson.build | 2 +-
14
--- a/accel/tcg/cputlb.c
17
hw/i386/kvm/meson.build | 2 +-
15
+++ b/accel/tcg/cputlb.c
18
migration/meson.build | 2 +-
16
@@ -XXX,XX +XXX,XX @@ static void tlb_mmu_resize_locked(CPUArchState *env, int mmu_idx)
19
monitor/meson.build | 2 +-
17
}
20
qapi/meson.build | 2 +-
21
semihosting/meson.build | 2 +-
22
softmmu/meson.build | 4 ++--
23
target/i386/tcg/sysemu/meson.build | 2 +-
24
ui/meson.build | 4 ++--
25
13 files changed, 18 insertions(+), 18 deletions(-)
26
27
diff --git a/meson.build b/meson.build
28
index XXXXXXX..XXXXXXX 100644
29
--- a/meson.build
30
+++ b/meson.build
31
@@ -XXX,XX +XXX,XX @@ config_all += config_host
32
config_all += config_all_disas
33
config_all += {
34
'CONFIG_XEN': xen.found(),
35
- 'CONFIG_SOFTMMU': have_system,
36
+ 'CONFIG_SYSTEM_ONLY': have_system,
37
'CONFIG_USER_ONLY': have_user,
38
'CONFIG_ALL': true,
18
}
39
}
19
40
@@ -XXX,XX +XXX,XX @@ endif
20
-static inline void tlb_table_flush_by_mmuidx(CPUArchState *env, int mmu_idx)
41
softmmu_ss.add(authz, blockdev, chardev, crypto, io, qmp)
21
+static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx)
42
common_ss.add(qom, qemuutil)
22
{
43
23
tlb_mmu_resize_locked(env, mmu_idx);
44
-common_ss.add_all(when: 'CONFIG_SOFTMMU', if_true: [softmmu_ss])
24
- memset(env_tlb(env)->f[mmu_idx].table, -1, sizeof_tlb(env, mmu_idx));
45
+common_ss.add_all(when: 'CONFIG_SYSTEM_ONLY', if_true: [softmmu_ss])
25
env_tlb(env)->d[mmu_idx].n_used_entries = 0;
46
common_ss.add_all(when: 'CONFIG_USER_ONLY', if_true: user_ss)
26
+ env_tlb(env)->d[mmu_idx].large_page_addr = -1;
47
27
+ env_tlb(env)->d[mmu_idx].large_page_mask = -1;
48
common_all = common_ss.apply(config_all, strict: false)
28
+ env_tlb(env)->d[mmu_idx].vindex = 0;
49
diff --git a/accel/qtest/meson.build b/accel/qtest/meson.build
29
+ memset(env_tlb(env)->f[mmu_idx].table, -1, sizeof_tlb(env, mmu_idx));
50
index XXXXXXX..XXXXXXX 100644
30
+ memset(env_tlb(env)->d[mmu_idx].vtable, -1,
51
--- a/accel/qtest/meson.build
31
+ sizeof(env_tlb(env)->d[0].vtable));
52
+++ b/accel/qtest/meson.build
32
}
53
@@ -1 +1 @@
33
54
-qtest_module_ss.add(when: ['CONFIG_SOFTMMU'], if_true: files('qtest.c'))
34
static inline void tlb_n_used_entries_inc(CPUArchState *env, uintptr_t mmu_idx)
55
+qtest_module_ss.add(when: ['CONFIG_SYSTEM_ONLY'], if_true: files('qtest.c'))
35
@@ -XXX,XX +XXX,XX @@ void tlb_flush_counts(size_t *pfull, size_t *ppart, size_t *pelide)
56
diff --git a/accel/stubs/meson.build b/accel/stubs/meson.build
36
*pelide = elide;
57
index XXXXXXX..XXXXXXX 100644
37
}
58
--- a/accel/stubs/meson.build
38
59
+++ b/accel/stubs/meson.build
39
-static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx)
60
@@ -XXX,XX +XXX,XX @@ sysemu_stubs_ss.add(when: 'CONFIG_XEN', if_false: files('xen-stub.c'))
40
-{
61
sysemu_stubs_ss.add(when: 'CONFIG_KVM', if_false: files('kvm-stub.c'))
41
- tlb_table_flush_by_mmuidx(env, mmu_idx);
62
sysemu_stubs_ss.add(when: 'CONFIG_TCG', if_false: files('tcg-stub.c'))
42
- env_tlb(env)->d[mmu_idx].large_page_addr = -1;
63
43
- env_tlb(env)->d[mmu_idx].large_page_mask = -1;
64
-specific_ss.add_all(when: ['CONFIG_SOFTMMU'], if_true: sysemu_stubs_ss)
44
- env_tlb(env)->d[mmu_idx].vindex = 0;
65
+specific_ss.add_all(when: ['CONFIG_SYSTEM_ONLY'], if_true: sysemu_stubs_ss)
45
- memset(env_tlb(env)->d[mmu_idx].vtable, -1,
66
diff --git a/accel/tcg/meson.build b/accel/tcg/meson.build
46
- sizeof(env_tlb(env)->d[0].vtable));
67
index XXXXXXX..XXXXXXX 100644
47
-}
68
--- a/accel/tcg/meson.build
48
-
69
+++ b/accel/tcg/meson.build
49
static void tlb_flush_by_mmuidx_async_work(CPUState *cpu, run_on_cpu_data data)
70
@@ -XXX,XX +XXX,XX @@ tcg_ss.add(files(
50
{
71
'translator.c',
51
CPUArchState *env = cpu->env_ptr;
72
))
73
tcg_ss.add(when: 'CONFIG_USER_ONLY', if_true: files('user-exec.c'))
74
-tcg_ss.add(when: 'CONFIG_SOFTMMU', if_false: files('user-exec-stub.c'))
75
+tcg_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_false: files('user-exec-stub.c'))
76
tcg_ss.add(when: 'CONFIG_PLUGIN', if_true: [files('plugin-gen.c')])
77
tcg_ss.add(when: libdw, if_true: files('debuginfo.c'))
78
tcg_ss.add(when: 'CONFIG_LINUX', if_true: files('perf.c'))
79
specific_ss.add_all(when: 'CONFIG_TCG', if_true: tcg_ss)
80
81
-specific_ss.add(when: ['CONFIG_SOFTMMU', 'CONFIG_TCG'], if_true: files(
82
+specific_ss.add(when: ['CONFIG_SYSTEM_ONLY', 'CONFIG_TCG'], if_true: files(
83
'cputlb.c',
84
'monitor.c',
85
))
86
87
-tcg_module_ss.add(when: ['CONFIG_SOFTMMU', 'CONFIG_TCG'], if_true: files(
88
+tcg_module_ss.add(when: ['CONFIG_SYSTEM_ONLY', 'CONFIG_TCG'], if_true: files(
89
'tcg-accel-ops.c',
90
'tcg-accel-ops-mttcg.c',
91
'tcg-accel-ops-icount.c',
92
diff --git a/dump/meson.build b/dump/meson.build
93
index XXXXXXX..XXXXXXX 100644
94
--- a/dump/meson.build
95
+++ b/dump/meson.build
96
@@ -XXX,XX +XXX,XX @@
97
softmmu_ss.add([files('dump.c', 'dump-hmp-cmds.c'), snappy, lzo])
98
-specific_ss.add(when: 'CONFIG_SOFTMMU', if_true: files('win_dump.c'))
99
+specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: files('win_dump.c'))
100
diff --git a/hw/i386/kvm/meson.build b/hw/i386/kvm/meson.build
101
index XXXXXXX..XXXXXXX 100644
102
--- a/hw/i386/kvm/meson.build
103
+++ b/hw/i386/kvm/meson.build
104
@@ -XXX,XX +XXX,XX @@ xen_stubs_ss.add(when: 'CONFIG_XEN_EMU', if_false: files(
105
'xen-stubs.c',
106
))
107
108
-specific_ss.add_all(when: 'CONFIG_SOFTMMU', if_true: xen_stubs_ss)
109
+specific_ss.add_all(when: 'CONFIG_SYSTEM_ONLY', if_true: xen_stubs_ss)
110
diff --git a/migration/meson.build b/migration/meson.build
111
index XXXXXXX..XXXXXXX 100644
112
--- a/migration/meson.build
113
+++ b/migration/meson.build
114
@@ -XXX,XX +XXX,XX @@ if get_option('live_block_migration').allowed()
115
endif
116
softmmu_ss.add(when: zstd, if_true: files('multifd-zstd.c'))
117
118
-specific_ss.add(when: 'CONFIG_SOFTMMU',
119
+specific_ss.add(when: 'CONFIG_SYSTEM_ONLY',
120
if_true: files('ram.c',
121
'target.c'))
122
diff --git a/monitor/meson.build b/monitor/meson.build
123
index XXXXXXX..XXXXXXX 100644
124
--- a/monitor/meson.build
125
+++ b/monitor/meson.build
126
@@ -XXX,XX +XXX,XX @@ softmmu_ss.add(files(
127
))
128
softmmu_ss.add([spice_headers, files('qmp-cmds.c')])
129
130
-specific_ss.add(when: 'CONFIG_SOFTMMU',
131
+specific_ss.add(when: 'CONFIG_SYSTEM_ONLY',
132
        if_true: [files( 'hmp-cmds-target.c', 'hmp-target.c'), spice])
133
diff --git a/qapi/meson.build b/qapi/meson.build
134
index XXXXXXX..XXXXXXX 100644
135
--- a/qapi/meson.build
136
+++ b/qapi/meson.build
137
@@ -XXX,XX +XXX,XX @@ foreach output : qapi_specific_outputs + qapi_nonmodule_outputs
138
if output.endswith('.trace-events')
139
qapi_trace_events += qapi_files[i]
140
endif
141
- specific_ss.add(when: 'CONFIG_SOFTMMU', if_true: qapi_files[i])
142
+ specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: qapi_files[i])
143
i = i + 1
144
endforeach
145
diff --git a/semihosting/meson.build b/semihosting/meson.build
146
index XXXXXXX..XXXXXXX 100644
147
--- a/semihosting/meson.build
148
+++ b/semihosting/meson.build
149
@@ -XXX,XX +XXX,XX @@ specific_ss.add(when: 'CONFIG_SEMIHOSTING', if_true: files(
150
'syscalls.c',
151
))
152
153
-specific_ss.add(when: ['CONFIG_SEMIHOSTING', 'CONFIG_SOFTMMU'], if_true: files(
154
+specific_ss.add(when: ['CONFIG_SEMIHOSTING', 'CONFIG_SYSTEM_ONLY'], if_true: files(
155
'config.c',
156
'console.c',
157
'uaccess.c',
158
diff --git a/softmmu/meson.build b/softmmu/meson.build
159
index XXXXXXX..XXXXXXX 100644
160
--- a/softmmu/meson.build
161
+++ b/softmmu/meson.build
162
@@ -XXX,XX +XXX,XX @@
163
-specific_ss.add(when: 'CONFIG_SOFTMMU', if_true: [files(
164
+specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
165
'arch_init.c',
166
'ioport.c',
167
'memory.c',
168
@@ -XXX,XX +XXX,XX @@ specific_ss.add(when: 'CONFIG_SOFTMMU', if_true: [files(
169
'watchpoint.c',
170
)])
171
172
-specific_ss.add(when: ['CONFIG_SOFTMMU', 'CONFIG_TCG'], if_true: [files(
173
+specific_ss.add(when: ['CONFIG_SYSTEM_ONLY', 'CONFIG_TCG'], if_true: [files(
174
'icount.c',
175
)])
176
177
diff --git a/target/i386/tcg/sysemu/meson.build b/target/i386/tcg/sysemu/meson.build
178
index XXXXXXX..XXXXXXX 100644
179
--- a/target/i386/tcg/sysemu/meson.build
180
+++ b/target/i386/tcg/sysemu/meson.build
181
@@ -XXX,XX +XXX,XX @@
182
-i386_softmmu_ss.add(when: ['CONFIG_TCG', 'CONFIG_SOFTMMU'], if_true: files(
183
+i386_softmmu_ss.add(when: ['CONFIG_TCG', 'CONFIG_SYSTEM_ONLY'], if_true: files(
184
'tcg-cpu.c',
185
'smm_helper.c',
186
'excp_helper.c',
187
diff --git a/ui/meson.build b/ui/meson.build
188
index XXXXXXX..XXXXXXX 100644
189
--- a/ui/meson.build
190
+++ b/ui/meson.build
191
@@ -XXX,XX +XXX,XX @@
192
softmmu_ss.add(pixman)
193
-specific_ss.add(when: ['CONFIG_SOFTMMU'], if_true: pixman) # for the include path
194
-specific_ss.add(when: ['CONFIG_SOFTMMU'], if_true: opengl) # for the include path
195
+specific_ss.add(when: ['CONFIG_SYSTEM_ONLY'], if_true: pixman) # for the include path
196
+specific_ss.add(when: ['CONFIG_SYSTEM_ONLY'], if_true: opengl) # for the include path
197
198
softmmu_ss.add(png)
199
softmmu_ss.add(files(
52
--
200
--
53
2.20.1
201
2.34.1
54
202
55
203
diff view generated by jsdifflib
1
By choosing "tcg:kvm" when kvm is not enabled, we generate
1
From: Philippe Mathieu-Daudé <philmd@linaro.org>
2
an incorrect warning: "invalid accelerator kvm".
3
2
4
At the same time, use g_str_has_suffix rather than open-coding
3
We use the user_ss[] array to hold the user emulation sources,
5
the same operation.
4
and the softmmu_ss[] array to hold the system emulation ones.
5
Hold the latter in the 'system_ss[]' array for parity with user
6
emulation.
6
7
7
Presumably the inverse is also true with --disable-tcg.
8
Mechanical change doing:
8
9
9
Fixes: 28a0961757fc
10
$ sed -i -e s/softmmu_ss/system_ss/g $(git grep -l softmmu_ss)
10
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
11
11
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
12
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
12
Reviewed by: Aleksandar Markovic <amarkovic@wavecomp.com>
13
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
14
Message-Id: <20230613133347.82210-10-philmd@linaro.org>
13
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
15
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
14
---
16
---
15
vl.c | 21 +++++++++++++--------
17
docs/devel/build-system.rst | 14 +--
16
1 file changed, 13 insertions(+), 8 deletions(-)
18
meson.build | 12 +--
19
accel/meson.build | 4 +-
20
audio/meson.build | 8 +-
21
backends/meson.build | 20 ++--
22
backends/tpm/meson.build | 8 +-
23
block/meson.build | 6 +-
24
block/monitor/meson.build | 2 +-
25
chardev/meson.build | 2 +-
26
disas/meson.build | 2 +-
27
dump/meson.build | 2 +-
28
ebpf/meson.build | 2 +-
29
fsdev/meson.build | 4 +-
30
gdbstub/meson.build | 10 +-
31
hw/9pfs/meson.build | 2 +-
32
hw/acpi/meson.build | 10 +-
33
hw/adc/meson.build | 10 +-
34
hw/arm/meson.build | 8 +-
35
hw/audio/meson.build | 28 +++---
36
hw/block/meson.build | 28 +++---
37
hw/char/meson.build | 70 +++++++-------
38
hw/core/meson.build | 22 ++---
39
hw/cpu/meson.build | 6 +-
40
hw/cxl/meson.build | 4 +-
41
hw/display/meson.build | 76 +++++++--------
42
hw/dma/meson.build | 32 +++----
43
hw/gpio/meson.build | 26 ++---
44
hw/i2c/meson.build | 2 +-
45
hw/ide/meson.build | 28 +++---
46
hw/input/meson.build | 32 +++----
47
hw/intc/meson.build | 44 ++++-----
48
hw/ipack/meson.build | 2 +-
49
hw/ipmi/meson.build | 2 +-
50
hw/isa/meson.build | 18 ++--
51
hw/mem/meson.build | 8 +-
52
hw/misc/macio/meson.build | 2 +-
53
hw/misc/meson.build | 148 ++++++++++++++---------------
54
hw/net/can/meson.build | 16 ++--
55
hw/net/meson.build | 96 +++++++++----------
56
hw/nubus/meson.build | 2 +-
57
hw/nvme/meson.build | 2 +-
58
hw/nvram/meson.build | 26 ++---
59
hw/pci-bridge/meson.build | 4 +-
60
hw/pci-host/meson.build | 2 +-
61
hw/pci/meson.build | 8 +-
62
hw/pcmcia/meson.build | 4 +-
63
hw/rdma/meson.build | 2 +-
64
hw/remote/meson.build | 2 +-
65
hw/rtc/meson.build | 28 +++---
66
hw/scsi/meson.build | 2 +-
67
hw/sd/meson.build | 24 ++---
68
hw/sensor/meson.build | 18 ++--
69
hw/smbios/meson.build | 6 +-
70
hw/ssi/meson.build | 26 ++---
71
hw/timer/meson.build | 74 +++++++--------
72
hw/tpm/meson.build | 14 +--
73
hw/usb/meson.build | 74 +++++++--------
74
hw/virtio/meson.build | 12 +--
75
hw/watchdog/meson.build | 18 ++--
76
hw/xen/meson.build | 4 +-
77
migration/meson.build | 10 +-
78
monitor/meson.build | 4 +-
79
net/can/meson.build | 2 +-
80
net/meson.build | 38 ++++----
81
qom/meson.build | 2 +-
82
replay/meson.build | 2 +-
83
softmmu/meson.build | 8 +-
84
stats/meson.build | 2 +-
85
target/alpha/meson.build | 6 +-
86
target/arm/hvf/meson.build | 2 +-
87
target/arm/meson.build | 6 +-
88
target/arm/tcg/meson.build | 2 +-
89
target/avr/meson.build | 6 +-
90
target/cris/meson.build | 6 +-
91
target/hppa/meson.build | 6 +-
92
target/i386/hax/meson.build | 6 +-
93
target/i386/hvf/meson.build | 2 +-
94
target/i386/kvm/meson.build | 4 +-
95
target/i386/meson.build | 8 +-
96
target/i386/nvmm/meson.build | 4 +-
97
target/i386/tcg/sysemu/meson.build | 2 +-
98
target/i386/whpx/meson.build | 2 +-
99
target/loongarch/meson.build | 6 +-
100
target/m68k/meson.build | 6 +-
101
target/microblaze/meson.build | 6 +-
102
target/mips/meson.build | 4 +-
103
target/mips/sysemu/meson.build | 2 +-
104
target/mips/tcg/sysemu/meson.build | 2 +-
105
target/nios2/meson.build | 6 +-
106
target/openrisc/meson.build | 6 +-
107
target/ppc/meson.build | 10 +-
108
target/riscv/meson.build | 6 +-
109
target/s390x/kvm/meson.build | 2 +-
110
target/s390x/meson.build | 6 +-
111
target/sh4/meson.build | 6 +-
112
target/sparc/meson.build | 6 +-
113
target/tricore/meson.build | 4 +-
114
target/xtensa/meson.build | 6 +-
115
tcg/meson.build | 2 +-
116
trace/meson.build | 2 +-
117
ui/meson.build | 26 ++---
118
101 files changed, 706 insertions(+), 706 deletions(-)
17
119
18
diff --git a/vl.c b/vl.c
120
diff --git a/docs/devel/build-system.rst b/docs/devel/build-system.rst
19
index XXXXXXX..XXXXXXX 100644
121
index XXXXXXX..XXXXXXX 100644
20
--- a/vl.c
122
--- a/docs/devel/build-system.rst
21
+++ b/vl.c
123
+++ b/docs/devel/build-system.rst
22
@@ -XXX,XX +XXX,XX @@ static void configure_accelerators(const char *progname)
124
@@ -XXX,XX +XXX,XX @@ Target-independent emulator sourcesets:
23
125
This includes error handling infrastructure, standard data structures,
24
if (accel == NULL) {
126
platform portability wrapper functions, etc.
25
/* Select the default accelerator */
127
26
- if (!accel_find("tcg") && !accel_find("kvm")) {
128
- Target-independent code lives in the ``common_ss``, ``softmmu_ss`` and
27
- error_report("No accelerator selected and"
129
+ Target-independent code lives in the ``common_ss``, ``system_ss`` and
28
- " no default accelerator available");
130
``user_ss`` sourcesets. ``common_ss`` is linked into all emulators,
29
- exit(1);
131
- ``softmmu_ss`` only in system emulators, ``user_ss`` only in user-mode
30
- } else {
132
+ ``system_ss`` only in system emulators, ``user_ss`` only in user-mode
31
- int pnlen = strlen(progname);
133
emulators.
32
- if (pnlen >= 3 && g_str_equal(&progname[pnlen - 3], "kvm")) {
134
33
+ bool have_tcg = accel_find("tcg");
135
Target-independent sourcesets must exercise particular care when using
34
+ bool have_kvm = accel_find("kvm");
136
@@ -XXX,XX +XXX,XX @@ Target-independent emulator sourcesets:
35
+
137
symbol::
36
+ if (have_tcg && have_kvm) {
138
37
+ if (g_str_has_suffix(progname, "kvm")) {
139
# Some targets have CONFIG_ACPI, some don't, so this is not enough
38
/* If the program name ends with "kvm", we prefer KVM */
140
- softmmu_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi.c'),
39
accel = "kvm:tcg";
141
+ system_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi.c'),
40
} else {
142
if_false: files('acpi-stub.c'))
41
accel = "tcg:kvm";
143
42
}
144
# This is required as well:
43
+ } else if (have_kvm) {
145
- softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('acpi-stub.c'))
44
+ accel = "kvm";
146
+ system_ss.add(when: 'CONFIG_ALL', if_true: files('acpi-stub.c'))
45
+ } else if (have_tcg) {
147
46
+ accel = "tcg";
148
Target-dependent emulator sourcesets:
47
+ } else {
149
In the target-dependent set lives CPU emulation, some device emulation and
48
+ error_report("No accelerator selected and"
150
@@ -XXX,XX +XXX,XX @@ Target-dependent emulator sourcesets:
49
+ " no default accelerator available");
151
for all emulators and for system emulators only. For example::
50
+ exit(1);
152
51
}
153
arm_ss = ss.source_set()
52
}
154
- arm_softmmu_ss = ss.source_set()
53
-
155
+ arm_system_ss = ss.source_set()
54
accel_list = g_strsplit(accel, ":", 0);
156
...
55
157
target_arch += {'arm': arm_ss}
56
for (tmp = accel_list; *tmp; tmp++) {
158
- target_softmmu_arch += {'arm': arm_softmmu_ss}
159
+ target_softmmu_arch += {'arm': arm_system_ss}
160
161
Module sourcesets:
162
There are two dictionaries for modules: ``modules`` is used for
163
target-independent modules and ``target_modules`` is used for
164
target-dependent modules. When modules are disabled the ``module``
165
- source sets are added to ``softmmu_ss`` and the ``target_modules``
166
+ source sets are added to ``system_ss`` and the ``target_modules``
167
source sets are added to ``specific_ss``.
168
169
Both dictionaries are nested. One dictionary is created per
170
diff --git a/meson.build b/meson.build
171
index XXXXXXX..XXXXXXX 100644
172
--- a/meson.build
173
+++ b/meson.build
174
@@ -XXX,XX +XXX,XX @@ hwcore_ss = ss.source_set()
175
io_ss = ss.source_set()
176
qmp_ss = ss.source_set()
177
qom_ss = ss.source_set()
178
-softmmu_ss = ss.source_set()
179
+system_ss = ss.source_set()
180
specific_fuzz_ss = ss.source_set()
181
specific_ss = ss.source_set()
182
stub_ss = ss.source_set()
183
@@ -XXX,XX +XXX,XX @@ if have_block
184
# os-posix.c contains POSIX-specific functions used by qemu-storage-daemon,
185
# os-win32.c does not
186
blockdev_ss.add(when: 'CONFIG_POSIX', if_true: files('os-posix.c'))
187
- softmmu_ss.add(when: 'CONFIG_WIN32', if_true: [files('os-win32.c')])
188
+ system_ss.add(when: 'CONFIG_WIN32', if_true: [files('os-win32.c')])
189
endif
190
191
common_ss.add(files('cpus-common.c'))
192
@@ -XXX,XX +XXX,XX @@ foreach d, list : modules
193
if d == 'block'
194
block_ss.add_all(module_ss)
195
else
196
- softmmu_ss.add_all(module_ss)
197
+ system_ss.add_all(module_ss)
198
endif
199
endif
200
endforeach
201
@@ -XXX,XX +XXX,XX @@ libmigration = static_library('migration', sources: migration_files + genh,
202
build_by_default: false)
203
migration = declare_dependency(link_with: libmigration,
204
dependencies: [zlib, qom, io])
205
-softmmu_ss.add(migration)
206
+system_ss.add(migration)
207
208
block_ss = block_ss.apply(config_host, strict: false)
209
libblock = static_library('block', block_ss.sources() + genh,
210
@@ -XXX,XX +XXX,XX @@ if emulator_modules.length() > 0
211
alias_target('modules', emulator_modules)
212
endif
213
214
-softmmu_ss.add(authz, blockdev, chardev, crypto, io, qmp)
215
+system_ss.add(authz, blockdev, chardev, crypto, io, qmp)
216
common_ss.add(qom, qemuutil)
217
218
-common_ss.add_all(when: 'CONFIG_SYSTEM_ONLY', if_true: [softmmu_ss])
219
+common_ss.add_all(when: 'CONFIG_SYSTEM_ONLY', if_true: [system_ss])
220
common_ss.add_all(when: 'CONFIG_USER_ONLY', if_true: user_ss)
221
222
common_all = common_ss.apply(config_all, strict: false)
223
diff --git a/accel/meson.build b/accel/meson.build
224
index XXXXXXX..XXXXXXX 100644
225
--- a/accel/meson.build
226
+++ b/accel/meson.build
227
@@ -XXX,XX +XXX,XX @@
228
specific_ss.add(files('accel-common.c', 'accel-blocker.c'))
229
-softmmu_ss.add(files('accel-softmmu.c'))
230
+system_ss.add(files('accel-softmmu.c'))
231
user_ss.add(files('accel-user.c'))
232
233
subdir('tcg')
234
@@ -XXX,XX +XXX,XX @@ if have_system
235
endif
236
237
# qtest
238
-softmmu_ss.add(files('dummy-cpus.c'))
239
+system_ss.add(files('dummy-cpus.c'))
240
diff --git a/audio/meson.build b/audio/meson.build
241
index XXXXXXX..XXXXXXX 100644
242
--- a/audio/meson.build
243
+++ b/audio/meson.build
244
@@ -XXX,XX +XXX,XX @@
245
-softmmu_ss.add([spice_headers, files('audio.c')])
246
-softmmu_ss.add(files(
247
+system_ss.add([spice_headers, files('audio.c')])
248
+system_ss.add(files(
249
'audio-hmp-cmds.c',
250
'audio_legacy.c',
251
'mixeng.c',
252
@@ -XXX,XX +XXX,XX @@ softmmu_ss.add(files(
253
'wavcapture.c',
254
))
255
256
-softmmu_ss.add(when: coreaudio, if_true: files('coreaudio.m'))
257
-softmmu_ss.add(when: dsound, if_true: files('dsoundaudio.c', 'audio_win_int.c'))
258
+system_ss.add(when: coreaudio, if_true: files('coreaudio.m'))
259
+system_ss.add(when: dsound, if_true: files('dsoundaudio.c', 'audio_win_int.c'))
260
261
audio_modules = {}
262
foreach m : [
263
diff --git a/backends/meson.build b/backends/meson.build
264
index XXXXXXX..XXXXXXX 100644
265
--- a/backends/meson.build
266
+++ b/backends/meson.build
267
@@ -XXX,XX +XXX,XX @@
268
-softmmu_ss.add([files(
269
+system_ss.add([files(
270
'cryptodev-builtin.c',
271
'cryptodev-hmp-cmds.c',
272
'cryptodev.c',
273
@@ -XXX,XX +XXX,XX @@ softmmu_ss.add([files(
274
'confidential-guest-support.c',
275
), numa])
276
277
-softmmu_ss.add(when: 'CONFIG_POSIX', if_true: files('rng-random.c'))
278
-softmmu_ss.add(when: 'CONFIG_POSIX', if_true: files('hostmem-file.c'))
279
-softmmu_ss.add(when: 'CONFIG_LINUX', if_true: files('hostmem-memfd.c'))
280
+system_ss.add(when: 'CONFIG_POSIX', if_true: files('rng-random.c'))
281
+system_ss.add(when: 'CONFIG_POSIX', if_true: files('hostmem-file.c'))
282
+system_ss.add(when: 'CONFIG_LINUX', if_true: files('hostmem-memfd.c'))
283
if keyutils.found()
284
- softmmu_ss.add(keyutils, files('cryptodev-lkcf.c'))
285
+ system_ss.add(keyutils, files('cryptodev-lkcf.c'))
286
endif
287
if have_vhost_user
288
- softmmu_ss.add(when: 'CONFIG_VIRTIO', if_true: files('vhost-user.c'))
289
+ system_ss.add(when: 'CONFIG_VIRTIO', if_true: files('vhost-user.c'))
290
endif
291
-softmmu_ss.add(when: 'CONFIG_VIRTIO_CRYPTO', if_true: files('cryptodev-vhost.c'))
292
+system_ss.add(when: 'CONFIG_VIRTIO_CRYPTO', if_true: files('cryptodev-vhost.c'))
293
if have_vhost_user_crypto
294
- softmmu_ss.add(when: 'CONFIG_VIRTIO_CRYPTO', if_true: files('cryptodev-vhost-user.c'))
295
+ system_ss.add(when: 'CONFIG_VIRTIO_CRYPTO', if_true: files('cryptodev-vhost-user.c'))
296
endif
297
-softmmu_ss.add(when: gio, if_true: files('dbus-vmstate.c'))
298
-softmmu_ss.add(when: 'CONFIG_SGX', if_true: files('hostmem-epc.c'))
299
+system_ss.add(when: gio, if_true: files('dbus-vmstate.c'))
300
+system_ss.add(when: 'CONFIG_SGX', if_true: files('hostmem-epc.c'))
301
302
subdir('tpm')
303
diff --git a/backends/tpm/meson.build b/backends/tpm/meson.build
304
index XXXXXXX..XXXXXXX 100644
305
--- a/backends/tpm/meson.build
306
+++ b/backends/tpm/meson.build
307
@@ -XXX,XX +XXX,XX @@
308
if have_tpm
309
- softmmu_ss.add(files('tpm_backend.c'))
310
- softmmu_ss.add(files('tpm_util.c'))
311
- softmmu_ss.add(when: 'CONFIG_TPM_PASSTHROUGH', if_true: files('tpm_passthrough.c'))
312
- softmmu_ss.add(when: 'CONFIG_TPM_EMULATOR', if_true: files('tpm_emulator.c'))
313
+ system_ss.add(files('tpm_backend.c'))
314
+ system_ss.add(files('tpm_util.c'))
315
+ system_ss.add(when: 'CONFIG_TPM_PASSTHROUGH', if_true: files('tpm_passthrough.c'))
316
+ system_ss.add(when: 'CONFIG_TPM_EMULATOR', if_true: files('tpm_emulator.c'))
317
endif
318
diff --git a/block/meson.build b/block/meson.build
319
index XXXXXXX..XXXXXXX 100644
320
--- a/block/meson.build
321
+++ b/block/meson.build
322
@@ -XXX,XX +XXX,XX @@ block_ss.add(files(
323
'write-threshold.c',
324
), zstd, zlib, gnutls)
325
326
-softmmu_ss.add(when: 'CONFIG_TCG', if_true: files('blkreplay.c'))
327
-softmmu_ss.add(files('block-ram-registrar.c'))
328
+system_ss.add(when: 'CONFIG_TCG', if_true: files('blkreplay.c'))
329
+system_ss.add(files('block-ram-registrar.c'))
330
331
if get_option('qcow1').allowed()
332
block_ss.add(files('qcow.c'))
333
@@ -XXX,XX +XXX,XX @@ block_ss.add(block_gen_c)
334
335
block_ss.add(files('stream.c'))
336
337
-softmmu_ss.add(files('qapi-sysemu.c'))
338
+system_ss.add(files('qapi-sysemu.c'))
339
340
subdir('export')
341
subdir('monitor')
342
diff --git a/block/monitor/meson.build b/block/monitor/meson.build
343
index XXXXXXX..XXXXXXX 100644
344
--- a/block/monitor/meson.build
345
+++ b/block/monitor/meson.build
346
@@ -XXX,XX +XXX,XX @@
347
-softmmu_ss.add(files('block-hmp-cmds.c'))
348
+system_ss.add(files('block-hmp-cmds.c'))
349
block_ss.add(files('bitmap-qmp-cmds.c'))
350
diff --git a/chardev/meson.build b/chardev/meson.build
351
index XXXXXXX..XXXXXXX 100644
352
--- a/chardev/meson.build
353
+++ b/chardev/meson.build
354
@@ -XXX,XX +XXX,XX @@ chardev_ss.add(when: 'CONFIG_WIN32', if_true: files(
355
356
chardev_ss = chardev_ss.apply(config_host, strict: false)
357
358
-softmmu_ss.add(files(
359
+system_ss.add(files(
360
'char-hmp-cmds.c',
361
'msmouse.c',
362
'wctablet.c',
363
diff --git a/disas/meson.build b/disas/meson.build
364
index XXXXXXX..XXXXXXX 100644
365
--- a/disas/meson.build
366
+++ b/disas/meson.build
367
@@ -XXX,XX +XXX,XX @@ common_ss.add(when: 'CONFIG_XTENSA_DIS', if_true: files('xtensa.c'))
368
common_ss.add(when: capstone, if_true: [files('capstone.c'), capstone])
369
common_ss.add(files('disas.c'))
370
371
-softmmu_ss.add(files('disas-mon.c'))
372
+system_ss.add(files('disas-mon.c'))
373
specific_ss.add(capstone)
374
diff --git a/dump/meson.build b/dump/meson.build
375
index XXXXXXX..XXXXXXX 100644
376
--- a/dump/meson.build
377
+++ b/dump/meson.build
378
@@ -XXX,XX +XXX,XX @@
379
-softmmu_ss.add([files('dump.c', 'dump-hmp-cmds.c'), snappy, lzo])
380
+system_ss.add([files('dump.c', 'dump-hmp-cmds.c'), snappy, lzo])
381
specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: files('win_dump.c'))
382
diff --git a/ebpf/meson.build b/ebpf/meson.build
383
index XXXXXXX..XXXXXXX 100644
384
--- a/ebpf/meson.build
385
+++ b/ebpf/meson.build
386
@@ -1 +1 @@
387
-softmmu_ss.add(when: libbpf, if_true: files('ebpf_rss.c'), if_false: files('ebpf_rss-stub.c'))
388
+system_ss.add(when: libbpf, if_true: files('ebpf_rss.c'), if_false: files('ebpf_rss-stub.c'))
389
diff --git a/fsdev/meson.build b/fsdev/meson.build
390
index XXXXXXX..XXXXXXX 100644
391
--- a/fsdev/meson.build
392
+++ b/fsdev/meson.build
393
@@ -XXX,XX +XXX,XX @@ fsdev_ss.add(when: ['CONFIG_FSDEV_9P'], if_true: files(
394
'9p-marshal.c',
395
'qemu-fsdev.c',
396
), if_false: files('qemu-fsdev-dummy.c'))
397
-softmmu_ss.add_all(when: 'CONFIG_LINUX', if_true: fsdev_ss)
398
-softmmu_ss.add_all(when: 'CONFIG_DARWIN', if_true: fsdev_ss)
399
+system_ss.add_all(when: 'CONFIG_LINUX', if_true: fsdev_ss)
400
+system_ss.add_all(when: 'CONFIG_DARWIN', if_true: fsdev_ss)
401
402
if have_virtfs_proxy_helper
403
executable('virtfs-proxy-helper',
404
diff --git a/gdbstub/meson.build b/gdbstub/meson.build
405
index XXXXXXX..XXXXXXX 100644
406
--- a/gdbstub/meson.build
407
+++ b/gdbstub/meson.build
408
@@ -XXX,XX +XXX,XX @@
409
# cflags so:
410
411
gdb_user_ss = ss.source_set()
412
-gdb_softmmu_ss = ss.source_set()
413
+gdb_system_ss = ss.source_set()
414
415
# We build two versions of gdbstub, one for each mode
416
gdb_user_ss.add(files('gdbstub.c', 'user.c'))
417
-gdb_softmmu_ss.add(files('gdbstub.c', 'softmmu.c'))
418
+gdb_system_ss.add(files('gdbstub.c', 'softmmu.c'))
419
420
gdb_user_ss = gdb_user_ss.apply(config_host, strict: false)
421
-gdb_softmmu_ss = gdb_softmmu_ss.apply(config_host, strict: false)
422
+gdb_system_ss = gdb_system_ss.apply(config_host, strict: false)
423
424
libgdb_user = static_library('gdb_user',
425
gdb_user_ss.sources() + genh,
426
@@ -XXX,XX +XXX,XX @@ libgdb_user = static_library('gdb_user',
427
build_by_default: have_user)
428
429
libgdb_softmmu = static_library('gdb_softmmu',
430
- gdb_softmmu_ss.sources() + genh,
431
+ gdb_system_ss.sources() + genh,
432
name_suffix: 'fa',
433
build_by_default: have_system)
434
435
gdb_user = declare_dependency(link_whole: libgdb_user)
436
user_ss.add(gdb_user)
437
gdb_softmmu = declare_dependency(link_whole: libgdb_softmmu)
438
-softmmu_ss.add(gdb_softmmu)
439
+system_ss.add(gdb_softmmu)
440
441
common_ss.add(files('syscalls.c'))
442
443
diff --git a/hw/9pfs/meson.build b/hw/9pfs/meson.build
444
index XXXXXXX..XXXXXXX 100644
445
--- a/hw/9pfs/meson.build
446
+++ b/hw/9pfs/meson.build
447
@@ -XXX,XX +XXX,XX @@ fs_ss.add(files(
448
fs_ss.add(when: 'CONFIG_LINUX', if_true: files('9p-util-linux.c'))
449
fs_ss.add(when: 'CONFIG_DARWIN', if_true: files('9p-util-darwin.c'))
450
fs_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-9p-backend.c'))
451
-softmmu_ss.add_all(when: 'CONFIG_FSDEV_9P', if_true: fs_ss)
452
+system_ss.add_all(when: 'CONFIG_FSDEV_9P', if_true: fs_ss)
453
454
specific_ss.add(when: 'CONFIG_VIRTIO_9P', if_true: files('virtio-9p-device.c'))
455
diff --git a/hw/acpi/meson.build b/hw/acpi/meson.build
456
index XXXXXXX..XXXXXXX 100644
457
--- a/hw/acpi/meson.build
458
+++ b/hw/acpi/meson.build
459
@@ -XXX,XX +XXX,XX @@ acpi_ss.add(when: 'CONFIG_PC', if_false: files('acpi-x86-stub.c'))
460
if have_tpm
461
acpi_ss.add(files('tpm.c'))
462
endif
463
-softmmu_ss.add(when: 'CONFIG_ACPI', if_false: files('acpi-stub.c', 'aml-build-stub.c', 'ghes-stub.c', 'acpi_interface.c'))
464
-softmmu_ss.add(when: 'CONFIG_ACPI_PCI_BRIDGE', if_false: files('pci-bridge-stub.c'))
465
-softmmu_ss.add_all(when: 'CONFIG_ACPI', if_true: acpi_ss)
466
-softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('acpi-stub.c', 'aml-build-stub.c',
467
+system_ss.add(when: 'CONFIG_ACPI', if_false: files('acpi-stub.c', 'aml-build-stub.c', 'ghes-stub.c', 'acpi_interface.c'))
468
+system_ss.add(when: 'CONFIG_ACPI_PCI_BRIDGE', if_false: files('pci-bridge-stub.c'))
469
+system_ss.add_all(when: 'CONFIG_ACPI', if_true: acpi_ss)
470
+system_ss.add(when: 'CONFIG_ALL', if_true: files('acpi-stub.c', 'aml-build-stub.c',
471
'acpi-x86-stub.c', 'ipmi-stub.c', 'ghes-stub.c',
472
'acpi-mem-hotplug-stub.c', 'acpi-cpu-hotplug-stub.c',
473
'acpi-pci-hotplug-stub.c', 'acpi-nvdimm-stub.c',
474
'cxl-stub.c', 'pci-bridge-stub.c'))
475
-softmmu_ss.add(files('acpi-qmp-cmds.c'))
476
+system_ss.add(files('acpi-qmp-cmds.c'))
477
diff --git a/hw/adc/meson.build b/hw/adc/meson.build
478
index XXXXXXX..XXXXXXX 100644
479
--- a/hw/adc/meson.build
480
+++ b/hw/adc/meson.build
481
@@ -XXX,XX +XXX,XX @@
482
-softmmu_ss.add(when: 'CONFIG_STM32F2XX_ADC', if_true: files('stm32f2xx_adc.c'))
483
-softmmu_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files('aspeed_adc.c'))
484
-softmmu_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_adc.c'))
485
-softmmu_ss.add(when: 'CONFIG_ZYNQ', if_true: files('zynq-xadc.c'))
486
-softmmu_ss.add(when: 'CONFIG_MAX111X', if_true: files('max111x.c'))
487
+system_ss.add(when: 'CONFIG_STM32F2XX_ADC', if_true: files('stm32f2xx_adc.c'))
488
+system_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files('aspeed_adc.c'))
489
+system_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_adc.c'))
490
+system_ss.add(when: 'CONFIG_ZYNQ', if_true: files('zynq-xadc.c'))
491
+system_ss.add(when: 'CONFIG_MAX111X', if_true: files('max111x.c'))
492
diff --git a/hw/arm/meson.build b/hw/arm/meson.build
493
index XXXXXXX..XXXXXXX 100644
494
--- a/hw/arm/meson.build
495
+++ b/hw/arm/meson.build
496
@@ -XXX,XX +XXX,XX @@ arm_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_soc.c'))
497
arm_ss.add(when: 'CONFIG_XEN', if_true: files('xen_arm.c'))
498
arm_ss.add_all(xen_ss)
499
500
-softmmu_ss.add(when: 'CONFIG_ARM_SMMUV3', if_true: files('smmu-common.c'))
501
-softmmu_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4_boards.c'))
502
-softmmu_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2835_peripherals.c'))
503
-softmmu_ss.add(when: 'CONFIG_TOSA', if_true: files('tosa.c'))
504
+system_ss.add(when: 'CONFIG_ARM_SMMUV3', if_true: files('smmu-common.c'))
505
+system_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4_boards.c'))
506
+system_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2835_peripherals.c'))
507
+system_ss.add(when: 'CONFIG_TOSA', if_true: files('tosa.c'))
508
509
hw_arch += {'arm': arm_ss}
510
diff --git a/hw/audio/meson.build b/hw/audio/meson.build
511
index XXXXXXX..XXXXXXX 100644
512
--- a/hw/audio/meson.build
513
+++ b/hw/audio/meson.build
514
@@ -XXX,XX +XXX,XX @@
515
-softmmu_ss.add(files('soundhw.c'))
516
-softmmu_ss.add(when: 'CONFIG_AC97', if_true: files('ac97.c'))
517
-softmmu_ss.add(when: 'CONFIG_ADLIB', if_true: files('fmopl.c', 'adlib.c'))
518
-softmmu_ss.add(when: 'CONFIG_CS4231', if_true: files('cs4231.c'))
519
-softmmu_ss.add(when: 'CONFIG_CS4231A', if_true: files('cs4231a.c'))
520
-softmmu_ss.add(when: 'CONFIG_ES1370', if_true: files('es1370.c'))
521
-softmmu_ss.add(when: 'CONFIG_GUS', if_true: files('gus.c', 'gusemu_hal.c', 'gusemu_mixer.c'))
522
-softmmu_ss.add(when: 'CONFIG_HDA', if_true: files('intel-hda.c', 'hda-codec.c'))
523
-softmmu_ss.add(when: 'CONFIG_MARVELL_88W8618', if_true: files('marvell_88w8618.c'))
524
-softmmu_ss.add(when: 'CONFIG_PCSPK', if_true: files('pcspk.c'))
525
-softmmu_ss.add(when: 'CONFIG_PL041', if_true: files('pl041.c', 'lm4549.c'))
526
-softmmu_ss.add(when: 'CONFIG_SB16', if_true: files('sb16.c'))
527
-softmmu_ss.add(when: 'CONFIG_VT82C686', if_true: files('via-ac97.c'))
528
-softmmu_ss.add(when: 'CONFIG_WM8750', if_true: files('wm8750.c'))
529
+system_ss.add(files('soundhw.c'))
530
+system_ss.add(when: 'CONFIG_AC97', if_true: files('ac97.c'))
531
+system_ss.add(when: 'CONFIG_ADLIB', if_true: files('fmopl.c', 'adlib.c'))
532
+system_ss.add(when: 'CONFIG_CS4231', if_true: files('cs4231.c'))
533
+system_ss.add(when: 'CONFIG_CS4231A', if_true: files('cs4231a.c'))
534
+system_ss.add(when: 'CONFIG_ES1370', if_true: files('es1370.c'))
535
+system_ss.add(when: 'CONFIG_GUS', if_true: files('gus.c', 'gusemu_hal.c', 'gusemu_mixer.c'))
536
+system_ss.add(when: 'CONFIG_HDA', if_true: files('intel-hda.c', 'hda-codec.c'))
537
+system_ss.add(when: 'CONFIG_MARVELL_88W8618', if_true: files('marvell_88w8618.c'))
538
+system_ss.add(when: 'CONFIG_PCSPK', if_true: files('pcspk.c'))
539
+system_ss.add(when: 'CONFIG_PL041', if_true: files('pl041.c', 'lm4549.c'))
540
+system_ss.add(when: 'CONFIG_SB16', if_true: files('sb16.c'))
541
+system_ss.add(when: 'CONFIG_VT82C686', if_true: files('via-ac97.c'))
542
+system_ss.add(when: 'CONFIG_WM8750', if_true: files('wm8750.c'))
543
diff --git a/hw/block/meson.build b/hw/block/meson.build
544
index XXXXXXX..XXXXXXX 100644
545
--- a/hw/block/meson.build
546
+++ b/hw/block/meson.build
547
@@ -XXX,XX +XXX,XX @@
548
-softmmu_ss.add(files(
549
+system_ss.add(files(
550
'block.c',
551
'cdrom.c',
552
'hd-geometry.c'
553
))
554
-softmmu_ss.add(when: 'CONFIG_ECC', if_true: files('ecc.c'))
555
-softmmu_ss.add(when: 'CONFIG_FDC', if_true: files('fdc.c'))
556
-softmmu_ss.add(when: 'CONFIG_FDC_ISA', if_true: files('fdc-isa.c'))
557
-softmmu_ss.add(when: 'CONFIG_FDC_SYSBUS', if_true: files('fdc-sysbus.c'))
558
-softmmu_ss.add(when: 'CONFIG_NAND', if_true: files('nand.c'))
559
-softmmu_ss.add(when: 'CONFIG_ONENAND', if_true: files('onenand.c'))
560
-softmmu_ss.add(when: 'CONFIG_PFLASH_CFI01', if_true: files('pflash_cfi01.c'))
561
-softmmu_ss.add(when: 'CONFIG_PFLASH_CFI02', if_true: files('pflash_cfi02.c'))
562
-softmmu_ss.add(when: 'CONFIG_SSI_M25P80', if_true: files('m25p80.c'))
563
-softmmu_ss.add(when: 'CONFIG_SSI_M25P80', if_true: files('m25p80_sfdp.c'))
564
-softmmu_ss.add(when: 'CONFIG_SWIM', if_true: files('swim.c'))
565
-softmmu_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-block.c'))
566
-softmmu_ss.add(when: 'CONFIG_TC58128', if_true: files('tc58128.c'))
567
+system_ss.add(when: 'CONFIG_ECC', if_true: files('ecc.c'))
568
+system_ss.add(when: 'CONFIG_FDC', if_true: files('fdc.c'))
569
+system_ss.add(when: 'CONFIG_FDC_ISA', if_true: files('fdc-isa.c'))
570
+system_ss.add(when: 'CONFIG_FDC_SYSBUS', if_true: files('fdc-sysbus.c'))
571
+system_ss.add(when: 'CONFIG_NAND', if_true: files('nand.c'))
572
+system_ss.add(when: 'CONFIG_ONENAND', if_true: files('onenand.c'))
573
+system_ss.add(when: 'CONFIG_PFLASH_CFI01', if_true: files('pflash_cfi01.c'))
574
+system_ss.add(when: 'CONFIG_PFLASH_CFI02', if_true: files('pflash_cfi02.c'))
575
+system_ss.add(when: 'CONFIG_SSI_M25P80', if_true: files('m25p80.c'))
576
+system_ss.add(when: 'CONFIG_SSI_M25P80', if_true: files('m25p80_sfdp.c'))
577
+system_ss.add(when: 'CONFIG_SWIM', if_true: files('swim.c'))
578
+system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-block.c'))
579
+system_ss.add(when: 'CONFIG_TC58128', if_true: files('tc58128.c'))
580
581
specific_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c', 'virtio-blk-common.c'))
582
specific_ss.add(when: 'CONFIG_VHOST_USER_BLK', if_true: files('vhost-user-blk.c', 'virtio-blk-common.c'))
583
diff --git a/hw/char/meson.build b/hw/char/meson.build
584
index XXXXXXX..XXXXXXX 100644
585
--- a/hw/char/meson.build
586
+++ b/hw/char/meson.build
587
@@ -XXX,XX +XXX,XX @@
588
-softmmu_ss.add(when: 'CONFIG_CADENCE', if_true: files('cadence_uart.c'))
589
-softmmu_ss.add(when: 'CONFIG_CMSDK_APB_UART', if_true: files('cmsdk-apb-uart.c'))
590
-softmmu_ss.add(when: 'CONFIG_ESCC', if_true: files('escc.c'))
591
-softmmu_ss.add(when: 'CONFIG_ETRAXFS', if_true: files('etraxfs_ser.c'))
592
-softmmu_ss.add(when: 'CONFIG_GRLIB', if_true: files('grlib_apbuart.c'))
593
-softmmu_ss.add(when: 'CONFIG_IBEX', if_true: files('ibex_uart.c'))
594
-softmmu_ss.add(when: 'CONFIG_IMX', if_true: files('imx_serial.c'))
595
-softmmu_ss.add(when: 'CONFIG_IPACK', if_true: files('ipoctal232.c'))
596
-softmmu_ss.add(when: 'CONFIG_ISA_BUS', if_true: files('parallel-isa.c'))
597
-softmmu_ss.add(when: 'CONFIG_ISA_DEBUG', if_true: files('debugcon.c'))
598
-softmmu_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_uart.c'))
599
-softmmu_ss.add(when: 'CONFIG_PARALLEL', if_true: files('parallel.c'))
600
-softmmu_ss.add(when: 'CONFIG_PL011', if_true: files('pl011.c'))
601
-softmmu_ss.add(when: 'CONFIG_SCLPCONSOLE', if_true: files('sclpconsole.c', 'sclpconsole-lm.c'))
602
-softmmu_ss.add(when: 'CONFIG_SERIAL', if_true: files('serial.c'))
603
-softmmu_ss.add(when: 'CONFIG_SERIAL_ISA', if_true: files('serial-isa.c'))
604
-softmmu_ss.add(when: 'CONFIG_SERIAL_PCI', if_true: files('serial-pci.c'))
605
-softmmu_ss.add(when: 'CONFIG_SERIAL_PCI_MULTI', if_true: files('serial-pci-multi.c'))
606
-softmmu_ss.add(when: 'CONFIG_SHAKTI_UART', if_true: files('shakti_uart.c'))
607
-softmmu_ss.add(when: 'CONFIG_VIRTIO_SERIAL', if_true: files('virtio-console.c'))
608
-softmmu_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen_console.c'))
609
-softmmu_ss.add(when: 'CONFIG_XILINX', if_true: files('xilinx_uartlite.c'))
610
+system_ss.add(when: 'CONFIG_CADENCE', if_true: files('cadence_uart.c'))
611
+system_ss.add(when: 'CONFIG_CMSDK_APB_UART', if_true: files('cmsdk-apb-uart.c'))
612
+system_ss.add(when: 'CONFIG_ESCC', if_true: files('escc.c'))
613
+system_ss.add(when: 'CONFIG_ETRAXFS', if_true: files('etraxfs_ser.c'))
614
+system_ss.add(when: 'CONFIG_GRLIB', if_true: files('grlib_apbuart.c'))
615
+system_ss.add(when: 'CONFIG_IBEX', if_true: files('ibex_uart.c'))
616
+system_ss.add(when: 'CONFIG_IMX', if_true: files('imx_serial.c'))
617
+system_ss.add(when: 'CONFIG_IPACK', if_true: files('ipoctal232.c'))
618
+system_ss.add(when: 'CONFIG_ISA_BUS', if_true: files('parallel-isa.c'))
619
+system_ss.add(when: 'CONFIG_ISA_DEBUG', if_true: files('debugcon.c'))
620
+system_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_uart.c'))
621
+system_ss.add(when: 'CONFIG_PARALLEL', if_true: files('parallel.c'))
622
+system_ss.add(when: 'CONFIG_PL011', if_true: files('pl011.c'))
623
+system_ss.add(when: 'CONFIG_SCLPCONSOLE', if_true: files('sclpconsole.c', 'sclpconsole-lm.c'))
624
+system_ss.add(when: 'CONFIG_SERIAL', if_true: files('serial.c'))
625
+system_ss.add(when: 'CONFIG_SERIAL_ISA', if_true: files('serial-isa.c'))
626
+system_ss.add(when: 'CONFIG_SERIAL_PCI', if_true: files('serial-pci.c'))
627
+system_ss.add(when: 'CONFIG_SERIAL_PCI_MULTI', if_true: files('serial-pci-multi.c'))
628
+system_ss.add(when: 'CONFIG_SHAKTI_UART', if_true: files('shakti_uart.c'))
629
+system_ss.add(when: 'CONFIG_VIRTIO_SERIAL', if_true: files('virtio-console.c'))
630
+system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen_console.c'))
631
+system_ss.add(when: 'CONFIG_XILINX', if_true: files('xilinx_uartlite.c'))
632
633
-softmmu_ss.add(when: 'CONFIG_AVR_USART', if_true: files('avr_usart.c'))
634
-softmmu_ss.add(when: 'CONFIG_COLDFIRE', if_true: files('mcf_uart.c'))
635
-softmmu_ss.add(when: 'CONFIG_DIGIC', if_true: files('digic-uart.c'))
636
-softmmu_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4210_uart.c'))
637
-softmmu_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_uart.c'))
638
-softmmu_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2835_aux.c'))
639
-softmmu_ss.add(when: 'CONFIG_RENESAS_SCI', if_true: files('renesas_sci.c'))
640
-softmmu_ss.add(when: 'CONFIG_SIFIVE_UART', if_true: files('sifive_uart.c'))
641
-softmmu_ss.add(when: 'CONFIG_SH_SCI', if_true: files('sh_serial.c'))
642
-softmmu_ss.add(when: 'CONFIG_STM32F2XX_USART', if_true: files('stm32f2xx_usart.c'))
643
-softmmu_ss.add(when: 'CONFIG_MCHP_PFSOC_MMUART', if_true: files('mchp_pfsoc_mmuart.c'))
644
-softmmu_ss.add(when: 'CONFIG_HTIF', if_true: files('riscv_htif.c'))
645
-softmmu_ss.add(when: 'CONFIG_GOLDFISH_TTY', if_true: files('goldfish_tty.c'))
646
+system_ss.add(when: 'CONFIG_AVR_USART', if_true: files('avr_usart.c'))
647
+system_ss.add(when: 'CONFIG_COLDFIRE', if_true: files('mcf_uart.c'))
648
+system_ss.add(when: 'CONFIG_DIGIC', if_true: files('digic-uart.c'))
649
+system_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4210_uart.c'))
650
+system_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_uart.c'))
651
+system_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2835_aux.c'))
652
+system_ss.add(when: 'CONFIG_RENESAS_SCI', if_true: files('renesas_sci.c'))
653
+system_ss.add(when: 'CONFIG_SIFIVE_UART', if_true: files('sifive_uart.c'))
654
+system_ss.add(when: 'CONFIG_SH_SCI', if_true: files('sh_serial.c'))
655
+system_ss.add(when: 'CONFIG_STM32F2XX_USART', if_true: files('stm32f2xx_usart.c'))
656
+system_ss.add(when: 'CONFIG_MCHP_PFSOC_MMUART', if_true: files('mchp_pfsoc_mmuart.c'))
657
+system_ss.add(when: 'CONFIG_HTIF', if_true: files('riscv_htif.c'))
658
+system_ss.add(when: 'CONFIG_GOLDFISH_TTY', if_true: files('goldfish_tty.c'))
659
660
specific_ss.add(when: 'CONFIG_TERMINAL3270', if_true: files('terminal3270.c'))
661
specific_ss.add(when: 'CONFIG_VIRTIO', if_true: files('virtio-serial-bus.c'))
662
diff --git a/hw/core/meson.build b/hw/core/meson.build
663
index XXXXXXX..XXXXXXX 100644
664
--- a/hw/core/meson.build
665
+++ b/hw/core/meson.build
666
@@ -XXX,XX +XXX,XX @@ endif
667
668
common_ss.add(files('cpu-common.c'))
669
common_ss.add(files('machine-smp.c'))
670
-softmmu_ss.add(when: 'CONFIG_FITLOADER', if_true: files('loader-fit.c'))
671
-softmmu_ss.add(when: 'CONFIG_GENERIC_LOADER', if_true: files('generic-loader.c'))
672
-softmmu_ss.add(when: ['CONFIG_GUEST_LOADER', fdt], if_true: files('guest-loader.c'))
673
-softmmu_ss.add(when: 'CONFIG_OR_IRQ', if_true: files('or-irq.c'))
674
-softmmu_ss.add(when: 'CONFIG_PLATFORM_BUS', if_true: files('platform-bus.c'))
675
-softmmu_ss.add(when: 'CONFIG_PTIMER', if_true: files('ptimer.c'))
676
-softmmu_ss.add(when: 'CONFIG_REGISTER', if_true: files('register.c'))
677
-softmmu_ss.add(when: 'CONFIG_SPLIT_IRQ', if_true: files('split-irq.c'))
678
-softmmu_ss.add(when: 'CONFIG_XILINX_AXI', if_true: files('stream.c'))
679
-softmmu_ss.add(when: 'CONFIG_PLATFORM_BUS', if_true: files('sysbus-fdt.c'))
680
+system_ss.add(when: 'CONFIG_FITLOADER', if_true: files('loader-fit.c'))
681
+system_ss.add(when: 'CONFIG_GENERIC_LOADER', if_true: files('generic-loader.c'))
682
+system_ss.add(when: ['CONFIG_GUEST_LOADER', fdt], if_true: files('guest-loader.c'))
683
+system_ss.add(when: 'CONFIG_OR_IRQ', if_true: files('or-irq.c'))
684
+system_ss.add(when: 'CONFIG_PLATFORM_BUS', if_true: files('platform-bus.c'))
685
+system_ss.add(when: 'CONFIG_PTIMER', if_true: files('ptimer.c'))
686
+system_ss.add(when: 'CONFIG_REGISTER', if_true: files('register.c'))
687
+system_ss.add(when: 'CONFIG_SPLIT_IRQ', if_true: files('split-irq.c'))
688
+system_ss.add(when: 'CONFIG_XILINX_AXI', if_true: files('stream.c'))
689
+system_ss.add(when: 'CONFIG_PLATFORM_BUS', if_true: files('sysbus-fdt.c'))
690
691
-softmmu_ss.add(files(
692
+system_ss.add(files(
693
'cpu-sysemu.c',
694
'fw-path-provider.c',
695
'gpio.c',
696
diff --git a/hw/cpu/meson.build b/hw/cpu/meson.build
697
index XXXXXXX..XXXXXXX 100644
698
--- a/hw/cpu/meson.build
699
+++ b/hw/cpu/meson.build
700
@@ -XXX,XX +XXX,XX @@
701
-softmmu_ss.add(files('core.c', 'cluster.c'))
702
+system_ss.add(files('core.c', 'cluster.c'))
703
704
-softmmu_ss.add(when: 'CONFIG_ARM11MPCORE', if_true: files('arm11mpcore.c'))
705
-softmmu_ss.add(when: 'CONFIG_REALVIEW', if_true: files('realview_mpcore.c'))
706
+system_ss.add(when: 'CONFIG_ARM11MPCORE', if_true: files('arm11mpcore.c'))
707
+system_ss.add(when: 'CONFIG_REALVIEW', if_true: files('realview_mpcore.c'))
708
specific_ss.add(when: 'CONFIG_A9MPCORE', if_true: files('a9mpcore.c'))
709
specific_ss.add(when: 'CONFIG_A15MPCORE', if_true: files('a15mpcore.c'))
710
diff --git a/hw/cxl/meson.build b/hw/cxl/meson.build
711
index XXXXXXX..XXXXXXX 100644
712
--- a/hw/cxl/meson.build
713
+++ b/hw/cxl/meson.build
714
@@ -XXX,XX +XXX,XX @@
715
-softmmu_ss.add(when: 'CONFIG_CXL',
716
+system_ss.add(when: 'CONFIG_CXL',
717
if_true: files(
718
'cxl-component-utils.c',
719
'cxl-device-utils.c',
720
@@ -XXX,XX +XXX,XX @@ softmmu_ss.add(when: 'CONFIG_CXL',
721
'cxl-host-stubs.c',
722
))
723
724
-softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('cxl-host-stubs.c'))
725
+system_ss.add(when: 'CONFIG_ALL', if_true: files('cxl-host-stubs.c'))
726
diff --git a/hw/display/meson.build b/hw/display/meson.build
727
index XXXXXXX..XXXXXXX 100644
728
--- a/hw/display/meson.build
729
+++ b/hw/display/meson.build
730
@@ -XXX,XX +XXX,XX @@
731
hw_display_modules = {}
732
733
-softmmu_ss.add(when: 'CONFIG_DDC', if_true: files('i2c-ddc.c'))
734
-softmmu_ss.add(when: 'CONFIG_EDID', if_true: files('edid-generate.c', 'edid-region.c'))
735
+system_ss.add(when: 'CONFIG_DDC', if_true: files('i2c-ddc.c'))
736
+system_ss.add(when: 'CONFIG_EDID', if_true: files('edid-generate.c', 'edid-region.c'))
737
738
-softmmu_ss.add(when: 'CONFIG_FW_CFG_DMA', if_true: files('ramfb.c'))
739
-softmmu_ss.add(when: 'CONFIG_FW_CFG_DMA', if_true: files('ramfb-standalone.c'))
740
+system_ss.add(when: 'CONFIG_FW_CFG_DMA', if_true: files('ramfb.c'))
741
+system_ss.add(when: 'CONFIG_FW_CFG_DMA', if_true: files('ramfb-standalone.c'))
742
743
-softmmu_ss.add(when: 'CONFIG_VGA_CIRRUS', if_true: files('cirrus_vga.c'))
744
-softmmu_ss.add(when: ['CONFIG_VGA_CIRRUS', 'CONFIG_VGA_ISA'], if_true: files('cirrus_vga_isa.c'))
745
-softmmu_ss.add(when: 'CONFIG_G364FB', if_true: files('g364fb.c'))
746
-softmmu_ss.add(when: 'CONFIG_JAZZ_LED', if_true: files('jazz_led.c'))
747
-softmmu_ss.add(when: 'CONFIG_PL110', if_true: files('pl110.c'))
748
-softmmu_ss.add(when: 'CONFIG_SII9022', if_true: files('sii9022.c'))
749
-softmmu_ss.add(when: 'CONFIG_SSD0303', if_true: files('ssd0303.c'))
750
-softmmu_ss.add(when: 'CONFIG_SSD0323', if_true: files('ssd0323.c'))
751
-softmmu_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xenfb.c'))
752
+system_ss.add(when: 'CONFIG_VGA_CIRRUS', if_true: files('cirrus_vga.c'))
753
+system_ss.add(when: ['CONFIG_VGA_CIRRUS', 'CONFIG_VGA_ISA'], if_true: files('cirrus_vga_isa.c'))
754
+system_ss.add(when: 'CONFIG_G364FB', if_true: files('g364fb.c'))
755
+system_ss.add(when: 'CONFIG_JAZZ_LED', if_true: files('jazz_led.c'))
756
+system_ss.add(when: 'CONFIG_PL110', if_true: files('pl110.c'))
757
+system_ss.add(when: 'CONFIG_SII9022', if_true: files('sii9022.c'))
758
+system_ss.add(when: 'CONFIG_SSD0303', if_true: files('ssd0303.c'))
759
+system_ss.add(when: 'CONFIG_SSD0323', if_true: files('ssd0323.c'))
760
+system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xenfb.c'))
761
762
-softmmu_ss.add(when: 'CONFIG_VGA_PCI', if_true: files('vga-pci.c'))
763
-softmmu_ss.add(when: 'CONFIG_VGA_ISA', if_true: files('vga-isa.c'))
764
-softmmu_ss.add(when: 'CONFIG_VGA_MMIO', if_true: files('vga-mmio.c'))
765
-softmmu_ss.add(when: 'CONFIG_VMWARE_VGA', if_true: files('vmware_vga.c'))
766
-softmmu_ss.add(when: 'CONFIG_BOCHS_DISPLAY', if_true: files('bochs-display.c'))
767
+system_ss.add(when: 'CONFIG_VGA_PCI', if_true: files('vga-pci.c'))
768
+system_ss.add(when: 'CONFIG_VGA_ISA', if_true: files('vga-isa.c'))
769
+system_ss.add(when: 'CONFIG_VGA_MMIO', if_true: files('vga-mmio.c'))
770
+system_ss.add(when: 'CONFIG_VMWARE_VGA', if_true: files('vmware_vga.c'))
771
+system_ss.add(when: 'CONFIG_BOCHS_DISPLAY', if_true: files('bochs-display.c'))
772
773
-softmmu_ss.add(when: 'CONFIG_BLIZZARD', if_true: files('blizzard.c'))
774
-softmmu_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4210_fimd.c'))
775
-softmmu_ss.add(when: 'CONFIG_FRAMEBUFFER', if_true: files('framebuffer.c'))
776
-softmmu_ss.add(when: 'CONFIG_ZAURUS', if_true: files('tc6393xb.c'))
777
+system_ss.add(when: 'CONFIG_BLIZZARD', if_true: files('blizzard.c'))
778
+system_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4210_fimd.c'))
779
+system_ss.add(when: 'CONFIG_FRAMEBUFFER', if_true: files('framebuffer.c'))
780
+system_ss.add(when: 'CONFIG_ZAURUS', if_true: files('tc6393xb.c'))
781
782
-softmmu_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_dss.c'))
783
-softmmu_ss.add(when: 'CONFIG_PXA2XX', if_true: files('pxa2xx_lcd.c'))
784
-softmmu_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2835_fb.c'))
785
-softmmu_ss.add(when: 'CONFIG_SM501', if_true: files('sm501.c'))
786
-softmmu_ss.add(when: 'CONFIG_TCX', if_true: files('tcx.c'))
787
-softmmu_ss.add(when: 'CONFIG_CG3', if_true: files('cg3.c'))
788
-softmmu_ss.add(when: 'CONFIG_MACFB', if_true: files('macfb.c'))
789
-softmmu_ss.add(when: 'CONFIG_NEXTCUBE', if_true: files('next-fb.c'))
790
+system_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_dss.c'))
791
+system_ss.add(when: 'CONFIG_PXA2XX', if_true: files('pxa2xx_lcd.c'))
792
+system_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2835_fb.c'))
793
+system_ss.add(when: 'CONFIG_SM501', if_true: files('sm501.c'))
794
+system_ss.add(when: 'CONFIG_TCX', if_true: files('tcx.c'))
795
+system_ss.add(when: 'CONFIG_CG3', if_true: files('cg3.c'))
796
+system_ss.add(when: 'CONFIG_MACFB', if_true: files('macfb.c'))
797
+system_ss.add(when: 'CONFIG_NEXTCUBE', if_true: files('next-fb.c'))
798
799
-softmmu_ss.add(when: 'CONFIG_VGA', if_true: files('vga.c'))
800
+system_ss.add(when: 'CONFIG_VGA', if_true: files('vga.c'))
801
802
if (config_all_devices.has_key('CONFIG_VGA_CIRRUS') or
803
config_all_devices.has_key('CONFIG_VGA_PCI') or
804
config_all_devices.has_key('CONFIG_VMWARE_VGA') or
805
config_all_devices.has_key('CONFIG_ATI_VGA')
806
)
807
- softmmu_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi-vga.c'),
808
+ system_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi-vga.c'),
809
if_false: files('acpi-vga-stub.c'))
810
endif
811
812
@@ -XXX,XX +XXX,XX @@ if config_all_devices.has_key('CONFIG_QXL')
813
hw_display_modules += {'qxl': qxl_ss}
814
endif
815
816
-softmmu_ss.add(when: 'CONFIG_DPCD', if_true: files('dpcd.c'))
817
-softmmu_ss.add(when: 'CONFIG_XLNX_ZYNQMP_ARM', if_true: files('xlnx_dp.c'))
818
+system_ss.add(when: 'CONFIG_DPCD', if_true: files('dpcd.c'))
819
+system_ss.add(when: 'CONFIG_XLNX_ZYNQMP_ARM', if_true: files('xlnx_dp.c'))
820
821
-softmmu_ss.add(when: 'CONFIG_ARTIST', if_true: files('artist.c'))
822
+system_ss.add(when: 'CONFIG_ARTIST', if_true: files('artist.c'))
823
824
-softmmu_ss.add(when: [pixman, 'CONFIG_ATI_VGA'], if_true: files('ati.c', 'ati_2d.c', 'ati_dbg.c'))
825
+system_ss.add(when: [pixman, 'CONFIG_ATI_VGA'], if_true: files('ati.c', 'ati_2d.c', 'ati_dbg.c'))
826
827
828
if config_all_devices.has_key('CONFIG_VIRTIO_GPU')
829
@@ -XXX,XX +XXX,XX @@ if config_all_devices.has_key('CONFIG_VIRTIO_VGA')
830
hw_display_modules += {'virtio-vga-gl': virtio_vga_gl_ss}
831
endif
832
833
-softmmu_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_lcdc.c'))
834
+system_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_lcdc.c'))
835
836
-softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('acpi-vga-stub.c'))
837
+system_ss.add(when: 'CONFIG_ALL', if_true: files('acpi-vga-stub.c'))
838
modules += { 'hw-display': hw_display_modules }
839
diff --git a/hw/dma/meson.build b/hw/dma/meson.build
840
index XXXXXXX..XXXXXXX 100644
841
--- a/hw/dma/meson.build
842
+++ b/hw/dma/meson.build
843
@@ -XXX,XX +XXX,XX @@
844
-softmmu_ss.add(when: 'CONFIG_RC4030', if_true: files('rc4030.c'))
845
-softmmu_ss.add(when: 'CONFIG_PL080', if_true: files('pl080.c'))
846
-softmmu_ss.add(when: 'CONFIG_PL330', if_true: files('pl330.c'))
847
-softmmu_ss.add(when: 'CONFIG_I82374', if_true: files('i82374.c'))
848
-softmmu_ss.add(when: 'CONFIG_I8257', if_true: files('i8257.c'))
849
-softmmu_ss.add(when: 'CONFIG_XILINX_AXI', if_true: files('xilinx_axidma.c'))
850
-softmmu_ss.add(when: 'CONFIG_ZYNQ_DEVCFG', if_true: files('xlnx-zynq-devcfg.c'))
851
-softmmu_ss.add(when: 'CONFIG_ETRAXFS', if_true: files('etraxfs_dma.c'))
852
-softmmu_ss.add(when: 'CONFIG_STP2000', if_true: files('sparc32_dma.c'))
853
-softmmu_ss.add(when: 'CONFIG_XLNX_ZYNQMP_ARM', if_true: files('xlnx_dpdma.c'))
854
-softmmu_ss.add(when: 'CONFIG_XLNX_ZDMA', if_true: files('xlnx-zdma.c'))
855
-softmmu_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_dma.c', 'soc_dma.c'))
856
-softmmu_ss.add(when: 'CONFIG_PXA2XX', if_true: files('pxa2xx_dma.c'))
857
-softmmu_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2835_dma.c'))
858
-softmmu_ss.add(when: 'CONFIG_SIFIVE_PDMA', if_true: files('sifive_pdma.c'))
859
-softmmu_ss.add(when: 'CONFIG_XLNX_CSU_DMA', if_true: files('xlnx_csu_dma.c'))
860
+system_ss.add(when: 'CONFIG_RC4030', if_true: files('rc4030.c'))
861
+system_ss.add(when: 'CONFIG_PL080', if_true: files('pl080.c'))
862
+system_ss.add(when: 'CONFIG_PL330', if_true: files('pl330.c'))
863
+system_ss.add(when: 'CONFIG_I82374', if_true: files('i82374.c'))
864
+system_ss.add(when: 'CONFIG_I8257', if_true: files('i8257.c'))
865
+system_ss.add(when: 'CONFIG_XILINX_AXI', if_true: files('xilinx_axidma.c'))
866
+system_ss.add(when: 'CONFIG_ZYNQ_DEVCFG', if_true: files('xlnx-zynq-devcfg.c'))
867
+system_ss.add(when: 'CONFIG_ETRAXFS', if_true: files('etraxfs_dma.c'))
868
+system_ss.add(when: 'CONFIG_STP2000', if_true: files('sparc32_dma.c'))
869
+system_ss.add(when: 'CONFIG_XLNX_ZYNQMP_ARM', if_true: files('xlnx_dpdma.c'))
870
+system_ss.add(when: 'CONFIG_XLNX_ZDMA', if_true: files('xlnx-zdma.c'))
871
+system_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_dma.c', 'soc_dma.c'))
872
+system_ss.add(when: 'CONFIG_PXA2XX', if_true: files('pxa2xx_dma.c'))
873
+system_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2835_dma.c'))
874
+system_ss.add(when: 'CONFIG_SIFIVE_PDMA', if_true: files('sifive_pdma.c'))
875
+system_ss.add(when: 'CONFIG_XLNX_CSU_DMA', if_true: files('xlnx_csu_dma.c'))
876
diff --git a/hw/gpio/meson.build b/hw/gpio/meson.build
877
index XXXXXXX..XXXXXXX 100644
878
--- a/hw/gpio/meson.build
879
+++ b/hw/gpio/meson.build
880
@@ -XXX,XX +XXX,XX @@
881
-softmmu_ss.add(when: 'CONFIG_GPIO_KEY', if_true: files('gpio_key.c'))
882
-softmmu_ss.add(when: 'CONFIG_GPIO_MPC8XXX', if_true: files('mpc8xxx.c'))
883
-softmmu_ss.add(when: 'CONFIG_GPIO_PWR', if_true: files('gpio_pwr.c'))
884
-softmmu_ss.add(when: 'CONFIG_MAX7310', if_true: files('max7310.c'))
885
-softmmu_ss.add(when: 'CONFIG_PL061', if_true: files('pl061.c'))
886
-softmmu_ss.add(when: 'CONFIG_ZAURUS', if_true: files('zaurus.c'))
887
+system_ss.add(when: 'CONFIG_GPIO_KEY', if_true: files('gpio_key.c'))
888
+system_ss.add(when: 'CONFIG_GPIO_MPC8XXX', if_true: files('mpc8xxx.c'))
889
+system_ss.add(when: 'CONFIG_GPIO_PWR', if_true: files('gpio_pwr.c'))
890
+system_ss.add(when: 'CONFIG_MAX7310', if_true: files('max7310.c'))
891
+system_ss.add(when: 'CONFIG_PL061', if_true: files('pl061.c'))
892
+system_ss.add(when: 'CONFIG_ZAURUS', if_true: files('zaurus.c'))
893
894
-softmmu_ss.add(when: 'CONFIG_IMX', if_true: files('imx_gpio.c'))
895
-softmmu_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_gpio.c'))
896
-softmmu_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_gpio.c'))
897
-softmmu_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_gpio.c'))
898
-softmmu_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2835_gpio.c'))
899
-softmmu_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files('aspeed_gpio.c'))
900
-softmmu_ss.add(when: 'CONFIG_SIFIVE_GPIO', if_true: files('sifive_gpio.c'))
901
+system_ss.add(when: 'CONFIG_IMX', if_true: files('imx_gpio.c'))
902
+system_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_gpio.c'))
903
+system_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_gpio.c'))
904
+system_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_gpio.c'))
905
+system_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2835_gpio.c'))
906
+system_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files('aspeed_gpio.c'))
907
+system_ss.add(when: 'CONFIG_SIFIVE_GPIO', if_true: files('sifive_gpio.c'))
908
diff --git a/hw/i2c/meson.build b/hw/i2c/meson.build
909
index XXXXXXX..XXXXXXX 100644
910
--- a/hw/i2c/meson.build
911
+++ b/hw/i2c/meson.build
912
@@ -XXX,XX +XXX,XX @@ i2c_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_i2c.c'))
913
i2c_ss.add(when: 'CONFIG_PPC4XX', if_true: files('ppc4xx_i2c.c'))
914
i2c_ss.add(when: 'CONFIG_PCA954X', if_true: files('i2c_mux_pca954x.c'))
915
i2c_ss.add(when: 'CONFIG_PMBUS', if_true: files('pmbus_device.c'))
916
-softmmu_ss.add_all(when: 'CONFIG_I2C', if_true: i2c_ss)
917
+system_ss.add_all(when: 'CONFIG_I2C', if_true: i2c_ss)
918
diff --git a/hw/ide/meson.build b/hw/ide/meson.build
919
index XXXXXXX..XXXXXXX 100644
920
--- a/hw/ide/meson.build
921
+++ b/hw/ide/meson.build
922
@@ -XXX,XX +XXX,XX @@
923
-softmmu_ss.add(when: 'CONFIG_AHCI', if_true: files('ahci.c'))
924
-softmmu_ss.add(when: 'CONFIG_AHCI_ICH9', if_true: files('ich.c'))
925
-softmmu_ss.add(when: 'CONFIG_ALLWINNER_A10', if_true: files('ahci-allwinner.c'))
926
-softmmu_ss.add(when: 'CONFIG_IDE_CMD646', if_true: files('cmd646.c'))
927
-softmmu_ss.add(when: 'CONFIG_IDE_CORE', if_true: files('core.c', 'atapi.c'))
928
-softmmu_ss.add(when: 'CONFIG_IDE_ISA', if_true: files('isa.c', 'ioport.c'))
929
-softmmu_ss.add(when: 'CONFIG_IDE_MACIO', if_true: files('macio.c'))
930
-softmmu_ss.add(when: 'CONFIG_IDE_MMIO', if_true: files('mmio.c'))
931
-softmmu_ss.add(when: 'CONFIG_IDE_PCI', if_true: files('pci.c'))
932
-softmmu_ss.add(when: 'CONFIG_IDE_PIIX', if_true: files('piix.c', 'ioport.c'))
933
-softmmu_ss.add(when: 'CONFIG_IDE_QDEV', if_true: files('qdev.c'))
934
-softmmu_ss.add(when: 'CONFIG_IDE_SII3112', if_true: files('sii3112.c'))
935
-softmmu_ss.add(when: 'CONFIG_IDE_VIA', if_true: files('via.c'))
936
-softmmu_ss.add(when: 'CONFIG_MICRODRIVE', if_true: files('microdrive.c'))
937
+system_ss.add(when: 'CONFIG_AHCI', if_true: files('ahci.c'))
938
+system_ss.add(when: 'CONFIG_AHCI_ICH9', if_true: files('ich.c'))
939
+system_ss.add(when: 'CONFIG_ALLWINNER_A10', if_true: files('ahci-allwinner.c'))
940
+system_ss.add(when: 'CONFIG_IDE_CMD646', if_true: files('cmd646.c'))
941
+system_ss.add(when: 'CONFIG_IDE_CORE', if_true: files('core.c', 'atapi.c'))
942
+system_ss.add(when: 'CONFIG_IDE_ISA', if_true: files('isa.c', 'ioport.c'))
943
+system_ss.add(when: 'CONFIG_IDE_MACIO', if_true: files('macio.c'))
944
+system_ss.add(when: 'CONFIG_IDE_MMIO', if_true: files('mmio.c'))
945
+system_ss.add(when: 'CONFIG_IDE_PCI', if_true: files('pci.c'))
946
+system_ss.add(when: 'CONFIG_IDE_PIIX', if_true: files('piix.c', 'ioport.c'))
947
+system_ss.add(when: 'CONFIG_IDE_QDEV', if_true: files('qdev.c'))
948
+system_ss.add(when: 'CONFIG_IDE_SII3112', if_true: files('sii3112.c'))
949
+system_ss.add(when: 'CONFIG_IDE_VIA', if_true: files('via.c'))
950
+system_ss.add(when: 'CONFIG_MICRODRIVE', if_true: files('microdrive.c'))
951
diff --git a/hw/input/meson.build b/hw/input/meson.build
952
index XXXXXXX..XXXXXXX 100644
953
--- a/hw/input/meson.build
954
+++ b/hw/input/meson.build
955
@@ -XXX,XX +XXX,XX @@
956
-softmmu_ss.add(files('hid.c'))
957
-softmmu_ss.add(when: 'CONFIG_ADB', if_true: files('adb.c', 'adb-mouse.c', 'adb-kbd.c'))
958
-softmmu_ss.add(when: 'CONFIG_ADS7846', if_true: files('ads7846.c'))
959
-softmmu_ss.add(when: 'CONFIG_LM832X', if_true: files('lm832x.c'))
960
-softmmu_ss.add(when: 'CONFIG_PCKBD', if_true: files('pckbd.c'))
961
-softmmu_ss.add(when: 'CONFIG_PL050', if_true: files('pl050.c'))
962
-softmmu_ss.add(when: 'CONFIG_PS2', if_true: files('ps2.c'))
963
-softmmu_ss.add(when: 'CONFIG_STELLARIS_INPUT', if_true: files('stellaris_input.c'))
964
-softmmu_ss.add(when: 'CONFIG_TSC2005', if_true: files('tsc2005.c'))
965
+system_ss.add(files('hid.c'))
966
+system_ss.add(when: 'CONFIG_ADB', if_true: files('adb.c', 'adb-mouse.c', 'adb-kbd.c'))
967
+system_ss.add(when: 'CONFIG_ADS7846', if_true: files('ads7846.c'))
968
+system_ss.add(when: 'CONFIG_LM832X', if_true: files('lm832x.c'))
969
+system_ss.add(when: 'CONFIG_PCKBD', if_true: files('pckbd.c'))
970
+system_ss.add(when: 'CONFIG_PL050', if_true: files('pl050.c'))
971
+system_ss.add(when: 'CONFIG_PS2', if_true: files('ps2.c'))
972
+system_ss.add(when: 'CONFIG_STELLARIS_INPUT', if_true: files('stellaris_input.c'))
973
+system_ss.add(when: 'CONFIG_TSC2005', if_true: files('tsc2005.c'))
974
975
-softmmu_ss.add(when: 'CONFIG_VIRTIO_INPUT', if_true: files('virtio-input.c'))
976
-softmmu_ss.add(when: 'CONFIG_VIRTIO_INPUT', if_true: files('virtio-input-hid.c'))
977
-softmmu_ss.add(when: 'CONFIG_VIRTIO_INPUT_HOST', if_true: files('virtio-input-host.c'))
978
-softmmu_ss.add(when: 'CONFIG_VHOST_USER_INPUT', if_true: files('vhost-user-input.c'))
979
+system_ss.add(when: 'CONFIG_VIRTIO_INPUT', if_true: files('virtio-input.c'))
980
+system_ss.add(when: 'CONFIG_VIRTIO_INPUT', if_true: files('virtio-input-hid.c'))
981
+system_ss.add(when: 'CONFIG_VIRTIO_INPUT_HOST', if_true: files('virtio-input-host.c'))
982
+system_ss.add(when: 'CONFIG_VHOST_USER_INPUT', if_true: files('vhost-user-input.c'))
983
984
-softmmu_ss.add(when: 'CONFIG_PXA2XX', if_true: files('pxa2xx_keypad.c'))
985
-softmmu_ss.add(when: 'CONFIG_TSC210X', if_true: files('tsc210x.c'))
986
-softmmu_ss.add(when: 'CONFIG_LASIPS2', if_true: files('lasips2.c'))
987
+system_ss.add(when: 'CONFIG_PXA2XX', if_true: files('pxa2xx_keypad.c'))
988
+system_ss.add(when: 'CONFIG_TSC210X', if_true: files('tsc210x.c'))
989
+system_ss.add(when: 'CONFIG_LASIPS2', if_true: files('lasips2.c'))
990
diff --git a/hw/intc/meson.build b/hw/intc/meson.build
991
index XXXXXXX..XXXXXXX 100644
992
--- a/hw/intc/meson.build
993
+++ b/hw/intc/meson.build
994
@@ -XXX,XX +XXX,XX @@
995
-softmmu_ss.add(files('intc.c'))
996
-softmmu_ss.add(when: 'CONFIG_ARM_GIC', if_true: files(
997
+system_ss.add(files('intc.c'))
998
+system_ss.add(when: 'CONFIG_ARM_GIC', if_true: files(
999
'arm_gic.c',
1000
'arm_gic_common.c',
1001
'arm_gicv2m.c',
1002
'arm_gicv3_common.c',
1003
'arm_gicv3_its_common.c',
1004
))
1005
-softmmu_ss.add(when: 'CONFIG_ARM_GICV3_TCG', if_true: files(
1006
+system_ss.add(when: 'CONFIG_ARM_GICV3_TCG', if_true: files(
1007
'arm_gicv3.c',
1008
'arm_gicv3_dist.c',
1009
'arm_gicv3_its.c',
1010
'arm_gicv3_redist.c',
1011
))
1012
-softmmu_ss.add(when: 'CONFIG_ALLWINNER_A10_PIC', if_true: files('allwinner-a10-pic.c'))
1013
-softmmu_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files('aspeed_vic.c'))
1014
-softmmu_ss.add(when: 'CONFIG_ETRAXFS', if_true: files('etraxfs_pic.c'))
1015
-softmmu_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4210_gic.c', 'exynos4210_combiner.c'))
1016
-softmmu_ss.add(when: 'CONFIG_GOLDFISH_PIC', if_true: files('goldfish_pic.c'))
1017
-softmmu_ss.add(when: 'CONFIG_HEATHROW_PIC', if_true: files('heathrow_pic.c'))
1018
-softmmu_ss.add(when: 'CONFIG_I8259', if_true: files('i8259_common.c', 'i8259.c'))
1019
-softmmu_ss.add(when: 'CONFIG_IMX', if_true: files('imx_avic.c', 'imx_gpcv2.c'))
1020
-softmmu_ss.add(when: 'CONFIG_IOAPIC', if_true: files('ioapic_common.c'))
1021
-softmmu_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_intc.c'))
1022
-softmmu_ss.add(when: 'CONFIG_OPENPIC', if_true: files('openpic.c'))
1023
-softmmu_ss.add(when: 'CONFIG_PL190', if_true: files('pl190.c'))
1024
-softmmu_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2835_ic.c', 'bcm2836_control.c'))
1025
-softmmu_ss.add(when: 'CONFIG_REALVIEW', if_true: files('realview_gic.c'))
1026
-softmmu_ss.add(when: 'CONFIG_SLAVIO', if_true: files('slavio_intctl.c'))
1027
-softmmu_ss.add(when: 'CONFIG_XILINX', if_true: files('xilinx_intc.c'))
1028
-softmmu_ss.add(when: 'CONFIG_XLNX_ZYNQMP', if_true: files('xlnx-zynqmp-ipi.c'))
1029
-softmmu_ss.add(when: 'CONFIG_XLNX_ZYNQMP_PMU', if_true: files('xlnx-pmu-iomod-intc.c'))
1030
+system_ss.add(when: 'CONFIG_ALLWINNER_A10_PIC', if_true: files('allwinner-a10-pic.c'))
1031
+system_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files('aspeed_vic.c'))
1032
+system_ss.add(when: 'CONFIG_ETRAXFS', if_true: files('etraxfs_pic.c'))
1033
+system_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4210_gic.c', 'exynos4210_combiner.c'))
1034
+system_ss.add(when: 'CONFIG_GOLDFISH_PIC', if_true: files('goldfish_pic.c'))
1035
+system_ss.add(when: 'CONFIG_HEATHROW_PIC', if_true: files('heathrow_pic.c'))
1036
+system_ss.add(when: 'CONFIG_I8259', if_true: files('i8259_common.c', 'i8259.c'))
1037
+system_ss.add(when: 'CONFIG_IMX', if_true: files('imx_avic.c', 'imx_gpcv2.c'))
1038
+system_ss.add(when: 'CONFIG_IOAPIC', if_true: files('ioapic_common.c'))
1039
+system_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_intc.c'))
1040
+system_ss.add(when: 'CONFIG_OPENPIC', if_true: files('openpic.c'))
1041
+system_ss.add(when: 'CONFIG_PL190', if_true: files('pl190.c'))
1042
+system_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2835_ic.c', 'bcm2836_control.c'))
1043
+system_ss.add(when: 'CONFIG_REALVIEW', if_true: files('realview_gic.c'))
1044
+system_ss.add(when: 'CONFIG_SLAVIO', if_true: files('slavio_intctl.c'))
1045
+system_ss.add(when: 'CONFIG_XILINX', if_true: files('xilinx_intc.c'))
1046
+system_ss.add(when: 'CONFIG_XLNX_ZYNQMP', if_true: files('xlnx-zynqmp-ipi.c'))
1047
+system_ss.add(when: 'CONFIG_XLNX_ZYNQMP_PMU', if_true: files('xlnx-pmu-iomod-intc.c'))
1048
1049
if config_all_devices.has_key('CONFIG_APIC') or \
1050
config_all_devices.has_key('CONFIG_I8259') or \
1051
config_all_devices.has_key('CONFIG_MC146818RTC')
1052
- softmmu_ss.add(files('kvm_irqcount.c'))
1053
+ system_ss.add(files('kvm_irqcount.c'))
1054
endif
1055
1056
specific_ss.add(when: 'CONFIG_APIC', if_true: files('apic.c', 'apic_common.c'))
1057
diff --git a/hw/ipack/meson.build b/hw/ipack/meson.build
1058
index XXXXXXX..XXXXXXX 100644
1059
--- a/hw/ipack/meson.build
1060
+++ b/hw/ipack/meson.build
1061
@@ -1 +1 @@
1062
-softmmu_ss.add(when: 'CONFIG_IPACK', if_true: files('ipack.c', 'tpci200.c'))
1063
+system_ss.add(when: 'CONFIG_IPACK', if_true: files('ipack.c', 'tpci200.c'))
1064
diff --git a/hw/ipmi/meson.build b/hw/ipmi/meson.build
1065
index XXXXXXX..XXXXXXX 100644
1066
--- a/hw/ipmi/meson.build
1067
+++ b/hw/ipmi/meson.build
1068
@@ -XXX,XX +XXX,XX @@ ipmi_ss.add(when: 'CONFIG_ISA_IPMI_BT', if_true: files('isa_ipmi_bt.c'))
1069
ipmi_ss.add(when: 'CONFIG_PCI_IPMI_BT', if_true: files('pci_ipmi_bt.c'))
1070
ipmi_ss.add(when: 'CONFIG_IPMI_SSIF', if_true: files('smbus_ipmi.c'))
1071
1072
-softmmu_ss.add_all(when: 'CONFIG_IPMI', if_true: ipmi_ss)
1073
+system_ss.add_all(when: 'CONFIG_IPMI', if_true: ipmi_ss)
1074
diff --git a/hw/isa/meson.build b/hw/isa/meson.build
1075
index XXXXXXX..XXXXXXX 100644
1076
--- a/hw/isa/meson.build
1077
+++ b/hw/isa/meson.build
1078
@@ -XXX,XX +XXX,XX @@
1079
-softmmu_ss.add(when: 'CONFIG_APM', if_true: files('apm.c'))
1080
-softmmu_ss.add(when: 'CONFIG_I82378', if_true: files('i82378.c'))
1081
-softmmu_ss.add(when: 'CONFIG_ISA_BUS', if_true: files('isa-bus.c'))
1082
-softmmu_ss.add(when: 'CONFIG_ISA_SUPERIO', if_true: files('isa-superio.c'))
1083
-softmmu_ss.add(when: 'CONFIG_PC87312', if_true: files('pc87312.c'))
1084
-softmmu_ss.add(when: 'CONFIG_PIIX3', if_true: files('piix3.c'))
1085
-softmmu_ss.add(when: 'CONFIG_PIIX4', if_true: files('piix4.c'))
1086
-softmmu_ss.add(when: 'CONFIG_SMC37C669', if_true: files('smc37c669-superio.c'))
1087
-softmmu_ss.add(when: 'CONFIG_VT82C686', if_true: files('vt82c686.c'))
1088
+system_ss.add(when: 'CONFIG_APM', if_true: files('apm.c'))
1089
+system_ss.add(when: 'CONFIG_I82378', if_true: files('i82378.c'))
1090
+system_ss.add(when: 'CONFIG_ISA_BUS', if_true: files('isa-bus.c'))
1091
+system_ss.add(when: 'CONFIG_ISA_SUPERIO', if_true: files('isa-superio.c'))
1092
+system_ss.add(when: 'CONFIG_PC87312', if_true: files('pc87312.c'))
1093
+system_ss.add(when: 'CONFIG_PIIX3', if_true: files('piix3.c'))
1094
+system_ss.add(when: 'CONFIG_PIIX4', if_true: files('piix4.c'))
1095
+system_ss.add(when: 'CONFIG_SMC37C669', if_true: files('smc37c669-superio.c'))
1096
+system_ss.add(when: 'CONFIG_VT82C686', if_true: files('vt82c686.c'))
1097
1098
specific_ss.add(when: 'CONFIG_LPC_ICH9', if_true: files('lpc_ich9.c'))
1099
diff --git a/hw/mem/meson.build b/hw/mem/meson.build
1100
index XXXXXXX..XXXXXXX 100644
1101
--- a/hw/mem/meson.build
1102
+++ b/hw/mem/meson.build
1103
@@ -XXX,XX +XXX,XX @@ mem_ss.add(when: 'CONFIG_DIMM', if_true: files('pc-dimm.c'))
1104
mem_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_mc.c'))
1105
mem_ss.add(when: 'CONFIG_NVDIMM', if_true: files('nvdimm.c'))
1106
mem_ss.add(when: 'CONFIG_CXL_MEM_DEVICE', if_true: files('cxl_type3.c'))
1107
-softmmu_ss.add(when: 'CONFIG_CXL_MEM_DEVICE', if_false: files('cxl_type3_stubs.c'))
1108
-softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('cxl_type3_stubs.c'))
1109
+system_ss.add(when: 'CONFIG_CXL_MEM_DEVICE', if_false: files('cxl_type3_stubs.c'))
1110
+system_ss.add(when: 'CONFIG_ALL', if_true: files('cxl_type3_stubs.c'))
1111
1112
-softmmu_ss.add_all(when: 'CONFIG_MEM_DEVICE', if_true: mem_ss)
1113
+system_ss.add_all(when: 'CONFIG_MEM_DEVICE', if_true: mem_ss)
1114
1115
-softmmu_ss.add(when: 'CONFIG_SPARSE_MEM', if_true: files('sparse-mem.c'))
1116
+system_ss.add(when: 'CONFIG_SPARSE_MEM', if_true: files('sparse-mem.c'))
1117
diff --git a/hw/misc/macio/meson.build b/hw/misc/macio/meson.build
1118
index XXXXXXX..XXXXXXX 100644
1119
--- a/hw/misc/macio/meson.build
1120
+++ b/hw/misc/macio/meson.build
1121
@@ -XXX,XX +XXX,XX @@ macio_ss.add(when: 'CONFIG_MACIO_GPIO', if_true: files('gpio.c'))
1122
macio_ss.add(when: 'CONFIG_MAC_DBDMA', if_true: files('mac_dbdma.c'))
1123
macio_ss.add(when: 'CONFIG_MAC_PMU', if_true: files('pmu.c'))
1124
1125
-softmmu_ss.add_all(when: 'CONFIG_MACIO', if_true: macio_ss)
1126
+system_ss.add_all(when: 'CONFIG_MACIO', if_true: macio_ss)
1127
diff --git a/hw/misc/meson.build b/hw/misc/meson.build
1128
index XXXXXXX..XXXXXXX 100644
1129
--- a/hw/misc/meson.build
1130
+++ b/hw/misc/meson.build
1131
@@ -XXX,XX +XXX,XX @@
1132
-softmmu_ss.add(when: 'CONFIG_APPLESMC', if_true: files('applesmc.c'))
1133
-softmmu_ss.add(when: 'CONFIG_EDU', if_true: files('edu.c'))
1134
-softmmu_ss.add(when: 'CONFIG_FW_CFG_DMA', if_true: files('vmcoreinfo.c'))
1135
-softmmu_ss.add(when: 'CONFIG_ISA_DEBUG', if_true: files('debugexit.c'))
1136
-softmmu_ss.add(when: 'CONFIG_ISA_TESTDEV', if_true: files('pc-testdev.c'))
1137
-softmmu_ss.add(when: 'CONFIG_PCA9552', if_true: files('pca9552.c'))
1138
-softmmu_ss.add(when: 'CONFIG_PCI_TESTDEV', if_true: files('pci-testdev.c'))
1139
-softmmu_ss.add(when: 'CONFIG_UNIMP', if_true: files('unimp.c'))
1140
-softmmu_ss.add(when: 'CONFIG_EMPTY_SLOT', if_true: files('empty_slot.c'))
1141
-softmmu_ss.add(when: 'CONFIG_LED', if_true: files('led.c'))
1142
-softmmu_ss.add(when: 'CONFIG_PVPANIC_COMMON', if_true: files('pvpanic.c'))
1143
+system_ss.add(when: 'CONFIG_APPLESMC', if_true: files('applesmc.c'))
1144
+system_ss.add(when: 'CONFIG_EDU', if_true: files('edu.c'))
1145
+system_ss.add(when: 'CONFIG_FW_CFG_DMA', if_true: files('vmcoreinfo.c'))
1146
+system_ss.add(when: 'CONFIG_ISA_DEBUG', if_true: files('debugexit.c'))
1147
+system_ss.add(when: 'CONFIG_ISA_TESTDEV', if_true: files('pc-testdev.c'))
1148
+system_ss.add(when: 'CONFIG_PCA9552', if_true: files('pca9552.c'))
1149
+system_ss.add(when: 'CONFIG_PCI_TESTDEV', if_true: files('pci-testdev.c'))
1150
+system_ss.add(when: 'CONFIG_UNIMP', if_true: files('unimp.c'))
1151
+system_ss.add(when: 'CONFIG_EMPTY_SLOT', if_true: files('empty_slot.c'))
1152
+system_ss.add(when: 'CONFIG_LED', if_true: files('led.c'))
1153
+system_ss.add(when: 'CONFIG_PVPANIC_COMMON', if_true: files('pvpanic.c'))
1154
1155
# ARM devices
1156
-softmmu_ss.add(when: 'CONFIG_PL310', if_true: files('arm_l2x0.c'))
1157
-softmmu_ss.add(when: 'CONFIG_INTEGRATOR_DEBUG', if_true: files('arm_integrator_debug.c'))
1158
-softmmu_ss.add(when: 'CONFIG_A9SCU', if_true: files('a9scu.c'))
1159
-softmmu_ss.add(when: 'CONFIG_ARM11SCU', if_true: files('arm11scu.c'))
1160
+system_ss.add(when: 'CONFIG_PL310', if_true: files('arm_l2x0.c'))
1161
+system_ss.add(when: 'CONFIG_INTEGRATOR_DEBUG', if_true: files('arm_integrator_debug.c'))
1162
+system_ss.add(when: 'CONFIG_A9SCU', if_true: files('a9scu.c'))
1163
+system_ss.add(when: 'CONFIG_ARM11SCU', if_true: files('arm11scu.c'))
1164
1165
-softmmu_ss.add(when: 'CONFIG_ARM_V7M', if_true: files('armv7m_ras.c'))
1166
+system_ss.add(when: 'CONFIG_ARM_V7M', if_true: files('armv7m_ras.c'))
1167
1168
# Mac devices
1169
-softmmu_ss.add(when: 'CONFIG_MOS6522', if_true: files('mos6522.c'))
1170
+system_ss.add(when: 'CONFIG_MOS6522', if_true: files('mos6522.c'))
1171
1172
# virt devices
1173
-softmmu_ss.add(when: 'CONFIG_VIRT_CTRL', if_true: files('virt_ctrl.c'))
1174
+system_ss.add(when: 'CONFIG_VIRT_CTRL', if_true: files('virt_ctrl.c'))
1175
1176
# RISC-V devices
1177
-softmmu_ss.add(when: 'CONFIG_MCHP_PFSOC_DMC', if_true: files('mchp_pfsoc_dmc.c'))
1178
-softmmu_ss.add(when: 'CONFIG_MCHP_PFSOC_IOSCB', if_true: files('mchp_pfsoc_ioscb.c'))
1179
-softmmu_ss.add(when: 'CONFIG_MCHP_PFSOC_SYSREG', if_true: files('mchp_pfsoc_sysreg.c'))
1180
-softmmu_ss.add(when: 'CONFIG_SIFIVE_TEST', if_true: files('sifive_test.c'))
1181
-softmmu_ss.add(when: 'CONFIG_SIFIVE_E_PRCI', if_true: files('sifive_e_prci.c'))
1182
-softmmu_ss.add(when: 'CONFIG_SIFIVE_U_OTP', if_true: files('sifive_u_otp.c'))
1183
-softmmu_ss.add(when: 'CONFIG_SIFIVE_U_PRCI', if_true: files('sifive_u_prci.c'))
1184
+system_ss.add(when: 'CONFIG_MCHP_PFSOC_DMC', if_true: files('mchp_pfsoc_dmc.c'))
1185
+system_ss.add(when: 'CONFIG_MCHP_PFSOC_IOSCB', if_true: files('mchp_pfsoc_ioscb.c'))
1186
+system_ss.add(when: 'CONFIG_MCHP_PFSOC_SYSREG', if_true: files('mchp_pfsoc_sysreg.c'))
1187
+system_ss.add(when: 'CONFIG_SIFIVE_TEST', if_true: files('sifive_test.c'))
1188
+system_ss.add(when: 'CONFIG_SIFIVE_E_PRCI', if_true: files('sifive_e_prci.c'))
1189
+system_ss.add(when: 'CONFIG_SIFIVE_U_OTP', if_true: files('sifive_u_otp.c'))
1190
+system_ss.add(when: 'CONFIG_SIFIVE_U_PRCI', if_true: files('sifive_u_prci.c'))
1191
1192
subdir('macio')
1193
1194
-softmmu_ss.add(when: 'CONFIG_IVSHMEM_DEVICE', if_true: files('ivshmem.c'))
1195
+system_ss.add(when: 'CONFIG_IVSHMEM_DEVICE', if_true: files('ivshmem.c'))
1196
1197
-softmmu_ss.add(when: 'CONFIG_ALLWINNER_SRAMC', if_true: files('allwinner-sramc.c'))
1198
-softmmu_ss.add(when: 'CONFIG_ALLWINNER_A10_CCM', if_true: files('allwinner-a10-ccm.c'))
1199
-softmmu_ss.add(when: 'CONFIG_ALLWINNER_A10_DRAMC', if_true: files('allwinner-a10-dramc.c'))
1200
-softmmu_ss.add(when: 'CONFIG_ALLWINNER_H3', if_true: files('allwinner-h3-ccu.c'))
1201
+system_ss.add(when: 'CONFIG_ALLWINNER_SRAMC', if_true: files('allwinner-sramc.c'))
1202
+system_ss.add(when: 'CONFIG_ALLWINNER_A10_CCM', if_true: files('allwinner-a10-ccm.c'))
1203
+system_ss.add(when: 'CONFIG_ALLWINNER_A10_DRAMC', if_true: files('allwinner-a10-dramc.c'))
1204
+system_ss.add(when: 'CONFIG_ALLWINNER_H3', if_true: files('allwinner-h3-ccu.c'))
1205
specific_ss.add(when: 'CONFIG_ALLWINNER_H3', if_true: files('allwinner-cpucfg.c'))
1206
-softmmu_ss.add(when: 'CONFIG_ALLWINNER_H3', if_true: files('allwinner-h3-dramc.c'))
1207
-softmmu_ss.add(when: 'CONFIG_ALLWINNER_H3', if_true: files('allwinner-h3-sysctrl.c'))
1208
-softmmu_ss.add(when: 'CONFIG_ALLWINNER_H3', if_true: files('allwinner-sid.c'))
1209
-softmmu_ss.add(when: 'CONFIG_ALLWINNER_R40', if_true: files('allwinner-r40-ccu.c'))
1210
-softmmu_ss.add(when: 'CONFIG_ALLWINNER_R40', if_true: files('allwinner-r40-dramc.c'))
1211
-softmmu_ss.add(when: 'CONFIG_AXP2XX_PMU', if_true: files('axp2xx.c'))
1212
-softmmu_ss.add(when: 'CONFIG_REALVIEW', if_true: files('arm_sysctl.c'))
1213
-softmmu_ss.add(when: 'CONFIG_NSERIES', if_true: files('cbus.c'))
1214
-softmmu_ss.add(when: 'CONFIG_ECCMEMCTL', if_true: files('eccmemctl.c'))
1215
-softmmu_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4210_pmu.c', 'exynos4210_clk.c', 'exynos4210_rng.c'))
1216
-softmmu_ss.add(when: 'CONFIG_IMX', if_true: files(
1217
+system_ss.add(when: 'CONFIG_ALLWINNER_H3', if_true: files('allwinner-h3-dramc.c'))
1218
+system_ss.add(when: 'CONFIG_ALLWINNER_H3', if_true: files('allwinner-h3-sysctrl.c'))
1219
+system_ss.add(when: 'CONFIG_ALLWINNER_H3', if_true: files('allwinner-sid.c'))
1220
+system_ss.add(when: 'CONFIG_ALLWINNER_R40', if_true: files('allwinner-r40-ccu.c'))
1221
+system_ss.add(when: 'CONFIG_ALLWINNER_R40', if_true: files('allwinner-r40-dramc.c'))
1222
+system_ss.add(when: 'CONFIG_AXP2XX_PMU', if_true: files('axp2xx.c'))
1223
+system_ss.add(when: 'CONFIG_REALVIEW', if_true: files('arm_sysctl.c'))
1224
+system_ss.add(when: 'CONFIG_NSERIES', if_true: files('cbus.c'))
1225
+system_ss.add(when: 'CONFIG_ECCMEMCTL', if_true: files('eccmemctl.c'))
1226
+system_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4210_pmu.c', 'exynos4210_clk.c', 'exynos4210_rng.c'))
1227
+system_ss.add(when: 'CONFIG_IMX', if_true: files(
1228
'imx25_ccm.c',
1229
'imx31_ccm.c',
1230
'imx6_ccm.c',
1231
@@ -XXX,XX +XXX,XX @@ softmmu_ss.add(when: 'CONFIG_IMX', if_true: files(
1232
'imx_ccm.c',
1233
'imx_rngc.c',
1234
))
1235
-softmmu_ss.add(when: 'CONFIG_MAINSTONE', if_true: files('mst_fpga.c'))
1236
-softmmu_ss.add(when: 'CONFIG_NPCM7XX', if_true: files(
1237
+system_ss.add(when: 'CONFIG_MAINSTONE', if_true: files('mst_fpga.c'))
1238
+system_ss.add(when: 'CONFIG_NPCM7XX', if_true: files(
1239
'npcm7xx_clk.c',
1240
'npcm7xx_gcr.c',
1241
'npcm7xx_mft.c',
1242
'npcm7xx_pwm.c',
1243
'npcm7xx_rng.c',
1244
))
1245
-softmmu_ss.add(when: 'CONFIG_OMAP', if_true: files(
1246
+system_ss.add(when: 'CONFIG_OMAP', if_true: files(
1247
'omap_clk.c',
1248
'omap_gpmc.c',
1249
'omap_l4.c',
1250
'omap_sdrc.c',
1251
'omap_tap.c',
1252
))
1253
-softmmu_ss.add(when: 'CONFIG_RASPI', if_true: files(
1254
+system_ss.add(when: 'CONFIG_RASPI', if_true: files(
1255
'bcm2835_mbox.c',
1256
'bcm2835_mphi.c',
1257
'bcm2835_property.c',
1258
@@ -XXX,XX +XXX,XX @@ softmmu_ss.add(when: 'CONFIG_RASPI', if_true: files(
1259
'bcm2835_cprman.c',
1260
'bcm2835_powermgt.c',
1261
))
1262
-softmmu_ss.add(when: 'CONFIG_SLAVIO', if_true: files('slavio_misc.c'))
1263
-softmmu_ss.add(when: 'CONFIG_ZYNQ', if_true: files('zynq_slcr.c'))
1264
-softmmu_ss.add(when: 'CONFIG_XLNX_ZYNQMP_ARM', if_true: files('xlnx-zynqmp-crf.c'))
1265
-softmmu_ss.add(when: 'CONFIG_XLNX_ZYNQMP_ARM', if_true: files('xlnx-zynqmp-apu-ctrl.c'))
1266
+system_ss.add(when: 'CONFIG_SLAVIO', if_true: files('slavio_misc.c'))
1267
+system_ss.add(when: 'CONFIG_ZYNQ', if_true: files('zynq_slcr.c'))
1268
+system_ss.add(when: 'CONFIG_XLNX_ZYNQMP_ARM', if_true: files('xlnx-zynqmp-crf.c'))
1269
+system_ss.add(when: 'CONFIG_XLNX_ZYNQMP_ARM', if_true: files('xlnx-zynqmp-apu-ctrl.c'))
1270
specific_ss.add(when: 'CONFIG_XLNX_VERSAL', if_true: files('xlnx-versal-crl.c'))
1271
-softmmu_ss.add(when: 'CONFIG_XLNX_VERSAL', if_true: files(
1272
+system_ss.add(when: 'CONFIG_XLNX_VERSAL', if_true: files(
1273
'xlnx-versal-xramc.c',
1274
'xlnx-versal-pmc-iou-slcr.c',
1275
))
1276
-softmmu_ss.add(when: 'CONFIG_STM32F2XX_SYSCFG', if_true: files('stm32f2xx_syscfg.c'))
1277
-softmmu_ss.add(when: 'CONFIG_STM32F4XX_SYSCFG', if_true: files('stm32f4xx_syscfg.c'))
1278
-softmmu_ss.add(when: 'CONFIG_STM32F4XX_EXTI', if_true: files('stm32f4xx_exti.c'))
1279
-softmmu_ss.add(when: 'CONFIG_MPS2_FPGAIO', if_true: files('mps2-fpgaio.c'))
1280
-softmmu_ss.add(when: 'CONFIG_MPS2_SCC', if_true: files('mps2-scc.c'))
1281
+system_ss.add(when: 'CONFIG_STM32F2XX_SYSCFG', if_true: files('stm32f2xx_syscfg.c'))
1282
+system_ss.add(when: 'CONFIG_STM32F4XX_SYSCFG', if_true: files('stm32f4xx_syscfg.c'))
1283
+system_ss.add(when: 'CONFIG_STM32F4XX_EXTI', if_true: files('stm32f4xx_exti.c'))
1284
+system_ss.add(when: 'CONFIG_MPS2_FPGAIO', if_true: files('mps2-fpgaio.c'))
1285
+system_ss.add(when: 'CONFIG_MPS2_SCC', if_true: files('mps2-scc.c'))
1286
1287
-softmmu_ss.add(when: 'CONFIG_TZ_MPC', if_true: files('tz-mpc.c'))
1288
-softmmu_ss.add(when: 'CONFIG_TZ_MSC', if_true: files('tz-msc.c'))
1289
-softmmu_ss.add(when: 'CONFIG_TZ_PPC', if_true: files('tz-ppc.c'))
1290
-softmmu_ss.add(when: 'CONFIG_IOTKIT_SECCTL', if_true: files('iotkit-secctl.c'))
1291
-softmmu_ss.add(when: 'CONFIG_IOTKIT_SYSCTL', if_true: files('iotkit-sysctl.c'))
1292
-softmmu_ss.add(when: 'CONFIG_IOTKIT_SYSINFO', if_true: files('iotkit-sysinfo.c'))
1293
-softmmu_ss.add(when: 'CONFIG_ARMSSE_CPU_PWRCTRL', if_true: files('armsse-cpu-pwrctrl.c'))
1294
-softmmu_ss.add(when: 'CONFIG_ARMSSE_CPUID', if_true: files('armsse-cpuid.c'))
1295
-softmmu_ss.add(when: 'CONFIG_ARMSSE_MHU', if_true: files('armsse-mhu.c'))
1296
+system_ss.add(when: 'CONFIG_TZ_MPC', if_true: files('tz-mpc.c'))
1297
+system_ss.add(when: 'CONFIG_TZ_MSC', if_true: files('tz-msc.c'))
1298
+system_ss.add(when: 'CONFIG_TZ_PPC', if_true: files('tz-ppc.c'))
1299
+system_ss.add(when: 'CONFIG_IOTKIT_SECCTL', if_true: files('iotkit-secctl.c'))
1300
+system_ss.add(when: 'CONFIG_IOTKIT_SYSCTL', if_true: files('iotkit-sysctl.c'))
1301
+system_ss.add(when: 'CONFIG_IOTKIT_SYSINFO', if_true: files('iotkit-sysinfo.c'))
1302
+system_ss.add(when: 'CONFIG_ARMSSE_CPU_PWRCTRL', if_true: files('armsse-cpu-pwrctrl.c'))
1303
+system_ss.add(when: 'CONFIG_ARMSSE_CPUID', if_true: files('armsse-cpuid.c'))
1304
+system_ss.add(when: 'CONFIG_ARMSSE_MHU', if_true: files('armsse-mhu.c'))
1305
1306
-softmmu_ss.add(when: 'CONFIG_PVPANIC_ISA', if_true: files('pvpanic-isa.c'))
1307
-softmmu_ss.add(when: 'CONFIG_PVPANIC_PCI', if_true: files('pvpanic-pci.c'))
1308
-softmmu_ss.add(when: 'CONFIG_AUX', if_true: files('auxbus.c'))
1309
-softmmu_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files(
1310
+system_ss.add(when: 'CONFIG_PVPANIC_ISA', if_true: files('pvpanic-isa.c'))
1311
+system_ss.add(when: 'CONFIG_PVPANIC_PCI', if_true: files('pvpanic-pci.c'))
1312
+system_ss.add(when: 'CONFIG_AUX', if_true: files('auxbus.c'))
1313
+system_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files(
1314
'aspeed_hace.c',
1315
'aspeed_i3c.c',
1316
'aspeed_lpc.c',
1317
@@ -XXX,XX +XXX,XX @@ softmmu_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files(
1318
'aspeed_xdma.c',
1319
'aspeed_peci.c'))
1320
1321
-softmmu_ss.add(when: 'CONFIG_MSF2', if_true: files('msf2-sysreg.c'))
1322
-softmmu_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_rng.c'))
1323
+system_ss.add(when: 'CONFIG_MSF2', if_true: files('msf2-sysreg.c'))
1324
+system_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_rng.c'))
1325
1326
-softmmu_ss.add(when: 'CONFIG_GRLIB', if_true: files('grlib_ahb_apb_pnp.c'))
1327
+system_ss.add(when: 'CONFIG_GRLIB', if_true: files('grlib_ahb_apb_pnp.c'))
1328
1329
-softmmu_ss.add(when: 'CONFIG_I2C', if_true: files('i2c-echo.c'))
1330
+system_ss.add(when: 'CONFIG_I2C', if_true: files('i2c-echo.c'))
1331
1332
specific_ss.add(when: 'CONFIG_AVR_POWER', if_true: files('avr_power.c'))
1333
1334
@@ -XXX,XX +XXX,XX @@ specific_ss.add(when: 'CONFIG_MAC_VIA', if_true: files('mac_via.c'))
1335
specific_ss.add(when: 'CONFIG_MIPS_CPS', if_true: files('mips_cmgcr.c', 'mips_cpc.c'))
1336
specific_ss.add(when: 'CONFIG_MIPS_ITU', if_true: files('mips_itu.c'))
1337
1338
-softmmu_ss.add(when: 'CONFIG_SBSA_REF', if_true: files('sbsa_ec.c'))
1339
+system_ss.add(when: 'CONFIG_SBSA_REF', if_true: files('sbsa_ec.c'))
1340
1341
# HPPA devices
1342
-softmmu_ss.add(when: 'CONFIG_LASI', if_true: files('lasi.c'))
1343
+system_ss.add(when: 'CONFIG_LASI', if_true: files('lasi.c'))
1344
diff --git a/hw/net/can/meson.build b/hw/net/can/meson.build
1345
index XXXXXXX..XXXXXXX 100644
1346
--- a/hw/net/can/meson.build
1347
+++ b/hw/net/can/meson.build
1348
@@ -XXX,XX +XXX,XX @@
1349
-softmmu_ss.add(when: 'CONFIG_CAN_SJA1000', if_true: files('can_sja1000.c'))
1350
-softmmu_ss.add(when: 'CONFIG_CAN_PCI', if_true: files('can_kvaser_pci.c'))
1351
-softmmu_ss.add(when: 'CONFIG_CAN_PCI', if_true: files('can_pcm3680_pci.c'))
1352
-softmmu_ss.add(when: 'CONFIG_CAN_PCI', if_true: files('can_mioe3680_pci.c'))
1353
-softmmu_ss.add(when: 'CONFIG_CAN_CTUCANFD', if_true: files('ctucan_core.c'))
1354
-softmmu_ss.add(when: 'CONFIG_CAN_CTUCANFD_PCI', if_true: files('ctucan_pci.c'))
1355
-softmmu_ss.add(when: 'CONFIG_XLNX_ZYNQMP', if_true: files('xlnx-zynqmp-can.c'))
1356
-softmmu_ss.add(when: 'CONFIG_XLNX_VERSAL', if_true: files('xlnx-versal-canfd.c'))
1357
+system_ss.add(when: 'CONFIG_CAN_SJA1000', if_true: files('can_sja1000.c'))
1358
+system_ss.add(when: 'CONFIG_CAN_PCI', if_true: files('can_kvaser_pci.c'))
1359
+system_ss.add(when: 'CONFIG_CAN_PCI', if_true: files('can_pcm3680_pci.c'))
1360
+system_ss.add(when: 'CONFIG_CAN_PCI', if_true: files('can_mioe3680_pci.c'))
1361
+system_ss.add(when: 'CONFIG_CAN_CTUCANFD', if_true: files('ctucan_core.c'))
1362
+system_ss.add(when: 'CONFIG_CAN_CTUCANFD_PCI', if_true: files('ctucan_pci.c'))
1363
+system_ss.add(when: 'CONFIG_XLNX_ZYNQMP', if_true: files('xlnx-zynqmp-can.c'))
1364
+system_ss.add(when: 'CONFIG_XLNX_VERSAL', if_true: files('xlnx-versal-canfd.c'))
1365
diff --git a/hw/net/meson.build b/hw/net/meson.build
1366
index XXXXXXX..XXXXXXX 100644
1367
--- a/hw/net/meson.build
1368
+++ b/hw/net/meson.build
1369
@@ -XXX,XX +XXX,XX @@
1370
-softmmu_ss.add(when: 'CONFIG_DP8393X', if_true: files('dp8393x.c'))
1371
-softmmu_ss.add(when: 'CONFIG_XEN', if_true: files('xen_nic.c'))
1372
-softmmu_ss.add(when: 'CONFIG_NE2000_COMMON', if_true: files('ne2000.c'))
1373
+system_ss.add(when: 'CONFIG_DP8393X', if_true: files('dp8393x.c'))
1374
+system_ss.add(when: 'CONFIG_XEN', if_true: files('xen_nic.c'))
1375
+system_ss.add(when: 'CONFIG_NE2000_COMMON', if_true: files('ne2000.c'))
1376
1377
# PCI network cards
1378
-softmmu_ss.add(when: 'CONFIG_NE2000_PCI', if_true: files('ne2000-pci.c'))
1379
-softmmu_ss.add(when: 'CONFIG_EEPRO100_PCI', if_true: files('eepro100.c'))
1380
-softmmu_ss.add(when: 'CONFIG_PCNET_PCI', if_true: files('pcnet-pci.c'))
1381
-softmmu_ss.add(when: 'CONFIG_PCNET_COMMON', if_true: files('pcnet.c'))
1382
-softmmu_ss.add(when: 'CONFIG_E1000_PCI', if_true: files('e1000.c', 'e1000x_common.c'))
1383
-softmmu_ss.add(when: 'CONFIG_E1000E_PCI_EXPRESS', if_true: files('net_tx_pkt.c', 'net_rx_pkt.c'))
1384
-softmmu_ss.add(when: 'CONFIG_E1000E_PCI_EXPRESS', if_true: files('e1000e.c', 'e1000e_core.c', 'e1000x_common.c'))
1385
-softmmu_ss.add(when: 'CONFIG_IGB_PCI_EXPRESS', if_true: files('net_tx_pkt.c', 'net_rx_pkt.c'))
1386
-softmmu_ss.add(when: 'CONFIG_IGB_PCI_EXPRESS', if_true: files('igb.c', 'igbvf.c', 'igb_core.c'))
1387
-softmmu_ss.add(when: 'CONFIG_RTL8139_PCI', if_true: files('rtl8139.c'))
1388
-softmmu_ss.add(when: 'CONFIG_TULIP', if_true: files('tulip.c'))
1389
-softmmu_ss.add(when: 'CONFIG_VMXNET3_PCI', if_true: files('net_tx_pkt.c', 'net_rx_pkt.c'))
1390
-softmmu_ss.add(when: 'CONFIG_VMXNET3_PCI', if_true: files('vmxnet3.c'))
1391
+system_ss.add(when: 'CONFIG_NE2000_PCI', if_true: files('ne2000-pci.c'))
1392
+system_ss.add(when: 'CONFIG_EEPRO100_PCI', if_true: files('eepro100.c'))
1393
+system_ss.add(when: 'CONFIG_PCNET_PCI', if_true: files('pcnet-pci.c'))
1394
+system_ss.add(when: 'CONFIG_PCNET_COMMON', if_true: files('pcnet.c'))
1395
+system_ss.add(when: 'CONFIG_E1000_PCI', if_true: files('e1000.c', 'e1000x_common.c'))
1396
+system_ss.add(when: 'CONFIG_E1000E_PCI_EXPRESS', if_true: files('net_tx_pkt.c', 'net_rx_pkt.c'))
1397
+system_ss.add(when: 'CONFIG_E1000E_PCI_EXPRESS', if_true: files('e1000e.c', 'e1000e_core.c', 'e1000x_common.c'))
1398
+system_ss.add(when: 'CONFIG_IGB_PCI_EXPRESS', if_true: files('net_tx_pkt.c', 'net_rx_pkt.c'))
1399
+system_ss.add(when: 'CONFIG_IGB_PCI_EXPRESS', if_true: files('igb.c', 'igbvf.c', 'igb_core.c'))
1400
+system_ss.add(when: 'CONFIG_RTL8139_PCI', if_true: files('rtl8139.c'))
1401
+system_ss.add(when: 'CONFIG_TULIP', if_true: files('tulip.c'))
1402
+system_ss.add(when: 'CONFIG_VMXNET3_PCI', if_true: files('net_tx_pkt.c', 'net_rx_pkt.c'))
1403
+system_ss.add(when: 'CONFIG_VMXNET3_PCI', if_true: files('vmxnet3.c'))
1404
1405
-softmmu_ss.add(when: 'CONFIG_SMC91C111', if_true: files('smc91c111.c'))
1406
-softmmu_ss.add(when: 'CONFIG_LAN9118', if_true: files('lan9118.c'))
1407
-softmmu_ss.add(when: 'CONFIG_NE2000_ISA', if_true: files('ne2000-isa.c'))
1408
-softmmu_ss.add(when: 'CONFIG_OPENCORES_ETH', if_true: files('opencores_eth.c'))
1409
-softmmu_ss.add(when: 'CONFIG_XGMAC', if_true: files('xgmac.c'))
1410
-softmmu_ss.add(when: 'CONFIG_MIPSNET', if_true: files('mipsnet.c'))
1411
-softmmu_ss.add(when: 'CONFIG_XILINX_AXI', if_true: files('xilinx_axienet.c'))
1412
-softmmu_ss.add(when: 'CONFIG_ALLWINNER_EMAC', if_true: files('allwinner_emac.c'))
1413
-softmmu_ss.add(when: 'CONFIG_ALLWINNER_SUN8I_EMAC', if_true: files('allwinner-sun8i-emac.c'))
1414
-softmmu_ss.add(when: 'CONFIG_IMX_FEC', if_true: files('imx_fec.c'))
1415
-softmmu_ss.add(when: 'CONFIG_MSF2', if_true: files('msf2-emac.c'))
1416
-softmmu_ss.add(when: 'CONFIG_MARVELL_88W8618', if_true: files('mv88w8618_eth.c'))
1417
+system_ss.add(when: 'CONFIG_SMC91C111', if_true: files('smc91c111.c'))
1418
+system_ss.add(when: 'CONFIG_LAN9118', if_true: files('lan9118.c'))
1419
+system_ss.add(when: 'CONFIG_NE2000_ISA', if_true: files('ne2000-isa.c'))
1420
+system_ss.add(when: 'CONFIG_OPENCORES_ETH', if_true: files('opencores_eth.c'))
1421
+system_ss.add(when: 'CONFIG_XGMAC', if_true: files('xgmac.c'))
1422
+system_ss.add(when: 'CONFIG_MIPSNET', if_true: files('mipsnet.c'))
1423
+system_ss.add(when: 'CONFIG_XILINX_AXI', if_true: files('xilinx_axienet.c'))
1424
+system_ss.add(when: 'CONFIG_ALLWINNER_EMAC', if_true: files('allwinner_emac.c'))
1425
+system_ss.add(when: 'CONFIG_ALLWINNER_SUN8I_EMAC', if_true: files('allwinner-sun8i-emac.c'))
1426
+system_ss.add(when: 'CONFIG_IMX_FEC', if_true: files('imx_fec.c'))
1427
+system_ss.add(when: 'CONFIG_MSF2', if_true: files('msf2-emac.c'))
1428
+system_ss.add(when: 'CONFIG_MARVELL_88W8618', if_true: files('mv88w8618_eth.c'))
1429
1430
-softmmu_ss.add(when: 'CONFIG_CADENCE', if_true: files('cadence_gem.c'))
1431
-softmmu_ss.add(when: 'CONFIG_STELLARIS_ENET', if_true: files('stellaris_enet.c'))
1432
-softmmu_ss.add(when: 'CONFIG_LANCE', if_true: files('lance.c'))
1433
-softmmu_ss.add(when: 'CONFIG_LASI_I82596', if_true: files('lasi_i82596.c'))
1434
-softmmu_ss.add(when: 'CONFIG_I82596_COMMON', if_true: files('i82596.c'))
1435
-softmmu_ss.add(when: 'CONFIG_SUNHME', if_true: files('sunhme.c'))
1436
-softmmu_ss.add(when: 'CONFIG_FTGMAC100', if_true: files('ftgmac100.c'))
1437
-softmmu_ss.add(when: 'CONFIG_SUNGEM', if_true: files('sungem.c'))
1438
-softmmu_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_emc.c'))
1439
+system_ss.add(when: 'CONFIG_CADENCE', if_true: files('cadence_gem.c'))
1440
+system_ss.add(when: 'CONFIG_STELLARIS_ENET', if_true: files('stellaris_enet.c'))
1441
+system_ss.add(when: 'CONFIG_LANCE', if_true: files('lance.c'))
1442
+system_ss.add(when: 'CONFIG_LASI_I82596', if_true: files('lasi_i82596.c'))
1443
+system_ss.add(when: 'CONFIG_I82596_COMMON', if_true: files('i82596.c'))
1444
+system_ss.add(when: 'CONFIG_SUNHME', if_true: files('sunhme.c'))
1445
+system_ss.add(when: 'CONFIG_FTGMAC100', if_true: files('ftgmac100.c'))
1446
+system_ss.add(when: 'CONFIG_SUNGEM', if_true: files('sungem.c'))
1447
+system_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_emc.c'))
1448
1449
-softmmu_ss.add(when: 'CONFIG_ETRAXFS', if_true: files('etraxfs_eth.c'))
1450
-softmmu_ss.add(when: 'CONFIG_COLDFIRE', if_true: files('mcf_fec.c'))
1451
+system_ss.add(when: 'CONFIG_ETRAXFS', if_true: files('etraxfs_eth.c'))
1452
+system_ss.add(when: 'CONFIG_COLDFIRE', if_true: files('mcf_fec.c'))
1453
specific_ss.add(when: 'CONFIG_PSERIES', if_true: files('spapr_llan.c'))
1454
-softmmu_ss.add(when: 'CONFIG_XILINX_ETHLITE', if_true: files('xilinx_ethlite.c'))
1455
+system_ss.add(when: 'CONFIG_XILINX_ETHLITE', if_true: files('xilinx_ethlite.c'))
1456
1457
-softmmu_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('net_rx_pkt.c'))
1458
+system_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('net_rx_pkt.c'))
1459
specific_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('virtio-net.c'))
1460
1461
if have_vhost_net
1462
- softmmu_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('vhost_net.c'), if_false: files('vhost_net-stub.c'))
1463
- softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('vhost_net-stub.c'))
1464
+ system_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('vhost_net.c'), if_false: files('vhost_net-stub.c'))
1465
+ system_ss.add(when: 'CONFIG_ALL', if_true: files('vhost_net-stub.c'))
1466
else
1467
- softmmu_ss.add(files('vhost_net-stub.c'))
1468
+ system_ss.add(files('vhost_net-stub.c'))
1469
endif
1470
1471
-softmmu_ss.add(when: 'CONFIG_ETSEC', if_true: files(
1472
+system_ss.add(when: 'CONFIG_ETSEC', if_true: files(
1473
'fsl_etsec/etsec.c',
1474
'fsl_etsec/miim.c',
1475
'fsl_etsec/registers.c',
1476
'fsl_etsec/rings.c',
1477
))
1478
1479
-softmmu_ss.add(when: 'CONFIG_ROCKER', if_true: files(
1480
+system_ss.add(when: 'CONFIG_ROCKER', if_true: files(
1481
'rocker/rocker.c',
1482
'rocker/rocker_desc.c',
1483
'rocker/rocker_fp.c',
1484
'rocker/rocker_of_dpa.c',
1485
'rocker/rocker_world.c',
1486
), if_false: files('rocker/qmp-norocker.c'))
1487
-softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('rocker/qmp-norocker.c'))
1488
-softmmu_ss.add(files('rocker/rocker-hmp-cmds.c'))
1489
+system_ss.add(when: 'CONFIG_ALL', if_true: files('rocker/qmp-norocker.c'))
1490
+system_ss.add(files('rocker/rocker-hmp-cmds.c'))
1491
1492
subdir('can')
1493
diff --git a/hw/nubus/meson.build b/hw/nubus/meson.build
1494
index XXXXXXX..XXXXXXX 100644
1495
--- a/hw/nubus/meson.build
1496
+++ b/hw/nubus/meson.build
1497
@@ -XXX,XX +XXX,XX @@ nubus_ss.add(files('nubus-bus.c'))
1498
nubus_ss.add(files('nubus-bridge.c'))
1499
nubus_ss.add(when: 'CONFIG_Q800', if_true: files('mac-nubus-bridge.c'))
1500
1501
-softmmu_ss.add_all(when: 'CONFIG_NUBUS', if_true: nubus_ss)
1502
+system_ss.add_all(when: 'CONFIG_NUBUS', if_true: nubus_ss)
1503
diff --git a/hw/nvme/meson.build b/hw/nvme/meson.build
1504
index XXXXXXX..XXXXXXX 100644
1505
--- a/hw/nvme/meson.build
1506
+++ b/hw/nvme/meson.build
1507
@@ -1 +1 @@
1508
-softmmu_ss.add(when: 'CONFIG_NVME_PCI', if_true: files('ctrl.c', 'dif.c', 'ns.c', 'subsys.c'))
1509
+system_ss.add(when: 'CONFIG_NVME_PCI', if_true: files('ctrl.c', 'dif.c', 'ns.c', 'subsys.c'))
1510
diff --git a/hw/nvram/meson.build b/hw/nvram/meson.build
1511
index XXXXXXX..XXXXXXX 100644
1512
--- a/hw/nvram/meson.build
1513
+++ b/hw/nvram/meson.build
1514
@@ -XXX,XX +XXX,XX @@ if have_system or have_tools
1515
qom_ss.add(files('fw_cfg-interface.c'))
1516
endif
1517
1518
-softmmu_ss.add(files('fw_cfg.c'))
1519
-softmmu_ss.add(when: 'CONFIG_CHRP_NVRAM', if_true: files('chrp_nvram.c'))
1520
-softmmu_ss.add(when: 'CONFIG_DS1225Y', if_true: files('ds1225y.c'))
1521
-softmmu_ss.add(when: 'CONFIG_NMC93XX_EEPROM', if_true: files('eeprom93xx.c'))
1522
-softmmu_ss.add(when: 'CONFIG_AT24C', if_true: files('eeprom_at24c.c'))
1523
-softmmu_ss.add(when: 'CONFIG_MAC_NVRAM', if_true: files('mac_nvram.c'))
1524
-softmmu_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_otp.c'))
1525
-softmmu_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_nvm.c'))
1526
-softmmu_ss.add(when: 'CONFIG_XLNX_EFUSE_CRC', if_true: files('xlnx-efuse-crc.c'))
1527
-softmmu_ss.add(when: 'CONFIG_XLNX_EFUSE', if_true: files('xlnx-efuse.c'))
1528
-softmmu_ss.add(when: 'CONFIG_XLNX_EFUSE_VERSAL', if_true: files(
1529
+system_ss.add(files('fw_cfg.c'))
1530
+system_ss.add(when: 'CONFIG_CHRP_NVRAM', if_true: files('chrp_nvram.c'))
1531
+system_ss.add(when: 'CONFIG_DS1225Y', if_true: files('ds1225y.c'))
1532
+system_ss.add(when: 'CONFIG_NMC93XX_EEPROM', if_true: files('eeprom93xx.c'))
1533
+system_ss.add(when: 'CONFIG_AT24C', if_true: files('eeprom_at24c.c'))
1534
+system_ss.add(when: 'CONFIG_MAC_NVRAM', if_true: files('mac_nvram.c'))
1535
+system_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_otp.c'))
1536
+system_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_nvm.c'))
1537
+system_ss.add(when: 'CONFIG_XLNX_EFUSE_CRC', if_true: files('xlnx-efuse-crc.c'))
1538
+system_ss.add(when: 'CONFIG_XLNX_EFUSE', if_true: files('xlnx-efuse.c'))
1539
+system_ss.add(when: 'CONFIG_XLNX_EFUSE_VERSAL', if_true: files(
1540
'xlnx-versal-efuse-cache.c',
1541
'xlnx-versal-efuse-ctrl.c'))
1542
-softmmu_ss.add(when: 'CONFIG_XLNX_EFUSE_ZYNQMP', if_true: files(
1543
+system_ss.add(when: 'CONFIG_XLNX_EFUSE_ZYNQMP', if_true: files(
1544
'xlnx-zynqmp-efuse.c'))
1545
-softmmu_ss.add(when: 'CONFIG_XLNX_BBRAM', if_true: files('xlnx-bbram.c'))
1546
+system_ss.add(when: 'CONFIG_XLNX_BBRAM', if_true: files('xlnx-bbram.c'))
1547
1548
specific_ss.add(when: 'CONFIG_PSERIES', if_true: files('spapr_nvram.c'))
1549
diff --git a/hw/pci-bridge/meson.build b/hw/pci-bridge/meson.build
1550
index XXXXXXX..XXXXXXX 100644
1551
--- a/hw/pci-bridge/meson.build
1552
+++ b/hw/pci-bridge/meson.build
1553
@@ -XXX,XX +XXX,XX @@ pci_ss.add(when: 'CONFIG_CXL', if_true: files('cxl_root_port.c', 'cxl_upstream.c
1554
# Sun4u
1555
pci_ss.add(when: 'CONFIG_SIMBA', if_true: files('simba.c'))
1556
1557
-softmmu_ss.add_all(when: 'CONFIG_PCI', if_true: pci_ss)
1558
+system_ss.add_all(when: 'CONFIG_PCI', if_true: pci_ss)
1559
1560
-softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('pci_expander_bridge_stubs.c'))
1561
+system_ss.add(when: 'CONFIG_ALL', if_true: files('pci_expander_bridge_stubs.c'))
1562
diff --git a/hw/pci-host/meson.build b/hw/pci-host/meson.build
1563
index XXXXXXX..XXXXXXX 100644
1564
--- a/hw/pci-host/meson.build
1565
+++ b/hw/pci-host/meson.build
1566
@@ -XXX,XX +XXX,XX @@ pci_ss.add(when: 'CONFIG_VERSATILE_PCI', if_true: files('versatile.c'))
1567
# HPPA devices
1568
pci_ss.add(when: 'CONFIG_DINO', if_true: files('dino.c'))
1569
1570
-softmmu_ss.add_all(when: 'CONFIG_PCI', if_true: pci_ss)
1571
+system_ss.add_all(when: 'CONFIG_PCI', if_true: pci_ss)
1572
1573
specific_ss.add(when: 'CONFIG_PCI_POWERNV', if_true: files(
1574
'pnv_phb3.c',
1575
diff --git a/hw/pci/meson.build b/hw/pci/meson.build
1576
index XXXXXXX..XXXXXXX 100644
1577
--- a/hw/pci/meson.build
1578
+++ b/hw/pci/meson.build
1579
@@ -XXX,XX +XXX,XX @@ pci_ss.add(files(
1580
# CONFIG_PCI_EXPRESS=n.
1581
pci_ss.add(files('pcie.c', 'pcie_aer.c'))
1582
pci_ss.add(files('pcie_doe.c'))
1583
-softmmu_ss.add(when: 'CONFIG_PCI_EXPRESS', if_true: files('pcie_port.c', 'pcie_host.c'))
1584
-softmmu_ss.add_all(when: 'CONFIG_PCI', if_true: pci_ss)
1585
+system_ss.add(when: 'CONFIG_PCI_EXPRESS', if_true: files('pcie_port.c', 'pcie_host.c'))
1586
+system_ss.add_all(when: 'CONFIG_PCI', if_true: pci_ss)
1587
1588
-softmmu_ss.add(when: 'CONFIG_PCI', if_false: files('pci-stub.c'))
1589
-softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('pci-stub.c'))
1590
+system_ss.add(when: 'CONFIG_PCI', if_false: files('pci-stub.c'))
1591
+system_ss.add(when: 'CONFIG_ALL', if_true: files('pci-stub.c'))
1592
diff --git a/hw/pcmcia/meson.build b/hw/pcmcia/meson.build
1593
index XXXXXXX..XXXXXXX 100644
1594
--- a/hw/pcmcia/meson.build
1595
+++ b/hw/pcmcia/meson.build
1596
@@ -XXX,XX +XXX,XX @@
1597
-softmmu_ss.add(when: 'CONFIG_PCMCIA', if_true: files('pcmcia.c'))
1598
-softmmu_ss.add(when: 'CONFIG_PXA2XX', if_true: files('pxa2xx.c'))
1599
+system_ss.add(when: 'CONFIG_PCMCIA', if_true: files('pcmcia.c'))
1600
+system_ss.add(when: 'CONFIG_PXA2XX', if_true: files('pxa2xx.c'))
1601
diff --git a/hw/rdma/meson.build b/hw/rdma/meson.build
1602
index XXXXXXX..XXXXXXX 100644
1603
--- a/hw/rdma/meson.build
1604
+++ b/hw/rdma/meson.build
1605
@@ -XXX,XX +XXX,XX @@
1606
-softmmu_ss.add(when: 'CONFIG_VMW_PVRDMA', if_true: files(
1607
+system_ss.add(when: 'CONFIG_VMW_PVRDMA', if_true: files(
1608
'rdma.c',
1609
'rdma_backend.c',
1610
'rdma_utils.c',
1611
diff --git a/hw/remote/meson.build b/hw/remote/meson.build
1612
index XXXXXXX..XXXXXXX 100644
1613
--- a/hw/remote/meson.build
1614
+++ b/hw/remote/meson.build
1615
@@ -XXX,XX +XXX,XX @@ remote_ss.add(when: 'CONFIG_VFIO_USER_SERVER', if_true: libvfio_user_dep)
1616
specific_ss.add(when: 'CONFIG_MULTIPROCESS', if_true: files('memory.c'))
1617
specific_ss.add(when: 'CONFIG_MULTIPROCESS', if_true: files('proxy-memory-listener.c'))
1618
1619
-softmmu_ss.add_all(when: 'CONFIG_MULTIPROCESS', if_true: remote_ss)
1620
+system_ss.add_all(when: 'CONFIG_MULTIPROCESS', if_true: remote_ss)
1621
diff --git a/hw/rtc/meson.build b/hw/rtc/meson.build
1622
index XXXXXXX..XXXXXXX 100644
1623
--- a/hw/rtc/meson.build
1624
+++ b/hw/rtc/meson.build
1625
@@ -XXX,XX +XXX,XX @@
1626
1627
-softmmu_ss.add(when: 'CONFIG_DS1338', if_true: files('ds1338.c'))
1628
-softmmu_ss.add(when: 'CONFIG_M41T80', if_true: files('m41t80.c'))
1629
-softmmu_ss.add(when: 'CONFIG_M48T59', if_true: files('m48t59.c'))
1630
-softmmu_ss.add(when: 'CONFIG_PL031', if_true: files('pl031.c'))
1631
-softmmu_ss.add(when: 'CONFIG_TWL92230', if_true: files('twl92230.c'))
1632
-softmmu_ss.add(when: ['CONFIG_ISA_BUS', 'CONFIG_M48T59'], if_true: files('m48t59-isa.c'))
1633
-softmmu_ss.add(when: 'CONFIG_XLNX_ZYNQMP', if_true: files('xlnx-zynqmp-rtc.c'))
1634
+system_ss.add(when: 'CONFIG_DS1338', if_true: files('ds1338.c'))
1635
+system_ss.add(when: 'CONFIG_M41T80', if_true: files('m41t80.c'))
1636
+system_ss.add(when: 'CONFIG_M48T59', if_true: files('m48t59.c'))
1637
+system_ss.add(when: 'CONFIG_PL031', if_true: files('pl031.c'))
1638
+system_ss.add(when: 'CONFIG_TWL92230', if_true: files('twl92230.c'))
1639
+system_ss.add(when: ['CONFIG_ISA_BUS', 'CONFIG_M48T59'], if_true: files('m48t59-isa.c'))
1640
+system_ss.add(when: 'CONFIG_XLNX_ZYNQMP', if_true: files('xlnx-zynqmp-rtc.c'))
1641
1642
-softmmu_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4210_rtc.c'))
1643
-softmmu_ss.add(when: 'CONFIG_SUN4V_RTC', if_true: files('sun4v-rtc.c'))
1644
-softmmu_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files('aspeed_rtc.c'))
1645
-softmmu_ss.add(when: 'CONFIG_GOLDFISH_RTC', if_true: files('goldfish_rtc.c'))
1646
-softmmu_ss.add(when: 'CONFIG_LS7A_RTC', if_true: files('ls7a_rtc.c'))
1647
-softmmu_ss.add(when: 'CONFIG_ALLWINNER_H3', if_true: files('allwinner-rtc.c'))
1648
-softmmu_ss.add(when: 'CONFIG_MC146818RTC', if_true: files('mc146818rtc.c'))
1649
+system_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4210_rtc.c'))
1650
+system_ss.add(when: 'CONFIG_SUN4V_RTC', if_true: files('sun4v-rtc.c'))
1651
+system_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files('aspeed_rtc.c'))
1652
+system_ss.add(when: 'CONFIG_GOLDFISH_RTC', if_true: files('goldfish_rtc.c'))
1653
+system_ss.add(when: 'CONFIG_LS7A_RTC', if_true: files('ls7a_rtc.c'))
1654
+system_ss.add(when: 'CONFIG_ALLWINNER_H3', if_true: files('allwinner-rtc.c'))
1655
+system_ss.add(when: 'CONFIG_MC146818RTC', if_true: files('mc146818rtc.c'))
1656
diff --git a/hw/scsi/meson.build b/hw/scsi/meson.build
1657
index XXXXXXX..XXXXXXX 100644
1658
--- a/hw/scsi/meson.build
1659
+++ b/hw/scsi/meson.build
1660
@@ -XXX,XX +XXX,XX @@ scsi_ss.add(when: 'CONFIG_LSI_SCSI_PCI', if_true: files('lsi53c895a.c'))
1661
scsi_ss.add(when: 'CONFIG_MEGASAS_SCSI_PCI', if_true: files('megasas.c'))
1662
scsi_ss.add(when: 'CONFIG_MPTSAS_SCSI_PCI', if_true: files('mptsas.c', 'mptconfig.c', 'mptendian.c'))
1663
scsi_ss.add(when: 'CONFIG_VMW_PVSCSI_SCSI_PCI', if_true: files('vmw_pvscsi.c'))
1664
-softmmu_ss.add_all(when: 'CONFIG_SCSI', if_true: scsi_ss)
1665
+system_ss.add_all(when: 'CONFIG_SCSI', if_true: scsi_ss)
1666
1667
specific_scsi_ss = ss.source_set()
1668
1669
diff --git a/hw/sd/meson.build b/hw/sd/meson.build
1670
index XXXXXXX..XXXXXXX 100644
1671
--- a/hw/sd/meson.build
1672
+++ b/hw/sd/meson.build
1673
@@ -XXX,XX +XXX,XX @@
1674
-softmmu_ss.add(when: 'CONFIG_PL181', if_true: files('pl181.c'))
1675
-softmmu_ss.add(when: 'CONFIG_SD', if_true: files('sd.c', 'core.c', 'sdmmc-internal.c'))
1676
-softmmu_ss.add(when: 'CONFIG_SDHCI', if_true: files('sdhci.c'))
1677
-softmmu_ss.add(when: 'CONFIG_SDHCI_PCI', if_true: files('sdhci-pci.c'))
1678
-softmmu_ss.add(when: 'CONFIG_SSI_SD', if_true: files('ssi-sd.c'))
1679
+system_ss.add(when: 'CONFIG_PL181', if_true: files('pl181.c'))
1680
+system_ss.add(when: 'CONFIG_SD', if_true: files('sd.c', 'core.c', 'sdmmc-internal.c'))
1681
+system_ss.add(when: 'CONFIG_SDHCI', if_true: files('sdhci.c'))
1682
+system_ss.add(when: 'CONFIG_SDHCI_PCI', if_true: files('sdhci-pci.c'))
1683
+system_ss.add(when: 'CONFIG_SSI_SD', if_true: files('ssi-sd.c'))
1684
1685
-softmmu_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_mmc.c'))
1686
-softmmu_ss.add(when: 'CONFIG_PXA2XX', if_true: files('pxa2xx_mmci.c'))
1687
-softmmu_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2835_sdhost.c'))
1688
-softmmu_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files('aspeed_sdhci.c'))
1689
-softmmu_ss.add(when: 'CONFIG_ALLWINNER_H3', if_true: files('allwinner-sdhost.c'))
1690
-softmmu_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_sdhci.c'))
1691
-softmmu_ss.add(when: 'CONFIG_CADENCE_SDHCI', if_true: files('cadence_sdhci.c'))
1692
+system_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_mmc.c'))
1693
+system_ss.add(when: 'CONFIG_PXA2XX', if_true: files('pxa2xx_mmci.c'))
1694
+system_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2835_sdhost.c'))
1695
+system_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files('aspeed_sdhci.c'))
1696
+system_ss.add(when: 'CONFIG_ALLWINNER_H3', if_true: files('allwinner-sdhost.c'))
1697
+system_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_sdhci.c'))
1698
+system_ss.add(when: 'CONFIG_CADENCE_SDHCI', if_true: files('cadence_sdhci.c'))
1699
diff --git a/hw/sensor/meson.build b/hw/sensor/meson.build
1700
index XXXXXXX..XXXXXXX 100644
1701
--- a/hw/sensor/meson.build
1702
+++ b/hw/sensor/meson.build
1703
@@ -XXX,XX +XXX,XX @@
1704
-softmmu_ss.add(when: 'CONFIG_TMP105', if_true: files('tmp105.c'))
1705
-softmmu_ss.add(when: 'CONFIG_TMP421', if_true: files('tmp421.c'))
1706
-softmmu_ss.add(when: 'CONFIG_DPS310', if_true: files('dps310.c'))
1707
-softmmu_ss.add(when: 'CONFIG_EMC141X', if_true: files('emc141x.c'))
1708
-softmmu_ss.add(when: 'CONFIG_ADM1272', if_true: files('adm1272.c'))
1709
-softmmu_ss.add(when: 'CONFIG_MAX34451', if_true: files('max34451.c'))
1710
-softmmu_ss.add(when: 'CONFIG_LSM303DLHC_MAG', if_true: files('lsm303dlhc_mag.c'))
1711
-softmmu_ss.add(when: 'CONFIG_ISL_PMBUS_VR', if_true: files('isl_pmbus_vr.c'))
1712
-softmmu_ss.add(when: 'CONFIG_MAX31785', if_true: files('max31785.c'))
1713
+system_ss.add(when: 'CONFIG_TMP105', if_true: files('tmp105.c'))
1714
+system_ss.add(when: 'CONFIG_TMP421', if_true: files('tmp421.c'))
1715
+system_ss.add(when: 'CONFIG_DPS310', if_true: files('dps310.c'))
1716
+system_ss.add(when: 'CONFIG_EMC141X', if_true: files('emc141x.c'))
1717
+system_ss.add(when: 'CONFIG_ADM1272', if_true: files('adm1272.c'))
1718
+system_ss.add(when: 'CONFIG_MAX34451', if_true: files('max34451.c'))
1719
+system_ss.add(when: 'CONFIG_LSM303DLHC_MAG', if_true: files('lsm303dlhc_mag.c'))
1720
+system_ss.add(when: 'CONFIG_ISL_PMBUS_VR', if_true: files('isl_pmbus_vr.c'))
1721
+system_ss.add(when: 'CONFIG_MAX31785', if_true: files('max31785.c'))
1722
diff --git a/hw/smbios/meson.build b/hw/smbios/meson.build
1723
index XXXXXXX..XXXXXXX 100644
1724
--- a/hw/smbios/meson.build
1725
+++ b/hw/smbios/meson.build
1726
@@ -XXX,XX +XXX,XX @@ smbios_ss.add(when: 'CONFIG_IPMI',
1727
if_true: files('smbios_type_38.c'),
1728
if_false: files('smbios_type_38-stub.c'))
1729
1730
-softmmu_ss.add_all(when: 'CONFIG_SMBIOS', if_true: smbios_ss)
1731
-softmmu_ss.add(when: 'CONFIG_SMBIOS', if_false: files('smbios-stub.c'))
1732
+system_ss.add_all(when: 'CONFIG_SMBIOS', if_true: smbios_ss)
1733
+system_ss.add(when: 'CONFIG_SMBIOS', if_false: files('smbios-stub.c'))
1734
1735
-softmmu_ss.add(when: 'CONFIG_ALL', if_true: files(
1736
+system_ss.add(when: 'CONFIG_ALL', if_true: files(
1737
'smbios-stub.c',
1738
'smbios_type_38-stub.c',
1739
))
1740
diff --git a/hw/ssi/meson.build b/hw/ssi/meson.build
1741
index XXXXXXX..XXXXXXX 100644
1742
--- a/hw/ssi/meson.build
1743
+++ b/hw/ssi/meson.build
1744
@@ -XXX,XX +XXX,XX @@
1745
-softmmu_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files('aspeed_smc.c'))
1746
-softmmu_ss.add(when: 'CONFIG_MSF2', if_true: files('mss-spi.c'))
1747
-softmmu_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_fiu.c', 'npcm_pspi.c'))
1748
-softmmu_ss.add(when: 'CONFIG_PL022', if_true: files('pl022.c'))
1749
-softmmu_ss.add(when: 'CONFIG_SIFIVE_SPI', if_true: files('sifive_spi.c'))
1750
-softmmu_ss.add(when: 'CONFIG_SSI', if_true: files('ssi.c'))
1751
-softmmu_ss.add(when: 'CONFIG_STM32F2XX_SPI', if_true: files('stm32f2xx_spi.c'))
1752
-softmmu_ss.add(when: 'CONFIG_XILINX_SPI', if_true: files('xilinx_spi.c'))
1753
-softmmu_ss.add(when: 'CONFIG_XILINX_SPIPS', if_true: files('xilinx_spips.c'))
1754
-softmmu_ss.add(when: 'CONFIG_XLNX_VERSAL', if_true: files('xlnx-versal-ospi.c'))
1755
-softmmu_ss.add(when: 'CONFIG_IMX', if_true: files('imx_spi.c'))
1756
-softmmu_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_spi.c'))
1757
-softmmu_ss.add(when: 'CONFIG_IBEX', if_true: files('ibex_spi_host.c'))
1758
+system_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files('aspeed_smc.c'))
1759
+system_ss.add(when: 'CONFIG_MSF2', if_true: files('mss-spi.c'))
1760
+system_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_fiu.c', 'npcm_pspi.c'))
1761
+system_ss.add(when: 'CONFIG_PL022', if_true: files('pl022.c'))
1762
+system_ss.add(when: 'CONFIG_SIFIVE_SPI', if_true: files('sifive_spi.c'))
1763
+system_ss.add(when: 'CONFIG_SSI', if_true: files('ssi.c'))
1764
+system_ss.add(when: 'CONFIG_STM32F2XX_SPI', if_true: files('stm32f2xx_spi.c'))
1765
+system_ss.add(when: 'CONFIG_XILINX_SPI', if_true: files('xilinx_spi.c'))
1766
+system_ss.add(when: 'CONFIG_XILINX_SPIPS', if_true: files('xilinx_spips.c'))
1767
+system_ss.add(when: 'CONFIG_XLNX_VERSAL', if_true: files('xlnx-versal-ospi.c'))
1768
+system_ss.add(when: 'CONFIG_IMX', if_true: files('imx_spi.c'))
1769
+system_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_spi.c'))
1770
+system_ss.add(when: 'CONFIG_IBEX', if_true: files('ibex_spi_host.c'))
1771
diff --git a/hw/timer/meson.build b/hw/timer/meson.build
1772
index XXXXXXX..XXXXXXX 100644
1773
--- a/hw/timer/meson.build
1774
+++ b/hw/timer/meson.build
1775
@@ -XXX,XX +XXX,XX @@
1776
-softmmu_ss.add(when: 'CONFIG_A9_GTIMER', if_true: files('a9gtimer.c'))
1777
-softmmu_ss.add(when: 'CONFIG_ALLWINNER_A10_PIT', if_true: files('allwinner-a10-pit.c'))
1778
-softmmu_ss.add(when: 'CONFIG_ALTERA_TIMER', if_true: files('altera_timer.c'))
1779
-softmmu_ss.add(when: 'CONFIG_ARM_MPTIMER', if_true: files('arm_mptimer.c'))
1780
-softmmu_ss.add(when: 'CONFIG_ARM_TIMER', if_true: files('arm_timer.c'))
1781
-softmmu_ss.add(when: 'CONFIG_ARM_V7M', if_true: files('armv7m_systick.c'))
1782
-softmmu_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files('aspeed_timer.c'))
1783
-softmmu_ss.add(when: 'CONFIG_CADENCE', if_true: files('cadence_ttc.c'))
1784
-softmmu_ss.add(when: 'CONFIG_CMSDK_APB_DUALTIMER', if_true: files('cmsdk-apb-dualtimer.c'))
1785
-softmmu_ss.add(when: 'CONFIG_CMSDK_APB_TIMER', if_true: files('cmsdk-apb-timer.c'))
1786
-softmmu_ss.add(when: 'CONFIG_RENESAS_TMR', if_true: files('renesas_tmr.c'))
1787
-softmmu_ss.add(when: 'CONFIG_RENESAS_CMT', if_true: files('renesas_cmt.c'))
1788
-softmmu_ss.add(when: 'CONFIG_DIGIC', if_true: files('digic-timer.c'))
1789
-softmmu_ss.add(when: 'CONFIG_ETRAXFS', if_true: files('etraxfs_timer.c'))
1790
-softmmu_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4210_mct.c'))
1791
-softmmu_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4210_pwm.c'))
1792
-softmmu_ss.add(when: 'CONFIG_GRLIB', if_true: files('grlib_gptimer.c'))
1793
-softmmu_ss.add(when: 'CONFIG_HPET', if_true: files('hpet.c'))
1794
-softmmu_ss.add(when: 'CONFIG_I8254', if_true: files('i8254_common.c', 'i8254.c'))
1795
-softmmu_ss.add(when: 'CONFIG_IMX', if_true: files('imx_epit.c'))
1796
-softmmu_ss.add(when: 'CONFIG_IMX', if_true: files('imx_gpt.c'))
1797
-softmmu_ss.add(when: 'CONFIG_MIPS_CPS', if_true: files('mips_gictimer.c'))
1798
-softmmu_ss.add(when: 'CONFIG_MSF2', if_true: files('mss-timer.c'))
1799
-softmmu_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_timer.c'))
1800
-softmmu_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_timer.c'))
1801
-softmmu_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_gptimer.c'))
1802
-softmmu_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_synctimer.c'))
1803
-softmmu_ss.add(when: 'CONFIG_PXA2XX', if_true: files('pxa2xx_timer.c'))
1804
-softmmu_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2835_systmr.c'))
1805
-softmmu_ss.add(when: 'CONFIG_SH_TIMER', if_true: files('sh_timer.c'))
1806
-softmmu_ss.add(when: 'CONFIG_SLAVIO', if_true: files('slavio_timer.c'))
1807
-softmmu_ss.add(when: 'CONFIG_SSE_COUNTER', if_true: files('sse-counter.c'))
1808
-softmmu_ss.add(when: 'CONFIG_SSE_TIMER', if_true: files('sse-timer.c'))
1809
-softmmu_ss.add(when: 'CONFIG_STELLARIS_GPTM', if_true: files('stellaris-gptm.c'))
1810
-softmmu_ss.add(when: 'CONFIG_STM32F2XX_TIMER', if_true: files('stm32f2xx_timer.c'))
1811
-softmmu_ss.add(when: 'CONFIG_XILINX', if_true: files('xilinx_timer.c'))
1812
+system_ss.add(when: 'CONFIG_A9_GTIMER', if_true: files('a9gtimer.c'))
1813
+system_ss.add(when: 'CONFIG_ALLWINNER_A10_PIT', if_true: files('allwinner-a10-pit.c'))
1814
+system_ss.add(when: 'CONFIG_ALTERA_TIMER', if_true: files('altera_timer.c'))
1815
+system_ss.add(when: 'CONFIG_ARM_MPTIMER', if_true: files('arm_mptimer.c'))
1816
+system_ss.add(when: 'CONFIG_ARM_TIMER', if_true: files('arm_timer.c'))
1817
+system_ss.add(when: 'CONFIG_ARM_V7M', if_true: files('armv7m_systick.c'))
1818
+system_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files('aspeed_timer.c'))
1819
+system_ss.add(when: 'CONFIG_CADENCE', if_true: files('cadence_ttc.c'))
1820
+system_ss.add(when: 'CONFIG_CMSDK_APB_DUALTIMER', if_true: files('cmsdk-apb-dualtimer.c'))
1821
+system_ss.add(when: 'CONFIG_CMSDK_APB_TIMER', if_true: files('cmsdk-apb-timer.c'))
1822
+system_ss.add(when: 'CONFIG_RENESAS_TMR', if_true: files('renesas_tmr.c'))
1823
+system_ss.add(when: 'CONFIG_RENESAS_CMT', if_true: files('renesas_cmt.c'))
1824
+system_ss.add(when: 'CONFIG_DIGIC', if_true: files('digic-timer.c'))
1825
+system_ss.add(when: 'CONFIG_ETRAXFS', if_true: files('etraxfs_timer.c'))
1826
+system_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4210_mct.c'))
1827
+system_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4210_pwm.c'))
1828
+system_ss.add(when: 'CONFIG_GRLIB', if_true: files('grlib_gptimer.c'))
1829
+system_ss.add(when: 'CONFIG_HPET', if_true: files('hpet.c'))
1830
+system_ss.add(when: 'CONFIG_I8254', if_true: files('i8254_common.c', 'i8254.c'))
1831
+system_ss.add(when: 'CONFIG_IMX', if_true: files('imx_epit.c'))
1832
+system_ss.add(when: 'CONFIG_IMX', if_true: files('imx_gpt.c'))
1833
+system_ss.add(when: 'CONFIG_MIPS_CPS', if_true: files('mips_gictimer.c'))
1834
+system_ss.add(when: 'CONFIG_MSF2', if_true: files('mss-timer.c'))
1835
+system_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_timer.c'))
1836
+system_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_timer.c'))
1837
+system_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_gptimer.c'))
1838
+system_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_synctimer.c'))
1839
+system_ss.add(when: 'CONFIG_PXA2XX', if_true: files('pxa2xx_timer.c'))
1840
+system_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2835_systmr.c'))
1841
+system_ss.add(when: 'CONFIG_SH_TIMER', if_true: files('sh_timer.c'))
1842
+system_ss.add(when: 'CONFIG_SLAVIO', if_true: files('slavio_timer.c'))
1843
+system_ss.add(when: 'CONFIG_SSE_COUNTER', if_true: files('sse-counter.c'))
1844
+system_ss.add(when: 'CONFIG_SSE_TIMER', if_true: files('sse-timer.c'))
1845
+system_ss.add(when: 'CONFIG_STELLARIS_GPTM', if_true: files('stellaris-gptm.c'))
1846
+system_ss.add(when: 'CONFIG_STM32F2XX_TIMER', if_true: files('stm32f2xx_timer.c'))
1847
+system_ss.add(when: 'CONFIG_XILINX', if_true: files('xilinx_timer.c'))
1848
specific_ss.add(when: 'CONFIG_IBEX', if_true: files('ibex_timer.c'))
1849
-softmmu_ss.add(when: 'CONFIG_SIFIVE_PWM', if_true: files('sifive_pwm.c'))
1850
+system_ss.add(when: 'CONFIG_SIFIVE_PWM', if_true: files('sifive_pwm.c'))
1851
1852
specific_ss.add(when: 'CONFIG_AVR_TIMER16', if_true: files('avr_timer16.c'))
1853
diff --git a/hw/tpm/meson.build b/hw/tpm/meson.build
1854
index XXXXXXX..XXXXXXX 100644
1855
--- a/hw/tpm/meson.build
1856
+++ b/hw/tpm/meson.build
1857
@@ -XXX,XX +XXX,XX @@
1858
-softmmu_ss.add(when: 'CONFIG_TPM_TIS', if_true: files('tpm_tis_common.c'))
1859
-softmmu_ss.add(when: 'CONFIG_TPM_TIS_ISA', if_true: files('tpm_tis_isa.c'))
1860
-softmmu_ss.add(when: 'CONFIG_TPM_TIS_SYSBUS', if_true: files('tpm_tis_sysbus.c'))
1861
-softmmu_ss.add(when: 'CONFIG_TPM_TIS_I2C', if_true: files('tpm_tis_i2c.c'))
1862
-softmmu_ss.add(when: 'CONFIG_TPM_CRB', if_true: files('tpm_crb.c'))
1863
-softmmu_ss.add(when: 'CONFIG_TPM_TIS', if_true: files('tpm_ppi.c'))
1864
-softmmu_ss.add(when: 'CONFIG_TPM_CRB', if_true: files('tpm_ppi.c'))
1865
+system_ss.add(when: 'CONFIG_TPM_TIS', if_true: files('tpm_tis_common.c'))
1866
+system_ss.add(when: 'CONFIG_TPM_TIS_ISA', if_true: files('tpm_tis_isa.c'))
1867
+system_ss.add(when: 'CONFIG_TPM_TIS_SYSBUS', if_true: files('tpm_tis_sysbus.c'))
1868
+system_ss.add(when: 'CONFIG_TPM_TIS_I2C', if_true: files('tpm_tis_i2c.c'))
1869
+system_ss.add(when: 'CONFIG_TPM_CRB', if_true: files('tpm_crb.c'))
1870
+system_ss.add(when: 'CONFIG_TPM_TIS', if_true: files('tpm_ppi.c'))
1871
+system_ss.add(when: 'CONFIG_TPM_CRB', if_true: files('tpm_ppi.c'))
1872
1873
specific_ss.add(when: 'CONFIG_TPM_SPAPR', if_true: files('tpm_spapr.c'))
1874
diff --git a/hw/usb/meson.build b/hw/usb/meson.build
1875
index XXXXXXX..XXXXXXX 100644
1876
--- a/hw/usb/meson.build
1877
+++ b/hw/usb/meson.build
1878
@@ -XXX,XX +XXX,XX @@
1879
hw_usb_modules = {}
1880
1881
# usb subsystem core
1882
-softmmu_ss.add(when: 'CONFIG_USB', if_true: files(
1883
+system_ss.add(when: 'CONFIG_USB', if_true: files(
1884
'bus.c',
1885
'combined-packet.c',
1886
'core.c',
1887
@@ -XXX,XX +XXX,XX @@ softmmu_ss.add(when: 'CONFIG_USB', if_true: files(
1888
))
1889
1890
# usb host adapters
1891
-softmmu_ss.add(when: 'CONFIG_USB_UHCI', if_true: files('hcd-uhci.c'))
1892
-softmmu_ss.add(when: 'CONFIG_USB_OHCI', if_true: files('hcd-ohci.c'))
1893
-softmmu_ss.add(when: 'CONFIG_USB_OHCI_PCI', if_true: files('hcd-ohci-pci.c'))
1894
-softmmu_ss.add(when: 'CONFIG_USB_EHCI', if_true: files('hcd-ehci.c'))
1895
-softmmu_ss.add(when: 'CONFIG_USB_EHCI_PCI', if_true: files('hcd-ehci-pci.c'))
1896
-softmmu_ss.add(when: 'CONFIG_USB_EHCI_SYSBUS', if_true: files('hcd-ehci.c', 'hcd-ehci-sysbus.c'))
1897
-softmmu_ss.add(when: 'CONFIG_USB_XHCI', if_true: files('hcd-xhci.c'))
1898
-softmmu_ss.add(when: 'CONFIG_USB_XHCI_PCI', if_true: files('hcd-xhci-pci.c'))
1899
-softmmu_ss.add(when: 'CONFIG_USB_XHCI_SYSBUS', if_true: files('hcd-xhci-sysbus.c'))
1900
-softmmu_ss.add(when: 'CONFIG_USB_XHCI_NEC', if_true: files('hcd-xhci-nec.c'))
1901
-softmmu_ss.add(when: 'CONFIG_USB_MUSB', if_true: files('hcd-musb.c'))
1902
-softmmu_ss.add(when: 'CONFIG_USB_DWC2', if_true: files('hcd-dwc2.c'))
1903
-softmmu_ss.add(when: 'CONFIG_USB_DWC3', if_true: files('hcd-dwc3.c'))
1904
+system_ss.add(when: 'CONFIG_USB_UHCI', if_true: files('hcd-uhci.c'))
1905
+system_ss.add(when: 'CONFIG_USB_OHCI', if_true: files('hcd-ohci.c'))
1906
+system_ss.add(when: 'CONFIG_USB_OHCI_PCI', if_true: files('hcd-ohci-pci.c'))
1907
+system_ss.add(when: 'CONFIG_USB_EHCI', if_true: files('hcd-ehci.c'))
1908
+system_ss.add(when: 'CONFIG_USB_EHCI_PCI', if_true: files('hcd-ehci-pci.c'))
1909
+system_ss.add(when: 'CONFIG_USB_EHCI_SYSBUS', if_true: files('hcd-ehci.c', 'hcd-ehci-sysbus.c'))
1910
+system_ss.add(when: 'CONFIG_USB_XHCI', if_true: files('hcd-xhci.c'))
1911
+system_ss.add(when: 'CONFIG_USB_XHCI_PCI', if_true: files('hcd-xhci-pci.c'))
1912
+system_ss.add(when: 'CONFIG_USB_XHCI_SYSBUS', if_true: files('hcd-xhci-sysbus.c'))
1913
+system_ss.add(when: 'CONFIG_USB_XHCI_NEC', if_true: files('hcd-xhci-nec.c'))
1914
+system_ss.add(when: 'CONFIG_USB_MUSB', if_true: files('hcd-musb.c'))
1915
+system_ss.add(when: 'CONFIG_USB_DWC2', if_true: files('hcd-dwc2.c'))
1916
+system_ss.add(when: 'CONFIG_USB_DWC3', if_true: files('hcd-dwc3.c'))
1917
1918
-softmmu_ss.add(when: 'CONFIG_TUSB6010', if_true: files('tusb6010.c'))
1919
-softmmu_ss.add(when: 'CONFIG_IMX', if_true: files('chipidea.c'))
1920
-softmmu_ss.add(when: 'CONFIG_IMX_USBPHY', if_true: files('imx-usb-phy.c'))
1921
-softmmu_ss.add(when: 'CONFIG_VT82C686', if_true: files('vt82c686-uhci-pci.c'))
1922
-softmmu_ss.add(when: 'CONFIG_XLNX_VERSAL', if_true: files('xlnx-versal-usb2-ctrl-regs.c'))
1923
-softmmu_ss.add(when: 'CONFIG_XLNX_USB_SUBSYS', if_true: files('xlnx-usb-subsystem.c'))
1924
+system_ss.add(when: 'CONFIG_TUSB6010', if_true: files('tusb6010.c'))
1925
+system_ss.add(when: 'CONFIG_IMX', if_true: files('chipidea.c'))
1926
+system_ss.add(when: 'CONFIG_IMX_USBPHY', if_true: files('imx-usb-phy.c'))
1927
+system_ss.add(when: 'CONFIG_VT82C686', if_true: files('vt82c686-uhci-pci.c'))
1928
+system_ss.add(when: 'CONFIG_XLNX_VERSAL', if_true: files('xlnx-versal-usb2-ctrl-regs.c'))
1929
+system_ss.add(when: 'CONFIG_XLNX_USB_SUBSYS', if_true: files('xlnx-usb-subsystem.c'))
1930
1931
# emulated usb devices
1932
-softmmu_ss.add(when: 'CONFIG_USB', if_true: files('dev-hub.c'))
1933
-softmmu_ss.add(when: 'CONFIG_USB', if_true: files('dev-hid.c'))
1934
-softmmu_ss.add(when: 'CONFIG_USB_TABLET_WACOM', if_true: files('dev-wacom.c'))
1935
-softmmu_ss.add(when: 'CONFIG_USB_STORAGE_CORE', if_true: files('dev-storage.c'))
1936
-softmmu_ss.add(when: 'CONFIG_USB_STORAGE_BOT', if_true: files('dev-storage-bot.c'))
1937
-softmmu_ss.add(when: 'CONFIG_USB_STORAGE_CLASSIC', if_true: files('dev-storage-classic.c'))
1938
-softmmu_ss.add(when: 'CONFIG_USB_STORAGE_UAS', if_true: files('dev-uas.c'))
1939
-softmmu_ss.add(when: 'CONFIG_USB_AUDIO', if_true: files('dev-audio.c'))
1940
-softmmu_ss.add(when: 'CONFIG_USB_SERIAL', if_true: files('dev-serial.c'))
1941
-softmmu_ss.add(when: 'CONFIG_USB_NETWORK', if_true: files('dev-network.c'))
1942
-softmmu_ss.add(when: ['CONFIG_POSIX', 'CONFIG_USB_STORAGE_MTP'], if_true: files('dev-mtp.c'))
1943
+system_ss.add(when: 'CONFIG_USB', if_true: files('dev-hub.c'))
1944
+system_ss.add(when: 'CONFIG_USB', if_true: files('dev-hid.c'))
1945
+system_ss.add(when: 'CONFIG_USB_TABLET_WACOM', if_true: files('dev-wacom.c'))
1946
+system_ss.add(when: 'CONFIG_USB_STORAGE_CORE', if_true: files('dev-storage.c'))
1947
+system_ss.add(when: 'CONFIG_USB_STORAGE_BOT', if_true: files('dev-storage-bot.c'))
1948
+system_ss.add(when: 'CONFIG_USB_STORAGE_CLASSIC', if_true: files('dev-storage-classic.c'))
1949
+system_ss.add(when: 'CONFIG_USB_STORAGE_UAS', if_true: files('dev-uas.c'))
1950
+system_ss.add(when: 'CONFIG_USB_AUDIO', if_true: files('dev-audio.c'))
1951
+system_ss.add(when: 'CONFIG_USB_SERIAL', if_true: files('dev-serial.c'))
1952
+system_ss.add(when: 'CONFIG_USB_NETWORK', if_true: files('dev-network.c'))
1953
+system_ss.add(when: ['CONFIG_POSIX', 'CONFIG_USB_STORAGE_MTP'], if_true: files('dev-mtp.c'))
1954
1955
# smartcard
1956
-softmmu_ss.add(when: 'CONFIG_USB_SMARTCARD', if_true: files('dev-smartcard-reader.c'))
1957
+system_ss.add(when: 'CONFIG_USB_SMARTCARD', if_true: files('dev-smartcard-reader.c'))
1958
1959
if cacard.found()
1960
usbsmartcard_ss = ss.source_set()
1961
@@ -XXX,XX +XXX,XX @@ if cacard.found()
1962
endif
1963
1964
# U2F
1965
-softmmu_ss.add(when: 'CONFIG_USB_U2F', if_true: files('u2f.c'))
1966
-softmmu_ss.add(when: ['CONFIG_LINUX', 'CONFIG_USB_U2F'], if_true: [libudev, files('u2f-passthru.c')])
1967
+system_ss.add(when: 'CONFIG_USB_U2F', if_true: files('u2f.c'))
1968
+system_ss.add(when: ['CONFIG_LINUX', 'CONFIG_USB_U2F'], if_true: [libudev, files('u2f-passthru.c')])
1969
if u2f.found()
1970
- softmmu_ss.add(when: 'CONFIG_USB_U2F', if_true: [u2f, files('u2f-emulated.c')])
1971
+ system_ss.add(when: 'CONFIG_USB_U2F', if_true: [u2f, files('u2f-emulated.c')])
1972
endif
1973
1974
# CanoKey
1975
if canokey.found()
1976
- softmmu_ss.add(when: 'CONFIG_USB_CANOKEY', if_true: [canokey, files('canokey.c')])
1977
+ system_ss.add(when: 'CONFIG_USB_CANOKEY', if_true: [canokey, files('canokey.c')])
1978
endif
1979
1980
# usb redirect
1981
@@ -XXX,XX +XXX,XX @@ if libusb.found()
1982
hw_usb_modules += {'host': usbhost_ss}
1983
endif
1984
1985
-softmmu_ss.add(when: ['CONFIG_USB', 'CONFIG_XEN_BUS', libusb], if_true: files('xen-usb.c'))
1986
+system_ss.add(when: ['CONFIG_USB', 'CONFIG_XEN_BUS', libusb], if_true: files('xen-usb.c'))
1987
1988
modules += { 'hw-usb': hw_usb_modules }
1989
diff --git a/hw/virtio/meson.build b/hw/virtio/meson.build
1990
index XXXXXXX..XXXXXXX 100644
1991
--- a/hw/virtio/meson.build
1992
+++ b/hw/virtio/meson.build
1993
@@ -XXX,XX +XXX,XX @@ virtio_pci_ss.add(when: 'CONFIG_VHOST_VDPA_DEV', if_true: files('vdpa-dev-pci.c'
1994
1995
specific_virtio_ss.add_all(when: 'CONFIG_VIRTIO_PCI', if_true: virtio_pci_ss)
1996
1997
-softmmu_ss.add_all(when: 'CONFIG_VIRTIO', if_true: softmmu_virtio_ss)
1998
-softmmu_ss.add(when: 'CONFIG_VIRTIO', if_false: files('vhost-stub.c'))
1999
-softmmu_ss.add(when: 'CONFIG_VIRTIO', if_false: files('virtio-stub.c'))
2000
-softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('vhost-stub.c'))
2001
-softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('virtio-stub.c'))
2002
-softmmu_ss.add(files('virtio-hmp-cmds.c'))
2003
+system_ss.add_all(when: 'CONFIG_VIRTIO', if_true: softmmu_virtio_ss)
2004
+system_ss.add(when: 'CONFIG_VIRTIO', if_false: files('vhost-stub.c'))
2005
+system_ss.add(when: 'CONFIG_VIRTIO', if_false: files('virtio-stub.c'))
2006
+system_ss.add(when: 'CONFIG_ALL', if_true: files('vhost-stub.c'))
2007
+system_ss.add(when: 'CONFIG_ALL', if_true: files('virtio-stub.c'))
2008
+system_ss.add(files('virtio-hmp-cmds.c'))
2009
2010
specific_ss.add_all(when: 'CONFIG_VIRTIO', if_true: specific_virtio_ss)
2011
diff --git a/hw/watchdog/meson.build b/hw/watchdog/meson.build
2012
index XXXXXXX..XXXXXXX 100644
2013
--- a/hw/watchdog/meson.build
2014
+++ b/hw/watchdog/meson.build
2015
@@ -XXX,XX +XXX,XX @@
2016
-softmmu_ss.add(files('watchdog.c'))
2017
-softmmu_ss.add(when: 'CONFIG_ALLWINNER_WDT', if_true: files('allwinner-wdt.c'))
2018
-softmmu_ss.add(when: 'CONFIG_CMSDK_APB_WATCHDOG', if_true: files('cmsdk-apb-watchdog.c'))
2019
-softmmu_ss.add(when: 'CONFIG_WDT_IB6300ESB', if_true: files('wdt_i6300esb.c'))
2020
-softmmu_ss.add(when: 'CONFIG_WDT_IB700', if_true: files('wdt_ib700.c'))
2021
-softmmu_ss.add(when: 'CONFIG_WDT_DIAG288', if_true: files('wdt_diag288.c'))
2022
-softmmu_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files('wdt_aspeed.c'))
2023
-softmmu_ss.add(when: 'CONFIG_WDT_IMX2', if_true: files('wdt_imx2.c'))
2024
-softmmu_ss.add(when: 'CONFIG_WDT_SBSA', if_true: files('sbsa_gwdt.c'))
2025
+system_ss.add(files('watchdog.c'))
2026
+system_ss.add(when: 'CONFIG_ALLWINNER_WDT', if_true: files('allwinner-wdt.c'))
2027
+system_ss.add(when: 'CONFIG_CMSDK_APB_WATCHDOG', if_true: files('cmsdk-apb-watchdog.c'))
2028
+system_ss.add(when: 'CONFIG_WDT_IB6300ESB', if_true: files('wdt_i6300esb.c'))
2029
+system_ss.add(when: 'CONFIG_WDT_IB700', if_true: files('wdt_ib700.c'))
2030
+system_ss.add(when: 'CONFIG_WDT_DIAG288', if_true: files('wdt_diag288.c'))
2031
+system_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files('wdt_aspeed.c'))
2032
+system_ss.add(when: 'CONFIG_WDT_IMX2', if_true: files('wdt_imx2.c'))
2033
+system_ss.add(when: 'CONFIG_WDT_SBSA', if_true: files('sbsa_gwdt.c'))
2034
specific_ss.add(when: 'CONFIG_PSERIES', if_true: files('spapr_watchdog.c'))
2035
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
2036
index XXXXXXX..XXXXXXX 100644
2037
--- a/hw/xen/meson.build
2038
+++ b/hw/xen/meson.build
2039
@@ -XXX,XX +XXX,XX @@
2040
-softmmu_ss.add(when: ['CONFIG_XEN_BUS'], if_true: files(
2041
+system_ss.add(when: ['CONFIG_XEN_BUS'], if_true: files(
2042
'xen-backend.c',
2043
'xen-bus-helper.c',
2044
'xen-bus.c',
2045
@@ -XXX,XX +XXX,XX @@ softmmu_ss.add(when: ['CONFIG_XEN_BUS'], if_true: files(
2046
'xen_pvdev.c',
2047
))
2048
2049
-softmmu_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
2050
+system_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
2051
'xen-operations.c',
2052
))
2053
2054
diff --git a/migration/meson.build b/migration/meson.build
2055
index XXXXXXX..XXXXXXX 100644
2056
--- a/migration/meson.build
2057
+++ b/migration/meson.build
2058
@@ -XXX,XX +XXX,XX @@ migration_files = files(
2059
'yank_functions.c',
2060
)
2061
2062
-softmmu_ss.add(files(
2063
+system_ss.add(files(
2064
'block-dirty-bitmap.c',
2065
'channel.c',
2066
'channel-block.c',
2067
@@ -XXX,XX +XXX,XX @@ softmmu_ss.add(files(
2068
), gnutls)
2069
2070
if get_option('replication').allowed()
2071
- softmmu_ss.add(files('colo-failover.c', 'colo.c'))
2072
+ system_ss.add(files('colo-failover.c', 'colo.c'))
2073
endif
2074
2075
-softmmu_ss.add(when: rdma, if_true: files('rdma.c'))
2076
+system_ss.add(when: rdma, if_true: files('rdma.c'))
2077
if get_option('live_block_migration').allowed()
2078
- softmmu_ss.add(files('block.c'))
2079
+ system_ss.add(files('block.c'))
2080
endif
2081
-softmmu_ss.add(when: zstd, if_true: files('multifd-zstd.c'))
2082
+system_ss.add(when: zstd, if_true: files('multifd-zstd.c'))
2083
2084
specific_ss.add(when: 'CONFIG_SYSTEM_ONLY',
2085
if_true: files('ram.c',
2086
diff --git a/monitor/meson.build b/monitor/meson.build
2087
index XXXXXXX..XXXXXXX 100644
2088
--- a/monitor/meson.build
2089
+++ b/monitor/meson.build
2090
@@ -XXX,XX +XXX,XX @@
2091
qmp_ss.add(files('monitor.c', 'qmp.c', 'qmp-cmds-control.c'))
2092
2093
-softmmu_ss.add(files(
2094
+system_ss.add(files(
2095
'fds.c',
2096
'hmp-cmds.c',
2097
'hmp.c',
2098
))
2099
-softmmu_ss.add([spice_headers, files('qmp-cmds.c')])
2100
+system_ss.add([spice_headers, files('qmp-cmds.c')])
2101
2102
specific_ss.add(when: 'CONFIG_SYSTEM_ONLY',
2103
        if_true: [files( 'hmp-cmds-target.c', 'hmp-target.c'), spice])
2104
diff --git a/net/can/meson.build b/net/can/meson.build
2105
index XXXXXXX..XXXXXXX 100644
2106
--- a/net/can/meson.build
2107
+++ b/net/can/meson.build
2108
@@ -XXX,XX +XXX,XX @@ can_ss = ss.source_set()
2109
can_ss.add(files('can_core.c', 'can_host.c'))
2110
can_ss.add(when: 'CONFIG_LINUX', if_true: files('can_socketcan.c'))
2111
2112
-softmmu_ss.add_all(when: 'CONFIG_CAN_BUS', if_true: can_ss)
2113
+system_ss.add_all(when: 'CONFIG_CAN_BUS', if_true: can_ss)
2114
diff --git a/net/meson.build b/net/meson.build
2115
index XXXXXXX..XXXXXXX 100644
2116
--- a/net/meson.build
2117
+++ b/net/meson.build
2118
@@ -XXX,XX +XXX,XX @@
2119
-softmmu_ss.add(files(
2120
+system_ss.add(files(
2121
'announce.c',
2122
'checksum.c',
2123
'dump.c',
2124
@@ -XXX,XX +XXX,XX @@ softmmu_ss.add(files(
2125
2126
if get_option('replication').allowed() or \
2127
get_option('colo_proxy').allowed()
2128
- softmmu_ss.add(files('colo-compare.c'))
2129
- softmmu_ss.add(files('colo.c'))
2130
+ system_ss.add(files('colo-compare.c'))
2131
+ system_ss.add(files('colo.c'))
2132
endif
2133
2134
if get_option('colo_proxy').allowed()
2135
- softmmu_ss.add(files('filter-rewriter.c'))
2136
+ system_ss.add(files('filter-rewriter.c'))
2137
endif
2138
2139
-softmmu_ss.add(when: 'CONFIG_TCG', if_true: files('filter-replay.c'))
2140
+system_ss.add(when: 'CONFIG_TCG', if_true: files('filter-replay.c'))
2141
2142
if have_l2tpv3
2143
- softmmu_ss.add(files('l2tpv3.c'))
2144
+ system_ss.add(files('l2tpv3.c'))
2145
endif
2146
-softmmu_ss.add(when: slirp, if_true: files('slirp.c'))
2147
-softmmu_ss.add(when: vde, if_true: files('vde.c'))
2148
+system_ss.add(when: slirp, if_true: files('slirp.c'))
2149
+system_ss.add(when: vde, if_true: files('vde.c'))
2150
if have_netmap
2151
- softmmu_ss.add(files('netmap.c'))
2152
+ system_ss.add(files('netmap.c'))
2153
endif
2154
if have_vhost_net_user
2155
- softmmu_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('vhost-user.c'), if_false: files('vhost-user-stub.c'))
2156
- softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('vhost-user-stub.c'))
2157
+ system_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('vhost-user.c'), if_false: files('vhost-user-stub.c'))
2158
+ system_ss.add(when: 'CONFIG_ALL', if_true: files('vhost-user-stub.c'))
2159
endif
2160
2161
-softmmu_ss.add(when: 'CONFIG_LINUX', if_true: files('tap-linux.c'))
2162
-softmmu_ss.add(when: 'CONFIG_BSD', if_true: files('tap-bsd.c'))
2163
-softmmu_ss.add(when: 'CONFIG_SOLARIS', if_true: files('tap-solaris.c'))
2164
+system_ss.add(when: 'CONFIG_LINUX', if_true: files('tap-linux.c'))
2165
+system_ss.add(when: 'CONFIG_BSD', if_true: files('tap-bsd.c'))
2166
+system_ss.add(when: 'CONFIG_SOLARIS', if_true: files('tap-solaris.c'))
2167
tap_posix = ['tap.c']
2168
if not config_host.has_key('CONFIG_LINUX') and not config_host.has_key('CONFIG_BSD') and not config_host.has_key('CONFIG_SOLARIS')
2169
tap_posix += 'tap-stub.c'
2170
endif
2171
-softmmu_ss.add(when: 'CONFIG_POSIX', if_true: files(tap_posix))
2172
-softmmu_ss.add(when: 'CONFIG_WIN32', if_true: files('tap-win32.c'))
2173
+system_ss.add(when: 'CONFIG_POSIX', if_true: files(tap_posix))
2174
+system_ss.add(when: 'CONFIG_WIN32', if_true: files('tap-win32.c'))
2175
if have_vhost_net_vdpa
2176
- softmmu_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('vhost-vdpa.c'), if_false: files('vhost-vdpa-stub.c'))
2177
- softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('vhost-vdpa-stub.c'))
2178
+ system_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('vhost-vdpa.c'), if_false: files('vhost-vdpa-stub.c'))
2179
+ system_ss.add(when: 'CONFIG_ALL', if_true: files('vhost-vdpa-stub.c'))
2180
endif
2181
2182
vmnet_files = files(
2183
@@ -XXX,XX +XXX,XX @@ vmnet_files = files(
2184
'vmnet-host.c',
2185
'vmnet-shared.c'
2186
)
2187
-softmmu_ss.add(when: vmnet, if_true: vmnet_files)
2188
+system_ss.add(when: vmnet, if_true: vmnet_files)
2189
subdir('can')
2190
diff --git a/qom/meson.build b/qom/meson.build
2191
index XXXXXXX..XXXXXXX 100644
2192
--- a/qom/meson.build
2193
+++ b/qom/meson.build
2194
@@ -XXX,XX +XXX,XX @@ qom_ss.add(files(
2195
))
2196
2197
qmp_ss.add(files('qom-qmp-cmds.c'))
2198
-softmmu_ss.add(files('qom-hmp-cmds.c'))
2199
+system_ss.add(files('qom-hmp-cmds.c'))
2200
diff --git a/replay/meson.build b/replay/meson.build
2201
index XXXXXXX..XXXXXXX 100644
2202
--- a/replay/meson.build
2203
+++ b/replay/meson.build
2204
@@ -XXX,XX +XXX,XX @@
2205
-softmmu_ss.add(when: 'CONFIG_TCG', if_true: files(
2206
+system_ss.add(when: 'CONFIG_TCG', if_true: files(
2207
'replay.c',
2208
'replay-internal.c',
2209
'replay-events.c',
2210
diff --git a/softmmu/meson.build b/softmmu/meson.build
2211
index XXXXXXX..XXXXXXX 100644
2212
--- a/softmmu/meson.build
2213
+++ b/softmmu/meson.build
2214
@@ -XXX,XX +XXX,XX @@ specific_ss.add(when: ['CONFIG_SYSTEM_ONLY', 'CONFIG_TCG'], if_true: [files(
2215
'icount.c',
2216
)])
2217
2218
-softmmu_ss.add(files(
2219
+system_ss.add(files(
2220
'balloon.c',
2221
'bootdevice.c',
2222
'cpus.c',
2223
@@ -XXX,XX +XXX,XX @@ softmmu_ss.add(files(
2224
), sdl, libpmem, libdaxctl)
2225
2226
if have_tpm
2227
- softmmu_ss.add(files('tpm.c'))
2228
+ system_ss.add(files('tpm.c'))
2229
endif
2230
2231
-softmmu_ss.add(when: seccomp, if_true: files('qemu-seccomp.c'))
2232
-softmmu_ss.add(when: fdt, if_true: files('device_tree.c'))
2233
+system_ss.add(when: seccomp, if_true: files('qemu-seccomp.c'))
2234
+system_ss.add(when: fdt, if_true: files('device_tree.c'))
2235
diff --git a/stats/meson.build b/stats/meson.build
2236
index XXXXXXX..XXXXXXX 100644
2237
--- a/stats/meson.build
2238
+++ b/stats/meson.build
2239
@@ -1 +1 @@
2240
-softmmu_ss.add(files('stats-hmp-cmds.c', 'stats-qmp-cmds.c'))
2241
+system_ss.add(files('stats-hmp-cmds.c', 'stats-qmp-cmds.c'))
2242
diff --git a/target/alpha/meson.build b/target/alpha/meson.build
2243
index XXXXXXX..XXXXXXX 100644
2244
--- a/target/alpha/meson.build
2245
+++ b/target/alpha/meson.build
2246
@@ -XXX,XX +XXX,XX @@ alpha_ss.add(files(
2247
'vax_helper.c',
2248
))
2249
2250
-alpha_softmmu_ss = ss.source_set()
2251
-alpha_softmmu_ss.add(files('machine.c'))
2252
+alpha_system_ss = ss.source_set()
2253
+alpha_system_ss.add(files('machine.c'))
2254
2255
target_arch += {'alpha': alpha_ss}
2256
-target_softmmu_arch += {'alpha': alpha_softmmu_ss}
2257
+target_softmmu_arch += {'alpha': alpha_system_ss}
2258
diff --git a/target/arm/hvf/meson.build b/target/arm/hvf/meson.build
2259
index XXXXXXX..XXXXXXX 100644
2260
--- a/target/arm/hvf/meson.build
2261
+++ b/target/arm/hvf/meson.build
2262
@@ -XXX,XX +XXX,XX @@
2263
-arm_softmmu_ss.add(when: [hvf, 'CONFIG_HVF'], if_true: files(
2264
+arm_system_ss.add(when: [hvf, 'CONFIG_HVF'], if_true: files(
2265
'hvf.c',
2266
))
2267
diff --git a/target/arm/meson.build b/target/arm/meson.build
2268
index XXXXXXX..XXXXXXX 100644
2269
--- a/target/arm/meson.build
2270
+++ b/target/arm/meson.build
2271
@@ -XXX,XX +XXX,XX @@ arm_ss.add(when: 'TARGET_AARCH64', if_true: files(
2272
'gdbstub64.c',
2273
))
2274
2275
-arm_softmmu_ss = ss.source_set()
2276
-arm_softmmu_ss.add(files(
2277
+arm_system_ss = ss.source_set()
2278
+arm_system_ss.add(files(
2279
'arch_dump.c',
2280
'arm-powerctl.c',
2281
'arm-qmp-cmds.c',
2282
@@ -XXX,XX +XXX,XX @@ else
2283
endif
2284
2285
target_arch += {'arm': arm_ss}
2286
-target_softmmu_arch += {'arm': arm_softmmu_ss}
2287
+target_softmmu_arch += {'arm': arm_system_ss}
2288
diff --git a/target/arm/tcg/meson.build b/target/arm/tcg/meson.build
2289
index XXXXXXX..XXXXXXX 100644
2290
--- a/target/arm/tcg/meson.build
2291
+++ b/target/arm/tcg/meson.build
2292
@@ -XXX,XX +XXX,XX @@ arm_ss.add(when: 'TARGET_AARCH64', if_true: files(
2293
'sve_helper.c',
2294
))
2295
2296
-arm_softmmu_ss.add(files(
2297
+arm_system_ss.add(files(
2298
'psci.c',
2299
))
2300
diff --git a/target/avr/meson.build b/target/avr/meson.build
2301
index XXXXXXX..XXXXXXX 100644
2302
--- a/target/avr/meson.build
2303
+++ b/target/avr/meson.build
2304
@@ -XXX,XX +XXX,XX @@ gen = [
2305
]
2306
2307
avr_ss = ss.source_set()
2308
-avr_softmmu_ss = ss.source_set()
2309
+avr_system_ss = ss.source_set()
2310
2311
avr_ss.add(gen)
2312
avr_ss.add(files(
2313
@@ -XXX,XX +XXX,XX @@ avr_ss.add(files(
2314
'gdbstub.c',
2315
'disas.c'))
2316
2317
-avr_softmmu_ss.add(files('machine.c'))
2318
+avr_system_ss.add(files('machine.c'))
2319
2320
target_arch += {'avr': avr_ss}
2321
-target_softmmu_arch += {'avr': avr_softmmu_ss}
2322
+target_softmmu_arch += {'avr': avr_system_ss}
2323
diff --git a/target/cris/meson.build b/target/cris/meson.build
2324
index XXXXXXX..XXXXXXX 100644
2325
--- a/target/cris/meson.build
2326
+++ b/target/cris/meson.build
2327
@@ -XXX,XX +XXX,XX @@ cris_ss.add(files(
2328
'translate.c',
2329
))
2330
2331
-cris_softmmu_ss = ss.source_set()
2332
-cris_softmmu_ss.add(files(
2333
+cris_system_ss = ss.source_set()
2334
+cris_system_ss.add(files(
2335
'helper.c',
2336
'machine.c',
2337
'mmu.c',
2338
))
2339
2340
target_arch += {'cris': cris_ss}
2341
-target_softmmu_arch += {'cris': cris_softmmu_ss}
2342
+target_softmmu_arch += {'cris': cris_system_ss}
2343
diff --git a/target/hppa/meson.build b/target/hppa/meson.build
2344
index XXXXXXX..XXXXXXX 100644
2345
--- a/target/hppa/meson.build
2346
+++ b/target/hppa/meson.build
2347
@@ -XXX,XX +XXX,XX @@ hppa_ss.add(files(
2348
'translate.c',
2349
))
2350
2351
-hppa_softmmu_ss = ss.source_set()
2352
-hppa_softmmu_ss.add(files(
2353
+hppa_system_ss = ss.source_set()
2354
+hppa_system_ss.add(files(
2355
'int_helper.c',
2356
'machine.c',
2357
'mem_helper.c',
2358
@@ -XXX,XX +XXX,XX @@ hppa_softmmu_ss.add(files(
2359
))
2360
2361
target_arch += {'hppa': hppa_ss}
2362
-target_softmmu_arch += {'hppa': hppa_softmmu_ss}
2363
+target_softmmu_arch += {'hppa': hppa_system_ss}
2364
diff --git a/target/i386/hax/meson.build b/target/i386/hax/meson.build
2365
index XXXXXXX..XXXXXXX 100644
2366
--- a/target/i386/hax/meson.build
2367
+++ b/target/i386/hax/meson.build
2368
@@ -XXX,XX +XXX,XX @@
2369
-i386_softmmu_ss.add(when: 'CONFIG_HAX', if_true: files(
2370
+i386_system_ss.add(when: 'CONFIG_HAX', if_true: files(
2371
'hax-all.c',
2372
'hax-mem.c',
2373
'hax-accel-ops.c',
2374
))
2375
-i386_softmmu_ss.add(when: ['CONFIG_HAX', 'CONFIG_POSIX'], if_true: files('hax-posix.c'))
2376
-i386_softmmu_ss.add(when: ['CONFIG_HAX', 'CONFIG_WIN32'], if_true: files('hax-windows.c'))
2377
+i386_system_ss.add(when: ['CONFIG_HAX', 'CONFIG_POSIX'], if_true: files('hax-posix.c'))
2378
+i386_system_ss.add(when: ['CONFIG_HAX', 'CONFIG_WIN32'], if_true: files('hax-windows.c'))
2379
diff --git a/target/i386/hvf/meson.build b/target/i386/hvf/meson.build
2380
index XXXXXXX..XXXXXXX 100644
2381
--- a/target/i386/hvf/meson.build
2382
+++ b/target/i386/hvf/meson.build
2383
@@ -XXX,XX +XXX,XX @@
2384
-i386_softmmu_ss.add(when: [hvf, 'CONFIG_HVF'], if_true: files(
2385
+i386_system_ss.add(when: [hvf, 'CONFIG_HVF'], if_true: files(
2386
'hvf.c',
2387
'x86.c',
2388
'x86_cpuid.c',
2389
diff --git a/target/i386/kvm/meson.build b/target/i386/kvm/meson.build
2390
index XXXXXXX..XXXXXXX 100644
2391
--- a/target/i386/kvm/meson.build
2392
+++ b/target/i386/kvm/meson.build
2393
@@ -XXX,XX +XXX,XX @@ i386_softmmu_kvm_ss.add(when: 'CONFIG_XEN_EMU', if_true: files('xen-emu.c'))
2394
2395
i386_softmmu_kvm_ss.add(when: 'CONFIG_SEV', if_false: files('sev-stub.c'))
2396
2397
-i386_softmmu_ss.add(when: 'CONFIG_HYPERV', if_true: files('hyperv.c'), if_false: files('hyperv-stub.c'))
2398
+i386_system_ss.add(when: 'CONFIG_HYPERV', if_true: files('hyperv.c'), if_false: files('hyperv-stub.c'))
2399
2400
-i386_softmmu_ss.add_all(when: 'CONFIG_KVM', if_true: i386_softmmu_kvm_ss)
2401
+i386_system_ss.add_all(when: 'CONFIG_KVM', if_true: i386_softmmu_kvm_ss)
2402
diff --git a/target/i386/meson.build b/target/i386/meson.build
2403
index XXXXXXX..XXXXXXX 100644
2404
--- a/target/i386/meson.build
2405
+++ b/target/i386/meson.build
2406
@@ -XXX,XX +XXX,XX @@ i386_ss.add(when: 'CONFIG_SEV', if_true: files('host-cpu.c'))
2407
i386_ss.add(when: 'CONFIG_KVM', if_true: files('host-cpu.c'))
2408
i386_ss.add(when: 'CONFIG_HVF', if_true: files('host-cpu.c'))
2409
2410
-i386_softmmu_ss = ss.source_set()
2411
-i386_softmmu_ss.add(files(
2412
+i386_system_ss = ss.source_set()
2413
+i386_system_ss.add(files(
2414
'arch_dump.c',
2415
'arch_memory_mapping.c',
2416
'machine.c',
2417
'monitor.c',
2418
'cpu-sysemu.c',
2419
))
2420
-i386_softmmu_ss.add(when: 'CONFIG_SEV', if_true: files('sev.c'), if_false: files('sev-sysemu-stub.c'))
2421
+i386_system_ss.add(when: 'CONFIG_SEV', if_true: files('sev.c'), if_false: files('sev-sysemu-stub.c'))
2422
2423
i386_user_ss = ss.source_set()
2424
2425
@@ -XXX,XX +XXX,XX @@ subdir('hvf')
2426
subdir('tcg')
2427
2428
target_arch += {'i386': i386_ss}
2429
-target_softmmu_arch += {'i386': i386_softmmu_ss}
2430
+target_softmmu_arch += {'i386': i386_system_ss}
2431
target_user_arch += {'i386': i386_user_ss}
2432
diff --git a/target/i386/nvmm/meson.build b/target/i386/nvmm/meson.build
2433
index XXXXXXX..XXXXXXX 100644
2434
--- a/target/i386/nvmm/meson.build
2435
+++ b/target/i386/nvmm/meson.build
2436
@@ -XXX,XX +XXX,XX @@
2437
-i386_softmmu_ss.add(when: 'CONFIG_NVMM', if_true:
2438
+i386_system_ss.add(when: 'CONFIG_NVMM', if_true:
2439
files(
2440
'nvmm-all.c',
2441
'nvmm-accel-ops.c',
2442
)
2443
)
2444
2445
-i386_softmmu_ss.add(when: 'CONFIG_NVMM', if_true: nvmm)
2446
+i386_system_ss.add(when: 'CONFIG_NVMM', if_true: nvmm)
2447
diff --git a/target/i386/tcg/sysemu/meson.build b/target/i386/tcg/sysemu/meson.build
2448
index XXXXXXX..XXXXXXX 100644
2449
--- a/target/i386/tcg/sysemu/meson.build
2450
+++ b/target/i386/tcg/sysemu/meson.build
2451
@@ -XXX,XX +XXX,XX @@
2452
-i386_softmmu_ss.add(when: ['CONFIG_TCG', 'CONFIG_SYSTEM_ONLY'], if_true: files(
2453
+i386_system_ss.add(when: ['CONFIG_TCG', 'CONFIG_SYSTEM_ONLY'], if_true: files(
2454
'tcg-cpu.c',
2455
'smm_helper.c',
2456
'excp_helper.c',
2457
diff --git a/target/i386/whpx/meson.build b/target/i386/whpx/meson.build
2458
index XXXXXXX..XXXXXXX 100644
2459
--- a/target/i386/whpx/meson.build
2460
+++ b/target/i386/whpx/meson.build
2461
@@ -XXX,XX +XXX,XX @@
2462
-i386_softmmu_ss.add(when: 'CONFIG_WHPX', if_true: files(
2463
+i386_system_ss.add(when: 'CONFIG_WHPX', if_true: files(
2464
'whpx-all.c',
2465
'whpx-apic.c',
2466
'whpx-accel-ops.c',
2467
diff --git a/target/loongarch/meson.build b/target/loongarch/meson.build
2468
index XXXXXXX..XXXXXXX 100644
2469
--- a/target/loongarch/meson.build
2470
+++ b/target/loongarch/meson.build
2471
@@ -XXX,XX +XXX,XX @@ loongarch_tcg_ss.add(files(
2472
))
2473
loongarch_tcg_ss.add(zlib)
2474
2475
-loongarch_softmmu_ss = ss.source_set()
2476
-loongarch_softmmu_ss.add(files(
2477
+loongarch_system_ss = ss.source_set()
2478
+loongarch_system_ss.add(files(
2479
'loongarch-qmp-cmds.c',
2480
'machine.c',
2481
'tlb_helper.c',
2482
@@ -XXX,XX +XXX,XX @@ common_ss.add(when: 'CONFIG_LOONGARCH_DIS', if_true: [files('disas.c'), gen])
2483
loongarch_ss.add_all(when: 'CONFIG_TCG', if_true: [loongarch_tcg_ss])
2484
2485
target_arch += {'loongarch': loongarch_ss}
2486
-target_softmmu_arch += {'loongarch': loongarch_softmmu_ss}
2487
+target_softmmu_arch += {'loongarch': loongarch_system_ss}
2488
diff --git a/target/m68k/meson.build b/target/m68k/meson.build
2489
index XXXXXXX..XXXXXXX 100644
2490
--- a/target/m68k/meson.build
2491
+++ b/target/m68k/meson.build
2492
@@ -XXX,XX +XXX,XX @@ m68k_ss.add(files(
2493
'translate.c',
2494
))
2495
2496
-m68k_softmmu_ss = ss.source_set()
2497
-m68k_softmmu_ss.add(files(
2498
+m68k_system_ss = ss.source_set()
2499
+m68k_system_ss.add(files(
2500
'm68k-semi.c',
2501
'monitor.c'
2502
))
2503
2504
target_arch += {'m68k': m68k_ss}
2505
-target_softmmu_arch += {'m68k': m68k_softmmu_ss}
2506
+target_softmmu_arch += {'m68k': m68k_system_ss}
2507
diff --git a/target/microblaze/meson.build b/target/microblaze/meson.build
2508
index XXXXXXX..XXXXXXX 100644
2509
--- a/target/microblaze/meson.build
2510
+++ b/target/microblaze/meson.build
2511
@@ -XXX,XX +XXX,XX @@ microblaze_ss.add(files(
2512
'translate.c',
2513
))
2514
2515
-microblaze_softmmu_ss = ss.source_set()
2516
-microblaze_softmmu_ss.add(files(
2517
+microblaze_system_ss = ss.source_set()
2518
+microblaze_system_ss.add(files(
2519
'mmu.c',
2520
'machine.c',
2521
))
2522
2523
target_arch += {'microblaze': microblaze_ss}
2524
-target_softmmu_arch += {'microblaze': microblaze_softmmu_ss}
2525
+target_softmmu_arch += {'microblaze': microblaze_system_ss}
2526
diff --git a/target/mips/meson.build b/target/mips/meson.build
2527
index XXXXXXX..XXXXXXX 100644
2528
--- a/target/mips/meson.build
2529
+++ b/target/mips/meson.build
2530
@@ -XXX,XX +XXX,XX @@
2531
mips_user_ss = ss.source_set()
2532
-mips_softmmu_ss = ss.source_set()
2533
+mips_system_ss = ss.source_set()
2534
mips_ss = ss.source_set()
2535
mips_ss.add(files(
2536
'cpu.c',
2537
@@ -XXX,XX +XXX,XX @@ endif
2538
mips_ss.add(when: 'CONFIG_KVM', if_true: files('kvm.c'))
2539
2540
target_arch += {'mips': mips_ss}
2541
-target_softmmu_arch += {'mips': mips_softmmu_ss}
2542
+target_softmmu_arch += {'mips': mips_system_ss}
2543
target_user_arch += {'mips': mips_user_ss}
2544
diff --git a/target/mips/sysemu/meson.build b/target/mips/sysemu/meson.build
2545
index XXXXXXX..XXXXXXX 100644
2546
--- a/target/mips/sysemu/meson.build
2547
+++ b/target/mips/sysemu/meson.build
2548
@@ -XXX,XX +XXX,XX @@
2549
-mips_softmmu_ss.add(files(
2550
+mips_system_ss.add(files(
2551
'addr.c',
2552
'cp0.c',
2553
'cp0_timer.c',
2554
diff --git a/target/mips/tcg/sysemu/meson.build b/target/mips/tcg/sysemu/meson.build
2555
index XXXXXXX..XXXXXXX 100644
2556
--- a/target/mips/tcg/sysemu/meson.build
2557
+++ b/target/mips/tcg/sysemu/meson.build
2558
@@ -XXX,XX +XXX,XX @@
2559
-mips_softmmu_ss.add(files(
2560
+mips_system_ss.add(files(
2561
'cp0_helper.c',
2562
'mips-semi.c',
2563
'special_helper.c',
2564
diff --git a/target/nios2/meson.build b/target/nios2/meson.build
2565
index XXXXXXX..XXXXXXX 100644
2566
--- a/target/nios2/meson.build
2567
+++ b/target/nios2/meson.build
2568
@@ -XXX,XX +XXX,XX @@ nios2_ss.add(files(
2569
'translate.c',
2570
))
2571
2572
-nios2_softmmu_ss = ss.source_set()
2573
-nios2_softmmu_ss.add(files(
2574
+nios2_system_ss = ss.source_set()
2575
+nios2_system_ss.add(files(
2576
'helper.c',
2577
'monitor.c',
2578
'mmu.c',
2579
@@ -XXX,XX +XXX,XX @@ nios2_softmmu_ss.add(files(
2580
))
2581
2582
target_arch += {'nios2': nios2_ss}
2583
-target_softmmu_arch += {'nios2': nios2_softmmu_ss}
2584
+target_softmmu_arch += {'nios2': nios2_system_ss}
2585
diff --git a/target/openrisc/meson.build b/target/openrisc/meson.build
2586
index XXXXXXX..XXXXXXX 100644
2587
--- a/target/openrisc/meson.build
2588
+++ b/target/openrisc/meson.build
2589
@@ -XXX,XX +XXX,XX @@ openrisc_ss.add(files(
2590
'translate.c',
2591
))
2592
2593
-openrisc_softmmu_ss = ss.source_set()
2594
-openrisc_softmmu_ss.add(files(
2595
+openrisc_system_ss = ss.source_set()
2596
+openrisc_system_ss.add(files(
2597
'interrupt.c',
2598
'machine.c',
2599
'mmu.c',
2600
))
2601
2602
target_arch += {'openrisc': openrisc_ss}
2603
-target_softmmu_arch += {'openrisc': openrisc_softmmu_ss}
2604
+target_softmmu_arch += {'openrisc': openrisc_system_ss}
2605
diff --git a/target/ppc/meson.build b/target/ppc/meson.build
2606
index XXXXXXX..XXXXXXX 100644
2607
--- a/target/ppc/meson.build
2608
+++ b/target/ppc/meson.build
2609
@@ -XXX,XX +XXX,XX @@ ppc_ss.add(gen)
2610
ppc_ss.add(when: 'CONFIG_KVM', if_true: files('kvm.c'), if_false: files('kvm-stub.c'))
2611
ppc_ss.add(when: 'CONFIG_USER_ONLY', if_true: files('user_only_helper.c'))
2612
2613
-ppc_softmmu_ss = ss.source_set()
2614
-ppc_softmmu_ss.add(files(
2615
+ppc_system_ss = ss.source_set()
2616
+ppc_system_ss.add(files(
2617
'arch_dump.c',
2618
'machine.c',
2619
'mmu-hash32.c',
2620
'mmu_common.c',
2621
'ppc-qmp-cmds.c',
2622
))
2623
-ppc_softmmu_ss.add(when: 'CONFIG_TCG', if_true: files(
2624
+ppc_system_ss.add(when: 'CONFIG_TCG', if_true: files(
2625
'mmu_helper.c',
2626
), if_false: files(
2627
'tcg-stub.c',
2628
))
2629
2630
-ppc_softmmu_ss.add(when: 'TARGET_PPC64', if_true: files(
2631
+ppc_system_ss.add(when: 'TARGET_PPC64', if_true: files(
2632
'compat.c',
2633
'mmu-book3s-v3.c',
2634
'mmu-hash64.c',
2635
@@ -XXX,XX +XXX,XX @@ ppc_softmmu_ss.add(when: 'TARGET_PPC64', if_true: files(
2636
))
2637
2638
target_arch += {'ppc': ppc_ss}
2639
-target_softmmu_arch += {'ppc': ppc_softmmu_ss}
2640
+target_softmmu_arch += {'ppc': ppc_system_ss}
2641
diff --git a/target/riscv/meson.build b/target/riscv/meson.build
2642
index XXXXXXX..XXXXXXX 100644
2643
--- a/target/riscv/meson.build
2644
+++ b/target/riscv/meson.build
2645
@@ -XXX,XX +XXX,XX @@ riscv_ss.add(files(
2646
))
2647
riscv_ss.add(when: 'CONFIG_KVM', if_true: files('kvm.c'), if_false: files('kvm-stub.c'))
2648
2649
-riscv_softmmu_ss = ss.source_set()
2650
-riscv_softmmu_ss.add(files(
2651
+riscv_system_ss = ss.source_set()
2652
+riscv_system_ss.add(files(
2653
'arch_dump.c',
2654
'pmp.c',
2655
'debug.c',
2656
@@ -XXX,XX +XXX,XX @@ riscv_softmmu_ss.add(files(
2657
))
2658
2659
target_arch += {'riscv': riscv_ss}
2660
-target_softmmu_arch += {'riscv': riscv_softmmu_ss}
2661
+target_softmmu_arch += {'riscv': riscv_system_ss}
2662
diff --git a/target/s390x/kvm/meson.build b/target/s390x/kvm/meson.build
2663
index XXXXXXX..XXXXXXX 100644
2664
--- a/target/s390x/kvm/meson.build
2665
+++ b/target/s390x/kvm/meson.build
2666
@@ -XXX,XX +XXX,XX @@ s390x_ss.add(when: 'CONFIG_KVM', if_true: files(
2667
# - KVM is enabled
2668
# - the linker supports --s390-pgste
2669
if host_machine.cpu_family() == 's390x' and cc.has_link_argument('-Wl,--s390-pgste')
2670
- s390x_softmmu_ss.add(when: 'CONFIG_KVM',
2671
+ s390x_system_ss.add(when: 'CONFIG_KVM',
2672
if_true: declare_dependency(link_args: ['-Wl,--s390-pgste']))
2673
endif
2674
diff --git a/target/s390x/meson.build b/target/s390x/meson.build
2675
index XXXXXXX..XXXXXXX 100644
2676
--- a/target/s390x/meson.build
2677
+++ b/target/s390x/meson.build
2678
@@ -XXX,XX +XXX,XX @@ gen_features_h = custom_target('gen-features.h',
2679
2680
s390x_ss.add(gen_features_h)
2681
2682
-s390x_softmmu_ss = ss.source_set()
2683
-s390x_softmmu_ss.add(files(
2684
+s390x_system_ss = ss.source_set()
2685
+s390x_system_ss.add(files(
2686
'helper.c',
2687
'arch_dump.c',
2688
'diag.c',
2689
@@ -XXX,XX +XXX,XX @@ subdir('tcg')
2690
subdir('kvm')
2691
2692
target_arch += {'s390x': s390x_ss}
2693
-target_softmmu_arch += {'s390x': s390x_softmmu_ss}
2694
+target_softmmu_arch += {'s390x': s390x_system_ss}
2695
target_user_arch += {'s390x': s390x_user_ss}
2696
diff --git a/target/sh4/meson.build b/target/sh4/meson.build
2697
index XXXXXXX..XXXXXXX 100644
2698
--- a/target/sh4/meson.build
2699
+++ b/target/sh4/meson.build
2700
@@ -XXX,XX +XXX,XX @@ sh4_ss.add(files(
2701
'translate.c',
2702
))
2703
2704
-sh4_softmmu_ss = ss.source_set()
2705
-sh4_softmmu_ss.add(files('monitor.c'))
2706
+sh4_system_ss = ss.source_set()
2707
+sh4_system_ss.add(files('monitor.c'))
2708
2709
target_arch += {'sh4': sh4_ss}
2710
-target_softmmu_arch += {'sh4': sh4_softmmu_ss}
2711
+target_softmmu_arch += {'sh4': sh4_system_ss}
2712
diff --git a/target/sparc/meson.build b/target/sparc/meson.build
2713
index XXXXXXX..XXXXXXX 100644
2714
--- a/target/sparc/meson.build
2715
+++ b/target/sparc/meson.build
2716
@@ -XXX,XX +XXX,XX @@ sparc_ss.add(files(
2717
sparc_ss.add(when: 'TARGET_SPARC', if_true: files('int32_helper.c'))
2718
sparc_ss.add(when: 'TARGET_SPARC64', if_true: files('int64_helper.c', 'vis_helper.c'))
2719
2720
-sparc_softmmu_ss = ss.source_set()
2721
-sparc_softmmu_ss.add(files(
2722
+sparc_system_ss = ss.source_set()
2723
+sparc_system_ss.add(files(
2724
'machine.c',
2725
'mmu_helper.c',
2726
'monitor.c',
2727
))
2728
2729
target_arch += {'sparc': sparc_ss}
2730
-target_softmmu_arch += {'sparc': sparc_softmmu_ss}
2731
+target_softmmu_arch += {'sparc': sparc_system_ss}
2732
diff --git a/target/tricore/meson.build b/target/tricore/meson.build
2733
index XXXXXXX..XXXXXXX 100644
2734
--- a/target/tricore/meson.build
2735
+++ b/target/tricore/meson.build
2736
@@ -XXX,XX +XXX,XX @@ tricore_ss.add(files(
2737
))
2738
tricore_ss.add(zlib)
2739
2740
-tricore_softmmu_ss = ss.source_set()
2741
+tricore_system_ss = ss.source_set()
2742
2743
target_arch += {'tricore': tricore_ss}
2744
-target_softmmu_arch += {'tricore': tricore_softmmu_ss}
2745
+target_softmmu_arch += {'tricore': tricore_system_ss}
2746
diff --git a/target/xtensa/meson.build b/target/xtensa/meson.build
2747
index XXXXXXX..XXXXXXX 100644
2748
--- a/target/xtensa/meson.build
2749
+++ b/target/xtensa/meson.build
2750
@@ -XXX,XX +XXX,XX @@ xtensa_ss.add(files(
2751
'xtensa-isa.c',
2752
))
2753
2754
-xtensa_softmmu_ss = ss.source_set()
2755
-xtensa_softmmu_ss.add(files(
2756
+xtensa_system_ss = ss.source_set()
2757
+xtensa_system_ss.add(files(
2758
'dbg_helper.c',
2759
'mmu_helper.c',
2760
'monitor.c',
2761
@@ -XXX,XX +XXX,XX @@ xtensa_softmmu_ss.add(files(
2762
))
2763
2764
target_arch += {'xtensa': xtensa_ss}
2765
-target_softmmu_arch += {'xtensa': xtensa_softmmu_ss}
2766
+target_softmmu_arch += {'xtensa': xtensa_system_ss}
2767
diff --git a/tcg/meson.build b/tcg/meson.build
2768
index XXXXXXX..XXXXXXX 100644
2769
--- a/tcg/meson.build
2770
+++ b/tcg/meson.build
2771
@@ -XXX,XX +XXX,XX @@ libtcg_softmmu = static_library('tcg_softmmu',
2772
2773
tcg_softmmu = declare_dependency(link_with: libtcg_softmmu,
2774
dependencies: tcg_ss.dependencies())
2775
-softmmu_ss.add(tcg_softmmu)
2776
+system_ss.add(tcg_softmmu)
2777
diff --git a/trace/meson.build b/trace/meson.build
2778
index XXXXXXX..XXXXXXX 100644
2779
--- a/trace/meson.build
2780
+++ b/trace/meson.build
2781
@@ -XXX,XX +XXX,XX @@
2782
-softmmu_ss.add(files('trace-hmp-cmds.c'))
2783
+system_ss.add(files('trace-hmp-cmds.c'))
2784
2785
specific_ss.add(files('control-target.c'))
2786
2787
diff --git a/ui/meson.build b/ui/meson.build
2788
index XXXXXXX..XXXXXXX 100644
2789
--- a/ui/meson.build
2790
+++ b/ui/meson.build
2791
@@ -XXX,XX +XXX,XX @@
2792
-softmmu_ss.add(pixman)
2793
+system_ss.add(pixman)
2794
specific_ss.add(when: ['CONFIG_SYSTEM_ONLY'], if_true: pixman) # for the include path
2795
specific_ss.add(when: ['CONFIG_SYSTEM_ONLY'], if_true: opengl) # for the include path
2796
2797
-softmmu_ss.add(png)
2798
-softmmu_ss.add(files(
2799
+system_ss.add(png)
2800
+system_ss.add(files(
2801
'clipboard.c',
2802
'console.c',
2803
'cursor.c',
2804
@@ -XXX,XX +XXX,XX @@ softmmu_ss.add(files(
2805
'util.c',
2806
))
2807
if dbus_display
2808
- softmmu_ss.add(files('dbus-module.c'))
2809
+ system_ss.add(files('dbus-module.c'))
2810
endif
2811
-softmmu_ss.add([spice_headers, files('spice-module.c')])
2812
-softmmu_ss.add(when: spice_protocol, if_true: files('vdagent.c'))
2813
+system_ss.add([spice_headers, files('spice-module.c')])
2814
+system_ss.add(when: spice_protocol, if_true: files('vdagent.c'))
2815
2816
-softmmu_ss.add(when: 'CONFIG_LINUX', if_true: files(
2817
+system_ss.add(when: 'CONFIG_LINUX', if_true: files(
2818
'input-linux.c',
2819
'udmabuf.c',
2820
))
2821
-softmmu_ss.add(when: cocoa, if_true: files('cocoa.m'))
2822
+system_ss.add(when: cocoa, if_true: files('cocoa.m'))
2823
2824
vnc_ss = ss.source_set()
2825
vnc_ss.add(files(
2826
@@ -XXX,XX +XXX,XX @@ vnc_ss.add(files(
2827
))
2828
vnc_ss.add(zlib, jpeg, gnutls)
2829
vnc_ss.add(when: sasl, if_true: files('vnc-auth-sasl.c'))
2830
-softmmu_ss.add_all(when: vnc, if_true: vnc_ss)
2831
-softmmu_ss.add(when: vnc, if_false: files('vnc-stubs.c'))
2832
+system_ss.add_all(when: vnc, if_true: vnc_ss)
2833
+system_ss.add(when: vnc, if_false: files('vnc-stubs.c'))
2834
2835
ui_modules = {}
2836
2837
@@ -XXX,XX +XXX,XX @@ if curses.found()
2838
ui_modules += {'curses' : curses_ss}
2839
endif
2840
2841
-softmmu_ss.add(opengl)
2842
+system_ss.add(opengl)
2843
if opengl.found()
2844
opengl_ss = ss.source_set()
2845
opengl_ss.add(gbm)
2846
@@ -XXX,XX +XXX,XX @@ if dbus_display
2847
endif
2848
2849
if gtk.found()
2850
- softmmu_ss.add(when: 'CONFIG_WIN32', if_true: files('win32-kbd-hook.c'))
2851
+ system_ss.add(when: 'CONFIG_WIN32', if_true: files('win32-kbd-hook.c'))
2852
2853
gtk_ss = ss.source_set()
2854
gtk_ss.add(gtk, vte, pixman, files('gtk.c'))
2855
@@ -XXX,XX +XXX,XX @@ if gtk.found()
2856
endif
2857
2858
if sdl.found()
2859
- softmmu_ss.add(when: 'CONFIG_WIN32', if_true: files('win32-kbd-hook.c'))
2860
+ system_ss.add(when: 'CONFIG_WIN32', if_true: files('win32-kbd-hook.c'))
2861
2862
sdl_ss = ss.source_set()
2863
sdl_ss.add(sdl, sdl_image, pixman, glib, files(
57
--
2864
--
58
2.20.1
2865
2.34.1
59
2866
60
2867
diff view generated by jsdifflib
1
The accel_list and tmp variables are only used when manufacturing
1
From: Philippe Mathieu-Daudé <philmd@linaro.org>
2
-machine accel, options based on -accel.
3
2
4
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
3
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
5
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
4
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
6
Reviewed by: Aleksandar Markovic <amarkovic@wavecomp.com>
5
Message-Id: <20230611085846.21415-2-philmd@linaro.org>
7
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
6
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
8
---
7
---
9
vl.c | 3 ++-
8
plugins/core.c | 1 -
10
1 file changed, 2 insertions(+), 1 deletion(-)
9
1 file changed, 1 deletion(-)
11
10
12
diff --git a/vl.c b/vl.c
11
diff --git a/plugins/core.c b/plugins/core.c
13
index XXXXXXX..XXXXXXX 100644
12
index XXXXXXX..XXXXXXX 100644
14
--- a/vl.c
13
--- a/plugins/core.c
15
+++ b/vl.c
14
+++ b/plugins/core.c
16
@@ -XXX,XX +XXX,XX @@ static int do_configure_accelerator(void *opaque, QemuOpts *opts, Error **errp)
15
@@ -XXX,XX +XXX,XX @@
17
static void configure_accelerators(const char *progname)
16
18
{
17
#include "exec/exec-all.h"
19
const char *accel;
18
#include "exec/tb-flush.h"
20
- char **accel_list, **tmp;
19
-#include "exec/helper-proto.h"
21
bool init_failed = false;
20
#include "tcg/tcg.h"
22
21
#include "tcg/tcg-op.h"
23
qemu_opts_foreach(qemu_find_opts("icount"),
22
#include "plugin.h"
24
@@ -XXX,XX +XXX,XX @@ static void configure_accelerators(const char *progname)
25
26
accel = qemu_opt_get(qemu_get_machine_opts(), "accel");
27
if (QTAILQ_EMPTY(&qemu_accel_opts.head)) {
28
+ char **accel_list, **tmp;
29
+
30
if (accel == NULL) {
31
/* Select the default accelerator */
32
if (!accel_find("tcg") && !accel_find("kvm")) {
33
--
23
--
34
2.20.1
24
2.34.1
35
25
36
26
diff view generated by jsdifflib
1
The result of g_strsplit is never NULL.
1
From: Philippe Mathieu-Daudé <philmd@linaro.org>
2
2
3
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
3
We only need lookup_tb_ptr() prototype.
4
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
4
5
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
5
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
6
Reviewed by: Aleksandar Markovic <amarkovic@wavecomp.com>
6
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
7
Message-Id: <20230611085846.21415-3-philmd@linaro.org>
7
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
8
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
8
---
9
---
9
vl.c | 2 +-
10
accel/tcg/cpu-exec.c | 2 +-
10
1 file changed, 1 insertion(+), 1 deletion(-)
11
1 file changed, 1 insertion(+), 1 deletion(-)
11
12
12
diff --git a/vl.c b/vl.c
13
diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c
13
index XXXXXXX..XXXXXXX 100644
14
index XXXXXXX..XXXXXXX 100644
14
--- a/vl.c
15
--- a/accel/tcg/cpu-exec.c
15
+++ b/vl.c
16
+++ b/accel/tcg/cpu-exec.c
16
@@ -XXX,XX +XXX,XX @@ static void configure_accelerators(const char *progname)
17
@@ -XXX,XX +XXX,XX @@
17
18
#include "sysemu/cpu-timers.h"
18
accel_list = g_strsplit(accel, ":", 0);
19
#include "exec/replay-core.h"
19
20
#include "sysemu/tcg.h"
20
- for (tmp = accel_list; tmp && *tmp; tmp++) {
21
-#include "exec/helper-proto.h"
21
+ for (tmp = accel_list; *tmp; tmp++) {
22
+#include "exec/helper-proto-common.h"
22
/*
23
#include "tb-jmp-cache.h"
23
* Filter invalid accelerators here, to prevent obscenities
24
#include "tb-hash.h"
24
* such as "-machine accel=tcg,,thread=single".
25
#include "tb-context.h"
25
--
26
--
26
2.20.1
27
2.34.1
27
28
28
29
diff view generated by jsdifflib
1
The accel_initialised variable no longer has any setters.
1
From: Philippe Mathieu-Daudé <philmd@linaro.org>
2
2
3
Fixes: 6f6e1698a68c
3
We want to check the softmmu tlb availability, not
4
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
4
if we are targetting system emulation. Besides, this
5
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
5
code could be used by user emulation in the future.
6
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
6
7
Reviewed by: Aleksandar Markovic <amarkovic@wavecomp.com>
7
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
8
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
9
Message-Id: <20230605230216.17202-1-philmd@linaro.org>
8
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
10
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
9
---
11
---
10
vl.c | 3 +--
12
include/exec/cpu-defs.h | 12 ++++++------
11
1 file changed, 1 insertion(+), 2 deletions(-)
13
1 file changed, 6 insertions(+), 6 deletions(-)
12
14
13
diff --git a/vl.c b/vl.c
15
diff --git a/include/exec/cpu-defs.h b/include/exec/cpu-defs.h
14
index XXXXXXX..XXXXXXX 100644
16
index XXXXXXX..XXXXXXX 100644
15
--- a/vl.c
17
--- a/include/exec/cpu-defs.h
16
+++ b/vl.c
18
+++ b/include/exec/cpu-defs.h
17
@@ -XXX,XX +XXX,XX @@ static void configure_accelerators(const char *progname)
19
@@ -XXX,XX +XXX,XX @@
18
{
20
*/
19
const char *accel;
21
#define NB_MMU_MODES 16
20
char **accel_list, **tmp;
22
21
- bool accel_initialised = false;
23
-#if !defined(CONFIG_USER_ONLY) && defined(CONFIG_TCG)
22
bool init_failed = false;
24
+#if defined(CONFIG_SOFTMMU) && defined(CONFIG_TCG)
23
25
#include "exec/tlb-common.h"
24
qemu_opts_foreach(qemu_find_opts("icount"),
26
25
@@ -XXX,XX +XXX,XX @@ static void configure_accelerators(const char *progname)
27
/* use a fully associative victim tlb of 8 entries */
26
28
@@ -XXX,XX +XXX,XX @@
27
accel_list = g_strsplit(accel, ":", 0);
29
# endif
28
30
# endif
29
- for (tmp = accel_list; !accel_initialised && tmp && *tmp; tmp++) {
31
30
+ for (tmp = accel_list; tmp && *tmp; tmp++) {
32
-#endif /* !CONFIG_USER_ONLY && CONFIG_TCG */
31
/*
33
+#endif /* CONFIG_SOFTMMU && CONFIG_TCG */
32
* Filter invalid accelerators here, to prevent obscenities
34
33
* such as "-machine accel=tcg,,thread=single".
35
-#if !defined(CONFIG_USER_ONLY)
36
+#if defined(CONFIG_SOFTMMU)
37
/*
38
* The full TLB entry, which is not accessed by generated TCG code,
39
* so the layout is not as critical as that of CPUTLBEntry. This is
40
@@ -XXX,XX +XXX,XX @@ typedef struct CPUTLBEntryFull {
41
TARGET_PAGE_ENTRY_EXTRA
42
#endif
43
} CPUTLBEntryFull;
44
-#endif /* !CONFIG_USER_ONLY */
45
+#endif /* CONFIG_SOFTMMU */
46
47
-#if !defined(CONFIG_USER_ONLY) && defined(CONFIG_TCG)
48
+#if defined(CONFIG_SOFTMMU) && defined(CONFIG_TCG)
49
/*
50
* Data elements that are per MMU mode, minus the bits accessed by
51
* the TCG fast path.
52
@@ -XXX,XX +XXX,XX @@ typedef struct CPUTLB {
53
54
typedef struct CPUTLB { } CPUTLB;
55
56
-#endif /* !CONFIG_USER_ONLY && CONFIG_TCG */
57
+#endif /* CONFIG_SOFTMMU && CONFIG_TCG */
58
59
/*
60
* This structure must be placed in ArchCPU immediately
34
--
61
--
35
2.20.1
62
2.34.1
36
63
37
64
diff view generated by jsdifflib
1
From: Carlos Santos <casantos@redhat.com>
1
From: Philippe Mathieu-Daudé <philmd@linaro.org>
2
2
3
uClibc defines _SC_LEVEL1_ICACHE_LINESIZE and _SC_LEVEL1_DCACHE_LINESIZE
3
Commit 2f3a57ee47 ("cputlb: ensure we save the IOTLB data in
4
but the corresponding sysconf calls returns -1, which is a valid result,
4
case of reset") added the SavedIOTLB structure -- which is
5
meaning that the limit is indeterminate.
5
system emulation specific -- in the generic CPUState structure.
6
6
7
Handle this situation using the fallback values instead of crashing due
7
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
8
to an assertion failure.
8
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
9
9
Message-Id: <20221216215519.5522-3-philmd@linaro.org>
10
Signed-off-by: Carlos Santos <casantos@redhat.com>
11
Message-Id: <20191017123713.30192-1-casantos@redhat.com>
12
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
10
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
13
---
11
---
14
util/cacheinfo.c | 10 ++++++++--
12
include/hw/core/cpu.h | 6 ++++--
15
1 file changed, 8 insertions(+), 2 deletions(-)
13
1 file changed, 4 insertions(+), 2 deletions(-)
16
14
17
diff --git a/util/cacheinfo.c b/util/cacheinfo.c
15
diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
18
index XXXXXXX..XXXXXXX 100644
16
index XXXXXXX..XXXXXXX 100644
19
--- a/util/cacheinfo.c
17
--- a/include/hw/core/cpu.h
20
+++ b/util/cacheinfo.c
18
+++ b/include/hw/core/cpu.h
21
@@ -XXX,XX +XXX,XX @@ static void sys_cache_info(int *isize, int *dsize)
19
@@ -XXX,XX +XXX,XX @@ struct CPUWatchpoint {
22
static void sys_cache_info(int *isize, int *dsize)
20
QTAILQ_ENTRY(CPUWatchpoint) entry;
23
{
21
};
24
# ifdef _SC_LEVEL1_ICACHE_LINESIZE
22
25
- *isize = sysconf(_SC_LEVEL1_ICACHE_LINESIZE);
23
-#ifdef CONFIG_PLUGIN
26
+ int tmp_isize = (int) sysconf(_SC_LEVEL1_ICACHE_LINESIZE);
24
+#if defined(CONFIG_PLUGIN) && !defined(CONFIG_USER_ONLY)
27
+ if (tmp_isize > 0) {
25
/*
28
+ *isize = tmp_isize;
26
* For plugins we sometime need to save the resolved iotlb data before
29
+ }
27
* the memory regions get moved around by io_writex.
30
# endif
28
@@ -XXX,XX +XXX,XX @@ struct CPUState {
31
# ifdef _SC_LEVEL1_DCACHE_LINESIZE
29
32
- *dsize = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
30
#ifdef CONFIG_PLUGIN
33
+ int tmp_dsize = (int) sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
31
GArray *plugin_mem_cbs;
34
+ if (tmp_dsize > 0) {
32
+#if !defined(CONFIG_USER_ONLY)
35
+ *dsize = tmp_dsize;
33
/* saved iotlb data from io_writex */
36
+ }
34
SavedIOTLB saved_iotlb;
37
# endif
35
-#endif
38
}
36
+#endif /* !CONFIG_USER_ONLY */
39
#endif /* sys_cache_info */
37
+#endif /* CONFIG_PLUGIN */
38
39
/* TODO Move common fields from CPUArchState here. */
40
int cpu_index;
40
--
41
--
41
2.20.1
42
2.34.1
42
43
43
44
diff view generated by jsdifflib