Re: [PATCH for-9.1 04/19] target/i386: do not use s->tmp0 and s->tmp4 to compute flags

2024-04-10 Thread Paolo Bonzini
Il mer 10 apr 2024, 08:35 Richard Henderson ha scritto: > On 4/9/24 06:43, Paolo Bonzini wrote: > > Create a new temporary whenever flags have to use one, instead of using > > s->tmp0 or s->tmp4. NULL can now be passed as the scratch register > > to gen_prepare_*. &

[PATCH for-9.1 19/19] target/i386: remove duplicate prefix decoding

2024-04-09 Thread Paolo Bonzini
into i386_tr_translate_insn. Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 259 +++ target/i386/tcg/decode-new.c.inc | 60 +-- 2 files changed, 100 insertions(+), 219 deletions(-) diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c

[PATCH for-9.1 10/19] target/i386: generalize gen_movl_seg_T0

2024-04-09 Thread Paolo Bonzini
In the new decoder it is sometimes easier to put the segment in T1 instead of T0, usually because another operand was loaded by common code in T0. Genrealize gen_movl_seg_T0 to allow using any source. Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 16 1 file

[PATCH for-9.1 09/19] target/i386: move 60-BF opcodes to new decoder

2024-04-09 Thread Paolo Bonzini
Compared to the old decoder, the main differences in translation are for the little-used ARPL instruction. IMUL is adjusted a bit to share more code to produce flags, but is otherwise very similar. Signed-off-by: Paolo Bonzini --- target/i386/tcg/decode-new.h | 2 + target/i386/tcg

[PATCH for-9.1 18/19] target/i386: split legacy decoder into a separate function

2024-04-09 Thread Paolo Bonzini
Split the bits that have some duplication with disas_insn_new, from those that should be the main topic of the conversion. This is the first step towards removing duplicate decoding of prefixes between disas_insn and disas_insn_new. Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c

[PATCH for-9.1 05/19] target/i386: reintroduce debugging mechanism

2024-04-09 Thread Paolo Bonzini
Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 27 +++ target/i386/tcg/decode-new.c.inc | 3 +++ 2 files changed, 30 insertions(+) diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c index debc1b27283..2a372842db4 100644

[PATCH for-9.1 02/19] target/i386: use TSTEQ/TSTNE to check flags

2024-04-09 Thread Paolo Bonzini
The new conditions obviously come in handy when testing individual bits of EFLAGS, and they make it possible to remove the .mask field of CCPrepare. Lowering to shift+and is done by the optimizer if necessary. Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- target/i386/tcg

[PATCH for-9.1 08/19] target/i386: allow instructions with more than one immediate

2024-04-09 Thread Paolo Bonzini
While keeping decode->immediate for convenience and for 4-operand instructions, store the immediate in X86DecodedOp as well. This enables instructions with more than one immediate such as ENTER. It can also be used for far calls and jumps. Signed-off-by: Paolo Bonzini --- target/i386/

[PATCH for-9.1 13/19] target/i386: move remaining conditional operations to new decoder

2024-04-09 Thread Paolo Bonzini
Move long-displacement Jcc, SETcc and CMOVcc to the new decoder. While filling in the tables makes the code seem longer, the new emitters are all just one line of code. Signed-off-by: Paolo Bonzini --- target/i386/tcg/decode-new.h | 1 + target/i386/tcg/translate.c | 2 +- target

[PATCH for-9.1 06/19] target/i386: move 00-5F opcodes to new decoder

2024-04-09 Thread Paolo Bonzini
Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 2 +- target/i386/tcg/decode-new.c.inc | 120 ++ target/i386/tcg/emit.c.inc | 202 +++ 3 files changed, 323 insertions(+), 1 deletion(-) diff --git a/target/i386/tcg

[PATCH for-9.1 11/19] target/i386: move C0-FF opcodes to new decoder (except for x87)

2024-04-09 Thread Paolo Bonzini
carry shr cc_dst, cc_src2, length - 1 and cc_dst, cc_dst, 1 // compute overflow xor cc_src2, cc_src2, T0 extract cc_src2, cc_src2, length - 1, 1 32-bit MUL and IMUL are also slightly more efficient on 64-bit hosts. Signed-off-by: Paolo Bonzini --- include/tcg/tcg.h

[PATCH for-9.1 16/19] target/i386: remove now-converted opcodes from old decoder

2024-04-09 Thread Paolo Bonzini
Send all converted opcodes to disas_insn_new() directly from the big decoding switch statement; once more, the debugging/bisecting logic disappears. Signed-off-by: Paolo Bonzini --- target/i386/helper.h| 11 - target/i386/tcg/shift_helper_template.h.inc | 108

[PATCH for-9.1 14/19] target/i386: move BSWAP to new decoder

2024-04-09 Thread Paolo Bonzini
Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 4 +++- target/i386/tcg/decode-new.c.inc | 9 + target/i386/tcg/emit.c.inc | 11 +++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/target/i386/tcg/translate.c b/target/i386/tcg

[PATCH for-9.1 15/19] target/i386: port extensions of one-byte opcodes to new decoder

