Re: [PATCH 6/8] hw/pci-host/bonito: Sysbus'ify outgoing IRQ

2023-01-06 Thread Richard Henderson
On 1/5/23 05:07, Philippe Mathieu-Daudé wrote: Since TYPE_BONITO_PCI_HOST_BRIDGE inherits the TYPE_SYSBUS interface, use its API the manage the outgoing IRQ. Signed-off-by: Philippe Mathieu-Daudé --- hw/pci-host/bonito.c | 15 +++ 1 file changed, 7 insertions(+), 8 deletions(-)

Re: [PATCH 7/8] hw/pci-host/bonito: Declare TYPE_BONITO_PCI_HOST_BRIDGE in header

2023-01-06 Thread Richard Henderson
On 1/5/23 05:07, Philippe Mathieu-Daudé wrote: Declare the TYPE_BONITO_PCI_HOST_BRIDGE QOM type in a header to be able to access it from board code. Signed-off-by: Philippe Mathieu-Daudé --- MAINTAINERS | 1 + hw/pci-host/bonito.c | 4 +--- include/hw/pci-host/boni

Re: [RFC PATCH 16/40] target/arm: Represent the entire MPIDR_EL1

2023-01-06 Thread Peter Maydell
On Tue, 3 Jan 2023 at 18:24, Richard Henderson wrote: > > Replace ARMCPU.mp_affinity with CPUARMState.cp15.mpidr_el1, > setting the additional bits as required. In particular, > always set the U bit when there is only one cpu in the system. > Remove the mp_is_up bit which attempted to do the same

Re: [PATCH 8/8] hw/mips/fuloong2e: Open code bonito_init()

2023-01-06 Thread Richard Henderson
On 1/5/23 05:07, Philippe Mathieu-Daudé wrote: This helper is trivial and is called once, directly open-code it. Signed-off-by: Philippe Mathieu-Daudé --- hw/mips/fuloong2e.c| 6 +- hw/pci-host/bonito.c | 15 --- include/hw/mips/mips.h | 3 --- 3 files changed, 5 ins

Re: [RFC PATCH 00/40] Toward class init of cpu features

2023-01-06 Thread Richard Henderson
On 1/6/23 11:12, Peter Maydell wrote: The trouble with this idea is that not all instances of the same class are actually necessarily the same. For instance, if you have a system with both (a) a Cortex-A53 with a PMU, and (b) a Cortex-A53 without a PMU, then they're both instances of the same cla

Re: [RFC PATCH 16/40] target/arm: Represent the entire MPIDR_EL1

2023-01-06 Thread Richard Henderson
On 1/6/23 11:16, Peter Maydell wrote: On Tue, 3 Jan 2023 at 18:24, Richard Henderson wrote: Replace ARMCPU.mp_affinity with CPUARMState.cp15.mpidr_el1, setting the additional bits as required. In particular, always set the U bit when there is only one cpu in the system. Remove the mp_is_up bi

[PATCH 0/2] target/arm: Look up ARMCPRegInfo at runtime

