[PATCH v2 3/5] qemu/uri: Use QueryParams type definition

2023-06-05 Thread Philippe Mathieu-Daudé
Follow QEMU CODING_STYLE, use the type definition. Signed-off-by: Philippe Mathieu-Daudé --- include/qemu/uri.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/qemu/uri.h b/include/qemu/uri.h index b43f35a6a6..2875c51417 100644 --- a/include/qemu/uri.h +++ b/include/q

[PATCH v2 2/5] tcg/tcg-op-vec: Remove left over _link_error() definitions

2023-06-05 Thread Philippe Mathieu-Daudé
In commit d56fea79f9 ("tcg: Move TCG_{LOW,HIGH} to tcg-internal.h") we replaced the "_link_error" definitions with modern QEMU_ERROR() attribute markup. We covered tcg-op.c but forgot to completely clean tcg-op-vec.c. Do it now. Signed-off-by: Philippe Mathieu-Daudé --- tcg/tcg-op-vec.c | 11 ---

Re: [PATCH v2 04/20] qemu-file: We only call qemu_file_transferred_* on the sending side

2023-06-05 Thread Peter Xu
On Tue, May 30, 2023 at 08:39:25PM +0200, Juan Quintela wrote: > Remove the increase in qemu_file_fill_buffer() and add asserts to > qemu_file_transferred* functions. > > Signed-off-by: Juan Quintela The read side accounting does look a bit weird and never caught my notice.. Maybe worth also to

Re: [PATCH v2 05/20] qemu_file: Use a stat64 for qemu_file_transferred

2023-06-05 Thread Peter Xu
On Tue, May 30, 2023 at 08:39:26PM +0200, Juan Quintela wrote: > This way we can read it from any thread. > I checked that it gives the same value than the current one. We never > use to qemu_files at the same time. > > Signed-off-by: Juan Quintela The follow up patch may be better to be squash

Re: [PATCH v2 1/4] util: Add iova_tree_foreach_range_data

2023-06-05 Thread Peter Xu
On Thu, Jun 01, 2023 at 02:33:17PM +0800, Zhenzhong Duan wrote: > This function is a variant of iova_tree_foreach and support tranversing > a range to trigger callback with a private data. > > Signed-off-by: Zhenzhong Duan Reviewed-by: Peter Xu -- Peter Xu

Re: [PATCH v2 2/4] intel_iommu: Fix a potential issue in VFIO dirty page sync

2023-06-05 Thread Peter Xu
On Thu, Jun 01, 2023 at 02:33:18PM +0800, Zhenzhong Duan wrote: > Peter Xu found a potential issue: > > "The other thing is when I am looking at the new code I found that we > actually extended the replay() to be used also in dirty tracking of vfio, > in vfio_sync_dirty_bitmap(). For that maybe i

Re: [PATCH v2 3/4] memory: Document update on replay()

2023-06-05 Thread Peter Xu
On Thu, Jun 01, 2023 at 02:33:19PM +0800, Zhenzhong Duan wrote: > diff --git a/include/exec/memory.h b/include/exec/memory.h > index eecc3eec6702..9a523ef62a94 100644 > --- a/include/exec/memory.h > +++ b/include/exec/memory.h > @@ -441,9 +441,9 @@ struct IOMMUMemoryRegionClass { > * call the

Re: [PATCH v3 2/6] target/riscv: support the AIA device emulation with KVM enabled

2023-06-05 Thread Daniel Henrique Barboza
On 5/26/23 03:25, Yong-Xuan Wang wrote: Remove M mode AIA devices when using KVM acceleration Signed-off-by: Yong-Xuan Wang Reviewed-by: Jim Shu --- hw/riscv/virt.c | 199 +--- 1 file changed, 105 insertions(+), 94 deletions(-) diff --git a/hw

Re: [PATCH v3 3/6] target/riscv: check the in-kernel irqchip support

2023-06-05 Thread Daniel Henrique Barboza
On 5/26/23 03:25, Yong-Xuan Wang wrote: We check the in-kernel irqchip support when using KVM acceleration. Signed-off-by: Yong-Xuan Wang Reviewed-by: Jim Shu --- Reviewed-by: Daniel Henrique Barboza target/riscv/kvm.c | 13 - 1 file changed, 12 insertions(+), 1 deletion

Re: [PULL 00/17] Block patches

2023-06-05 Thread Richard Henderson
On 6/5/23 08:45, Hanna Czenczek wrote: The following changes since commit 848a6caa88b9f082c89c9b41afa975761262981d: Merge tag 'migration-20230602-pull-request' ofhttps://gitlab.com/juan.quintela/qemu into staging (2023-06-02 17:33:29 -0700) are available in the Git repository at: http

Re: [PATCH] target/sh4: Emit insn_start for each insn in gUSA region

2023-06-05 Thread Richard Henderson
On 6/5/23 08:01, Philippe Mathieu-Daudé wrote: On 3/6/23 18:55, Richard Henderson wrote: Fixes an assert in tcg_gen_code that we don't accidentally eliminate an insn_start during optimization. Signed-off-by: Richard Henderson --- Test case is tests/tcg/multiarch/testthread.c; the assert for e

Re: [PATCH] accel/tcg: Unmap perf_marker

2023-06-05 Thread Richard Henderson
On 6/5/23 04:41, Ilya Leoshkevich wrote: Coverity complains that perf_marker is never unmapped. Fix by unmapping it in perf_exit(). Fixes: Coverity CID 1507929 Fixes: 5584e2dbe8c9 ("tcg: add perfmap and jitdump") Signed-off-by: Ilya Leoshkevich --- accel/tcg/perf.c | 11 +-- 1 file ch

Re: [PATCH v2 1/5] util/cacheflush: Use declarations from on Darwin

2023-06-05 Thread Richard Henderson
On 6/5/23 10:56, Philippe Mathieu-Daudé wrote: Per the cache(3) man page, sys_icache_invalidate() and sys_dcache_flush() are declared in . Signed-off-by: Philippe Mathieu-Daudé --- util/cacheflush.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) Reviewed-by: Richard Henderson I