2024-04-09 Thread Paolo Bonzini
A few two-byte opcodes are simple extensions of existing one-byte opcodes; they are easy to decode and need no change to emit.c.inc. Port them to the new decoder. Signed-off-by: Paolo Bonzini --- target/i386/tcg/decode-new.h | 1 + target/i386/tcg/translate.c | 4 target/i386

[PATCH for-9.1 12/19] target/i386: merge and enlarge a few ranges for call to disas_insn_new

2024-04-09 Thread Paolo Bonzini
Since new opcodes are not going to be added in translate.c, round the case labels that call to disas_insn_new(), including whole sets of eight opcodes when possible. Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff

[PATCH for-9.1 17/19] target/i386: decode x87 instructions in a separate function

2024-04-09 Thread Paolo Bonzini
These are unlikely to be converted to the table-based decoding soon (perhaps there could be generic ESC decoding in decode-new.c.inc for the Mod/RM byte, but not operand decoding), so keep them separate from the remaining legacy-decoded instructions. Signed-off-by: Paolo Bonzini --- target/i386

[PATCH for-9.1 01/19] target/i386: use TSTEQ/TSTNE to test low bits

2024-04-09 Thread Paolo Bonzini
a comparison against zero anyway, and it avoids shifts by 64 which are undefined behavior. Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 28 target/i386/tcg/emit.c.inc | 5 ++--- 2 files changed, 22 insertions(+), 11

[PATCH for-9.1 04/19] target/i386: do not use s->tmp0 and s->tmp4 to compute flags

2024-04-09 Thread Paolo Bonzini
Create a new temporary whenever flags have to use one, instead of using s->tmp0 or s->tmp4. NULL can now be passed as the scratch register to gen_prepare_*. Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 54 + 1 file changed, 31 inse

[PATCH for-9.1 03/19] target/i386: remove mask from CCPrepare

2024-04-09 Thread Paolo Bonzini
With the introduction of TSTEQ and TSTNE the .mask field is always -1, so remove all the now-unnecessary code. Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 81 + 1 file changed, 27 insertions(+), 54 deletions

[PATCH for-9.1 07/19] target/i386: extract gen_far_call/jmp, reordering temporaries

2024-04-09 Thread Paolo Bonzini
Extract the code into new functions, and swap T0/T1 so that T0 corresponds to the first immediate in the instruction stream. Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 93 + 1 file changed, 53 insertions(+), 40 deletions(-) diff --git

[PATCH for-9.1 00/19] target/i386: convert 1-byte opcodes to new decoder

2024-04-09 Thread Paolo Bonzini
. Paolo Based-on: <20240406223248.502699-1-richard.hender...@linaro.org> Paolo Bonzini (19): target/i386: use TSTEQ/TSTNE to test low bits target/i386: use TSTEQ/TSTNE to check flags target/i386: remove mask from CCPrepare target/i386: do not use s->tmp0 and s->tmp4 to c

Re: [PATCH] target/i386: fix direction of "32-bit MMU" test

2024-04-09 Thread Paolo Bonzini
On Tue, Apr 9, 2024 at 12:59 PM Zhao Liu wrote: > > Hi Michael & Paolo, > > On Fri, Apr 05, 2024 at 08:30:43PM +0300, Michael Tokarev wrote: > > Date: Fri, 5 Apr 2024 20:30:43 +0300 > > From: Michael Tokarev > > Subject: Re: [PATCH] target/i386: fix direction of "32-bit MMU" test > > > >

Re: [PATCH for-9.1 v2 00/28] linux-user/i386: Properly align signal frame

2024-04-09 Thread Paolo Bonzini
get_sigframe. Alter all of the target fpu routines to access memory that has already been translated and sized. With the exception of patch 22, and with small nits in patches 1/19/23: Reviewed-by: Paolo Bonzini r~ Richard Henderson (28): target/i386: Add tcg/access.[ch] target/i386

Re: [PATCH v2 02/28] target/i386: Convert do_fldt, do_fstt to X86Access

2024-04-09 Thread Paolo Bonzini
On 4/9/24 07:02, Richard Henderson wrote: Signed-off-by: Richard Henderson --- target/i386/tcg/fpu_helper.c | 44 +--- 1 file changed, 31 insertions(+), 13 deletions(-) Three incorrect GETPC()s that get fixed later in the series: do_fsave: @@ -2459,15

Re: [PATCH v2 23/28] target/i386: Honor xfeatures in xrstor_sigcontext

2024-04-09 Thread Paolo Bonzini
On 4/9/24 07:02, Richard Henderson wrote: Signed-off-by: Richard Henderson --- linux-user/i386/signal.c | 19 ++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/linux-user/i386/signal.c b/linux-user/i386/signal.c index d015fe520a..fd09c973d4 100644 ---

Re: [PATCH v2 19/28] linux-user/i386: Fix -mregparm=3 for signal delivery

2024-04-09 Thread Paolo Bonzini
On 4/9/24 07:02, Richard Henderson wrote: Since v2.6.19, the kernel has supported -mregparm=3. Signed-off-by: Richard Henderson --- linux-user/i386/signal.c | 20 +--- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/linux-user/i386/signal.c

