Re: [PATCH v2] qemu-options: Deprecate "-runas" and introduce "-run-with user=..." instead

2024-05-06 Thread Paolo Bonzini
On Mon, May 6, 2024 at 1:21 PM Thomas Huth wrote: > > The old "-runas" option has the disadvantage that it is not visible > in the QAPI schema, so it is not available via the normal introspection > mechanisms. We've recently introduced the "-run-with" option for exactly > this purpose, which is

Call for Presentations: KVM Forum 2024

2024-05-06 Thread Paolo Bonzini
### KVM Forum 2024 September 22-23, 2024 Brno, Czech Republic https://kvm-forum.qemu.org/ ### KVM Forum is an annual event that presents a rare opportunity for developers and users to discuss the state of Linux virtualization technology and plan

[qemu-web PATCH] blog: KVM Forum 2024 CFP

2024-05-06 Thread Paolo Bonzini
Add a new post linking to the KVM Forum 2024 Call for Presentations. Thanks to Stefan Hajnoczi for providing a draft of this post! Cc: Stefan Hajnoczi Signed-off-by: Paolo Bonzini --- _posts/2024-05-06-kvm-forum-cfp.md | 36 ++ 1 file changed, 36 insertions

[PATCH v2 17/25] target/i386: move C0-FF opcodes to new decoder (except for x87)

2024-05-06 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 --- target/i386/tcg/decode

[PATCH v2 15/25] target/i386: move 60-BF opcodes to new decoder

2024-05-06 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 | 3 + target/i386/tcg

[PATCH v2 05/25] target/i386: cleanup cc_op changes for REP/REPZ/REPNZ

2024-05-06 Thread Paolo Bonzini
-dependent cc_op could be observed. Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 13 + 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c index 3f1d2858fc9..6b766f5dd3f 100644 --- a/target/i386/tcg

[PATCH v2 21/25] target/i386: port extensions of one-byte opcodes to new decoder

2024-05-06 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. Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- target/i386/tcg/decode-new.h | 1 + target/i386/tcg

[PATCH v2 09/25] target/i386: clarify the "reg" argument of functions returning CCPrepare

2024-05-06 Thread Paolo Bonzini
Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 15 --- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c index 2cd7868d596..7efd12cbe7e 100644 --- a/target/i386/tcg/translate.c +++ b/target/i386/tcg

[PATCH v2 19/25] target/i386: move remaining conditional operations to new decoder

2024-05-06 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. Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- target/i386/tcg/decode-new.h | 1 + target/i386/tcg

[PATCH v2 20/25] target/i386: move BSWAP to new decoder

2024-05-06 Thread Paolo Bonzini
Reviewed-by: Richard Henderson 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

[PATCH v2 13/25] target/i386: extract gen_far_call/jmp, reordering temporaries

2024-05-06 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. Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 93 + 1 file changed, 53 insertions

[PATCH v2 18/25] target/i386: merge and enlarge a few ranges for call to disas_insn_new

2024-05-06 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. Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 5 ++--- 1 file changed, 2

[PATCH v2 06/25] target/i386: pull cc_op update to callers of gen_jmp_rel{, _csize}

2024-05-06 Thread Paolo Bonzini
should have done it. Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c index 6b766f5dd3f..17bf85da0ce 100644 --- a/target/i386/tcg/translate.c +++ b/target

[PATCH v2 08/25] target/i386: do not use s->T0 and s->T1 as scratch registers for CCPrepare

2024-05-06 Thread Paolo Bonzini
Instead of using s->T0 or s->T1, create a scratch register when computing the C, NC, L or LE conditions. Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 17 ++--- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/target/i386/tcg/translate.c b/targe

[PATCH v2 22/25] target/i386: remove now-converted opcodes from old decoder

2024-05-06 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. Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- target/i386/helper.h| 11 - target/i386/tcg

[PATCH v2 07/25] target/i386: extend cc_* when using them to compute flags

2024-05-06 Thread Paolo Bonzini
Instead of using s->tmp0 or s->tmp4 as the result, just extend the cc_* registers in place. It is harmless and, if multiple setcc instructions are used, the optimizer will be able to remove the redundant ones. Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.

[PATCH v2 25/25] target/i386: remove duplicate prefix decoding

