1
The following changes since commit fc3dbb90f2eb069801bfb4cfe9cbc83cf9c5f4a9:
1
v2: Fix target/loongarch printf formats for vaddr
2
Include two more reviewed patches.
2
3
3
Merge remote-tracking branch 'remotes/jnsnow/tags/bitmaps-pull-request' into staging (2019-02-21 13:09:33 +0000)
4
This time with actual pull urls. :-/
5
6
r~
7
8
9
The following changes since commit db7aa99ef894e88fc5eedf02ca2579b8c344b2ec:
10
11
Merge tag 'hw-misc-20250216' of https://github.com/philmd/qemu into staging (2025-02-16 20:48:06 -0500)
4
12
5
are available in the Git repository at:
13
are available in the Git repository at:
6
14
7
https://github.com/rth7680/qemu.git tags/pull-tcg-20190221
15
https://gitlab.com/rth7680/qemu.git tags/pull-tcg-20250215-2
8
16
9
for you to fetch changes up to 8c6edfdd90522caa4fc429144d393aba5b99f584:
17
for you to fetch changes up to a39bdd0f4ba96fcbb6b5bcb6e89591d2b24f52eb:
10
18
11
include/exec/helper-head.h: support "const void *" in helper calls (2019-02-21 10:22:24 -0800)
19
tcg: Remove TCG_TARGET_HAS_{br,set}cond2 from riscv and loongarch64 (2025-02-17 09:52:07 -0800)
12
20
13
----------------------------------------------------------------
21
----------------------------------------------------------------
14
Allow const void * as argument to helpers.
22
tcg: Remove last traces of TCG_TARGET_NEED_POOL_LABELS
15
Remove obsolete TODO file.
23
tcg: Cleanups after disallowing 64-on-32
24
tcg: Introduce constraint for zero register
25
tcg: Remove TCG_TARGET_HAS_{br,set}cond2 from riscv and loongarch64
26
tcg/i386: Use tcg_{high,unsigned}_cond in tcg_out_brcond2
27
linux-user: Move TARGET_SA_RESTORER out of generic/signal.h
28
linux-user: Fix alignment when unmapping excess reservation
29
target/sparc: Fix register selection for all F*TOx and FxTO* instructions
30
target/sparc: Fix gdbstub incorrectly handling registers f32-f62
31
target/sparc: fake UltraSPARC T1 PCR and PIC registers
16
32
17
----------------------------------------------------------------
33
----------------------------------------------------------------
18
David Hildenbrand (1):
34
Andreas Schwab (1):
19
include/exec/helper-head.h: support "const void *" in helper calls
35
linux-user: Move TARGET_SA_RESTORER out of generic/signal.h
20
36
21
Richard Henderson (1):
37
Artyom Tarasenko (1):
22
tcg: Remove TODO file
38
target/sparc: fake UltraSPARC T1 PCR and PIC registers
23
39
24
include/exec/helper-head.h | 5 +++++
40
Fabiano Rosas (1):
25
tcg/TODO | 14 --------------
41
elfload: Fix alignment when unmapping excess reservation
26
2 files changed, 5 insertions(+), 14 deletions(-)
27
delete mode 100644 tcg/TODO
28
42
43
Mikael Szreder (2):
44
target/sparc: Fix register selection for all F*TOx and FxTO* instructions
45
target/sparc: Fix gdbstub incorrectly handling registers f32-f62
46
47
Richard Henderson (22):
48
tcg: Remove last traces of TCG_TARGET_NEED_POOL_LABELS
49
tcg: Remove TCG_OVERSIZED_GUEST
50
tcg: Drop support for two address registers in gen_ldst
51
tcg: Merge INDEX_op_qemu_*_{a32,a64}_*
52
tcg/arm: Drop addrhi from prepare_host_addr
53
tcg/i386: Drop addrhi from prepare_host_addr
54
tcg/mips: Drop addrhi from prepare_host_addr
55
tcg/ppc: Drop addrhi from prepare_host_addr
56
tcg: Replace addr{lo,hi}_reg with addr_reg in TCGLabelQemuLdst
57
plugins: Fix qemu_plugin_read_memory_vaddr parameters
58
accel/tcg: Fix tlb_set_page_with_attrs, tlb_set_page
59
target/loongarch: Use VADDR_PRIx for logging pc_next
60
include/exec: Change vaddr to uintptr_t
61
include/exec: Use uintptr_t in CPUTLBEntry
62
tcg: Introduce the 'z' constraint for a hardware zero register
63
tcg/aarch64: Use 'z' constraint
64
tcg/loongarch64: Use 'z' constraint
65
tcg/mips: Use 'z' constraint
66
tcg/riscv: Use 'z' constraint
67
tcg/sparc64: Use 'z' constraint
68
tcg/i386: Use tcg_{high,unsigned}_cond in tcg_out_brcond2
69
tcg: Remove TCG_TARGET_HAS_{br,set}cond2 from riscv and loongarch64
70
71
include/exec/tlb-common.h | 10 +-
72
include/exec/vaddr.h | 16 +-
73
include/qemu/atomic.h | 18 +-
74
include/tcg/oversized-guest.h | 23 ---
75
include/tcg/tcg-opc.h | 28 +--
76
include/tcg/tcg.h | 3 +-
77
linux-user/aarch64/target_signal.h | 2 +
78
linux-user/arm/target_signal.h | 2 +
79
linux-user/generic/signal.h | 1 -
80
linux-user/i386/target_signal.h | 2 +
81
linux-user/m68k/target_signal.h | 1 +
82
linux-user/microblaze/target_signal.h | 2 +
83
linux-user/ppc/target_signal.h | 2 +
84
linux-user/s390x/target_signal.h | 2 +
85
linux-user/sh4/target_signal.h | 2 +
86
linux-user/x86_64/target_signal.h | 2 +
87
linux-user/xtensa/target_signal.h | 2 +
88
tcg/aarch64/tcg-target-con-set.h | 12 +-
89
tcg/aarch64/tcg-target.h | 2 +
90
tcg/loongarch64/tcg-target-con-set.h | 15 +-
91
tcg/loongarch64/tcg-target-con-str.h | 1 -
92
tcg/loongarch64/tcg-target-has.h | 2 -
93
tcg/loongarch64/tcg-target.h | 2 +
94
tcg/mips/tcg-target-con-set.h | 26 +--
95
tcg/mips/tcg-target-con-str.h | 1 -
96
tcg/mips/tcg-target.h | 2 +
97
tcg/riscv/tcg-target-con-set.h | 10 +-
98
tcg/riscv/tcg-target-con-str.h | 1 -
99
tcg/riscv/tcg-target-has.h | 2 -
100
tcg/riscv/tcg-target.h | 2 +
101
tcg/sparc64/tcg-target-con-set.h | 12 +-
102
tcg/sparc64/tcg-target-con-str.h | 1 -
103
tcg/sparc64/tcg-target.h | 3 +-
104
tcg/tci/tcg-target.h | 1 -
105
accel/tcg/cputlb.c | 32 +---
106
accel/tcg/tcg-all.c | 9 +-
107
linux-user/elfload.c | 4 +-
108
plugins/api.c | 2 +-
109
target/arm/ptw.c | 34 ----
110
target/loongarch/tcg/translate.c | 2 +-
111
target/riscv/cpu_helper.c | 13 +-
112
target/sparc/gdbstub.c | 18 +-
113
target/sparc/translate.c | 19 +++
114
tcg/optimize.c | 21 +--
115
tcg/tcg-op-ldst.c | 103 +++--------
116
tcg/tcg.c | 97 +++++------
117
tcg/tci.c | 119 +++----------
118
docs/devel/multi-thread-tcg.rst | 1 -
119
docs/devel/tcg-ops.rst | 4 +-
120
target/loongarch/tcg/insn_trans/trans_atomic.c.inc | 2 +-
121
target/sparc/insns.decode | 19 ++-
122
tcg/aarch64/tcg-target.c.inc | 86 ++++------
123
tcg/arm/tcg-target.c.inc | 114 ++++---------
124
tcg/i386/tcg-target.c.inc | 190 +++++----------------
125
tcg/loongarch64/tcg-target.c.inc | 72 +++-----
126
tcg/mips/tcg-target.c.inc | 169 ++++++------------
127
tcg/ppc/tcg-target.c.inc | 164 +++++-------------
128
tcg/riscv/tcg-target.c.inc | 56 +++---
129
tcg/s390x/tcg-target.c.inc | 40 ++---
130
tcg/sparc64/tcg-target.c.inc | 45 ++---
131
tcg/tci/tcg-target.c.inc | 60 ++-----
132
61 files changed, 548 insertions(+), 1160 deletions(-)
133
delete mode 100644 include/tcg/oversized-guest.h
diff view generated by jsdifflib
Deleted patch
1
The last update to this file was 9 years ago. In the meantime,
2
4 of the 6 ideas have actually been completed. The lat two do
3
not actually make sense anymore.
4
1
5
Suggested-by: Thomas Huth <thuth@redhat.com>
6
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
7
---
8
tcg/TODO | 14 --------------
9
1 file changed, 14 deletions(-)
10
delete mode 100644 tcg/TODO
11
12
diff --git a/tcg/TODO b/tcg/TODO
13
deleted file mode 100644
14
index XXXXXXX..XXXXXXX
15
--- a/tcg/TODO
16
+++ /dev/null
17
@@ -XXX,XX +XXX,XX @@
18
-- Add new instructions such as: clz, ctz, popcnt.
19
-
20
-- See if it is worth exporting mul2, mulu2, div2, divu2.
21
-
22
-- Support of globals saved in fixed registers between TBs.
23
-
24
-Ideas:
25
-
26
-- Move the slow part of the qemu_ld/st ops after the end of the TB.
27
-
28
-- Change exception syntax to get closer to QOP system (exception
29
- parameters given with a specific instruction).
30
-
31
-- Add float and vector support.
32
--
33
2.17.2
34
35
diff view generated by jsdifflib
Deleted patch
1
From: David Hildenbrand <david@redhat.com>
2
1
3
Especially when dealing with out-of-line gvec helpers, it is often
4
helpful to specify some vector pointers as constant. E.g. when
5
we have two inputs and one output, marking the two inputs as consts
6
pointers helps to avoid bugs.
7
8
Const pointers can be specified via "cptr", however behave in TCG just
9
like ordinary pointers. We can specify helpers like:
10
11
DEF_HELPER_FLAGS_4(gvec_vbperm, TCG_CALL_NO_RWG, void, ptr, cptr, cptr, i32)
12
13
void HELPER(gvec_vbperm)(void *v1, const void *v2, const void *v3,
14
uint32_t desc)
15
16
And make sure that here, only v1 will be written (as long as const is
17
not casted away, of course).
18
19
Signed-off-by: David Hildenbrand <david@redhat.com>
20
Message-Id: <20190221093459.22547-1-david@redhat.com>
21
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
22
---
23
include/exec/helper-head.h | 5 +++++
24
1 file changed, 5 insertions(+)
25
26
diff --git a/include/exec/helper-head.h b/include/exec/helper-head.h
27
index XXXXXXX..XXXXXXX 100644
28
--- a/include/exec/helper-head.h
29
+++ b/include/exec/helper-head.h
30
@@ -XXX,XX +XXX,XX @@
31
#define dh_alias_f32 i32
32
#define dh_alias_f64 i64
33
#define dh_alias_ptr ptr
34
+#define dh_alias_cptr ptr
35
#define dh_alias_void void
36
#define dh_alias_noreturn noreturn
37
#define dh_alias(t) glue(dh_alias_, t)
38
@@ -XXX,XX +XXX,XX @@
39
#define dh_ctype_f32 float32
40
#define dh_ctype_f64 float64
41
#define dh_ctype_ptr void *
42
+#define dh_ctype_cptr const void *
43
#define dh_ctype_void void
44
#define dh_ctype_noreturn void QEMU_NORETURN
45
#define dh_ctype(t) dh_ctype_##t
46
@@ -XXX,XX +XXX,XX @@
47
#define dh_is_64bit_i32 0
48
#define dh_is_64bit_i64 1
49
#define dh_is_64bit_ptr (sizeof(void *) == 8)
50
+#define dh_is_64bit_cptr dh_is_64bit_ptr
51
#define dh_is_64bit(t) glue(dh_is_64bit_, dh_alias(t))
52
53
#define dh_is_signed_void 0
54
@@ -XXX,XX +XXX,XX @@
55
extension instructions that may be required, e.g. ia64's addp4. But
56
for now we don't support any 64-bit targets with 32-bit pointers. */
57
#define dh_is_signed_ptr 0
58
+#define dh_is_signed_cptr dh_is_signed_ptr
59
#define dh_is_signed_env dh_is_signed_ptr
60
#define dh_is_signed(t) dh_is_signed_##t
61
62
@@ -XXX,XX +XXX,XX @@
63
#define dh_callflag_f32 0
64
#define dh_callflag_f64 0
65
#define dh_callflag_ptr 0
66
+#define dh_callflag_cptr dh_callflag_ptr
67
#define dh_callflag_void 0
68
#define dh_callflag_noreturn TCG_CALL_NO_RETURN
69
#define dh_callflag(t) glue(dh_callflag_, dh_alias(t))
70
--
71
2.17.2
72
73
diff view generated by jsdifflib