Re: [PATCH v2 01/28] target/i386: Add tcg/access.[ch]

2024-04-09 Thread Paolo Bonzini
On 4/9/24 07:02, Richard Henderson wrote: Provide a method to amortize page lookup across large blocks. Signed-off-by: Richard Henderson --- target/i386/tcg/access.h| 40 + target/i386/tcg/access.c| 160 target/i386/tcg/meson.build |

Re: [PATCH] target/i386: fix direction of "32-bit MMU" test

2024-04-08 Thread Paolo Bonzini
Il ven 5 apr 2024, 19:30 Michael Tokarev ha scritto: > 01.04.2024 09:02, Michael Tokarev: > > > Anyone can guess why this rather trivial and obviously correct patch > causes segfaults > > in a few tests in staging-7.2 - when run in tcg mode, namely: > > > >pxe-test > >migration-test > >

Re: [PATCH] Revert "hw/virtio: Add support for VDPA network simulation devices"

2024-04-08 Thread Paolo Bonzini
Il lun 8 apr 2024, 12:18 Michael S. Tsirkin ha scritto: > On Mon, Apr 08, 2024 at 10:51:57AM +0100, Peter Maydell wrote: > > On Mon, 8 Apr 2024 at 10:48, Michael S. Tsirkin wrote: > > > > > > This reverts commit cd341fd1ffded978b2aa0b5309b00be7c42e347c. > > > > > > The patch adds non-upstream

[PULL 0/3] 9.0 bugfixes for 2024-04-08

2024-04-08 Thread Paolo Bonzini
: preserve --jobserver-auth argument when calling ninja Paolo Bonzini (1): nanomips: fix warnings with GCC 14 Makefile| 2 +- accel/kvm/kvm-all.c | 15 ++-- disas/nanomips.c| 194 ++-- 3 files changed, 108 insertions(+), 103

[PULL 2/3] nanomips: fix warnings with GCC 14

2024-04-08 Thread Paolo Bonzini
Signed-off-by: Paolo Bonzini --- disas/nanomips.c | 194 +++ 1 file changed, 97 insertions(+), 97 deletions(-) diff --git a/disas/nanomips.c b/disas/nanomips.c index a0253598dd6..db0c297b8dc 100644 --- a/disas/nanomips.c +++ b/disas/nanomips.c @@ -3

[PULL 3/3] kvm: error out of kvm_irqchip_add_msi_route() in case of full route table

2024-04-08 Thread Paolo Bonzini
), ensure -accel kvm is set. virtio_bus_start_ioeventfd: failed. Fallback to userspace (slower). Signed-off-by: Igor Mammedov Message-ID: <20240408110956.451558-1-imamm...@redhat.com> Signed-off-by: Paolo Bonzini --- accel/kvm/kvm-all.c | 15 ++- 1 file changed, 10 insertion

[PULL 1/3] Makefile: preserve --jobserver-auth argument when calling ninja

2024-04-08 Thread Paolo Bonzini
-auth argument into considerationa too. Signed-off-by: Martin Hundebøll Message-Id: <20240402081738.1051560-1-mar...@geanix.com> Signed-off-by: Paolo Bonzini --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 8f369903356..183756018ff

Re: [PATCH v2 16/18] stubs: split record/replay stubs further