2024-05-06 Thread Paolo Bonzini
into i386_tr_translate_insn. Reviewed-by: Richard Henderson 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

[PATCH v2 23/25] target/i386: decode x87 instructions in a separate function

2024-05-06 Thread Paolo Bonzini
-by: Paolo Bonzini --- target/i386/tcg/translate.c | 1120 ++- 1 file changed, 566 insertions(+), 554 deletions(-) diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c index 634b162ae97..e077fdd8c71 100644 --- a/target/i386/tcg/translate.c +++ b/target

[PATCH v2 16/25] target/i386: generalize gen_movl_seg_T0

2024-05-06 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. Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c

[PATCH v2 14/25] target/i386: allow instructions with more than one immediate

2024-05-06 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. Reviewed-by: Richard Henderson Signed-off-by: Pa

[PATCH v2 24/25] target/i386: split legacy decoder into a separate function

2024-05-06 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. Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini

[PATCH v2 10/25] target/i386: cleanup *gen_eob*

2024-05-06 Thread Paolo Bonzini
Create a new wrapper for syscall/sysret, and do not go through multiple layers of wrappers. Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 25 - 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/target/i386/tcg/translate.c b/target/i386/tcg

[PATCH v2 11/25] target/i386: reintroduce debugging mechanism

2024-05-06 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 e36ed4dcc10..705e8f3ef49 100644

[PATCH v2 02/25] target/i386: use TSTEQ/TSTNE to check flags

2024-05-06 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 v2 03/25] target/i386: remove mask from CCPrepare

2024-05-06 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 v2 12/25] target/i386: move 00-5F opcodes to new decoder

2024-05-06 Thread Paolo Bonzini
Reviewed-by: Richard Henderson 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

[PATCH v2 04/25] target/i386: cc_op is not dynamic in gen_jcc1

2024-05-06 Thread Paolo Bonzini
nts gen_prepare_cc from returning s->cc_srcT. Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c index 9aecd415b38..3f1d2858fc9 100644 --- a/target/i3

[PATCH v2 01/25] target/i386: use TSTEQ/TSTNE to test low bits

2024-05-06 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 v2 00/25] target/i386: convert 1-byte opcodes to new decoder