Re: [PATCH v2 2/5] tcg/tcg-op-vec: Remove left over _link_error() definitions

2023-06-05 Thread Richard Henderson
On 6/5/23 10:56, Philippe Mathieu-Daudé wrote: In commit d56fea79f9 ("tcg: Move TCG_{LOW,HIGH} to tcg-internal.h") we replaced the "_link_error" definitions with modern QEMU_ERROR() attribute markup. We covered tcg-op.c but forgot to completely clean tcg-op-vec.c. Do it now. Signed-off-by: Phili

Re: [PATCH v2 5/5] bulk: Replace __attribute__((noreturn)) -> G_NORETURN

2023-06-05 Thread Richard Henderson
On 6/5/23 10:56, Philippe Mathieu-Daudé wrote: -static __attribute__((noreturn)) void exit_failure(void) +static G_NORETURN void exit_failure(void) I think attr-spec-seq ('[[noreturn]]') has to come before specifiers-and-qualifiers (i.e. 'static'). To me this means that G_NORETURN being rede

Re: [PULL 0/3] qemu-sparc queue 20230605

2023-06-05 Thread Philippe Mathieu-Daudé
3:29 -0700) are available in the Git repository at:    https://github.com/mcayland/qemu.git  tags/qemu-sparc-20230605 for you to fetch changes up to 36c9189890bfb936b1b086da639e37fd92b50215:    hw/isa/i82378: Remove unused "io" attribute (2023-0

Re: [PULL 0/3] qemu-sparc queue 20230605

2023-06-05 Thread Richard Henderson
ntela/qemu into staging (2023-06-02 17:33:29 -0700) are available in the Git repository at:    https://github.com/mcayland/qemu.git  tags/qemu-sparc-20230605 for you to fetch changes up to 36c9189890bfb936b1b086da639e37fd92b50215:    hw/isa/i82378: Remove unused "io" attribute

[PATCH] util/cacheflush: Avoid flushing dcache twice when not necessary