2024-04-08 Thread Paolo Bonzini
On Mon, Apr 8, 2024 at 6:59 PM Richard Henderson wrote: > > On 4/8/24 05:53, Paolo Bonzini wrote: > > replay.c symbols are only needed by user mode emulation, with the > > exception of replay_mode that is needed by both user mode emulation > > (by way of qemu_guest_ge

[PATCH v2 11/18] hw/virtio: move stubs out of stubs/

2024-04-08 Thread Paolo Bonzini
Since the virtio memory device stubs are needed exactly when the Kconfig symbol is not enabled, they can be placed in hw/virtio/ and conditionalized on CONFIG_VIRTIO_MD. Signed-off-by: Paolo Bonzini --- stubs/virtio-md-pci.c => hw/virtio/virtio-md-stubs.c | 0 hw/virtio/meson.bu

[PATCH v2 04/18] tests/unit: match some unit tests to corresponding feature switches

2024-04-08 Thread Paolo Bonzini
-by: Paolo Bonzini --- tests/unit/meson.build | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/unit/meson.build b/tests/unit/meson.build index 228a21d03c2..26c109c968c 100644 --- a/tests/unit/meson.build +++ b/tests/unit/meson.build @@ -18,7 +18,6 @@ tests

[PATCH v2 02/18] tests: only build plugins if TCG is enabled

2024-04-08 Thread Paolo Bonzini
There is no way to use them for testing, if all the available accelerators use hardware virtualization. Signed-off-by: Paolo Bonzini --- tests/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/meson.build b/tests/meson.build index 0a6f96f8f84..acb6807094b

[PATCH v2 01/18] meson: do not link pixman automatically into all targets

2024-04-08 Thread Paolo Bonzini
The dependency on pixman is listed manually in all sourcesets that need it. There is no need to bring into libqemuutil, since there is nothing in util/ that needs pixman either. Reported-by: Michael Tokarev Signed-off-by: Paolo Bonzini --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1

[PATCH v2 17/18] stubs: include stubs only if needed

2024-04-08 Thread Paolo Bonzini
Currently it is not documented anywhere why some functions need to be stubbed. Group the files in stubs/meson.build according to who needs them, both to reduce the size of the compilation and to clarify the use of stubs. Signed-off-by: Paolo Bonzini --- stubs/{monitor.c => monitor-interna

[PATCH v2 16/18] stubs: split record/replay stubs further

2024-04-08 Thread Paolo Bonzini
of the tools and emulators, split the replay_mode stub into its own file. Signed-off-by: Paolo Bonzini --- stubs/replay-mode.c | 4 stubs/replay.c | 2 -- stubs/meson.build | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 stubs/replay-mode.c diff --git

[PATCH v2 13/18] ramfb: move stubs out of stubs/

2024-04-08 Thread Paolo Bonzini
Since the ramfb stubs are needed exactly when the Kconfig symbols are not needed, move them to hw/display/ and compile them when ramfb.c is absent. Signed-off-by: Paolo Bonzini --- stubs/ramfb.c => hw/display/ramfb-stubs.c | 0 hw/display/meson.build| 2 +- stubs/meson.bu

[PATCH v2 12/18] semihosting: move stubs out of stubs/

2024-04-08 Thread Paolo Bonzini
Since the semihosting stubs are needed exactly when the Kconfig symbols are not needed, move them to semihosting/ and conditionalize them on CONFIG_SEMIHOSTING and/or CONFIG_SYSTEM_ONLY. Signed-off-by: Paolo Bonzini --- stubs/semihost-all.c => semihosting/stubs-all.c | 0 stubs/semihos

[PATCH v2 0/7] buildsys: Start shrinking qemu-user build process

2024-04-08 Thread Paolo Bonzini
--disable-user --enable-tools --disable-guest-agent --disable-system --disable-user --disable-tools --enable-guest-agent as well as regular CI. Paolo Paolo Bonzini (15): meson: do not link pixman automatically into all targets tests: only build plugins if TCG is enabled tests/unit: match some

[PATCH v2 15/18] colo: move stubs out of stubs/

2024-04-08 Thread Paolo Bonzini
Since the colo stubs are needed exactly when the build options are not enabled, move them together with the code they stub. Signed-off-by: Paolo Bonzini --- stubs/colo.c => migration/colo-stubs.c | 0 stubs/colo-compare.c => net/colo-stubs.c | 0 migration/meson.build

[PATCH v2 09/18] stubs: remove obsolete stubs

2024-04-08 Thread Paolo Bonzini
These file define functions are are not called from common code anymore. Delete those functions and, if applicable, the entire files. Signed-off-by: Paolo Bonzini --- include/sysemu/sysemu.h | 2 -- stubs/isa-bus.c | 7 --- stubs/module-opts.c | 2 -- stubs/monitor-core.c

[PATCH v2 03/18] ebpf: Restrict to system emulation

2024-04-08 Thread Paolo Bonzini
From: Philippe Mathieu-Daudé eBPF is not used in user emulation. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-ID: <20240404194757.9343-2-phi...@linaro.org> Signed-off-by: Paolo Bonzini --- ebpf/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 de

[PATCH v2 18/18] stubs: move monitor_fdsets_cleanup with other fdset stubs

2024-04-08 Thread Paolo Bonzini
Even though monitor_get_fd() has to remain separate because it is mocked by tests/unit/test-util-sockets, monitor_fdsets_cleanup() is logically part of the stubs for monitor/fds.c, so move it there. Signed-off-by: Paolo Bonzini --- stubs/fdset.c| 6 ++ stubs/monitor-internal.c

[PATCH v2 08/18] hw: Include minimal source set in user emulation build

2024-04-08 Thread Paolo Bonzini
. This removes about 10% from the time needed to run "../configure --disable-system --disable-tools --disable-guest-agent". Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-ID: <20240404194757.9343-8-phi...@linaro.org> Signed-off-by: Paolo Bonzini ---

[PATCH v2 14/18] memory-device: move stubs out of stubs/

2024-04-08 Thread Paolo Bonzini
Since the memory-device stubs are needed exactly when the Kconfig symbols are not needed, move them to hw/mem/. Signed-off-by: Paolo Bonzini --- stubs/memory_device.c => hw/mem/memory-device-stubs.c | 0 hw/mem/meson.build| 1 + stubs/meson.bu

[PATCH v2 07/18] hw/core: Move system emulation files to system_ss

2024-04-08 Thread Paolo Bonzini
hotplug.c, qdev-hotplug.c and reset.c are not used by user emulation and need not be included in hwcore_ss. Move them to system_ss, where they belong, by letting the linker pull in the stubs when needed. Signed-off-by: Paolo Bonzini --- {hw/core => stubs}/hotplug-stubs.c | 0 hw/c

[PATCH v2 10/18] hw/usb: move stubs out of stubs/

2024-04-08 Thread Paolo Bonzini
Since the USB stubs are needed exactly when the Kconfig symbols are not enabled, they can be placed in hw/usb/ and conditionalized on CONFIG_USB. Signed-off-by: Paolo Bonzini --- stubs/usb-dev-stub.c => hw/usb/bus-stub.c | 0 hw/usb/meson.build| 2 +- stubs/meson.bu

[PATCH v2 06/18] util/qemu-config: Extract QMP commands to qemu-config-qmp.c

2024-04-08 Thread Paolo Bonzini
phi...@linaro.org> Signed-off-by: Paolo Bonzini --- include/qemu/config-file.h | 3 + monitor/qemu-config-qmp.c | 206 + util/qemu-config.c | 204 +--- monitor/meson.build| 1 + 4 files changed, 212 insertions(+

[PATCH v2 05/18] yank: only build if needed

2024-04-08 Thread Paolo Bonzini
The yank feature is not used in user emulation. Suggested-by: Philippe Mathieu-Daudé Signed-off-by: Paolo Bonzini --- util/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/meson.build b/util/meson.build index 0ef9886be04..2ad57b10ba2 100644 --- a/util

Re: [PATCH] kvm: error out of kvm_irqchip_add_msi_route() in case of full route table

2024-04-08 Thread Paolo Bonzini
Queued, thanks. Paolo

[PATCH for-9.0] nanomips: fix warnings with GCC 14

2024-04-08 Thread Paolo Bonzini
GCC 14 shows -Wshadow=local warnings if an enum conflicts with a local variable (including a parameter). To avoid this, move the problematic enum and all of its dependencies after the hundreds of functions that have a parameter named "instruction". Signed-off-by: Paolo Bonzini

Re: [PATCH-for-9.1 5/7] hw/core: Restrict reset handlers API to system emulation

2024-04-08 Thread Paolo Bonzini
On Thu, Apr 4, 2024 at 9:48 PM Philippe Mathieu-Daudé wrote: > > Headers in include/sysemu/ are specific to system > emulation and should not be used in user emulation. > > Signed-off-by: Philippe Mathieu-Daudé > --- > hw/core/reset.c | 4 > 1 file changed, 4 insertions(+) > > diff --git

Re: [PATCH-for-9.1 3/7] monitor: Rework stubs to simplify user emulation linking

2024-04-08 Thread Paolo Bonzini
On Thu, Apr 4, 2024 at 9:48 PM Philippe Mathieu-Daudé wrote: > > Currently monitor stubs are scattered in 3 files. > > Merge these stubs in 2 files, a generic one (monitor-core) > included in all builds (in particular user emulation), and > a less generic one to be included by tools and system

Re: [PATCH-for-9.1 4/7] util/qemu-config: Extract QMP commands to qemu-config-qmp.c

2024-04-08 Thread Paolo Bonzini
On Thu, Apr 4, 2024 at 9:48 PM Philippe Mathieu-Daudé wrote: > > QMP is irrelevant for user emulation. Extract the code > related to QMP in a different source file, which won't > be build for user emulation binaries. This avoid pulling > pointless code. > > Signed-off-by: Philippe Mathieu-Daudé

Re: [PATCH-for-9.1 2/7] yank: Restrict to system emulation

2024-04-08 Thread Paolo Bonzini
On Thu, Apr 4, 2024 at 9:48 PM Philippe Mathieu-Daudé wrote: > > The yank feature is not used in user emulation. But it is used in block layer tools. The simplest thing here is probably to move it under have_block instead. Paolo > Signed-off-by: Philippe Mathieu-Daudé > --- >

Re: [PATCH] Makefile: preserve --jobserver-auth argument when calling ninja

2024-04-08 Thread Paolo Bonzini
Queued, thanks. Paolo

Re: [PATCH v3 00/17] [for-9.0] esp: avoid explicit setting of DRQ within ESP state machine

2024-04-04 Thread Paolo Bonzini
_fifo_push() is always called for PDMA writes to the FIFO, thereby ensuring > that esp_update_drq() remains correct even in the case of FIFO overflow. > > Finally patch 17 removes all manual calls to esp_raise_drq() and > esp_lower_drq() > since the DRQ signal is now updated correctly upon

[PULL v2 0/6] lsi, vga fixes for 2024-04-02

2024-04-03 Thread Paolo Bonzini
fix assertion failure with 4- and 16-color modes * remove unnecessary assignment v1->v2: dropped patch to reject invalid Block Move Paolo Bonzini (6): vga: merge conditionals on shift control register vga: move compu

[PULL 2/7] vga: move computation of dirty memory region later

2024-04-02 Thread Paolo Bonzini
Move the computation of region_start and region_end after the value of "bits" is known. This makes it possible to distinguish modes that support horizontal pel panning from modes that do not. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Paolo Bonzini --- hw/display/

[PULL 1/7] vga: merge conditionals on shift control register

2024-04-02 Thread Paolo Bonzini
n use it to compute region_end. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Paolo Bonzini --- hw/display/vga.c | 89 +++- 1 file changed, 42 insertions(+), 47 deletions(-) diff --git a/hw/display/vga.c b/hw/display/vga.c index bc5b83421bf..4795a0012e2

[PULL 4/7] vga: do not treat horiz pel panning value of 8 as "enabled"

2024-04-02 Thread Paolo Bonzini
Horizontal pel panning bit 3 is only used in text mode. In graphics mode, it can be treated as if it was zero, thus not extending the dirty memory region. Signed-off-by: Paolo Bonzini --- hw/display/vga.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/display/vga.c b

[PULL 3/7] vga: adjust dirty memory region if pel panning is active

2024-04-02 Thread Paolo Bonzini
+ length <= snap->end' failed. Reported-by: Helge Konetzka Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2244 Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Paolo Bonzini --- hw/display/vga.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/display

[PULL 0/7] lsi, vga fixes for 2024-04-02

2024-04-02 Thread Paolo Bonzini
h 4- and 16-color modes * remove unnecessary assignment ---- Paolo Bonzini (7): vga: merge conditionals on shift control register vga: move computation of dirty memory region later vga: adjust dirty memory region if

[PULL 6/7] lsi53c895a: detect invalid Block Move instruction

2024-04-02 Thread Paolo Bonzini
interrupt unconditionally if the low 24 bits are 0x00. Reported-by: Chuhong Yuan Signed-off-by: Paolo Bonzini --- hw/scsi/lsi53c895a.c | 9 + 1 file changed, 9 insertions(+) diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c index eb9828dd5ef..1e18d88983b 100644 --- a/hw/scsi/ls

[PULL 7/7] pc_q35: remove unnecessary m->alias assignment

2024-04-02 Thread Paolo Bonzini
The assignment is already inherited from pc-q35-8.2. Signed-off-by: Paolo Bonzini --- hw/i386/pc_q35.c | 1 - 1 file changed, 1 deletion(-) diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index b5922b44afa..c7bc8a2041f 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -393,7 +393,6

[PULL 5/7] lsi53c895a: avoid out of bounds access to s->msg[]

2024-04-02 Thread Paolo Bonzini
If no bytes are there to process in the message in phase, the input data latch (s->sidl) is set to s->msg[-1]. Just do nothing since no DMA is performed. Reported-by: Chuhong Yuan Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Paolo Bonzini --- hw/scsi/lsi53c895a.

[PATCH for-9.0 0/4] vga: fix assertion failure with 4- and 16-color modes

2024-04-02 Thread Paolo Bonzini
s computed. This is enabled by the availability of "bits" where the dirty memory region is computed; it is now possible for 8- and 15-bit modes to skip the slow path and only read dirty bits for a small part of VRAM. Paolo Bonzini (6): vga: merge conditionals on shift control register v

[PATCH for-9.1 6/4] vga: move dirty memory region code together

2024-04-02 Thread Paolo Bonzini
Take into account split screen mode close to wrap around, which is the other special case for dirty memory region computation. Signed-off-by: Paolo Bonzini --- hw/display/vga.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/display/vga.c b/hw/display/vga.c index

[PATCH for-9.0 4/4] vga: do not treat horiz pel panning value of 8 as "enabled"

2024-04-02 Thread Paolo Bonzini
Horizontal pel panning bit 3 is only used in text mode. In graphics mode, it can be treated as if it was zero, thus not extending the dirty memory region. Signed-off-by: Paolo Bonzini --- hw/display/vga.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/display/vga.c b

[PATCH for-9.1 5/4] vga: optimize computation of dirty memory region

2024-04-02 Thread Paolo Bonzini
me "bwidth" computation that is used later in the function, and that already takes into account pel panning), so that the slow path is restricted to the wraparound case. Signed-off-by: Paolo Bonzini --- hw/display/vga.c | 24 +++- 1 file changed, 7 insertions(+), 17 deletions

[PATCH for-9.0 1/4] vga: merge conditionals on shift control register

2024-04-02 Thread Paolo Bonzini
n use it to compute region_end. Signed-off-by: Paolo Bonzini --- hw/display/vga.c | 89 +++- 1 file changed, 42 insertions(+), 47 deletions(-) diff --git a/hw/display/vga.c b/hw/display/vga.c index bc5b83421bf..4795a0012e2 100644 --- a/hw/display/vga.c +++

[PATCH for-9.0 2/4] vga: move computation of dirty memory region later

2024-04-02 Thread Paolo Bonzini
Move the computation of region_start and region_end after the value of "bits" is known. This makes it possible to distinguish modes that support horizontal pel panning from modes that do not. Signed-off-by: Paolo Bonzini --- hw/display/

[PATCH for-9.0 3/4] vga: adjust dirty memory region if pel panning is active

2024-04-02 Thread Paolo Bonzini
+ length <= snap->end' failed. Reported-by: Helge Konetzka Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2244 Signed-off-by: Paolo Bonzini --- hw/display/vga.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/display/vga.c b/hw/display/vga.c index b4cef

[PATCH] lsi53c895a: avoid out of bounds access to s->msg[]

2024-03-31 Thread Paolo Bonzini
If no bytes are there to process in the message in phase, the input data latch (s->sidl) is set to s->msg[-1]. Just do nothing since no DMA is performed. Reported-by: Chuhong Yuan Signed-off-by: Paolo Bonzini --- hw/scsi/lsi53c895a.c | 19 --- 1 file changed, 12 inse

[PATCH] lsi53c895a: detect invalid Block Move instruction

2024-03-31 Thread Paolo Bonzini
interrupt unconditionally if the low 24 bits are 0x00. Reported-by: Chuhong Yuan Signed-off-by: Paolo Bonzini --- hw/scsi/lsi53c895a.c | 9 + 1 file changed, 9 insertions(+) diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c index eb9828dd5ef..1e18d88983b 100644 --- a/hw/scsi/ls

Backdoor in xz, should we switch compression format for tarballs?

2024-03-29 Thread Paolo Bonzini
For more info, see https://lwn.net/ml/oss-security/20240329155126.kjjfduxw2yrlx...@awork3.anarazel.de/ but, essentially, xz was backdoored and it seems like upstream was directly responsible for this. Based on this, should we switch our distribution from bz2+xz to bz2+zstd or bz2+lzip? Thanks,

Re: [PATCH for-9.1 v5 1/3] hw: Add compat machines for 9.1

2024-03-29 Thread Paolo Bonzini
On Thu, Mar 28, 2024 at 11:07 AM Zhao Liu wrote: > > Hi Paolo, > > Just meet typos when compiling ;-) Thank you very much! Fixed both. Paolo > On Mon, Mar 25, 2024 at 03:14:20PM +0100, Paolo Bonzini wrote: > > Date: Mon, 25 Mar 2024 15:14:20 +0100 > > From: Paolo B

Re: [RFC] util/error-report: Add "error: " prefix for error-level report

2024-03-29 Thread Paolo Bonzini
On Fri, Mar 29, 2024 at 10:37 AM wrote: > > This was done in the context of inheriting the original error_report() > > interface without the prefix style. And it was also useful to have a > > means of error handling, such as exit(), when error occurs, so that the > > error message - the most

Re: [PATCH for-9.0] docs/about: Mark the iaspc machine type as deprecated

2024-03-27 Thread Paolo Bonzini
Il mer 27 mar 2024, 14:09 Igor Mammedov ha scritto: > It's question of whether we are willing to do unthinkable, > i.e. to break QEMU <-> guest ABI for isapc case by removing > corresponding fwcfg entries. > It's not unthinkable since it's unversioned. we are loosing a chance to cleanup > QEMU

Re: [PATCH-for-9.0? v2 4/4] meson: Enable -Wstatic-in-inline

2024-03-27 Thread Paolo Bonzini
Il mer 27 mar 2024, 13:42 Philippe Mathieu-Daudé ha scritto: > IIUC your comment, you are worried about system headers declaring > non-static inline functions? > No, it's just that the flag (and thus the patch) is not doing what the commit message says. Perhaps you could instead add a

Re: [PATCH-for-9.0? v2 4/4] meson: Enable -Wstatic-in-inline

2024-03-27 Thread Paolo Bonzini
On 3/26/24 18:10, Philippe Mathieu-Daudé wrote: Compilers are clever enough to inline code when necessary. The only case we accept an inline function is static in header (we use C, not C++). Add the -Wstatic-in-inline CPPFLAG to prevent public and inline function to be added in the code base.

Re: [PATCH 12/26] KVM: track whether guest state is encrypted

2024-03-27 Thread Paolo Bonzini
On Tue, Mar 26, 2024 at 4:48 PM Xiaoyao Li wrote: > So, this requires confidential guests to call > kvm_mark_guest_state_protected() in its machine_init_done notifier callback? > > But for TDX, the guest_state is protected at the beginning, not some > time later when machine_init_done. Good

Re: [PATCH v4 1/2] kvm: add support for guest physical bits

2024-03-27 Thread Paolo Bonzini
On Wed, Mar 20, 2024 at 3:45 AM Xiaoyao Li wrote: > If users pass configuration like "-cpu > qemu64,phys-bits=52,host-phys-bits-limit=45", the cpu->guest_phys_bits > will be set to 45. I think this is not what we want, though the usage > seems insane. > > We can guard it as > > if

[PATCH for-9.1 v5 3/3] kvm: add support for guest physical bits

2024-03-25 Thread Paolo Bonzini
: <20240318155336.156197-2-kra...@redhat.com> Signed-off-by: Paolo Bonzini --- v4->v5: - only call new function if cpu->guest_phys_bits == -1 - guard more precisely the upper bound of cpu->guest_phys_bits target/i386/kvm/kvm-cpu.c | 34 +- 1 file changed, 33 i

[PATCH for-9.1 v5 1/3] hw: Add compat machines for 9.1

2024-03-25 Thread Paolo Bonzini
Add 9.1 machine types for arm/i440fx/m68k/q35/s390x/spapr. Cc: Cornelia Huck Cc: Thomas Huth Cc: Harsh Prateek Bora Cc: Gavin Shan Signed-off-by: Paolo Bonzini --- include/hw/boards.h| 3 +++ include/hw/i386/pc.h | 3 +++ hw/arm/virt.c | 11 +-- hw/core

[PATCH for-9.1 v5 2/3] target/i386: add guest-phys-bits cpu property

2024-03-25 Thread Paolo Bonzini
From: Gerd Hoffmann Allows to set guest-phys-bits (cpuid leaf 8008, eax[23:16]) via -cpu $model,guest-phys-bits=$nr. Signed-off-by: Gerd Hoffmann Message-ID: <20240318155336.156197-3-kra...@redhat.com> Signed-off-by: Paolo Bonzini --- v4->v5: - move here all non-KVM parts - a

[PATCH for-9.1 v5 0/3] kvm: add support for guest physical bits

2024-03-25 Thread Paolo Bonzini
The adjustments based on Gerd' v4 patches are small, the main change is the introduction of ABI-compatible machine types for 9.0 so that the new property is only available on 9.1. Gerd Hoffmann (2): target/i386: add guest-phys-bits cpu property kvm: add support for guest physical bits Paolo

[PATCH v2] pc_q35: remove unnecessary m->alias assignment

2024-03-25 Thread Paolo Bonzini
The assignment is already inherited from pc-q35-8.2. Signed-off-by: Paolo Bonzini --- hw/i386/pc_q35.c | 1 - 1 file changed, 1 deletion(-) diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index b5922b44afa..c7bc8a2041f 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -393,7 +393,6

Re: [PATCH] pc_q35: remove unnecessary m->alias assignment

2024-03-25 Thread Paolo Bonzini
On Mon, Mar 25, 2024 at 3:02 PM Peter Maydell wrote: > > On Mon, 25 Mar 2024 at 13:59, Paolo Bonzini wrote: > > > > The assignment is already inherited from pc-q35-8.2. -s > > Missing signed-off-by and a stray "-s" in the commit message :-) You can proba