2023-01-06 Thread Richard Henderson
Here's a short-to-medium term alternative to moving all of the ARMCPU cp_regs hash table to the ARMCPUClass, so that we're no longer leaving dangling pointers to freed objects encoded in the compiled TranslationBlocks. (I still think we ought to do less work at object_{init,realize}, but that may

[PATCH 1/2] target/arm: Reorg do_coproc_insn

2023-01-06 Thread Richard Henderson
Move the ri == NULL case to the top of the function and return. This allows the else to be removed and the code unindented. Signed-off-by: Richard Henderson --- target/arm/translate.c | 406 - 1 file changed, 203 insertions(+), 203 deletions(-) diff --git

[PATCH 2/2] target/arm: Look up ARMCPRegInfo at runtime

2023-01-06 Thread Richard Henderson
Do not encode the pointer as a constant in the opcode stream. This pointer is specific to the cpu that first generated the translation, which runs into problems with both hot-pluggable cpus and user-only threads, as cpus are removed. Perform the lookup in either helper_access_check_cp_reg, or a ne

Re: [PATCH 06/20] hw/riscv: Use generic DeviceState instead of PFlashCFI01

2023-01-06 Thread Daniel Henrique Barboza
On 1/4/23 19:04, Philippe Mathieu-Daudé wrote: Nothing here requires access to PFlashCFI01 internal fields: use the inherited generic DeviceState. Signed-off-by: Philippe Mathieu-Daudé --- Reviewed-by: Daniel Henrique Barboza hw/riscv/virt.c | 9 + include/hw/riscv/v

Re: [PATCH v2 02/21] target/arm: fix handling of HLT semihosting in system mode

2023-01-06 Thread Richard Henderson
On 1/5/23 08:43, Alex Bennée wrote: The check semihosting_enabled() wants to know if the guest is currently in user mode. Unlike the other cases the test was inverted causing us to block semihosting calls in non-EL0 modes. Fixes: 19b26317e9 (target/arm: Honour -semihosting-config userspace=on) S

Re: [PATCH v2 05/21] gdbstub: define separate user/system structures

2023-01-06 Thread Richard Henderson
On 1/5/23 08:43, Alex Bennée wrote: In preparation for moving user/softmmu specific bits from the main gdbstub file we need to separate the connection details into a user/softmmu state. These will eventually be defined in their own files. Signed-off-by: Alex Bennée --- gdbstub/gdbstub.c | 91 +

Re: [PATCH v2 06/21] gdbstub: move GDBState to shared internals header

2023-01-06 Thread Richard Henderson
On 1/5/23 08:43, Alex Bennée wrote: We are about to split softmmu and user mode helpers into different files. To facilitate this we will need to share access to the GDBState between those files. To keep building we have to temporarily define CONFIG_USER_ONLY just before we include internals.h fo

Re: [PATCH v2 08/21] gdbstub: move fromhex/tohex routines to internals

2023-01-06 Thread Richard Henderson
On 1/5/23 08:43, Alex Bennée wrote: These will be needed from multiple places in the code. They are declared as inline so move to the header and fix up to modern coding style. The only other place that messes with hex stuff at the moment is the URI handling in utils but that would be more code c

Re: [PATCH v2 09/21] gdbstub: make various helpers visible to the rest of the module

2023-01-06 Thread Richard Henderson
On 1/5/23 08:43, Alex Bennée wrote: We will be needing to use these helpers between the user and softmmu files so declare them in the headers, add a system prefix and remove static from the implementations. Signed-off-by: Alex Bennée --- gdbstub/internals.h | 25 gdbstub/gdbstub.c | 2

Re: [PATCH v2 10/21] gdbstub: move chunk of softmmu functionality to own file

2023-01-06 Thread Richard Henderson
On 1/5/23 08:43, Alex Bennée wrote: @@ -60,8 +67,6 @@ typedef struct GDBState { int signal; #ifdef CONFIG_USER_ONLY GDBUserState user; -#else -GDBSystemState system; In patch 6 you nested this variable, and now you're undoing that. Get this placed properly to start, as I sugge

Re: [PATCH] Windows installer: keep dependency cache

2023-01-06 Thread John Snow
On Tue, Jan 3, 2023 at 5:13 PM Arthur Sengileyev wrote: > > It should be possible to reuse cache built by previous iteration > processing next executables. Already processed dependencies are > already skipped later based on dll name. > > Signed-off-by: Arthur Sengileyev > --- > scripts/nsis.py |

Re: [PATCH v2 11/21] gdbstub: move chunks of user code into own files

2023-01-06 Thread Richard Henderson
On 1/5/23 08:43, Alex Bennée wrote: +static int gdb_signal_table[] = { +-1, +-1, +TARGET_SIGINT, +-1, +-1, +TARGET_SIGTRAP +}; + +int gdb_signal_to_target (int sig) +{ +if (sig < ARRAY_SIZE (gdb_signal_table)) +return gdb_signal_table[sig]; +else +r

Re: [PATCH v5 05/14] vfio/migration: Allow migration without VFIO IOMMU dirty tracking support

2023-01-06 Thread Alex Williamson
On Thu, 29 Dec 2022 13:03:36 +0200 Avihai Horon wrote: > Currently, if IOMMU of a VFIO container doesn't support dirty page > tracking, migration is blocked. This is because a DMA-able VFIO device > can dirty RAM pages without updating QEMU about it, thus breaking the > migration. > > However, t

Re: [PATCH v2 12/21] gdbstub: abstract target specific details from gdb_put_packet_binary

2023-01-06 Thread Richard Henderson
On 1/5/23 08:43, Alex Bennée wrote: We unfortunately handle the checking of packet acknowledgement differently for user and softmmu modes. Abstract the user mode stuff behind gdb_got_immediate_ack with a stub for softmmu. Signed-off-by: Alex Bennée --- gdbstub/internals.h | 15 +++

Re: [PATCH-for-8.0] tests/vm: Update get_default_jobs() to work on non-x86_64 non-KVM hosts

2023-01-06 Thread John Snow
On Fri, Dec 9, 2022 at 11:47 AM Philippe Mathieu-Daudé wrote: > > On non-x86_64 host, if KVM is not available we get: > > Traceback (most recent call last): > File "tests/vm/basevm.py", line 634, in main > vm = vmcls(args, config=config) > File "tests/vm/basevm.py", line 104, in __

Re: [PATCH v2 13/21] gdbstub: specialise handle_query_attached

2023-01-06 Thread Richard Henderson
On 1/5/23 08:43, Alex Bennée wrote: In both user and softmmu cases we are just replying with a constant. If the linker is paying attention it may even be able to sort optimise the call. Signed-off-by: Alex Bennée --- gdbstub/internals.h | 4 +++- gdbstub/gdbstub.c | 15 ++- gd

Re: [RFC PATCH 00/40] Toward class init of cpu features

2023-01-06 Thread Peter Maydell
On Fri, 6 Jan 2023 at 19:29, Richard Henderson wrote: > > On 1/6/23 11:12, Peter Maydell wrote: > > The trouble with this idea is that not all instances of the same > > class are actually necessarily the same. For instance, if you > > have a system with both (a) a Cortex-A53 with a PMU, and > > (b

Re: [PATCH v4 2/4] python/qmp: increase read buffer size

2023-01-06 Thread John Snow
On Wed, Dec 7, 2022 at 1:29 PM Maksim Davydov wrote: > > Current 256KB is not enough for some real cases. As a possible solution > limit can be chosen to be the same as libvirt (10MB) > > Signed-off-by: Maksim Davydov This matches the patch accepted here: https://gitlab.com/qemu-project/python-q

Re: [RFC PATCH 16/40] target/arm: Represent the entire MPIDR_EL1

2023-01-06 Thread Peter Maydell
On Fri, 6 Jan 2023 at 19:33, Richard Henderson wrote: > > On 1/6/23 11:16, Peter Maydell wrote: > > On Tue, 3 Jan 2023 at 18:24, Richard Henderson > > wrote: > >> > >> Replace ARMCPU.mp_affinity with CPUARMState.cp15.mpidr_el1, > >> setting the additional bits as required. In particular, > >> al

Re: [PULL v2 00/47] tcg misc queue

2023-01-06 Thread Peter Maydell
On Fri, 6 Jan 2023 at 03:17, Richard Henderson wrote: > > Changes in patch 47, to reduce execution time with --enable-debug. > Changes in patch 19, to fix an i386 specific register allocation failure. > > > r~ > > > The following changes since commit cb9c6a8e5ad6a1f0ce164d352e3102df46986e22: > >

Re: [RFC PATCH 00/40] Toward class init of cpu features

2023-01-06 Thread Richard Henderson
On 1/6/23 13:59, Peter Maydell wrote: We also set some properties in code -- eg aspeed_ast2600.c clears the 'neon' property on its CPUs, lots of the boards clear has_el3 and has_el2, etc. Yes indeed, but in all of those cases we want all of the cpus to act identically. Those are all easily ha

Re: [RFC PATCH 16/40] target/arm: Represent the entire MPIDR_EL1

2023-01-06 Thread Richard Henderson
On 1/6/23 14:14, Peter Maydell wrote: +if (arm_feature(env, ARM_FEATURE_V7MP)) { +cpu->mpidr_el1 |= (1u << 31); /* M */ +if (cpu->core_count == 1) { +cpu->mpidr_el1 |= 1 << 30; /* U */ +} +} This is wrong, incidentally -- a single Cortex A9, A53, et

Re: [PATCH v2 6/6] hw/isa/piix: Resolve redundant TYPE_PIIX3_XEN_DEVICE

2023-01-06 Thread Chuck Zmudzinski
On 1/6/23 2:08 PM, Chuck Zmudzinski wrote: > On 1/6/23 7:25 AM, Philippe Mathieu-Daudé wrote: >> On 6/1/23 12:57, Bernhard Beschow wrote: >>> >>> >>> Am 4. Januar 2023 15:35:33 UTC schrieb "Philippe Mathieu-Daudé" >>> : +Markus/Thomas On 4/1/23 15:44, Bernhard Beschow wrote: >

Re: [PATCH v2 14/21] gdbstub: specialise target_memory_rw_debug

2023-01-06 Thread Richard Henderson
On 1/5/23 08:43, Alex Bennée wrote: The two implementations are different enough to encourage having a specialisation and we can move some of the softmmu only stuff out of gdbstub. Signed-off-by: Alex Bennée --- gdbstub/internals.h | 19 gdbstub/gdbstub.c | 73 +++--

Re: [PATCH v2 15/21] gdbstub: introduce gdb_get_max_cpus

2023-01-06 Thread Richard Henderson
On 1/5/23 08:43, Alex Bennée wrote: +unsigned int gdb_get_max_cpus(void) +{ +CPUState *cpu; +unsigned int max_cpus = 1; /* global variable max_cpus exists only in system mode */ You can delete the out-of-date comment, since there's no global variable anywhere. Otherwise, Reviewed-by:

Re: [PATCH v2 16/21] gdbstub: specialise stub_can_reverse

2023-01-06 Thread Richard Henderson
On 1/5/23 08:43, Alex Bennée wrote: Currently we only support replay for softmmu mode so it is a constant false for user-mode. Signed-off-by: Alex Bennée --- gdbstub/internals.h | 1 + gdbstub/gdbstub.c | 13 ++--- gdbstub/softmmu.c | 5 + gdbstub/user.c | 5 +

Re: [PATCH v2 17/21] gdbstub: fix address type of gdb_set_cpu_pc

2023-01-06 Thread Richard Henderson
On 1/5/23 08:43, Alex Bennée wrote: The underlying call uses vaddr and the comms API uses unsigned long long which will always fit. We don't need to deal in target_ulong here. Signed-off-by: Alex Bennée --- gdbstub/gdbstub.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) Reviewed

Re: [PATCH v2 18/21] gdbstub: don't use target_ulong while handling registers

2023-01-06 Thread Richard Henderson
On 1/5/23 08:43, Alex Bennée wrote: This is a hangover from the original code. addr is misleading as it is only a really a register id. While len will never exceed MAX_PACKET_LENGTH I've used size_t as that is what strlen returns. What has strlen got to do with it? I think it would be better t

Re: [PATCH v2 18/21] gdbstub: don't use target_ulong while handling registers

2023-01-06 Thread Richard Henderson
On 1/5/23 09:28, Philippe Mathieu-Daudé wrote:   static void handle_write_all_regs(GArray *params, void *user_ctx)   { -    target_ulong addr, len; +    int reg_id; 'unsigned'? No, match the third argument to gdb_write_register (int). r~

Re: [PATCH v2 19/21] gdbstub: move register helpers into standalone include

2023-01-06 Thread Richard Henderson
On 1/5/23 08:43, Alex Bennée wrote: These inline helpers are all used by target specific code so move them out of the general header so we don't needlessly pollute the rest of the API with target specific stuff. Note we have to include cpu.h in semihosting as it was relying on a side effect befo

Re: [PATCH v5 00/14] vfio/migration: Implement VFIO migration protocol v2

2023-01-06 Thread Alex Williamson
On Thu, 29 Dec 2022 13:03:31 +0200 Avihai Horon wrote: > Hello, > > Now that QEMU 8.0 development cycle has started and MIG_DATA_SIZE ioctl > is in kernel v6.2-rc1, I am sending v5 of this series with linux headers > update and with the preview patches in v4 merged into this series. > > > > F

Re: [RFC PATCH 00/40] Toward class init of cpu features

2023-01-06 Thread Alex Bennée
Peter Maydell writes: > On Fri, 6 Jan 2023 at 19:29, Richard Henderson > wrote: >> >> On 1/6/23 11:12, Peter Maydell wrote: >> > The trouble with this idea is that not all instances of the same >> > class are actually necessarily the same. For instance, if you >> > have a system with both (a)

Re: [PATCH v5 00/14] vfio/migration: Implement VFIO migration protocol v2

2023-01-06 Thread Jason Gunthorpe
On Fri, Jan 06, 2023 at 04:36:09PM -0700, Alex Williamson wrote: > Missing from the series is the all important question of what happens > to "x-enable-migration" now. We have two in-kernel drivers supporting > v2 migration, so while hardware and firmware may still be difficult to > bring togethe

Re: [PATCH v2 20/21] gdbstub: move syscall handling to new file

2023-01-06 Thread Richard Henderson
On 1/5/23 08:43, Alex Bennée wrote: +++ b/gdbstub/syscalls.c @@ -0,0 +1,230 @@ +/* + * GDB Syscall Handling + * + * GDB can execute syscalls on the guests behalf, currently used by + * the various semihosting extensions. As this interfaces with a guest + * ABI we need to build it per-guest (altho

Re: [RFC PATCH 00/40] Toward class init of cpu features

2023-01-06 Thread Richard Henderson
On 1/6/23 15:43, Alex Bennée wrote: What about cloning objects after they are realised? After all that is what we do for the core CPUClass in user-mode. No we don't. Where do you get that idea? r~

Re: [PATCH v2 21/21] gdbstub: only compile gdbstub twice for whole build

2023-01-06 Thread Richard Henderson
On 1/5/23 08:43, Alex Bennée wrote: Now we have removed any target specific bits from the core gdbstub code we only need to build it twice. We have to jump a few meson hoops to manually define the CONFIG_USER_ONLY symbol but it seems to work. Signed-off-by: Alex Bennée --- gdbstub/gdbstub.c

[PATCH v4] tcg/arm: Use register pair allocation for qemu_{ld, st}_i64

2023-01-06 Thread Richard Henderson
Although we still can't use ldrd and strd for all operations, increase the chances by getting the register allocation correct. Signed-off-by: Richard Henderson --- v3 was patch 5 in a larger patch set: https://lore.kernel.org/qemu-devel/2022074101.2069454-6-richard.hender...@linaro.org/

Re: [PATCH v2 6/6] hw/isa/piix: Resolve redundant TYPE_PIIX3_XEN_DEVICE

2023-01-06 Thread Chuck Zmudzinski
On 1/6/23 6:04 PM, Chuck Zmudzinski wrote: > On 1/6/23 2:08 PM, Chuck Zmudzinski wrote: >> On 1/6/23 7:25 AM, Philippe Mathieu-Daudé wrote: >>> On 6/1/23 12:57, Bernhard Beschow wrote: Am 4. Januar 2023 15:35:33 UTC schrieb "Philippe Mathieu-Daudé" : > +Markus/Thomas

[PATCH v2] [PING] target/i386/gdbstub: Fix a bug about order of FPU stack in 'g' packets.

2023-01-06 Thread TaiseiIto
This is a ping to the patch below. https://patchew.org/QEMU/ty0pr0101mb42855925d8414e4773d6fa36a4...@ty0pr0101mb4285.apcprd01.prod.exchangelabs.com/ Before this commit, when GDB attached an OS working on QEMU, order of FPU stack registers printed by GDB command 'info float' was wrong. There was a

Re: Plugin Memory Callback Debugging

2023-01-06 Thread Emilio Cota
On Fri, Jan 6, 2023, 5:31 AM Alex Bennée wrote: > Are you going to be able to post the patches soon? I'd like to get the > fixes in as early in the cycle as possible. > I intend to post this series on Sunday. Thanks, Emilio

[PATCH qemu v3 0/1] [PATCH v3] Emulate dip switch language layout settings on SUN keyboard

2023-01-06 Thread ~henca
Year 2020 I made 2 attempts to contribute this patch. Unfortunately "git format-patch" produced crippled patches which were not possible to apply. Some @@-lines got extra code that didn't belong in those lines. Now I am instead trying to send my patch using sourcehut. Unfortunately, it seems as if

[PATCH qemu v3 1/1] Emulating sun keyboard language layout dip switches, taking the value for the dip switches from the "-k" option to qemu.

2023-01-06 Thread ~henca
From: Henrik Carlqvist SUN Type 4, 5 and 5c keyboards have dip switches to choose the language layout of the keyboard. Solaris makes an ioctl to query the value of the dipswitches and uses that value to select keyboard layout. Also the SUN bios like the one in the file ss5.bin uses this value to

[PULL 19/27] tcg/s390x: Support MIE3 logical operations

2023-01-06 Thread Richard Henderson
This is andc, orc, nand, nor, eqv. We can use nor for implementing not. Reviewed-by: Ilya Leoshkevich Signed-off-by: Richard Henderson --- tcg/s390x/tcg-target-con-set.h | 3 + tcg/s390x/tcg-target.h | 25 tcg/s390x/tcg-target.c.inc | 102

[PULL 06/27] tcg/s390x: Check for extended-immediate facility at startup

2023-01-06 Thread Richard Henderson
The extended-immediate facility was introduced in z9-109, which itself was end-of-life in 2017. Reviewed-by: Ilya Leoshkevich Signed-off-by: Richard Henderson --- tcg/s390x/tcg-target.h | 4 +- tcg/s390x/tcg-target.c.inc | 231 +++-- 2 files changed, 72 ins

[PULL 27/27] tcg/s390x: Avoid the constant pool in tcg_out_movi

2023-01-06 Thread Richard Henderson
Load constants in no more than two insns, which turns out to be faster than using the constant pool. Suggested-by: Ilya Leoshkevich Reviewed-by: Ilya Leoshkevich Signed-off-by: Richard Henderson --- tcg/s390x/tcg-target.c.inc | 23 +-- 1 file changed, 17 insertions(+), 6 de

[PULL 18/27] tcg/s390x: Tighten constraints for and_i64

2023-01-06 Thread Richard Henderson
Let the register allocator handle such immediates by matching only what one insn can achieve. Reviewed-by: Ilya Leoshkevich Signed-off-by: Richard Henderson --- tcg/s390x/tcg-target-con-set.h | 1 + tcg/s390x/tcg-target-con-str.h | 2 + tcg/s390x/tcg-target.c.inc | 114 +

[PULL 00/27] tcg/s390x patch queue

2023-01-06 Thread Richard Henderson
The following changes since commit aaa90fede5d10e2a3c3fc7f2df608128d2cba761: Merge tag 'pull-tcg-20230105' of https://gitlab.com/rth7680/qemu into staging (2023-01-06 15:40:37 +) are available in the Git repository at: https://gitlab.com/rth7680/qemu.git tags/pull-tcg-2023010

[PULL 26/27] tcg/s390x: Cleanup tcg_out_movi

2023-01-06 Thread Richard Henderson
Merge maybe_out_small_movi, as it no longer has additional users. Use is_const_p{16,32}. Reviewed-by: Ilya Leoshkevich Signed-off-by: Richard Henderson --- tcg/s390x/tcg-target.c.inc | 52 -- 1 file changed, 16 insertions(+), 36 deletions(-) diff --git a/tcg

[PULL 15/27] tcg/s390x: Support MIE2 MGRK instruction

2023-01-06 Thread Richard Henderson
The MIE2 facility adds a 3-operand signed 64x64->128 multiply. Reviewed-by: Ilya Leoshkevich Signed-off-by: Richard Henderson --- tcg/s390x/tcg-target-con-set.h | 1 + tcg/s390x/tcg-target.h | 2 +- tcg/s390x/tcg-target.c.inc | 8 3 files changed, 10 insertions(+), 1 deleti

[PULL 03/27] tcg/s390x: Always set TCG_TARGET_HAS_direct_jump

2023-01-06 Thread Richard Henderson
Since USE_REG_TB is removed, there is no need to load the target TB address into a register. Reviewed-by: Ilya Leoshkevich Signed-off-by: Richard Henderson --- tcg/s390x/tcg-target.h | 2 +- tcg/s390x/tcg-target.c.inc | 48 +++--- 2 files changed, 10 inserti

[PULL 04/27] tcg/s390x: Remove USE_LONG_BRANCHES

2023-01-06 Thread Richard Henderson
The size of a compiled TB is limited by the uint16_t used by gen_insn_end_off[] -- there is no need for a 32-bit branch. Reviewed-by: Ilya Leoshkevich Signed-off-by: Richard Henderson --- tcg/s390x/tcg-target.c.inc | 9 - 1 file changed, 9 deletions(-) diff --git a/tcg/s390x/tcg-target

[PULL 01/27] tcg/s390x: Use register pair allocation for div and mulu2

2023-01-06 Thread Richard Henderson
Previously we hard-coded R2 and R3. Reviewed-by: Ilya Leoshkevich Signed-off-by: Richard Henderson --- tcg/s390x/tcg-target-con-set.h | 4 ++-- tcg/s390x/tcg-target-con-str.h | 8 +-- tcg/s390x/tcg-target.c.inc | 43 +- 3 files changed, 35 insertions(+)

[PULL 05/27] tcg/s390x: Check for long-displacement facility at startup

2023-01-06 Thread Richard Henderson
We are already assuming the existance of long-displacement, but were not being explicit about it. This has been present since z990. Reviewed-by: Ilya Leoshkevich Signed-off-by: Richard Henderson --- tcg/s390x/tcg-target.h | 6 -- tcg/s390x/tcg-target.c.inc | 15 +++ 2 file

[PULL 16/27] tcg/s390x: Issue XILF directly for xor_i32

2023-01-06 Thread Richard Henderson
There is only one instruction that is applicable to a 32-bit immediate xor. Reviewed-by: Ilya Leoshkevich Signed-off-by: Richard Henderson --- tcg/s390x/tcg-target.c.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tcg/s390x/tcg-target.c.inc b/tcg/s390x/tcg-target.c.inc i

[PULL 02/27] tcg/s390x: Remove TCG_REG_TB

2023-01-06 Thread Richard Henderson
This reverts 829e1376d940 ("tcg/s390: Introduce TCG_REG_TB"), and several follow-up patches. The primary motivation is to reduce the less-tested code paths, pre-z10. Secondarily, this allows the unconditional use of TCG_TARGET_HAS_direct_jump, which might be more important for performance than an

[PULL 12/27] tcg/s390x: Distinguish RRF-a and RRF-c formats

2023-01-06 Thread Richard Henderson
One has 3 register arguments; the other has 2 plus an m3 field. Reviewed-by: Ilya Leoshkevich Signed-off-by: Richard Henderson --- tcg/s390x/tcg-target.c.inc | 57 +- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/tcg/s390x/tcg-target.c.inc b

<    1   2