On Fri, Apr 05, 2024 at 02:20:15PM +0300, Alexey Dobriyan wrote:
> Don't send zero length packets in virtio_net_flush_tx().
>
> Reproducer from https://gitlab.com/qemu-project/qemu/-/issues/1451
> creates small packet (1 segment, len = 10 == n->guest_hdr_len),
> destroys queue.
>
> "if (n->host_h
On Fri, Apr 05, 2024 at 02:20:15PM +0300, Alexey Dobriyan wrote:
> Don't send zero length packets in virtio_net_flush_tx().
>
> Reproducer from https://gitlab.com/qemu-project/qemu/-/issues/1451
> creates small packet (1 segment, len = 10 == n->guest_hdr_len),
> destroys queue.
>
> "if (n->host_h
On 08.04.24 19:00, Eric Blake wrote:
nbd_negotiate() is already marked coroutine_fn. And given the fix in
the previous patch to have nbd_negotiate_handle_starttls not create
and wait on a g_main_loop (as that would violate coroutine
constraints), it is worth marking the rest of the related stati
Ping.
Jason Chien 於 2024年3月28日 週四 上午10:24寫道:
> In current implementation, the gdbstub allows reading vector registers
> only if V extension is supported. However, all vector extensions and
> vector crypto extensions have the vector registers and they all depend
> on Zve32x. The gdbstub should ch
Ping.
Jason Chien 於 2024年3月28日 週四 上午10:23寫道:
> This patch series adds the support for Zve32x and Zvx64x and makes vector
> registers visible in GDB if any of the V/Zve*/Zvk* extensions is enabled.
>
> v2:
> Rebase onto riscv-to-apply.next (commit 385e575).
> v3:
> Spuash patch 2 into pat
On Thu, Apr 04, 2024 at 02:45:05PM +0200, Zheyu Ma wrote:
> The device should not handle the commands which have bad request/reply
> size, it should just report the error instead of raising an assertation.
>
> Signed-off-by: Zheyu Ma
This fails test for cross-i686-tci
https://gitlab.com/mstred
On 08.04.24 19:00, Eric Blake wrote:
From: Zhu Yangyang
Coroutines are not supposed to block. Instead, they should yield.
The client performs TLS upgrade outside of an AIOContext, during
synchronous handshake; this still requires g_main_loop. But the
server responds to TLS upgrade inside a cor
On 09/04/2024 04.49, Shaoqin Huang wrote:
The KVM_ARM_VCPU_PMU_V3_FILTER provides the ability to let the VMM decide
which PMU events are provided to the guest. Add a new option
`kvm-pmu-filter` as -cpu sub-option to set the PMU Event Filtering.
Without the filter, all PMU events are exposed from
On 4/9/24 1:32 Eugenio Perez Martin wrote:
>
> External Mail: This email originated from OUTSIDE of the organization!
> Do not click links, open attachments or provide ANY information unless you
> recognize the sender and know the content is safe.
>
>
> On Sun, Apr 7, 2024 at 3:56 AM Wafer wro
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 | 1 +
3 files changed, 201 insertions(+)
create
Use the structure definition from target/i386/cpu.h.
The only minor quirk is re-casting the sw_reserved
area to the OS specific struct target_fpx_sw_bytes.
Signed-off-by: Richard Henderson
---
linux-user/i386/signal.c | 71 +++-
1 file changed, 26 insertions(+
Signed-off-by: Richard Henderson
---
linux-user/i386/signal.c | 43 +++-
1 file changed, 25 insertions(+), 18 deletions(-)
diff --git a/linux-user/i386/signal.c b/linux-user/i386/signal.c
index ed98b4d073..559b63c25b 100644
--- a/linux-user/i386/signal.c
+++ b
Invert the sense of the return value and use bool.
Signed-off-by: Richard Henderson
---
linux-user/i386/signal.c | 51
1 file changed, 25 insertions(+), 26 deletions(-)
diff --git a/linux-user/i386/signal.c b/linux-user/i386/signal.c
index f8cc0cff07..15
Invert the sense of the return value and use bool.
Signed-off-by: Richard Henderson
---
linux-user/i386/signal.c | 16
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/linux-user/i386/signal.c b/linux-user/i386/signal.c
index 1571ff8553..d600a4355b 100644
--- a/linu
We have already validated the memory region in the course of
validating the signal frame. No need to do it again within
the helper function.
Signed-off-by: Richard Henderson
---
target/i386/cpu.h| 4 ++--
linux-user/i386/signal.c | 13 +
target/i386/tcg/fpu_helper.c
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
--- a/linux-user/i386/signal.c
+++ b/linux-user/i386/signal
This is easily computed by advancing past the structure.
At the same time, replace the magic number "64".
Signed-off-by: Richard Henderson
---
linux-user/i386/signal.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/linux-user/i386/signal.c b/linux-user/i386/signal.c
index
This path is not required by user-only, and can in fact
be shared between xsave and xrstor.
Signed-off-by: Richard Henderson
---
target/i386/tcg/fpu_helper.c | 51 +++-
1 file changed, 27 insertions(+), 24 deletions(-)
diff --git a/target/i386/tcg/fpu_helper.c b/
Signed-off-by: Richard Henderson
---
target/i386/tcg/fpu_helper.c | 25 +++--
1 file changed, 15 insertions(+), 10 deletions(-)
diff --git a/target/i386/tcg/fpu_helper.c b/target/i386/tcg/fpu_helper.c
index 878fad9795..ad8b536cb5 100644
--- a/target/i386/tcg/fpu_helper.c
+++
Signed-off-by: Richard Henderson
---
target/i386/tcg/fpu_helper.c | 46 ++--
1 file changed, 28 insertions(+), 18 deletions(-)
diff --git a/target/i386/tcg/fpu_helper.c b/target/i386/tcg/fpu_helper.c
index 643e017bef..59f73ad075 100644
--- a/target/i386/tcg/fpu_he
For now, continue to pass all 1's from signal.c.
Signed-off-by: Richard Henderson
---
target/i386/cpu.h| 4 ++--
linux-user/i386/signal.c | 4 ++--
target/i386/tcg/fpu_helper.c | 8
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/target/i386/cpu.h b/target
Signed-off-by: Richard Henderson
---
target/i386/tcg/fpu_helper.c | 106 +--
1 file changed, 64 insertions(+), 42 deletions(-)
diff --git a/target/i386/tcg/fpu_helper.c b/target/i386/tcg/fpu_helper.c
index d4dd09dc95..909da05f91 100644
--- a/target/i386/tcg/fpu_he
For modern cpus, the kernel uses xsave to store all extra
cpu state across the signal handler. For xsave/xrstor to
work, the pointer must be 64 byte aligned. Moreover, the
regular part of the signal frame must be 16 byte aligned.
Attempt to mirror the kernel code as much as possible.
Use enum FP
Signed-off-by: Richard Henderson
---
target/i386/tcg/fpu_helper.c | 45 +++-
1 file changed, 24 insertions(+), 21 deletions(-)
diff --git a/target/i386/tcg/fpu_helper.c b/target/i386/tcg/fpu_helper.c
index 28ae8100f6..25074af0ce 100644
--- a/target/i386/tcg/fpu_he
Signed-off-by: Richard Henderson
---
target/i386/tcg/fpu_helper.c | 44 +---
1 file changed, 31 insertions(+), 13 deletions(-)
diff --git a/target/i386/tcg/fpu_helper.c b/target/i386/tcg/fpu_helper.c
index 4b965a5d6c..878fad9795 100644
--- a/target/i386/tcg/fpu_he
The body of do_xsave is now fully converted.
Signed-off-by: Richard Henderson
---
target/i386/tcg/fpu_helper.c | 47
1 file changed, 26 insertions(+), 21 deletions(-)
diff --git a/target/i386/tcg/fpu_helper.c b/target/i386/tcg/fpu_helper.c
index 23e22e4521..
Signed-off-by: Richard Henderson
---
linux-user/i386/signal.c | 2 +-
target/i386/tcg/fpu_helper.c | 72 +---
2 files changed, 43 insertions(+), 31 deletions(-)
diff --git a/linux-user/i386/signal.c b/linux-user/i386/signal.c
index fd09c973d4..ba17d27219 1006
We have already validated the memory region in the course of
validating the signal frame. No need to do it again within
the helper function.
Signed-off-by: Richard Henderson
---
target/i386/cpu.h| 10 ++
linux-user/i386/signal.c | 4 ++--
target/i386/tcg/fpu_helper.c |
This is subtracting sizeof(target_fpstate_fxsave) in
TARGET_FXSAVE_SIZE, then adding it again via &fxsave->xfeatures.
Perform the same computation using xstate_size alone.
Signed-off-by: Richard Henderson
---
linux-user/i386/signal.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
Signed-off-by: Richard Henderson
---
target/i386/tcg/fpu_helper.c | 52 +---
1 file changed, 31 insertions(+), 21 deletions(-)
diff --git a/target/i386/tcg/fpu_helper.c b/target/i386/tcg/fpu_helper.c
index e6fa161aa0..643e017bef 100644
--- a/target/i386/tcg/fpu_he
Signed-off-by: Richard Henderson
---
target/i386/tcg/fpu_helper.c | 30 ++
1 file changed, 14 insertions(+), 16 deletions(-)
diff --git a/target/i386/tcg/fpu_helper.c b/target/i386/tcg/fpu_helper.c
index ad8b536cb5..28ae8100f6 100644
--- a/target/i386/tcg/fpu_helper.c
The body of do_xrstor is now fully converted.
Signed-off-by: Richard Henderson
---
target/i386/tcg/fpu_helper.c | 51 ++--
1 file changed, 31 insertions(+), 20 deletions(-)
diff --git a/target/i386/tcg/fpu_helper.c b/target/i386/tcg/fpu_helper.c
index 82a041f4bf.
Signed-off-by: Richard Henderson
---
target/i386/tcg/fpu_helper.c | 60
1 file changed, 33 insertions(+), 27 deletions(-)
diff --git a/target/i386/tcg/fpu_helper.c b/target/i386/tcg/fpu_helper.c
index 25074af0ce..e6fa161aa0 100644
--- a/target/i386/tcg/fpu_he
This completes the 512 byte structure, allowing the union to
be removed. Assert that the structure layout is as expected.
Signed-off-by: Richard Henderson
---
target/i386/cpu.h | 39 +--
1 file changed, 25 insertions(+), 14 deletions(-)
diff --git a/target/i
Move the alignment fault from do_* to helper_*, as it need
not apply to usage from within user-only signal handling.
Signed-off-by: Richard Henderson
---
target/i386/tcg/fpu_helper.c | 84
1 file changed, 48 insertions(+), 36 deletions(-)
diff --git a/target
We have already validated the memory region in the course of
validating the signal frame. No need to do it again within
the helper function.
In addition, return failure when the header contains invalid
xstate_bv. The kernel handles this via exception handling
within XSTATE_OP within xrstor_from_
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 b/linux-user/i386/signal.c
index 559b63c25b..f8cc0cff07 100644
---
v1:
https://lore.kernel.org/qemu-devel/20230524054647.1093758-1-richard.hender...@linaro.org/
But v1 isn't particularly complet or korrect.
Disconnect fpstate from sigframe, just like the kernel does.
Return the separate portions of the frame from get_sigframe.
Alter all of the target fpu routin
On Mon, Apr 8, 2024 at 3:33 PM lyx634449800 wrote:
>
> When conducting performance testing using testpmd in the guest os,
> it was observed that the performance was lower compared to the
> scenario of direct vfio-pci usage.
>
> In the commit 96a3d98d2cdbd897ff5ab33427aa4cfb94077665, the author
> p
On Mon, Apr 8, 2024 at 6:13 PM Michael S. Tsirkin wrote:
>
> On Tue, Mar 26, 2024 at 07:06:29PM +0900, Akihiko Odaki wrote:
> > virtio_net_guest_notifier_pending() and virtio_net_guest_notifier_mask()
> > checked VIRTIO_NET_F_MQ to know there are multiple queues, but
> > VIRTIO_NET_F_RSS also enab
Hi All,
>-Original Message-
>From: Duan, Zhenzhong
>Subject: [PATCH v2 03/10] backends/iommufd: Introduce abstract
>HIODIOMMUFD device
>
>HIODIOMMUFD represents a host IOMMU device under iommufd backend.
>
>Currently it includes only public iommufd handle and device id.
>which could be us
The KVM_ARM_VCPU_PMU_V3_FILTER provides the ability to let the VMM decide
which PMU events are provided to the guest. Add a new option
`kvm-pmu-filter` as -cpu sub-option to set the PMU Event Filtering.
Without the filter, all PMU events are exposed from host to guest by
default. The usage of the n
Hi Eric,
On 3/19/24 23:23, Eric Auger wrote:
+if (kvm_supports_pmu_filter) {
+assert_set_feature_str(qts, "host", "kvm-pmu-filter", "");
+assert_set_feature_str(qts, "host", "kvm-pmu-filter",
+ "A:0x11-0x11");
+assert_
Hi Kevin,
On 4/2/24 21:01, Kevin Wolf wrote:
Maybe I'm wrong. So I want to double check with if the -cpu option
support json format nowadays?
As far as I can see, -cpu doesn't support JSON yet. But even if it did,
your command line would be invalid because the 'host,' part isn't JSON.
Thanks
Hi,
VIRTIO_CRYPTO_INVSESS has a quite clear meaning: invalid session ID when
executing crypto operations.
Uplayer would get an explicit code once failing to close session, so I
suggest no error log printing in this function.
On 4/8/24 23:45, Philippe Mathieu-Daudé wrote:
Instead of abortin
At 2024-04-09 06:33:55, "Daniel Henrique Barboza"
wrote:
>
>
>On 4/7/24 00:46, yang.zhang wrote:
>> From: "yang.zhang"
>>
>> Since only root APLICs can have hw IRQ lines, aplic->parent should
>> be initialized first.
>
>I think it's worth mentioning that, if we don't do that, there won't be
>a
On Mon, Apr 8, 2024 at 5:47 PM Michael S. Tsirkin wrote:
>
> This reverts commit cd341fd1ffded978b2aa0b5309b00be7c42e347c.
>
> The patch adds non-upstream code in
> include/standard-headers/linux/virtio_pci.h
> which would make maintainance harder.
>
> Revert for now.
>
> Suggested-by: Jason Wang
From: "yang.zhang"
Since only root APLICs can have hw IRQ lines, aplic->parent should
be initialized first.
Fixes: e8f79343cf ("hw/intc: Add RISC-V AIA APLIC device emulation")
Reviewed-by: Daniel Henrique Barboza
Signed-off-by: yang.zhang
---
hw/intc/riscv_aplic.c | 8
1 file change
Passing the tswapped structure to strace means that
our internal si_type is also gone, which then aborts
in print_siginfo.
Fixes: 4d6d8a05a0a ("linux-user: Move tswap_siginfo out of target code")
Signed-off-by: Richard Henderson
---
linux-user/signal.c | 12 +---
1 file changed, 9 insert
On 4/7/24 00:46, yang.zhang wrote:
From: "yang.zhang"
Since only root APLICs can have hw IRQ lines, aplic->parent should
be initialized first.
I think it's worth mentioning that, if we don't do that, there won't be
an aplic->parent assigned during riscv_aplic_realize() and we won't create
On Mon, Apr 08, 2024 at 10:11:18PM +0200, Paolo Bonzini wrote:
>
>
> 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 co
On 8/4/24 18:39, Richard Henderson wrote:
On 4/7/24 22:36, Philippe Mathieu-Daudé wrote:
nand_command() and nand_getio() don't check @offset points
into the block, nor the available data length (s->iolen) is
not negative.
In order to fix:
- check the offset is in range in nand_blk_load_NAND_PA
One of the biggest change from I2C spec v6 -> v7 is:
• Updated the terms "master/slave" to "controller/target"
Since it follows the inclusive terminology from the "Conscious
Language in your Open Source Projects" guidelines [*], replace
the I2C terminology.
Mechanical transformation running:
We are going to modify these lines, fix their style
in order to avoid checkpatch.pl warnings:
WARNING: line over 80 characters
Signed-off-by: Philippe Mathieu-Daudé
---
include/hw/i2c/i2c.h| 11 ++-
include/hw/nvram/eeprom_at24c.h | 6 +-
hw/arm/aspeed.c | 140 +
Mechanical (mostly) conversion inspired by Wolfram [*] to
use inclusive terminology, similarly to the other renames
we did 3 years ago, shortly before the I2C spec v7 was
published.
Posted as RFC to get feedback, if no objection I plan to
finish the conversion (SMBus and rest if hw/i2c/).
[*]
ht
We are going to modify these lines, fix their style
in order to avoid checkpatch.pl warnings:
WARNING: Block comments use a leading /* on a separate line
WARNING: Block comments use * on subsequent lines
WARNING: Block comments use a trailing */ on a separate line
Signed-off-by: Philippe Ma
See previous commit for rationale.
Signed-off-by: Philippe Mathieu-Daudé
---
include/hw/i2c/i2c.h | 52 ++--
hw/i2c/core.c| 2 +-
2 files changed, 27 insertions(+), 27 deletions(-)
diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h
index fa
The E1000 debug messages are very useful for developing drivers.
Make these available to users without recompiling QEMU.
Signed-off-by: Austin Clements
[geo...@ldpreload.com: Rebased on top of 2.9.0]
Signed-off-by: Geoffrey Thomas
Signed-off-by: Don Porter
Reviewed-by: Richard Henderson
---
h
On 4/3/24 2:44 PM, Austin Clements wrote:
At this point there's not much of my original code left. :D Don,
you're welcome to take the credit in the commit.
Thanks Austin. I'll send v3 with this change :)
BTW, my attempt to include the appropriate maintainer from
scripts/get_maintainer.pl (ja
08.04.2024 23:12, Paolo Bonzini wrote:
Il ven 5 apr 2024, 19:30 Michael Tokarev mailto:m...@tls.msk.ru>> ha scritto:
It sigsegvs in probe_access_internal():
CPUTLBEntry *entry = tlb_entry(env, mmu_idx, addr); -- this one returns
NULL,
and next there's a call
tlb_add
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
> >
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 co
On 08/04/24 9:10 pm, Peter Xu wrote:
!---|
CAUTION: External Email
|---!
On Sun, Apr 07, 2024 at 01:21:25PM +, Het Gala wrote:
Earlier, without args->connect_
On Thu, Apr 4, 2024 at 2:23 PM Peter Maydell wrote:
> This will not work (yet) -- CPUs do not get reset as part of the
> whole-system three-phase-reset, so using the exit phase method
> is not sufficient to avoid the reset ordering problem here.
>
> You need to use rom_ptr_for_as() to see if ther
The following changes since commit ce64e6224affb8b4e4b019f76d2950270b391af5:
Merge tag 'qemu-sparc-20240404' of https://github.com/mcayland/qemu into
staging (2024-04-04 15:28:06 +0100)
are available in the Git repository at:
https://gitlab.com/bonzini/qemu.git tags/for-upstream
for you to
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".
Reviewed-by: Richard Henderson
Signed-off-by: P
From: Igor Mammedov
subj is calling kvm_add_routing_entry() which simply extends
KVMState::irq_routes::entries[]
but doesn't check if number of routes goes beyond limit the kernel
is willing to accept. Which later leads toi the assert
qemu-kvm: ../accel/kvm/kvm-all.c:1833: kvm_irqchip_commit
From: Martin Hundebøll
Qemu wraps its call to ninja in a Makefile. Since ninja, as opposed to
make, utilizes all CPU cores by default, the qemu Makefile translates
the absense of a `-jN` argument into `-j1`. This breaks jobserver
functionality, so update the -jN mangling to take the --jobserver-a
Het,
It's all fine, no worries! This is good enough. Let's finish the
discussion in the next patch before a repost.
Thanks,
On Mon, Apr 8, 2024, 2:35 p.m. Het Gala wrote:
>
> On 08/04/24 9:05 pm, Peter Xu wrote:
>
> !---|
> CAU
On 08/04/24 9:05 pm, Peter Xu wrote:
!---|
CAUTION: External Email
|---!
Hey, Het,
On Sun, Apr 07, 2024 at 01:21:24PM +, Het Gala wrote:
Fixes: (tests/qtest/
On 8/4/24 17:20, Michael S. Tsirkin wrote:
On Mon, Apr 08, 2024 at 01:04:11PM +0200, Philippe Mathieu-Daudé wrote:
On 8/4/24 12:08, Michael S. Tsirkin wrote:
On Mon, Apr 08, 2024 at 09:14:39AM +0200, Philippe Mathieu-Daudé wrote:
On 4/4/24 21:13, Philippe Mathieu-Daudé wrote:
Replace qemu_bh_
On 8/4/24 17:53, Paolo Bonzini wrote:
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
From: Alexander Monakov
Increase unroll factor in SIMD loops from 4x to 8x in order to move
their bottlenecks from ALU port contention to load issue rate (two loads
per cycle on popular x86 implementations).
Avoid using out-of-bounds pointers in loop boundary conditions.
Follow SSE2 implementat
To keep the multiple update check, replace insn_start
with insn_start_updated.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/target/hppa/translate.c b/target/hppa/tr
Because the three alternatives are monotonic, we don't
need to keep a couple of bitmasks, just identify the
strongest alternative at startup.
Signed-off-by: Richard Henderson
---
util/bufferiszero.c | 56 ++---
1 file changed, 22 insertions(+), 34 deletion
Split less-than and greater-than 256 cases.
Use unaligned accesses for head and tail.
Avoid using out-of-bounds pointers in loop boundary conditions.
Signed-off-by: Richard Henderson
---
util/bufferiszero.c | 85 +++--
1 file changed, 51 insertions(+), 34
To keep the multiple update check, replace insn_start
with insn_start_updated.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
target/riscv/translate.c | 11 +--
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/target/riscv/translate.c b/target/risc
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
target/microblaze/translate.c | 8 ++--
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c
index 4e52ef32db..fc451befae 100644
--- a/target/microb
From: Michael Tokarev
There's identical code for SO_SNDTIMEO and SO_RCVTIMEO, currently
implemented using an ugly goto into another switch case. Eliminate
that using arithmetic if, making code flow more natural.
Signed-off-by: Michael Tokarev
Message-Id: <20240331100737.2724186-5-...@tls.msk.r
Allow operations to be emitted via normal expanders
into the middle of the opcode stream.
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Pierrick Bouvier
Signed-off-by: Richard Henderson
---
include/tcg/tcg.h | 6 ++
tcg/tcg.c | 14 --
2 files changed, 18 insertions(
From: Michael Tokarev
Signed-off-by: Michael Tokarev
Message-Id: <20240331100737.2724186-4-...@tls.msk.ru>
Signed-off-by: Richard Henderson
---
linux-user/syscall.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index cca9c
From: Michael Tokarev
This setsockopt accepts zero-lengh optlen (current qemu implementation
does not allow this). Also, there's no need to make a copy of the key,
it is enough to use lock_user() (which accepts zero length already).
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2197
F
From: Zack Buhman
Before this change, executing a code sequence such as:
mova tblm,r0
movr0,r1
mova tbln,r0
clrs
clrmac
mac.w @r0+,@r1+
mac.w @r0+,@r1+
.align 4
tblm:.word 0x1234
From: Zack Buhman
The saturation arithmetic logic in helper_macw is not correct.
I tested and verified this behavior on a SH7091.
Reviewd-by: Yoshinori Sato
Signed-off-by: Zack Buhman
Message-Id: <20240405233802.29128-3-z...@buhman.org>
[rth: Reformat helper_macw, add a test case.]
Signed-off-
40404' of https://github.com/mcayland/qemu into
staging (2024-04-04 15:28:06 +0100)
are available in the Git repository at:
https://gitlab.com/rth7680/qemu.git tags/pull-misc-20240408
for you to fetch changes up to 50dbeda88ab71f9d426b7f4b126c79c44860e475:
util/bufferiszero
From: Keith Packard
Instead of using d0 (the semihost function number), use d1 (the
provide exit status).
Signed-off-by: Keith Packard
Reviewed-by: Peter Maydell
Message-Id: <20230802161914.395443-2-kei...@keithp.com>
Signed-off-by: Richard Henderson
---
target/m68k/m68k-semi.c | 4 ++--
1 f
From: Zack Buhman
The saturation arithmetic logic in helper_macl is not correct.
I tested and verified this behavior on a SH7091.
Signed-off-by: Zack Buhman
Message-Id: <20240404162641.27528-2-z...@buhman.org>
[rth: Reformat helper_macl, add a test case.]
Signed-off-by: Richard Henderson
Revie
From: Alexander Monakov
Test for length >= 256 inline, where is is often a constant.
Before calling into the accelerated routine, sample three bytes
from the buffer, which handles most non-zero buffers.
Signed-off-by: Alexander Monakov
Signed-off-by: Mikhail Romanov
Message-Id: <20240206204809
From: Alexander Monakov
The SSE4.1 variant is virtually identical to the SSE2 variant, except
for using 'PTEST+JNZ' in place of 'PCMPEQB+PMOVMSKB+CMP+JNE' for testing
if an SSE register is all zeroes. The PTEST instruction decodes to two
uops, so it can be handled only by the complex decoder, and
We already attempted to set and clear can_do_io before the first
and last insns, but only used the initial value of max_insns and
the call to translator_io_start to find those insns.
Now that we track insn_start in DisasContextBase, and now that
we have emit_before_op, we can wait until we have fi
Allow host access to the entire 64-bit accumulator.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
target/sh4/cpu.h | 14 --
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/target/sh4/cpu.h b/target/sh4/cpu.h
index 9211da6bde..d928bcf006 1006
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
target/s390x/tcg/translate.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c
index 57b7db1ee9..90a74ee795 100644
--- a/target/s390x/tcg/tran
From: Keith Packard
According to the m68k semihosting spec:
"The instruction used to trigger a semihosting request depends on the
m68k processor variant. On ColdFire, "halt" is used; on other processors
(which don't implement "halt"), "bkpt #0" may be used."
Add support for non-CodeFire proc
Signed-off-by: Richard Henderson
---
util/bufferiszero.c | 9 ++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/util/bufferiszero.c b/util/bufferiszero.c
index c9a7ded016..eb8030a3f0 100644
--- a/util/bufferiszero.c
+++ b/util/bufferiszero.c
@@ -26,7 +26,8 @@
#include "qemu
From: Alexander Monakov
Use of prefetching in bufferiszero.c is quite questionable:
- prefetches are issued just a few CPU cycles before the corresponding
line would be hit by demand loads;
- they are done for simple access patterns, i.e. where hardware
prefetchers can perform better;
- th
When aborting translation of the current insn, restore the
previous value of insn_start.
Acked-by: Paolo Bonzini
Signed-off-by: Richard Henderson
---
target/i386/tcg/translate.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c
inde
From: Michael Tokarev
ip_mreq is declared at the beginning of do_setsockopt(), while
it is used in only one place. Move its declaration to that very
place and replace pointer to alloca()-allocated memory with the
structure itself.
target_to_host_ip_mreq() is used only once, inline it.
This cha
To keep the multiple update check, replace insn_start
with insn_start_updated.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
target/arm/tcg/translate.h | 12 ++--
target/arm/tcg/translate-a64.c | 2 +-
target/arm/tcg/translate.c | 2 +-
3 files chang
From: Nguyen Dinh Phi
Use glib allocation as recommended by the coding convention
Signed-off-by: Nguyen Dinh Phi
Message-Id: <20240317171747.1642207-1-phind@gmail.com>
Reviewed-by: Alex Bennée
Signed-off-by: Richard Henderson
---
linux-user/main.c | 6 +-
1 file changed, 1 insertion(
From: Michael Vogt
Tiny patch to add the missing FITRIM ioctl.
Signed-off-by: Michael Vogt
Message-Id: <20240403092048.16023-2-michael.v...@gmail.com>
Signed-off-by: Richard Henderson
---
linux-user/ioctls.h| 3 +++
linux-user/syscall_defs.h | 1 +
linux-user/syscall_types.h | 5
1 - 100 of 273 matches
Mail list logo