2024-05-06 Thread Paolo Bonzini
rate temporaries until after all early return cases - compute carry of rotation operations with extract instead of setcond(TSTNE) - gen_shift_dynamic_flags() uses cc_op_live[] to generate movcond operations - a few alignment changes to decoding tables and removals of TABs Paolo Bonzini (25

[PULL 09/46] avr: switch boards to "default y"

2024-05-06 Thread Paolo Bonzini
Some targets use "default y" for boards to filter out those that require TCG. For consistency we are switching all other targets to do the same. Continue with AVR. No changes to generated config-devices.mak file. Signed-off-by: Paolo Bonzini --- configs/devices/avr-softmmu/defau

[PULL 10/46] cris: switch boards to "default y"

2024-05-06 Thread Paolo Bonzini
Some targets use "default y" for boards to filter out those that require TCG. For consistency we are switching all other targets to do the same. Continue with CRIS. No changes to generated config-devices.mak file. Signed-off-by: Paolo Bonzini --- configs/devices/cris-softmmu/defau

[PULL 35/46] qemu-option: remove QemuOpt from typedefs.h

2024-05-06 Thread Paolo Bonzini
QemuOpt is basically an internal data structure. It has no business being defined except if you need functions from include/qemu/option.h. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Paolo Bonzini --- include/qemu/option.h | 2 ++ include/qemu/typedefs.h | 1 - 2 files changed, 2

[PULL 41/46] display: remove GraphicHwOps from typedefs.h

2024-05-06 Thread Paolo Bonzini
Basically all uses of GraphicHwOps are defining an instance of it, which requires the full definition of the struct. It is pointless to have it in typedefs.h. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Paolo Bonzini --- hw/display/vga_int.h| 1 + include/qemu/typedefs.h | 1 - 2

[PULL 08/46] arm: switch boards to "default y"

2024-05-06 Thread Paolo Bonzini
For ARM targets, boards that require TCG are already using "default y". Switch ARM_VIRT to the same selection mechanism. No changes to generated config-devices.mak file. Signed-off-by: Paolo Bonzini --- configs/devices/arm-softmmu/default.mak | 3 ++- .gitlab-ci.d/bui

[PULL 13/46] loongarch: switch boards to "default y"

2024-05-06 Thread Paolo Bonzini
Some targets use "default y" for boards to filter out those that require TCG. For consistency we are switching all other targets to do the same. Continue with Loongarch. No changes to generated config-devices.mak file. Signed-off-by: Paolo Bonzini --- configs/devices/loongarch

[PULL 43/46] pci: remove some types from typedefs.h

2024-05-06 Thread Paolo Bonzini
For types that are embedded in structs defined by pci.h, the definition is pretty much required to be available. Remove them from typedefs.h. Signed-off-by: Paolo Bonzini --- include/hw/pci/pcie.h | 3 +++ include/hw/pci/pcie_aer.h | 38 ++--- include

[PULL 45/46] migration: do not include coroutine_int.h

2024-05-06 Thread Paolo Bonzini
Migration code needs no private fields of the coroutine backend. Include the "regular" coroutine.h header. Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- migration/migration.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migration/migration.h b

[PULL 26/46] xtensa: switch boards to "default y"

2024-05-06 Thread Paolo Bonzini
Some targets use "default y" for boards to filter out those that require TCG. For consistency we are switching all other targets to do the same. Continue with Xtensa. No changes to generated config-devices.mak file. Signed-off-by: Paolo Bonzini --- configs/devices/xtensa-softmmu/d

[PULL 23/46] sh4: switch boards to "default y"

2024-05-06 Thread Paolo Bonzini
Some targets use "default y" for boards to filter out those that require TCG. For consistency we are switching all other targets to do the same. Continue with SH. No changes to generated config-devices.mak file. Signed-off-by: Paolo Bonzini --- configs/devices/sh4-softmmu/defau

[PULL 21/46] rx: switch boards to "default y"

2024-05-06 Thread Paolo Bonzini
Some targets use "default y" for boards to filter out those that require TCG. For consistency we are switching all other targets to do the same. Continue with RX. No changes to generated config-devices.mak file. Signed-off-by: Paolo Bonzini --- configs/devices/rx-softmmu/defau

[PULL 11/46] hppa: switch boards to "default y"

2024-05-06 Thread Paolo Bonzini
Some targets use "default y" for boards to filter out those that require TCG. For consistency we are switching all other targets to do the same. Continue with PARISC. No changes to generated config-devices.mak file. Signed-off-by: Paolo Bonzini --- configs/devices/hppa-softmmu/defau

[PULL 17/46] mips: switch boards to "default y"

2024-05-06 Thread Paolo Bonzini
Some targets use "default y" for boards to filter out those that require TCG. For consistency we are switching all other targets to do the same. Continue with MIPS. No changes to generated config-devices.mak file. Signed-off-by: Paolo Bonzini --- configs/devices/mips-softmmu/

[PULL 44/46] kvm: move target-dependent interrupt routing out of kvm-all.c

2024-05-06 Thread Paolo Bonzini
Let hw/hyperv/hyperv.c and hw/intc/s390_flic.c handle (respectively) SynIC and adapter routes, removing the code from target-independent files. This also removes the only occurrence of AdapterInfo outside s390 code, so remove that from typedefs.h. Signed-off-by: Paolo Bonzini --- include/hw

[PULL 40/46] qapi/machine: remove types from typedefs.h

2024-05-06 Thread Paolo Bonzini
They are needed in very few places, which already depends on other generated QAPI files. The benefit of having these types in typedefs.h is small. Signed-off-by: Paolo Bonzini --- include/hw/core/cpu.h | 1 + include/qemu/typedefs.h | 2 -- 2 files changed, 1 insertion(+), 2 deletions

[PULL 15/46] microblaze: switch boards to "default y"

2024-05-06 Thread Paolo Bonzini
Some targets use "default y" for boards to filter out those that require TCG. For consistency we are switching all other targets to do the same. Continue with Microblaze. No changes to generated config-devices.mak file. Signed-off-by: Paolo Bonzini --- configs/devices/microbla

[PULL 42/46] tcg: remove CPU* types from typedefs.h

2024-05-06 Thread Paolo Bonzini
-off-by: Paolo Bonzini --- accel/tcg/tb-jmp-cache.h | 4 ++-- include/hw/core/cpu.h| 10 -- include/qemu/typedefs.h | 3 --- system/physmem.c | 4 ++-- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/accel/tcg/tb-jmp-cache.h b/accel/tcg/tb-jmp-cache.h index

[PULL 46/46] qga/commands-posix: fix typo in qmp_guest_set_user_password

2024-05-06 Thread Paolo Bonzini
qga/commands-posix.c does not compile on FreeBSD due to a confusion between "chpasswdata" (wrong) and "chpasswddata" (used in the #else branch). Fixes: 0e5b75a390 ("qga/commands-posix: qmp_guest_set_user_password: use ga_run_command helper") Reviewed-by: Thomas Huth

[PULL 18/46] openrisc: switch boards to "default y"

2024-05-06 Thread Paolo Bonzini
Some targets use "default y" for boards to filter out those that require TCG. For consistency we are switching all other targets to do the same. Continue with OpenRISC. No changes to generated config-devices.mak file. Signed-off-by: Paolo Bonzini --- configs/devices/or1k-softmmu/d

[PULL 19/46] ppc: switch boards to "default y"

2024-05-06 Thread Paolo Bonzini
Signed-off-by: Paolo Bonzini --- configs/devices/ppc-softmmu/default.mak | 26 --- configs/devices/ppc64-softmmu/default.mak | 8 +++ .gitlab-ci.d/buildtest.yml| 2 +- hw/ppc/Kconfig| 26 +++ target/p

[PULL 07/46] alpha: switch boards to "default y"

2024-05-06 Thread Paolo Bonzini
Some targets use "default y" for boards to filter out those that require TCG. For consistency we are switching all other targets to do the same. Start with Alpha. No changes to generated config-devices.mak file. Signed-off-by: Paolo Bonzini --- configs/devices/alpha-softmmu/defau

[PULL 16/46] meson: make target endianneess available to Kconfig

2024-05-06 Thread Paolo Bonzini
a "depends on" clause. Signed-off-by: Paolo Bonzini --- meson.build| 12 +++- target/Kconfig | 3 +++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/meson.build b/meson.build index 5db2dbc12ec..43da4923721 100644 --- a/meson.build +++ b/meson.build @@ -3005,7 +3005

[PULL 28/46] target/i386: Introduce SapphireRapids-v3 to add missing features

2024-05-06 Thread Paolo Bonzini
From: Lei Wang Add the missing features(ss, tsc-adjust, cldemote, movdiri, movdir64b) in the SapphireRapids-v3 CPU model. Signed-off-by: Lei Wang Message-ID: <20240424072912.43188-1-lei4.w...@intel.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 11 +++ 1 file chang

[PULL 34/46] net: remove AnnounceTimer from typedefs.h

2024-05-06 Thread Paolo Bonzini
Exactly nobody needs it there. Place the typedef in the header that defines the struct. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Paolo Bonzini --- include/net/announce.h | 4 ++-- include/qemu/typedefs.h | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/include

[PULL 03/46] tests/qtest: skip m48t59-test if the machine is absent

2024-05-06 Thread Paolo Bonzini
Together with the series at https://patchew.org/QEMU/20240423131612.28362-1-pbonz...@redhat.com/, this allows adding sparc-softmmu to the target list of the build-without-defaults CI job. Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- tests/qtest/m48t59-test.c | 11

[PULL 38/46] migration: remove PostcopyDiscardState from typedefs.h

2024-05-06 Thread Paolo Bonzini
It is defined and referred to exclusively from a .c file. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Paolo Bonzini --- include/qemu/typedefs.h | 1 - migration/postcopy-ram.c | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/include/qemu/typedefs.h b/include

[PULL 29/46] bitmap: Use g_try_new0/g_new0/g_renew

2024-05-06 Thread Paolo Bonzini
() has worse diagnostics than g_new0, which uses g_error to report the actual allocation size that failed. Cc: qemu-triv...@nongnu.org Cc: Roman Kiryanov Reviewed-by: Daniel Berrange Signed-off-by: Paolo Bonzini --- include/qemu/bitmap.h | 19 --- 1 file changed, 8 insertions(+), 11

[PULL 25/46] tricore: switch boards to "default y"

2024-05-06 Thread Paolo Bonzini
Some targets use "default y" for boards to filter out those that require TCG. For consistency we are switching all other targets to do the same. Continue with TriCore. No changes to generated config-devices.mak file. Signed-off-by: Paolo Bonzini --- configs/devices/tricore-softmmu/d

[PULL 27/46] docs: document new convention for Kconfig board symbols

2024-05-06 Thread Paolo Bonzini
Boards have been switched to use "default y" and are now listed in default-configs/*.mak only for convenience. Document this change and the new possibilities that it allows. Signed-off-by: Paolo Bonzini --- docs/devel/kconfig.rst | 14 -- 1 file changed, 12 insert

[PULL 36/46] intc: remove PICCommonState from typedefs.h

2024-05-06 Thread Paolo Bonzini
Move it to the existing "PIC related things" header, hw/intc/i8259.h. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Paolo Bonzini --- include/hw/intc/i8259.h | 2 ++ include/qemu/typedefs.h | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/include/hw/intc

[PULL 31/46] fw_cfg: remove useless declarations from typedefs.h

2024-05-06 Thread Paolo Bonzini
Only FWCfgState is used as part of APIs such as acpi_ghes_add_fw_cfg. Everything else need not be in typedefs.h. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Paolo Bonzini --- include/hw/nvram/fw_cfg.h | 2 ++ include/qemu/typedefs.h | 3 --- 2 files changed, 2 insertions(+), 3

[PULL 32/46] qdev-core: remove DeviceListener from typedefs.h

2024-05-06 Thread Paolo Bonzini
It is needed in very few places, which already depend on other parts of qdev-core.h files. The benefit of having it in typedefs.h is small. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Paolo Bonzini --- include/hw/qdev-core.h | 1 + include/qemu/typedefs.h | 1 - 2 files changed, 1

[PULL 37/46] lockable: remove QemuLockable from typedefs.h

2024-05-06 Thread Paolo Bonzini
*and* using QemuLockable as a part of the CoQueue API). Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Paolo Bonzini --- include/qemu/coroutine.h | 4 ++-- include/qemu/lockable.h | 4 ++-- include/qemu/typedefs.h | 1 - 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/include/qemu

[PULL 20/46] riscv: switch boards to "default y"

2024-05-06 Thread Paolo Bonzini
Some targets use "default y" for boards to filter out those that require TCG. For consistency we are switching all other targets to do the same. Continue with RISC-V. No changes to generated config-devices.mak file. Signed-off-by: Paolo Bonzini --- configs/devices/riscv32-softmmu/d

[PULL 30/46] build: do not build virtio-vga-gl if virgl/opengl not available

2024-05-06 Thread Paolo Bonzini
If virgl and opengl are not available, the build process creates a useless libvirtio-vga-gl module that does not have any device in it. Follow the example of virtio-vga-rutabaga and do not build the module at all in that case. Signed-off-by: Paolo Bonzini --- hw/display/meson.build | 14

[PULL 33/46] numa: remove types from typedefs.h

2024-05-06 Thread Paolo Bonzini
Exactly nobody needs them there. Place the typedef in the header that defines the struct. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Paolo Bonzini --- include/qemu/typedefs.h | 2 -- include/sysemu/numa.h | 8 2 files changed, 4 insertions(+), 6 deletions(-) diff --git

[PULL 14/46] m68k: switch boards to "default y"

2024-05-06 Thread Paolo Bonzini
Some targets use "default y" for boards to filter out those that require TCG. For consistency we are switching all other targets to do the same. Continue with m68k. No changes to generated config-devices.mak file. Signed-off-by: Paolo Bonzini --- configs/devices/m68k-softmmu/defaul

[PULL 22/46] s390x: switch boards to "default y"

2024-05-06 Thread Paolo Bonzini
Some targets use "default y" for boards to filter out those that require TCG. For consistency we are switching all other targets to do the same. Continue with s390. No changes to generated config-devices.mak file. Signed-off-by: Paolo Bonzini --- configs/devices/s390x-softmmu/defau

[PULL 12/46] i386: switch boards to "default y"

2024-05-06 Thread Paolo Bonzini
Some targets use "default y" for boards to filter out those that require TCG. For consistency we are switching all other targets to do the same. Continue with i386. No changes to generated config-devices.mak files, other than adding CONFIG_I386 to the x86_64-softmmu target. Signed-off

[PULL 39/46] monitor: remove MonitorDef from typedefs.h

2024-05-06 Thread Paolo Bonzini
in typedefs.h is very small, do it and remove the type from typedefs.h. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Paolo Bonzini --- include/monitor/hmp-target.h | 11 +++ include/qemu/typedefs.h | 1 - stubs/target-monitor-defs.c | 3 +-- 3 files changed, 8 insertions(+), 7

[PULL 24/46] sparc: switch boards to "default y"

2024-05-06 Thread Paolo Bonzini
Some targets use "default y" for boards to filter out those that require TCG. For consistency we are switching all other targets to do the same. Continue with SPARC and SPARC64. No changes to generated config-devices.mak file. Signed-off-by: Paolo Bonzini --- configs/devices/spa

[PULL 04/46] gitlab-ci: adjust msys2-64bit to be able to run qtest

2024-05-06 Thread Paolo Bonzini
sparc-softmmu is able to run a subset of qtests when compiled --without-default-devices, so use it instead of x86_64-softmmu for the msys2 run. Signed-off-by: Paolo Bonzini --- .gitlab-ci.d/windows.yml | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.gitlab-ci.d

[PULL 06/46] configs: list "implied" device groups in the default configs

2024-05-06 Thread Paolo Bonzini
Match the optional device groups to what is actually included in the config-devices.mak files. Signed-off-by: Paolo Bonzini --- configs/devices/arm-softmmu/default.mak | 2 ++ configs/devices/loongarch64-softmmu/default.mak | 3 +++ configs/devices/or1k-softmmu/default.mak| 4

[PULL 01/46] target/i386: Give IRQs a chance when resetting HF_INHIBIT_IRQ_MASK

2024-05-06 Thread Paolo Bonzini
Signed-off-by: Ruihan Li Message-ID: <20240415064518.4951-4-lrh2...@pku.edu.cn> Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 14 ++ 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c

[PULL 05/46] kvm: ppc: disable sPAPR code if CONFIG_PSERIES is disabled

2024-05-06 Thread Paolo Bonzini
kvmppc_set_papr(). Signed-off-by: Paolo Bonzini --- target/ppc/kvm.c | 17 + 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c index 63930d4a77d..46fccff7865 100644 --- a/target/ppc/kvm.c +++ b/target/ppc/kvm.c @@ -49,6 +49,8 @@ #include

[PULL 02/46] Kconfig: kvm: allow building without any board

2024-05-06 Thread Paolo Bonzini
is overkill, failing the build is impolite. Just include the PCI subsystem if kvm_arch_fixup_msi_route() requires it, as is the case for ARM and x86. Reported-by: Philippe Mathieu-Daudé Tested-by: Fabiano Rosas Signed-off-by: Paolo Bonzini --- target/arm/Kconfig | 2 ++ target/i386/Kconfig | 2 ++ 2

[PULL 00/46] Mostly build system and other cleanups patches for 2024-05-06

2024-05-06 Thread Paolo Bonzini
HF_INHIBIT_IRQ_MASK Lei Wang (1): target/i386: Introduce SapphireRapids-v3 to add missing features Paolo Bonzini (44): Kconfig: kvm: allow building without any board tests/qtest: skip m48t59-test if the machine is absent gitlab-ci: adjust msys2-64bit to be able to

Re: [PATCH v3] target/i386: Fix CPUID encoding of Fn8000001E_ECX

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

[PATCH] qga/commands-posix: fix typo in qmp_guest_set_user_password

2024-05-03 Thread Paolo Bonzini
qga/commands-posix.c does not compile on FreeBSD due to a confusion between "chpasswdata" (wrong) and "chpasswddata" (used in the #else branch). Signed-off-by: Paolo Bonzini --- qga/commands-posix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qga/co

[PATCH] kvm: ppc: disable sPAPR code if CONFIG_PSERIES is disabled

2024-05-03 Thread Paolo Bonzini
kvmppc_set_papr(). Signed-off-by: Paolo Bonzini --- target/ppc/kvm.c | 17 + 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c index 63930d4a77d..46fccff7865 100644 --- a/target/ppc/kvm.c +++ b/target/ppc/kvm.c @@ -49,6 +49,8 @@ #include

Re: [PATCH] gitlab-ci: adjust msys2-64bit to be able to run qtest

2024-05-03 Thread Paolo Bonzini
On Fri, May 3, 2024 at 2:29 PM Daniel P. Berrangé wrote: > We have compile coverage of x86_64-softmmu on the cross-win64 mingw > job. So we're not loosing any compile coverage in aggregate with > this change, in fact we improve it by compiling sparc here. > > The msys2-64bit job currently takes

[PATCH] gitlab-ci: adjust msys2-64bit to be able to run qtest

2024-05-03 Thread Paolo Bonzini
sparc-softmmu is able to run a subset of qtests when compiled --without-default-devices, so use it instead of x86_64-softmmu for the msys2 run. Signed-off-by: Paolo Bonzini --- .gitlab-ci.d/windows.yml | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.gitlab-ci.d

Re: [PATCH 1/5] accel/tcg: Simplify meson.build using subdir_done()

2024-05-03 Thread Paolo Bonzini
On Fri, May 3, 2024 at 11:17 AM Philippe Mathieu-Daudé wrote: > > If CONFIG_TCG is not defined, skip this directory calling > subdir_done(). Then since we know CONFIG_TCG is defined, > we don't need to check for it. You can only remove the check if you assume that TCG (unlike e.g. KVM) is

[PATCH] stm32l4x5_usart: add missing class_size

2024-05-03 Thread Paolo Bonzini
: main (main.c:47) Cc: Arnaud Minier Cc: Inès Varhol Cc: Peter Maydell Signed-off-by: Paolo Bonzini --- hw/char/stm32l4x5_usart.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/char/stm32l4x5_usart.c b/hw/char/stm32l4x5_usart.c index 2627aab8324..8dbcc7e19e7 100644 --- a/hw/char

[PATCH] migration: do not include coroutine_int.h

2024-05-03 Thread Paolo Bonzini
Migration code needs no private fields of the coroutine backend. Include the "regular" coroutine.h header. Signed-off-by: Paolo Bonzini --- migration/migration.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migration/migration.h b/migration/migration.h index 8

[PATCH] tests/qtest: skip m48t59-test if the machine is not absent

2024-05-03 Thread Paolo Bonzini
Together with the series at https://patchew.org/QEMU/20240423131612.28362-1-pbonz...@redhat.com/, this allows adding sparc-softmmu to the target list of the build-without-defaults CI job. Signed-off-by: Paolo Bonzini --- tests/qtest/m48t59-test.c | 11 ++- 1 file changed, 6 insertions

Re: [PATCH 00/22] configs: switch boards to "default y"

2024-05-03 Thread Paolo Bonzini
On Tue, Apr 23, 2024 at 3:16 PM Paolo Bonzini wrote: > > Some boards, notably ARM boards that use TCG, are already using > "default y". This was done to remove TCG-only boards from > a KVM-only build in commit 29d9efca16 (2023-04-26). > > This series converts

[PATCH 12/13] tcg: remove CPU* types from typedefs.h

2024-05-02 Thread Paolo Bonzini
-off-by: Paolo Bonzini --- accel/tcg/tb-jmp-cache.h | 4 ++-- include/hw/core/cpu.h| 10 -- include/qemu/typedefs.h | 3 --- system/physmem.c | 4 ++-- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/accel/tcg/tb-jmp-cache.h b/accel/tcg/tb-jmp-cache.h index

[PATCH 10/13] qapi/machine: remove types from typedefs.h

2024-05-02 Thread Paolo Bonzini
They are needed in very few places, which already depends on other generated QAPI files. The benefit of having these types in typedefs.h is small. Signed-off-by: Paolo Bonzini --- include/hw/core/cpu.h | 1 + include/qemu/typedefs.h | 2 -- 2 files changed, 1 insertion(+), 2 deletions

[PATCH 02/13] qdev-core: remove DeviceListener from typedefs.h

2024-05-02 Thread Paolo Bonzini
It is needed in very few places, which already depend on other parts of qdev-core.h files. The benefit of having it in typedefs.h is small. Signed-off-by: Paolo Bonzini --- include/hw/qdev-core.h | 1 + include/qemu/typedefs.h | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git

[PATCH 03/13] numa: remove types from typedefs.h

2024-05-02 Thread Paolo Bonzini
Exactly nobody needs them there. Place the typedef in the header that defines the struct. Signed-off-by: Paolo Bonzini --- include/qemu/typedefs.h | 2 -- include/sysemu/numa.h | 8 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/include/qemu/typedefs.h b/include/qemu

[PATCH 13/13] pci: remove some types from typedefs.h

2024-05-02 Thread Paolo Bonzini
For types that are embedded in structs defined by pci.h, the definition is pretty much required to be available. Remove them from typedefs.h. Signed-off-by: Paolo Bonzini --- include/hw/pci/pcie.h | 3 +++ include/hw/pci/pcie_aer.h | 38 ++--- include

[PATCH 01/13] fw_cfg: remove useless declarations from typedefs.h

2024-05-02 Thread Paolo Bonzini
Only FWCfgState is used as part of APIs such as acpi_ghes_add_fw_cfg. Everything else need not be in typedefs.h. Signed-off-by: Paolo Bonzini --- include/hw/nvram/fw_cfg.h | 2 ++ include/qemu/typedefs.h | 3 --- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/include/hw/nvram

[PATCH 07/13] lockable: remove QemuLockable from typedefs.h

2024-05-02 Thread Paolo Bonzini
*and* using QemuLockable as a part of the CoQueue API). Signed-off-by: Paolo Bonzini --- include/qemu/coroutine.h | 4 ++-- include/qemu/lockable.h | 4 ++-- include/qemu/typedefs.h | 1 - 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/include/qemu/coroutine.h b/include/qemu

[PATCH 04/13] net: remove AnnounceTimer from typedefs.h

2024-05-02 Thread Paolo Bonzini
Exactly nobody needs it there. Place the typedef in the header that defines the struct. Signed-off-by: Paolo Bonzini --- include/net/announce.h | 4 ++-- include/qemu/typedefs.h | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/include/net/announce.h b/include/net

[PATCH 11/13] display: remove GraphicHwOps from typedefs.h

2024-05-02 Thread Paolo Bonzini
Basically all uses of GraphicHwOps are defining an instance of it, which requires the full definition of the struct. It is pointless to have it in typedefs.h. Signed-off-by: Paolo Bonzini --- hw/display/vga_int.h| 1 + include/qemu/typedefs.h | 1 - 2 files changed, 1 insertion(+), 1

[PATCH 06/13] intc: remove PICCommonState from typedefs.h

2024-05-02 Thread Paolo Bonzini
Move it to the existing "PIC related things" header, hw/intc/i8259.h. Signed-off-by: Paolo Bonzini --- include/hw/intc/i8259.h | 2 ++ include/qemu/typedefs.h | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/include/hw/intc/i8259.h b/include/hw/intc/i8259.h index c

[PATCH 05/13] qemu-option: remove QemuOpt from typedefs.h

2024-05-02 Thread Paolo Bonzini
QemuOpt is basically an internal data structure. It has no business being defined except if you need functions from include/qemu/option.h. Signed-off-by: Paolo Bonzini --- include/qemu/option.h | 2 ++ include/qemu/typedefs.h | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git

[PATCH 08/13] migration: remove PostcopyDiscardState from typedefs.h

2024-05-02 Thread Paolo Bonzini
It is defined and referred to exclusively from a .c file. Signed-off-by: Paolo Bonzini --- include/qemu/typedefs.h | 1 - migration/postcopy-ram.c | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h index ab24ca2876c

[PATCH 09/13] monitor: remove MonitorDef from typedefs.h

2024-05-02 Thread Paolo Bonzini
in typedefs.h is very small, do it and remove the type from typedefs.h. Signed-off-by: Paolo Bonzini --- include/monitor/hmp-target.h | 11 +++ include/qemu/typedefs.h | 1 - stubs/target-monitor-defs.c | 3 +-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/include

[PATCH 00/13] remove some types from typedefs.h

2024-05-02 Thread Paolo Bonzini
eclarations of structs. I did that for patch 12 (tcg) because there are already a couple of forward declataions in include/hw/core/cpu.h, but that's more as food for thought than anything else. Paolo Paolo Bonzini (13): fw_cfg: remove useless declarations from typedefs.h qdev-core: remove DeviceListener

<    1   2   3   4   5   6   7   8   9   10   >