[PATCH] pc_q35: remove unnecessary m->alias assignment

2024-03-25 Thread Paolo Bonzini
The assignment is already inherited from pc-q35-8.2. -s --- hw/i386/pc_q35.c | 1 - 1 file changed, 1 deletion(-) diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index b5922b44afa..c7bc8a2041f 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -393,7 +393,6 @@ static void

Re: [PATCH] qapi: document leftover members in qapi/run-state.json

2024-03-25 Thread Paolo Bonzini
Il lun 25 mar 2024, 12:36 Markus Armbruster ha scritto: > Paolo Bonzini writes: > > > Suggested-by: Markus Armbruster > > Signed-off-by: Paolo Bonzini > > --- > > qapi/run-state.json | 26 +- > > 1 file changed, 25 insertions(

Re: [PATCH 15/26] target/i386: Implement mc->kvm_type() to get VM type

2024-03-25 Thread Paolo Bonzini
On Mon, Mar 25, 2024 at 10:29 AM Philippe Mathieu-Daudé wrote: > > On 22/3/24 19:11, Paolo Bonzini wrote: > > KVM is introducing a new API to create confidential guests, which > > will be used by TDX and SEV-SNP but is also available for SEV and > > SEV-ES. The API u

Re: [PATCH 03/26] confidential guest support: Add kvm_init() and kvm_reset() in class

2024-03-25 Thread Paolo Bonzini
On Mon, Mar 25, 2024 at 9:33 AM Philippe Mathieu-Daudé wrote: > > Hi Xiaoyao, > > On 22/3/24 19:10, Paolo Bonzini wrote: > > From: Xiaoyao Li > > > > Different confidential VMs in different architectures all have the same > > needs to do their specific initial

[PATCH] qapi: document leftover members in qapi/run-state.json

2024-03-25 Thread Paolo Bonzini
Suggested-by: Markus Armbruster Signed-off-by: Paolo Bonzini --- qapi/run-state.json | 26 +- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/qapi/run-state.json b/qapi/run-state.json index 789fc34559a..cb4a2b43293 100644 --- a/qapi/run-state.json +++ b

[PATCH] qapi: document leftover members in qapi/stats.json

2024-03-25 Thread Paolo Bonzini
Suggested-by: Markus Armbruster Signed-off-by: Paolo Bonzini --- qapi/stats.json | 14 +- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/qapi/stats.json b/qapi/stats.json index ce9d8161ecb..578b52c7ef7 100644 --- a/qapi/stats.json +++ b/qapi/stats.json @@ -114,13

[PATCH] kvm: use configs/ definition to conditionalize debug support

2024-03-22 Thread Paolo Bonzini
If an architecture adds support for KVM_CAP_SET_GUEST_DEBUG but QEMU does not have the necessary code, QEMU will fail to build after updating kernel headers. Avoid this by using a #define in config-target.h instead of KVM_CAP_SET_GUEST_DEBUG. Signed-off-by: Paolo Bonzini --- configs/targets

<    4   5   6   7   8   9   10   11   12   13   >