2023-06-05 Thread Philippe Mathieu-Daudé
describes sys_icache_invalidate() as "equivalent to sys_cache_control(kCacheFunctionPrepareForExecution)", having kCacheFunctionPrepareForExecution defined as: /* Prepare memory for execution. This should be called * after writing machine instructions to memory, before * executing them.

Re: [PATCH] util/cacheflush: Avoid flushing dcache twice when not necessary

2023-06-05 Thread Philippe Mathieu-Daudé
Subject: "Avoid flushing dcache twice [on Darwin] when not necessary" On 5/6/23 21:59, Philippe Mathieu-Daudé wrote: describes sys_icache_invalidate() as "equivalent to sys_cache_control(kCacheFunctionPrepareForExecution)", having kCacheFunctionPrepareForExecution defined as: /* Prepare mem

Re: [PATCH] util/cacheflush: Avoid flushing dcache twice when not necessary

2023-06-05 Thread Richard Henderson
On 6/5/23 12:59, Philippe Mathieu-Daudé wrote: describes sys_icache_invalidate() as "equivalent to sys_cache_control(kCacheFunctionPrepareForExecution)", having kCacheFunctionPrepareForExecution defined as: /* Prepare memory for execution. This should be called * after writing machine i

[PULL 09/52] target/*: Add missing includes of tcg/debug-assert.h

2023-06-05 Thread Richard Henderson
This had been pulled in from tcg/tcg.h, via exec/cpu_ldst.h, via exec/exec-all.h, but the include of tcg.h will be removed. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- target/avr/cpu.c | 1 + target/rx/cpu.c | 1 + target/rx/op_helper.c | 1 + target/tric

[PULL 19/52] tcg: Move TCGHelperInfo and dependencies to tcg/helper-info.h

2023-06-05 Thread Richard Henderson
This will be required outside of tcg-internal.h soon. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/tcg/helper-info.h | 59 +++ tcg/tcg-internal.h| 47 +-- 2 files changed, 60 insertions(+

[PULL 30/52] tcg: Remove NO_CPU_IO_DEFS

2023-06-05 Thread Richard Henderson
>From this remove, it's no longer clear what this is attempting to protect. The last time a use of this define was added to the source tree, as opposed to merely moved around, was 2008. There have been many cleanups since that time and this is no longer required for the build to succeed. Reviewed

[PULL 37/52] target/ppc: Inline gen_icount_io_start()

2023-06-05 Thread Richard Henderson
From: Philippe Mathieu-Daudé Now that gen_icount_io_start() is a simple wrapper to translator_io_start(), inline it. Signed-off-by: Philippe Mathieu-Daudé Message-Id: <20230602095439.48102-1-phi...@linaro.org> Reviewed-by: Richard Henderson Signed-off-by: Richard Henderson --- target/ppc/tra

[PULL 14/52] tcg: Move TCGv, dup_const_tl definitions to tcg-op.h

2023-06-05 Thread Richard Henderson
These two items are the last uses of TARGET_LONG_BITS within tcg.h, and are more in common with the other "_tl" definitions within that file. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/tcg/tcg-op.h| 15 ++- include/tcg/tcg.h |

[PULL 01/52] tcg/ppc: Remove TARGET_LONG_BITS, TCG_TYPE_TL

2023-06-05 Thread Richard Henderson
All uses replaced with TCGContext.addr_type. Reviewed-by: Anton Johansson Signed-off-by: Richard Henderson --- tcg/ppc/tcg-target.c.inc | 21 +++-- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/tcg/ppc/tcg-target.c.inc b/tcg/ppc/tcg-target.c.inc index d47a9e347

[PULL 11/52] tcg: Split out tcg-target-reg-bits.h

2023-06-05 Thread Richard Henderson
Often, the only thing we need to know about the TCG host is the register size. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/tcg/tcg.h | 12 +--- tcg/aarch64/tcg-target-reg-bits.h | 12 tcg/arm/tcg-target-reg-bits.h

[PULL 39/52] target/arm: Tidy helpers for translation

2023-06-05 Thread Richard Henderson
Move most includes from *translate*.c to translate.h, ensuring that we get the ordering correct. Ensure cpu.h is first. Use disas/disas.h instead of exec/log.h. Drop otherwise unused includes. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- target/arm/tcg/translate.h

[PULL 02/52] tcg/riscv: Remove TARGET_LONG_BITS, TCG_TYPE_TL

2023-06-05 Thread Richard Henderson
All uses replaced with TCGContext.addr_type. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- tcg/riscv/tcg-target.c.inc | 13 +++-- 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/tcg/riscv/tcg-target.c.inc b/tcg/riscv/tcg-target.c.inc index c02571

[PULL 05/52] tcg: Move TCG_TYPE_TL from tcg.h to tcg-op.h

2023-06-05 Thread Richard Henderson
Removes the only use of TARGET_LONG_BITS from tcg.h, which is to be target independent. Move the symbol to a define in tcg-op.h, which will continue to be target dependent. Rather than complicate matters for the use in tb_gen_code(), expand the definition there. Reviewed-by: Philippe Mathieu-Dau

[PULL 13/52] tcg: Split out tcg/oversized-guest.h

2023-06-05 Thread Richard Henderson
Move a use of TARGET_LONG_BITS out of tcg/tcg.h. Include the new file only where required. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/exec/cpu_ldst.h | 3 +-- include/tcg/oversized-guest.h | 23 +++ include/tcg/tcg.h |

[PULL 06/52] tcg: Widen CPUTLBEntry comparators to 64-bits

2023-06-05 Thread Richard Henderson
This makes CPUTLBEntry agnostic to the address size of the guest. When 32-bit addresses are in effect, we can simply read the low 32 bits of the 64-bit field. Similarly when we need to update the field for setting TLB_NOTDIRTY. For TCG backends that could in theory be big-endian, but in practice

[PULL 28/52] tcg: Move TLB_FLAGS_MASK check out of get_alignment_bits

2023-06-05 Thread Richard Henderson
The replacement isn't ideal, as the raw count of bits is not easily synced with exec/cpu-all.h, but it does remove from tcg.h the target dependency on TARGET_PAGE_BITS_MIN which is built into TLB_FLAGS_MASK. Reviewed-by: Anton Johansson Signed-off-by: Richard Henderson --- include/exec/cpu-all.

[PULL 07/52] tcg: Add tlb_fast_offset to TCGContext

2023-06-05 Thread Richard Henderson
Disconnect the layout of ArchCPU from TCG compilation. Pass the relative offset of 'env' and 'neg.tlb.f' as a parameter. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/exec/cpu-defs.h | 39 +- include/exec/tlb-common.h| 56 +

[PULL 44/52] tcg: Fix PAGE/PROT confusion

2023-06-05 Thread Richard Henderson
The bug was hidden because they happen to have the same values. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- tcg/region.c | 18 +- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/tcg/region.c b/tcg/region.c index bef4c4756f..f8410ba5db

[PULL 20/52] tcg: Pass TCGHelperInfo to tcg_gen_callN

2023-06-05 Thread Richard Henderson
In preparation for compiling tcg/ only once, eliminate the all_helpers array. Instantiate the info structs for the generic helpers in accel/tcg/, and the structs for the target-specific helpers in each translate.c. Since we don't see all of the info structs at startup, initialize at first use, us

[PULL 26/52] tcg: Add insn_start_words to TCGContext

2023-06-05 Thread Richard Henderson
This will enable replacement of TARGET_INSN_START_WORDS in tcg.c. Split out "tcg/insn-start-words.h" and use it in target/. Reviewed-by: Anton Johansson Signed-off-by: Richard Henderson --- include/tcg/insn-start-words.h | 17 + include/tcg/tcg-op.h | 8 incl

[PULL 03/52] tcg/s390x: Remove TARGET_LONG_BITS, TCG_TYPE_TL

2023-06-05 Thread Richard Henderson
All uses replaced with TCGContext.addr_type. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- tcg/s390x/tcg-target.c.inc | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tcg/s390x/tcg-target.c.inc b/tcg/s390x/tcg-target.c.inc index 503126cd66.

[PULL 29/52] tcg: Split tcg/tcg-op-gvec.h

2023-06-05 Thread Richard Henderson
Create tcg/tcg-op-gvec-common.h, moving everything that does not concern TARGET_LONG_BITS. Adjust tcg-op-gvec.c to use the new header. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/tcg/tcg-op-gvec-common.h | 426 + include/tcg/tcg-

[PULL 00/52] tcg patch queue

2023-06-05 Thread Richard Henderson
The following changes since commit b52daaf2c868f2bab102eb5acbf55b2917f46aea: Merge tag 'pull-block-2023-06-05' of https://gitlab.com/hreitz/qemu into staging (2023-06-05 10:27:31 -0700) are available in the Git repository at: https://gitlab.com/rth7680/qemu.git tags/pull-tcg-202

[PULL 41/52] target/*: Add missing includes of exec/translation-block.h

2023-06-05 Thread Richard Henderson
This had been pulled in via exec/exec-all.h, via exec/translator.h, but the include of exec-all.h will be removed. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- target/hexagon/translate.c | 1 + target/loongarch/translate.c | 3 +-- target/mips/tcg/translate.c | 1

[PULL 31/52] exec-all: Widen tb_page_addr_t for user-only

2023-06-05 Thread Richard Henderson
This is a step toward making TranslationBlock agnostic to the address size of the guest. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/exec/exec-all.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/exec/exec-all.h b/include/exe

[PULL 18/52] tcg: Remove outdated comments in helper-head.h

2023-06-05 Thread Richard Henderson
Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/exec/helper-head.h | 18 +++--- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/include/exec/helper-head.h b/include/exec/helper-head.h index f863a6ef5d..a355ef8ebe 100644 --- a/include/ex

[PULL 08/52] target/avr: Add missing includes of qemu/error-report.h

2023-06-05 Thread Richard Henderson
This had been pulled in from tcg/tcg.h, via exec/cpu_ldst.h, via exec/exec-all.h, but the include of tcg.h will be removed. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- target/avr/helper.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/avr/helper.c b/targ

[PULL 36/52] accel/tcg: Introduce translator_io_start

2023-06-05 Thread Richard Henderson
New wrapper around gen_io_start which takes care of the USE_ICOUNT check, as well as marking the DisasContext to end the TB. Remove exec/gen-icount.h. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- MAINTAINERS | 1 - include/exec/gen-

[PULL 25/52] target/sh4: Emit insn_start for each insn in gUSA region

2023-06-05 Thread Richard Henderson
Fixes an assert in tcg_gen_code that we don't accidentally eliminate an insn_start during optimization. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- target/sh4/translate.c | 15 --- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/target/sh4

[PULL 12/52] target/arm: Fix test of TCG_OVERSIZED_GUEST

2023-06-05 Thread Richard Henderson
The symbol is always defined, even if to 0. We wanted to test for TCG_OVERSIZED_GUEST == 0. This fixed, the #error is reached while building arm-softmmu, because TCG_OVERSIZED_GUEST is not true (nor supposed to be true) for arm32 guest on a 32-bit host. But that's ok, because this feature doesn'

[PULL 10/52] *: Add missing includes of tcg/tcg.h

2023-06-05 Thread Richard Henderson
This had been pulled in from exec/cpu_ldst.h, via exec/exec-all.h, but the include of tcg.h will be removed. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- accel/tcg/monitor.c | 1 + accel/tcg/tcg-accel-ops-mttcg.c | 2 +- accel/tcg/tcg-accel-ops-rr.c|

[PULL 21/52] tcg: Move temp_idx and tcgv_i32_temp debug out of line

2023-06-05 Thread Richard Henderson
Removes a multiplicity of calls to __assert_fail, saving up to 360kiB of .text space as measured on an x86_64 host. Old New Less%Change 9257272 680 368592 3.98% qemu-system-aarch64 6100968 5911832 189136 3.10% qemu-system-riscv64 5839112 5707032 132080 2.26% qemu-system-mi

[PULL 50/52] tcg: Build once for system and once for user-only

2023-06-05 Thread Richard Henderson
Create two static libraries for use by each execution mode. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- tcg/meson.build | 30 +++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/tcg/meson.build b/tcg/meson.build index bdc185

[PULL 46/52] tcg: Remove target-specific headers from tcg.[ch]

2023-06-05 Thread Richard Henderson
This finally paves the way for tcg/ to be built once per mode. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/tcg/tcg.h | 1 - accel/tcg/plugin-gen.c | 1 + tcg/region.c | 2 +- tcg/tcg-op.c | 2 +- tcg/tcg.c | 2 +- 5 file

[PULL 48/52] plugins: Drop unused headers from exec/plugin-gen.h

2023-06-05 Thread Richard Henderson
Two headers are not required for the rest of the contents of plugin-gen.h. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/exec/plugin-gen.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/exec/plugin-gen.h b/include/exec/plugin-gen.h index e9a976f8

[PULL 24/52] tcg: Split helper-proto.h

2023-06-05 Thread Richard Henderson
Create helper-proto-common.h without the target specific portion. Use that in tcg-op-common.h. Include helper-proto.h in target/arm and target/hexagon before helper-info.c.inc; all other targets are already correct in this regard. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Hender

[PULL 38/52] accel/tcg: Move translator_fake_ldb out of line

2023-06-05 Thread Richard Henderson
This is used by exactly one host in extraordinary circumstances. This means that translator.h need not include plugin-gen.h; translator.c already includes plugin-gen.h. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/exec/translator.h | 8 +--- accel/tcg/tra

[PULL 49/52] exec/poison: Do not poison CONFIG_SOFTMMU

2023-06-05 Thread Richard Henderson
If CONFIG_USER_ONLY is ok generically, so is CONFIG_SOFTMMU, because they are exactly opposite. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/exec/poison.h | 1 - scripts/make-config-poison.sh | 5 +++-- 2 files changed, 3 insertions(+), 3 deletions(-)

[PULL 42/52] target/arm: Add missing include of exec/exec-all.h

2023-06-05 Thread Richard Henderson
This had been pulled in via exec/translator.h, but the include of exec-all.h will be removed. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- target/arm/tcg/translate.h | 1 + 1 file changed, 1 insertion(+) diff --git a/target/arm/tcg/translate.h b/target/arm/tcg/trans

[PULL 40/52] target/mips: Tidy helpers for translation

2023-06-05 Thread Richard Henderson
Move most includes from *translate*.c to translate.h, ensuring that we get the ordering correct. Ensure cpu.h is first. Use disas/disas.h instead of exec/log.h. Drop otherwise unused includes. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- target/mips/tcg/translate.h

Re: [PATCH RESEND v2] hw/i2c: Enable an id for the pca954x devices

2023-06-05 Thread Philippe Mathieu-Daudé
Hi Patrick, On 31/5/23 18:34, Patrick Venture wrote: On Wed, Mar 22, 2023 at 2:40 PM Philippe Mathieu-Daudé mailto:phi...@linaro.org>> wrote: On 22/3/23 22:19, Corey Minyard wrote: > On Wed, Mar 22, 2023 at 10:21:36AM -0700, Patrick Venture wrote: >> This allows the devices to

[PULL 17/52] target/hexagon: Include helper-gen.h where needed

2023-06-05 Thread Richard Henderson
This had been included via tcg-op-common.h via tcg-op.h, but that is going away. In idef-parser.y, shuffle some tcg related includes into a more logical order. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- target/hexagon/genptr.c | 1 + target/hexago

[PULL 16/52] target/arm: Include helper-gen.h in translator.h

2023-06-05 Thread Richard Henderson
This had been included via tcg-op-common.h via tcg-op.h, but that is going away. It is needed for inlines within translator.h, so we might as well do it there and not individually in each translator c file. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- target/arm/tcg

[PULL 43/52] accel/tcg: Tidy includes for translator.[ch]

2023-06-05 Thread Richard Henderson
Reduce the header to only bswap.h and cpu_ldst.h. Move exec/translate-all.h to translator.c. Reduce tcg.h and tcg-op.h to tcg-op-common.h. Remove otherwise unused headers. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/exec/translator.h | 6 +- accel/tcg/tr

[PULL 32/52] exec-all: Widen TranslationBlock pc and cs_base to 64-bits

2023-06-05 Thread Richard Henderson
This makes TranslationBlock agnostic to the address size of the guest. Use vaddr for pc, since that's always a virtual address. Use uint64_t for cs_base, since usage varies between guests. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/exec/exec-all.h | 4 ++--

[PULL 33/52] tcg: Spit out exec/translation-block.h

2023-06-05 Thread Richard Henderson
This is all that is required by tcg/ from exec-all.h. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/exec/exec-all.h | 132 +-- include/exec/translation-block.h | 149 +++ tcg/tcg-op-ldst.c

[PULL 52/52] tcg/tcg-op-vec: Remove left over _link_error() definitions

2023-06-05 Thread Richard Henderson
From: Philippe Mathieu-Daudé In commit d56fea79f9 ("tcg: Move TCG_{LOW,HIGH} to tcg-internal.h") we replaced the "_link_error" definitions with modern QEMU_ERROR() attribute markup. We covered tcg-op.c but forgot to completely clean tcg-op-vec.c. Do it now. Signed-off-by: Philippe Mathieu-Daudé

[PULL 45/52] tcg: Move env defines out of NEED_CPU_H in helper-head.h

2023-06-05 Thread Richard Henderson
Since the change to CPUArchState, we have a common typedef that can always be used. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/exec/helper-head.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/exec/helper-head.h b/include/

[PULL 34/52] include/exec: Remove CODE_GEN_AVG_BLOCK_SIZE

2023-06-05 Thread Richard Henderson
The last use was removed with 2ac01d6dafab. Fixes: 2ac01d6dafab ("translate-all: use a binary search tree to track TBs in TBContext") Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/exec/exec-all.h | 10 -- 1 file changed, 10 deletions(-) diff --git a/

[PULL 47/52] plugins: Move plugin_insn_append to translator.c

2023-06-05 Thread Richard Henderson
This function is only used in translator.c, and uses a target-specific typedef: abi_ptr. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/exec/plugin-gen.h | 22 -- accel/tcg/translator.c| 21 + 2 files changed, 21 inse

[PULL 27/52] tcg: Add guest_mo to TCGContext

2023-06-05 Thread Richard Henderson
This replaces of TCG_GUEST_DEFAULT_MO in tcg-op-ldst.c. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/tcg/tcg.h | 1 + accel/tcg/translate-all.c | 5 + tcg/tcg-op-ldst.c | 4 +--- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git

[PULL 35/52] accel/tcg: Move most of gen-icount.h into translator.c

2023-06-05 Thread Richard Henderson
The only usage of gen_tb_start and gen_tb_end are here. Move the static icount_start_insn variable into a local within translator_loop. Simplify the two subroutines by passing in the existing local cflags variable. Leave only the declaration of gen_io_start in gen-icount.h. Reviewed-by: Philippe

[PULL 15/52] tcg: Split tcg/tcg-op-common.h from tcg/tcg-op.h

2023-06-05 Thread Richard Henderson
Create tcg/tcg-op-common.h, moving everything that does not concern TARGET_LONG_BITS or TCGv. Adjust tcg/*.c to use the new header instead of tcg-op.h, in preparation for compiling tcg/ only once. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/tcg/tcg-op-commo

[PULL 22/52] tcg: Split tcg_gen_callN

2023-06-05 Thread Richard Henderson
Make tcg_gen_callN a static function. Create tcg_gen_call[0-7] functions for use by helper-gen.h.inc. Removes a multiplicty of calls to __stack_chk_fail, saving up to 143kiB of .text space as measured on an x86_64 host. Old New Less%Change 680 8741816 146864 1.65% qemu-system-

[PULL 04/52] tcg/sparc64: Remove TARGET_LONG_BITS, TCG_TYPE_TL

2023-06-05 Thread Richard Henderson
All uses replaced with TCGContext.addr_type. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- tcg/sparc64/tcg-target.c.inc | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tcg/sparc64/tcg-target.c.inc b/tcg/sparc64/tcg-target.c.inc index d2d0f60

[PULL 23/52] tcg: Split helper-gen.h

2023-06-05 Thread Richard Henderson
Create helper-gen-common.h without the target specific portion. Use that in tcg-op-common.h. Reorg headers in target/arm to ensure that helper-gen.h is included before helper-info.c.inc. All other targets are already correct in this regard. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Rich

[PULL 51/52] accel/tcg: Unmap perf_marker

2023-06-05 Thread Richard Henderson
From: Ilya Leoshkevich Coverity complains that perf_marker is never unmapped. Fix by unmapping it in perf_exit(). Fixes: Coverity CID 1507929 Fixes: 5584e2dbe8c9 ("tcg: add perfmap and jitdump") Signed-off-by: Ilya Leoshkevich Message-Id: <20230605114134.1169974-1-...@linux.ibm.com> Reviewed-by

Re: [RFC PATCH 1/2] bulk: Replace !CONFIG_SOFTMMU -> CONFIG_USER_ONLY

2023-06-05 Thread Philippe Mathieu-Daudé
On 3/6/23 05:49, Richard Henderson wrote: On 6/2/23 15:58, Philippe Mathieu-Daudé wrote: CONFIG_USER_ONLY is the opposite of CONFIG_SOFTMMU. Replace !CONFIG_SOFTMMU negation by the positive form which is clearer when reviewing code. CONFIG_SOFTMMU should be reserved for the actual softmmu tlb,

Re: [PULL 00/52] tcg patch queue

2023-06-05 Thread Richard Henderson
gitlab.com/rth7680/qemu.git tags/pull-tcg-20230605 for you to fetch changes up to a7f6911c127b1dd1b8764e03b0ebcf0a227a15e4: tcg/tcg-op-vec: Remove left over _link_error() definitions (2023-06-05 12:20:16 -0700) Build tcg/ once

Re: [RFC PATCH 1/2] bulk: Replace !CONFIG_SOFTMMU -> CONFIG_USER_ONLY

2023-06-05 Thread Richard Henderson
On 6/5/23 13:29, Philippe Mathieu-Daudé wrote: On 3/6/23 05:49, Richard Henderson wrote: On 6/2/23 15:58, Philippe Mathieu-Daudé wrote: CONFIG_USER_ONLY is the opposite of CONFIG_SOFTMMU. Replace !CONFIG_SOFTMMU negation by the positive form which is clearer when reviewing code. CONFIG_SOFTMM

[PATCH v4 3/3] pc: q35: Bump max_cpus to 1024

2023-06-05 Thread Suravee Suthikulpanit
Since KVM_MAX_VCPUS is currently defined to 1024 for x86 as shown in arch/x86/include/asm/kvm_host.h, update QEMU limits to the same number. In case KVM could not support the specified number of vcpus, QEMU would return the following error message: qemu-system-x86_64: kvm_init_vcpu: kvm_get_vcp

[PATCH v4 2/3] hw/i386/pc: Default to use SMBIOS 3.0 for newer machine models

2023-06-05 Thread Suravee Suthikulpanit
Currently, pc-q35 and pc-i44fx machine models are default to use SMBIOS 2.8 (32-bit entry point). Since SMBIOS 3.0 (64-bit entry point) is now fully supported since QEMU 7.0, default to use SMBIOS 3.0 for newer machine models. This is necessary to avoid the following message when launching a VM wit

Re: [PATCH v3 1/2] hw/i386/pc: Default to use SMBIOS 3.0 for newer machine models

2023-06-05 Thread Suthikulpanit, Suravee
Michael, On 6/4/2023 7:55 PM, Michael S. Tsirkin wrote: On Fri, Jun 02, 2023 at 10:22:54PM -0500, Suravee Suthikulpanit wrote: --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -199,6 +199,14 @@ static void pc_q35_init(MachineState *machine) pc_guest_info_init(pcms); if (pcm

[PATCH v4 0/3] hw/i386/pc: Update max_cpus and default to SMBIOS

2023-06-05 Thread Suravee Suthikulpanit
In order to support large number of vcpus, a newer 64-bit SMBIOS entry point type is needed. Therefore, upgrade the default SMBIOS version for PC machines to SMBIOS 3.0 for newer systems. Then increase the maximum number of vCPUs for Q35 models to 1024, which is the limit for KVM. Changes from V3:

[PATCH v4 1/3] hw/i386/pc: Refactor logic to set SMBIOS set defaults

2023-06-05 Thread Suravee Suthikulpanit
In preparation for subsequent code to upgrade default SMBIOS entry point type. There is no functional change. Signed-off-by: Suravee Suthikulpanit --- hw/i386/pc.c | 12 hw/i386/pc_piix.c | 9 - hw/i386/pc_q35.c | 8 3 files changed, 12 insertions(+), 17 del

[PATCH] mv64361: Add dummy gigabit ethernet PHY access registers

2023-06-05 Thread BALATON Zoltan
We don't emulate the gigabit ethernet part of the chip but the MorphOS driver accesses these and expects to get some valid looking result otherwise it hangs. Add some minimal dummy implementation to avoid rhis. Signed-off-by: BALATON Zoltan --- This is only used by MorphOS on pegasos2 so most lik

Re: [PATCH] util/cacheflush: Avoid flushing dcache twice when not necessary

2023-06-05 Thread BALATON Zoltan
On Mon, 5 Jun 2023, Philippe Mathieu-Daudé wrote: describes sys_icache_invalidate() as "equivalent to sys_cache_control(kCacheFunctionPrepareForExecution)", having kCacheFunctionPrepareForExecution defined as: /* Prepare memory for execution. This should be called * after writing machine in

Re: [PATCH] hw/acpi: Fix PM control register access

2023-06-05 Thread BALATON Zoltan
n Sun, 28 May 2023, BALATON Zoltan wrote: On pegasos2 which has ACPI as part of VT8231 south bridge the board firmware writes PM control register by accessing the second byte so addr will be 1. This wasn't handled correctly and the write went to addr 0 instead. This fixes ACPI shutdown with pegas

Re: [PATCH v5 2/9] migration: Implement switchover ack logic

2023-06-05 Thread Alex Williamson
On Tue, 30 May 2023 17:48:14 +0300 Avihai Horon wrote: > Implement switchover ack logic. This prevents the source from stopping > the VM and completing the migration until an ACK is received from the > destination that it's OK to do so. > > To achieve this, a new SaveVMHandlers handler switchove

Re: [PATCH] bitops.h: Compile out asserts without --enable-debug

2023-06-05 Thread BALATON Zoltan
On Tue, 23 May 2023, Alex Bennée wrote: Richard Henderson writes: On 5/22/23 15:26, BALATON Zoltan wrote: On Mon, 22 May 2023, Alex Bennée wrote: (ajb: add Richard for his compiler-fu) BALATON Zoltan writes: On Mon, 22 May 2023, Alex Bennée wrote: BALATON Zoltan writes: The low level ex

[RFC PATCH v2 2/9] target/i386: Check for USER_ONLY definition instead of SOFTMMU one

2023-06-05 Thread Philippe Mathieu-Daudé
Since we *might* have user emulation with softmmu, replace the system emulation check by !user emulation one. Signed-off-by: Philippe Mathieu-Daudé --- target/i386/tcg/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/tr

[RFC PATCH v2 9/9] meson: Replace softmmu_ss -> system_ss

2023-06-05 Thread Philippe Mathieu-Daudé
We use the user_ss[] array to hold the user emulation sources, and the softmmu_ss[] array to hold the system emulation ones. Hold the latter in the 'system_ss[]' array for parity with user emulation. Mechanical change doing: $ sed -i -e s/softmmu_ss/system_ss/g $(git grep -l softmmu_ss) Signed

[RFC PATCH v2 5/9] hw/core/cpu: Check for USER_ONLY definition instead of SOFTMMU one

2023-06-05 Thread Philippe Mathieu-Daudé
Since we *might* have user emulation with softmmu, replace the system emulation check by !user emulation one. Invert the #ifdef'ry in TCGCPUOps structure for clarity. Signed-off-by: Philippe Mathieu-Daudé --- include/hw/core/cpu.h | 4 +- include/hw/core/tcg-cpu-ops.h | 102 ++

[RFC PATCH v2 4/9] target/ppc: Check for USER_ONLY definition instead of SOFTMMU one

2023-06-05 Thread Philippe Mathieu-Daudé
Since we *might* have user emulation with softmmu, replace the system emulation check by !user emulation one. Signed-off-by: Philippe Mathieu-Daudé --- target/ppc/cpu_init.c| 20 ++-- target/ppc/helper_regs.c | 6 ++ 2 files changed, 12 insertions(+), 14 deletions(-) di

[RFC PATCH v2 8/9] meson: Replace CONFIG_SOFTMMU -> CONFIG_SYSTEM_ONLY

2023-06-05 Thread Philippe Mathieu-Daudé
Since we *might* have user emulation with softmmu, use the clearer 'CONFIG_SYSTEM_ONLY' key to check for system emulation. Signed-off-by: Philippe Mathieu-Daudé --- meson.build| 4 ++-- accel/qtest/meson.build| 2 +- accel/stubs/meson.build| 2 +-

[RFC PATCH v2 7/9] meson: Alias CONFIG_SOFTMMU -> CONFIG_SYSTEM_ONLY

2023-06-05 Thread Philippe Mathieu-Daudé
We use the CONFIG_USER_ONLY key to describe user emulation, and the CONFIG_SOFTMMU key to describe system emulation. Alias it as 'CONFIG_SYSTEM_ONLY' for parity with user emulation. Signed-off-by: Philippe Mathieu-Daudé --- meson.build | 1 + 1 file changed, 1 insertion(+) diff --git a/meson.bu

[RFC PATCH v2 6/9] accel/tcg: Check for USER_ONLY definition instead of SOFTMMU one

2023-06-05 Thread Philippe Mathieu-Daudé
Since we *might* have user emulation with softmmu, replace the system emulation check by !user emulation one. Invert some if() ladders for clarity. Signed-off-by: Philippe Mathieu-Daudé --- accel/tcg/internal.h | 6 +++--- accel/tcg/cpu-exec.c | 4 ++-- 2 files changed, 5 insertions(+), 5 delet

[RFC PATCH v2 3/9] target/m68k: Check for USER_ONLY definition instead of SOFTMMU one

2023-06-05 Thread Philippe Mathieu-Daudé
Since we *might* have user emulation with softmmu, replace the system emulation check by !user emulation one. Invert some if() ladders for clarity. Signed-off-by: Philippe Mathieu-Daudé --- target/m68k/helper.h| 2 +- target/m68k/cpu.c | 14 ++ target/m68k/helper.c|

[RFC PATCH v2 1/9] target/tricore: Remove pointless CONFIG_SOFTMMU guard

2023-06-05 Thread Philippe Mathieu-Daudé
We don't build any user emulation target for Tricore, only the system emulation. No need to check for it as it is always defined. Signed-off-by: Philippe Mathieu-Daudé --- target/tricore/helper.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/target/tricore/helper.c b/target/tricore/helper

[RFC PATCH v2 0/9] bulk: Replace CONFIG_SOFTMMU by !CONFIG_USER_ONLY/CONFIG_SYSTEM_ONLY

2023-06-05 Thread Philippe Mathieu-Daudé
Richard clarified my confusion with CONFIG_SOFTMMU from v1: https://lore.kernel.org/qemu-devel/7913570a-8bf6-2ac9-6869-fab872737...@linaro.org/ This series tries to make it a bit more explicit by removing mentions of CONFIG_SOFTMMU in non-TCG code. We replace CONFIG_SOFTMMU by !CONFIG_USER_ONLY i

Re: [RFC PATCH v2 0/9] bulk: Replace CONFIG_SOFTMMU by !CONFIG_USER_ONLY/CONFIG_SYSTEM_ONLY

2023-06-05 Thread Philippe Mathieu-Daudé
On 6/6/23 00:24, Philippe Mathieu-Daudé wrote: Richard clarified my confusion with CONFIG_SOFTMMU from v1: https://lore.kernel.org/qemu-devel/7913570a-8bf6-2ac9-6869-fab872737...@linaro.org/ This series tries to make it a bit more explicit by removing mentions of CONFIG_SOFTMMU in non-TCG code.

Re: [PATCH] util/cacheflush: Avoid flushing dcache twice when not necessary

2023-06-05 Thread Philippe Mathieu-Daudé
On 5/6/23 23:56, BALATON Zoltan wrote: On Mon, 5 Jun 2023, Philippe Mathieu-Daudé wrote: describes sys_icache_invalidate() as "equivalent to sys_cache_control(kCacheFunctionPrepareForExecution)", having kCacheFunctionPrepareForExecution defined as:  /* Prepare memory for execution.  This shoul

Re: [PATCH v4 2/2] hw/vfio: Add number of dirty pages to vfio_get_dirty_bitmap tracepoint

2023-06-05 Thread Alex Williamson
On Tue, 30 May 2023 19:05:56 +0100 Joao Martins wrote: > Include the number of dirty pages on the vfio_get_dirty_bitmap tracepoint. > These are fetched from the newly added return value in > cpu_physical_memory_set_dirty_lebitmap(). > > Signed-off-by: Joao Martins > Reviewed-by: Cédric Le Goate

<    1   2   3   4   >