On 13/10/2023 15:11, Philippe Mathieu-Daudé wrote:
Hi,
This series add support for (async) FIFO on the transmit path
of the PL011 UART.
Since v2:
- Added R-b tags
- Addressed Richard comments on migration
Since v1:
- Restrict pl011_ops[] impl access_size,
- Do not check transmitter is enabled
Kevin Wolf writes:
> Am 22.09.2023 um 17:05 hat Markus Armbruster geschrieben:
>> Kevin Wolf writes:
>>
>> > Until now, array properties are actually implemented with a hack that
>> > uses multiple properties on the QOM level: a static "foo-len" property
>> > and after it is set, dynamically cr
On 13/10/2023 22:27, Richard Henderson wrote:
While doing some other testing the other day, I noticed my sparc64
chroot running particularly slowly. I think I know what the problem
is there, but fixing that was going to be particularly ugly with the
existing sparc translator.
So I've converted
In preparation for a change to use GDBFeature as a parameter of
gdb_register_coprocessor(), convert the internal representation of
dynamic feature from plain XML to GDBFeature.
Signed-off-by: Akihiko Odaki
Acked-by: Richard Henderson
---
target/arm/cpu.h | 21 +++
target/arm/internal
Align the parameters of gdb_get_reg_cb and gdb_set_reg_cb with the
gdb_read_register and gdb_write_register members of CPUClass to allow
to unify the logic to access registers of the core and coprocessors
in the future.
Signed-off-by: Akihiko Odaki
---
include/exec/gdbstub.h | 4 +-
target
Simplify GDBRegisterState by replacing num_regs and xml members with
one member that points to GDBFeature.
Signed-off-by: Akihiko Odaki
Reviewed-by: Alex Bennée
---
gdbstub/gdbstub.c | 14 ++
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/gdbstub/gdbstub.c b/gdbstub/g
The initialization and exit hooks will not affect the state of vCPU
outside TCG context, but they may depend on the state of vCPU.
Therefore, it's better to call plugin hooks after the vCPU state is
fully initialized and before it gets uninitialized.
Signed-off-by: Akihiko Odaki
---
cpu-target.c
This avoids optimizations incompatible when reading registers.
Signed-off-by: Akihiko Odaki
---
accel/tcg/plugin-helpers.h | 3 ++-
include/exec/plugin-gen.h | 4 ++--
include/hw/core/cpu.h | 4 ++--
include/qemu/plugin.h | 3 +++
plugins/plugin.h | 5 +++--
accel/tcg/p
These members will be used to help plugins to identify registers.
The added members in instances of GDBFeature dynamically generated by
CPUs will be filled in later changes.
Signed-off-by: Akihiko Odaki
---
include/exec/gdbstub.h | 3 +++
gdbstub/gdbstub.c | 10 --
target/riscv/g
It is based on GDB protocol to ensure interface stability.
The timing of the vcpu init hook is also changed so that the hook will
get called after GDB features are initialized.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1706
Signed-off-by: Akihiko Odaki
---
include/qemu/qemu-plugin
Now we know all instances of GDBFeature that is used in CPU so we can
traverse them to find XML. This removes the need for a CPU-specific
lookup function for dynamic XMLs.
Signed-off-by: Akihiko Odaki
---
include/exec/gdbstub.h | 2 +
gdbstub/gdbstub.c | 85 +++-
This function is no longer used.
Signed-off-by: Akihiko Odaki
---
include/hw/core/cpu.h | 4
target/arm/cpu.h | 6 --
target/ppc/cpu.h | 1 -
target/arm/cpu.c | 1 -
target/arm/gdbstub.c | 18 --
target/ppc/cpu_init.c | 3 ---
target/ppc/gdbstub.c |
This is a tree-wide change to introduce GDBFeature parameter to
gdb_register_coprocessor(). The new parameter just replaces num_regs
and xml parameters for now. GDBFeature will be utilized to simplify XML
lookup in a following change.
Signed-off-by: Akihiko Odaki
Acked-by: Alex Bennée
---
inclu
This demonstrates how a register can be read from a plugin.
Signed-off-by: Akihiko Odaki
---
docs/devel/tcg-plugins.rst | 10 +++-
contrib/plugins/execlog.c | 120 +++--
2 files changed, 97 insertions(+), 33 deletions(-)
diff --git a/docs/devel/tcg-plugins.rst
gdb_find_feature() and gdb_find_feature_register() find registers.
gdb_read_register() actually reads registers.
Signed-off-by: Akihiko Odaki
---
include/exec/gdbstub.h | 5 +
gdbstub/gdbstub.c | 31 ++-
2 files changed, 35 insertions(+), 1 deletion(-)
diff
In preparation for a change to use GDBFeature as a parameter of
gdb_register_coprocessor(), convert the internal representation of
dynamic feature from plain XML to GDBFeature.
Signed-off-by: Akihiko Odaki
Reviewed-by: Richard Henderson
---
target/ppc/cpu-qom.h | 4 ++--
target/ppc/cpu.h
This function is useful to determine the number of registers exposed to
GDB from the XML name.
Signed-off-by: Akihiko Odaki
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Alex Bennée
Reviewed-by: Richard Henderson
---
include/exec/gdbstub.h | 2 ++
gdbstub/gdbstub.c | 13 +
GDBFeature has the num_regs member so use it where applicable to
remove magic numbers.
Signed-off-by: Akihiko Odaki
---
include/hw/core/cpu.h | 3 ++-
target/s390x/cpu.h | 2 --
gdbstub/gdbstub.c | 5 -
target/arm/cpu.c| 1 -
target/arm/cpu64.c | 1 -
target/avr/cpu
In preparation for a change to use GDBFeature as a parameter of
gdb_register_coprocessor(), convert the internal representation of
dynamic feature from plain XML to GDBFeature.
Signed-off-by: Akihiko Odaki
---
target/riscv/cpu.h | 5 +--
target/riscv/cpu.c | 4 +--
target/riscv/gdbstub
Currently the number of registers exposed to GDB is written as magic
numbers in code. Derive the number of registers GDB actually see from
XML files to replace the magic numbers in code later.
Signed-off-by: Akihiko Odaki
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Alex Bennée
---
include
GDBFeatureBuilder unifies the logic to generate dynamic GDBFeature.
Signed-off-by: Akihiko Odaki
Reviewed-by: Richard Henderson
---
include/exec/gdbstub.h | 20 ++
gdbstub/gdbstub.c | 59 ++
2 files changed, 79 insertions(+)
diff --git a
Based-on: <20231014033545.15220-1-akihiko.od...@daynix.com>
("[PATCH v2 0/3] gdbstub and TCG plugin improvements")
I and other people in the University of Tokyo, where I research processor
design, found TCG plugins are very useful for processor design exploration.
The feature we find missing is t
This series extracts fixes and refactorings that can be applied
independently from "[PATCH v9 00/23] plugins: Allow to read registers".
The patch "target/riscv: Move MISA limits to class" was replaced with
patch "target/riscv: Move misa_mxl_max to class" since I found instances
may have different
gdb_core_xml_file was assigned each time a CPU is instantiated before
this change.
Signed-off-by: Akihiko Odaki
---
target/riscv/cpu.c | 5 +
target/riscv/tcg/tcg-cpu.c | 4
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
in
copy_call() has an unused parameter so remove it.
Signed-off-by: Akihiko Odaki
---
accel/tcg/plugin-gen.c | 9 +++--
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/accel/tcg/plugin-gen.c b/accel/tcg/plugin-gen.c
index 39b3c9351f..78b331b251 100644
--- a/accel/tcg/plugin-gen.c
TARGET_RISCV64 does not have riscv-32bit-cpu.xml so it shouldn't accept
MXL_RV32.
Signed-off-by: Akihiko Odaki
---
target/riscv/tcg/tcg-cpu.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c
index a28918ab30..e0cbc56320
On Fri, Oct 13, 2023 at 3:50 AM Emmanouil Pitsidianakis
wrote:
>
> In preparation of raising -Wimplicit-fallthrough to 5, replace all
> fall-through comments with the fallthrough attribute pseudo-keyword.
>
> Signed-off-by: Emmanouil Pitsidianakis
> ---
> hw/ide/atapi.c | 1 +
> 1 file changed,
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 4
target/sparc/translate.c | 35 +--
2 files changed, 29 insertions(+), 10 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index d8ebebce53..b7b60f9919 100644
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 3 +
target/sparc/translate.c | 138 +-
2 files changed, 48 insertions(+), 93 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index f749e23ae6..8f953a6af6 10064
As an intermediate step in decodetree conversion, create
new functions passing in DisasASI and not insn.
Signed-off-by: Richard Henderson
---
target/sparc/translate.c | 215 ++-
1 file changed, 123 insertions(+), 92 deletions(-)
diff --git a/target/sparc/tran
Take the operation size from the MemOp instead of a
separate parameter.
Signed-off-by: Richard Henderson
---
target/sparc/translate.c | 136 ++-
1 file changed, 78 insertions(+), 58 deletions(-)
diff --git a/target/sparc/translate.c b/target/sparc/translate.c
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 22 ++-
target/sparc/translate.c | 272 --
2 files changed, 134 insertions(+), 160 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 185bcadab7..b4bbdd43ec 1
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 2 ++
target/sparc/translate.c | 49 +--
2 files changed, 29 insertions(+), 22 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index f38ea9b343..f30f2bc800 10064
Move FANDNOT1s, FANDNOT2s, FANDs, FNANDs, FNORs, FORNOT1s, FORNOT2s,
FORs, FPADD16s, FPADD32s, FPSUB16s, FPSUB32s, FXNORs, FXORs.
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 16 ++
target/sparc/translate.c | 116 ++
2 files changed,
Define as false, which allows some ifdef removal.
Signed-off-by: Richard Henderson
---
target/sparc/translate.c | 21 +
1 file changed, 9 insertions(+), 12 deletions(-)
diff --git a/target/sparc/translate.c b/target/sparc/translate.c
index 59e5289693..da6503e101 100644
--- a
Replace the local helpers for the same integer operations.
Signed-off-by: Richard Henderson
---
target/sparc/helper.h | 12
target/sparc/translate.c | 15 +-
target/sparc/vis_helper.c | 59 ---
3 files changed, 7 insertions(+), 79 deletio
Remove gen_ldstub_asi.
Rename gen_ldstub_asi0 to gen_ldstub_asi.
Merge gen_ldstub into gen_ldstub_asi.
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 4
target/sparc/translate.c | 46 +++
2 files changed, 26 insertions(+), 24 deletions
Move FADDs, FSUBs, FMULs, FDIVs.
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 4 +++
target/sparc/translate.c | 54 +++
2 files changed, 31 insertions(+), 27 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
Mark some of the functions as unused, temporarily.
Fix up some tl vs i64 issues revealed in the process.
Signed-off-by: Richard Henderson
---
target/sparc/translate.c | 187 +++
1 file changed, 70 insertions(+), 117 deletions(-)
diff --git a/target/sparc/tran
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 2 ++
target/sparc/translate.c | 55 ---
2 files changed, 42 insertions(+), 15 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 9333c8ba3b..14daaa4a92 10064
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 4 +++
target/sparc/translate.c | 54 ---
2 files changed, 37 insertions(+), 21 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index b4bbdd43ec..e8d49de888 1006
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 7
target/sparc/translate.c | 73 +--
2 files changed, 38 insertions(+), 42 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 2072930bd7..362aa00300 100
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 8 ++--
target/sparc/translate.c | 14 ++
2 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 1a641248ce..c032b81c16 100644
--- a/target/sparc
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 2 ++
target/sparc/translate.c | 44 +--
2 files changed, 26 insertions(+), 20 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index f30f2bc800..f0a6abb170 10064
Combine the helper to a single set_fsr().
Perform the mask and merge inline.
Signed-off-by: Richard Henderson
---
target/sparc/helper.h | 3 +--
target/sparc/fop_helper.c | 17 ++--
target/sparc/translate.c | 42 ---
3 files changed, 16 inser
Move LDUW, LDUB, LDUH, LDD, LDSW, LDSB, LDSH, LDX,
STW, STB, STH, STD, STX.
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 22 +
target/sparc/translate.c | 196 +++---
2 files changed, 142 insertions(+), 76 deletions(-)
diff --git a/target
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 3 +++
target/sparc/translate.c | 56 ++-
2 files changed, 34 insertions(+), 25 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index e8d49de888..f6ac8672c8 1006
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 7 ++
target/sparc/translate.c | 145 +++---
2 files changed, 96 insertions(+), 56 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 5e8d456ab2..c5d6f46737 1006
Move FPACK32, FALIGNDATA, BSHUFFLE.
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 3 ++
target/sparc/translate.c | 101 --
2 files changed, 55 insertions(+), 49 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.dec
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 1 +
target/sparc/translate.c | 6 +-
2 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 87108da5da..d907a4a69f 100644
--- a/target/sparc/insns.decode
+++
Signed-off-by: Richard Henderson
---
target/sparc/translate.c | 25 +
1 file changed, 21 insertions(+), 4 deletions(-)
diff --git a/target/sparc/translate.c b/target/sparc/translate.c
index e652bdcac2..42a26671f1 100644
--- a/target/sparc/translate.c
+++ b/target/sparc/tr
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 5 +++
target/sparc/translate.c | 69 +++
2 files changed, 45 insertions(+), 29 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 14daaa4a92..0c3d6071ff 1006
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 9
target/sparc/translate.c | 94 +--
2 files changed, 50 insertions(+), 53 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index c5d6f46737..9333c8ba3b 100
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 19
target/sparc/translate.c | 194 ++
2 files changed, 113 insertions(+), 100 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index c032b81c16..00ddc7a93b
Remove gen_cas_asi, gen_casx_asi.
Rename gen_cas_asi0 to gen_cas_asi.
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 7
target/sparc/translate.c | 71 +++
2 files changed, 35 insertions(+), 43 deletions(-)
diff --git a/target/sparc/in
Always use TSO, per the Oracle 2015 manual.
This is slightly less restrictive than the TCG_MO_ALL default,
and happens to match the i386 model, which will eliminate a few
extra barriers on that host.
Signed-off-by: Richard Henderson
---
target/sparc/cpu.h | 23 +++
1 file cha
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 2 ++
target/sparc/translate.c | 22 +-
2 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index f6ac8672c8..1418e45172 100644
--- a/target/spa
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 12 +++
target/sparc/translate.c | 189 +++---
2 files changed, 88 insertions(+), 113 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 8f953a6af6..5e8d456ab2 10
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 51 ++--
target/sparc/translate.c | 169 --
2 files changed, 79 insertions(+), 141 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 00ddc7a93b..b354
All instructions are now converted.
Signed-off-by: Richard Henderson
---
target/sparc/translate.c | 145 +--
1 file changed, 1 insertion(+), 144 deletions(-)
diff --git a/target/sparc/translate.c b/target/sparc/translate.c
index ffdd600353..b7f98c7e18 100644
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 2 ++
target/sparc/translate.c | 48 +--
2 files changed, 28 insertions(+), 22 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 4368ac25a9..f38ea9b343 10064
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 1 +
target/sparc/translate.c | 54 +--
2 files changed, 8 insertions(+), 47 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 1f6dfa210f..7ec1518b54 100644
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 1 +
target/sparc/translate.c | 41 +--
2 files changed, 23 insertions(+), 19 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 576349a719..12db108a31 100644
Perform one atomic 16-byte operation.
The atomicity is required for the LDTXA instructions.
Signed-off-by: Richard Henderson
---
target/sparc/translate.c | 48 +---
1 file changed, 40 insertions(+), 8 deletions(-)
diff --git a/target/sparc/translate.c b/targe
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 1 +
target/sparc/translate.c | 39 +++
2 files changed, 24 insertions(+), 16 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index d3badc6db3..31d84f0cb3 100644
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 2 ++
target/sparc/translate.c | 47 ++-
2 files changed, 28 insertions(+), 21 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index f0a6abb170..f749e23ae6 10064
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 1 +
target/sparc/translate.c | 43 +--
2 files changed, 24 insertions(+), 20 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 036e2b01d4..a52fac9352 100644
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 14 +++
target/sparc/translate.c | 182 --
2 files changed, 92 insertions(+), 104 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 2aae7d9514..597519b99b 10
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 13
target/sparc/translate.c | 64 ---
2 files changed, 39 insertions(+), 38 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 1418e45172..2072930bd7
Note that gen_ne_fop_DF was incorrectly named and does pass env.
The two sets of helpers should have been unified.
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 3 ++
target/sparc/translate.c | 67 ---
2 files changed, 30 insertions(+), 40
Move FSQRTd, FxTOd, FdTOx.
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 3 +++
target/sparc/translate.c | 50 +--
2 files changed, 30 insertions(+), 23 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 31
target/sparc/translate.c | 353 +-
2 files changed, 225 insertions(+), 159 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 9142e0e2f0..c253c6b1c1
Remove gen_swap_asi.
Rename gen_swap_asi0 to gen_swap_asi.
Merge gen_swap into gen_swap_asi.
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 4 +++
target/sparc/translate.c | 58 +--
2 files changed, 29 insertions(+), 33 deletions(-)
diff -
Move FADDq, FSUBq, FMULq, FDIVq.
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 4 +++
target/sparc/translate.c | 52 +++
2 files changed, 30 insertions(+), 26 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
Move FSQRTs, FiTOs, FsTOi.
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 3 +++
target/sparc/translate.c | 47 ---
2 files changed, 27 insertions(+), 23 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 2 ++
target/sparc/translate.c | 41 +++
2 files changed, 39 insertions(+), 4 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index a95f682fa7..87108da5da 100644
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 10 +++
target/sparc/translate.c | 61 ++-
2 files changed, 38 insertions(+), 33 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index c253c6b1c1..db5a899bdf
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 1 +
target/sparc/translate.c | 41 +--
2 files changed, 23 insertions(+), 19 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index a52fac9352..4063695cd9 100644
Move FMUL8x16, FMUL8x16AU, FMUL8x16AL, FMUL8SUx16, FMUL8ULx16,
FMULD8SUx16, FMULD8ULx16, FPMERGE, FEXPAND, FANDNOT1d, FANDNOT2d,
FANDd, FNANDd, FNORd, FORNOT1d, FORNOT2d, FORd, FPADD16d, FPADD32d,
FPSUB16d, FPSUB32d, FXNORd, FXORd.
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode |
Move FADDd, FSUBd, FMULd, FDIVd.
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 4 +++
target/sparc/translate.c | 55 ---
2 files changed, 32 insertions(+), 27 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
Move LDDA, LDSBA, LDSHA, LDSWA, LDUBA, LDUHA, LDUWA, LDXA,
STBA, STDA, STHA, STWA, STXA.
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 31 +
target/sparc/translate.c | 128 +-
2 files changed, 48 insertions(+), 111 deletions(-)
di
Move FdTOs, FdTOi, FxTOs.
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 3 +++
target/sparc/translate.c | 51 +--
2 files changed, 30 insertions(+), 24 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 9
target/sparc/translate.c | 110 +++---
2 files changed, 65 insertions(+), 54 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index b61926d278..0425764973 10
Fold the condition into the branch or movcond when possible.
Signed-off-by: Richard Henderson
---
target/sparc/translate.c | 32 +---
1 file changed, 13 insertions(+), 19 deletions(-)
diff --git a/target/sparc/translate.c b/target/sparc/translate.c
index ee8c0450aa..
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 4 ++
target/sparc/translate.c | 103 +-
2 files changed, 51 insertions(+), 56 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 597519b99b..1f6dfa210f 1006
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 2 ++
target/sparc/translate.c | 24 ++--
2 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 69b3e82ae9..d5f5dfff14 100644
--- a/target/
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 4 +
target/sparc/translate.c | 152 +++---
2 files changed, 64 insertions(+), 92 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index b354bb97c4..185bcadab7 10064
This will be of small comfort to sparc64, because both
sun4u and sun4v board models force max_cpus = 1.
But it does enable actual smp for sparc32 sun4m.
Signed-off-by: Richard Henderson
---
configs/targets/sparc-softmmu.mak | 1 +
configs/targets/sparc64-softmmu.mak | 1 +
2 files changed, 2 i
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 4 ++
target/sparc/translate.c | 105 +++---
2 files changed, 46 insertions(+), 63 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 838f4cdb1d..9ab3f2eb82 1006
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 6 +
target/sparc/translate.c | 50 ---
2 files changed, 21 insertions(+), 35 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 9ab3f2eb82..f6f5401b10 10
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 5 +++
target/sparc/translate.c | 69 ++-
target/sparc/meson.build | 3 ++
3 files changed, 55 insertions(+), 22 deletions(-)
create mode 100644 target/sparc/insns.decode
diff --git a/target
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 22 +++
target/sparc/translate.c | 360 --
2 files changed, 253 insertions(+), 129 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 2945575268..8dc45f5abc 1
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 11 +++
target/sparc/translate.c | 32 ++--
2 files changed, 17 insertions(+), 26 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 7ec1518b54..a124fdeaac 100
Signed-off-by: Richard Henderson
---
target/sparc/translate.c | 73 +---
1 file changed, 30 insertions(+), 43 deletions(-)
diff --git a/target/sparc/translate.c b/target/sparc/translate.c
index ecb485c305..ee8c0450aa 100644
--- a/target/sparc/translate.c
+++ b
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 4
target/sparc/translate.c | 43 +++
2 files changed, 20 insertions(+), 27 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index d5f5dfff14..35e7905bfe 100
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 2 ++
target/sparc/translate.c | 28
2 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index 9cd89cf03b..69b3e82ae9 100644
--- a/targ
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 22 +++
target/sparc/translate.c | 360 +++---
2 files changed, 244 insertions(+), 138 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index d3ca9061ce..05329803f4 1
Move ADD, AND, OR, XOR, SUB, ANDN, ORN, XORN.
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 18
target/sparc/translate.c | 183 +-
2 files changed, 98 insertions(+), 103 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sp
Signed-off-by: Richard Henderson
---
target/sparc/insns.decode | 3 ++
target/sparc/translate.c | 99 +++
2 files changed, 40 insertions(+), 62 deletions(-)
diff --git a/target/sparc/insns.decode b/target/sparc/insns.decode
index b7b60f9919..9f17a11dd0 10064
While doing some other testing the other day, I noticed my sparc64
chroot running particularly slowly. I think I know what the problem
is there, but fixing that was going to be particularly ugly with the
existing sparc translator.
So I've converted the translator to something more managable. :-)
1 - 100 of 630 matches
Mail list logo