On Sun, Apr 7, 2024 at 12:20 PM Jason Wang wrote:
>
> On Tue, Apr 2, 2024 at 11:02 PM Cindy Lu wrote:
> >
> > When the guest calls virtio_stop and then virtio_reset,
>
> Guests could not call those functions directly, it is triggered by for
> example writing to some of the registers like reset or
On Wed, 3 Apr 2024 08:43:12 -0700, Breno Leitao wrote:
> There is a bug when setting the RSS options in virtio_net that can break
> the whole machine, getting the kernel into an infinite loop.
>
> Running the following command in any QEMU virtual machine with virtionet
> will reproduce this probl
Commit 8cb2f8b172e7 ("docs/migration: Create migration/ directory")
changed migration documentation file structure but forgot to update the
entries in the MAINTAINERS file.
Commit 4c6f8a79ae53 ("docs/migration: Split 'dirty limit'") extracted
dirty limit documentation to a new file without updatin
This patch set implements FEAT_NMI and FEAT_GICv3_NMI for ARMv8. These
introduce support for a new category of interrupts in the architecture
which we can use to provide NMI like functionality.
There are two modes for using this FEAT_NMI. When PSTATE.ALLINT or
PSTATE.SP & SCTLR_ELx.SCTLR_SPINTMASK
In CPU Interface, if the IRQ has the non-maskable property, report NMI to
the corresponding PE.
Signed-off-by: Jinjie Ruan
Reviewed-by: Richard Henderson
Reviewed-by: Peter Maydell
---
v12:
- Add Reviewed-by.
v10:
- superprio -> nmi.
- Update the commit message, superpriority -> non-maskable.
v
So far, there is no FEAT_GICv3_NMI support in the in-kernel GIC, so make it
an error to try to set has-nmi=true for the KVM GICv3.
Signed-off-by: Jinjie Ruan
Suggested-by: Peter Maydell
---
hw/intc/arm_gicv3_kvm.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/hw/intc/arm_gicv3_kvm.c
Add GICR_INMIR0 register and support access GICR_INMIR0.
Signed-off-by: Jinjie Ruan
Reviewed-by: Richard Henderson
Reviewed-by: Peter Maydell
---
v11:
- Add new Reviewed-by.
v10:
- gicr_isuperprio -> gicr_inmir0.
v6:
- Add Reviewed-by.
v4:
- Make the GICR_INMIR0 implementation more clearer.
---
FEAT_GICv3_NMI introduces GIC support for non-maskable interrupts (NMIs).
A PE that implements FEAT_NMI and FEAT_GICv3 also implements FEAT_GICv3_NMI.
A PE that does not implement FEAT_NMI, does not implement FEAT_GICv3_NMI.
So included support FEAT_GICv3_NMI feature as part of virt platform
GIC i
When PSTATE.ALLINT is set, an IRQ or FIQ interrupt that is targeted to
ELx, with or without superpriority is masked. As Richard suggested, place
ALLINT bit in PSTATE in env->pstate.
In the pseudocode, AArch64.ExceptionReturn() calls SetPSTATEFromPSR(), which
treats PSTATE.ALLINT as one of the bits
According to Arm GIC section 4.6.3 Interrupt superpriority, the interrupt
with superpriority is always IRQ, never FIQ, so handle NMI same as IRQ in
arm_phys_excp_target_el().
Signed-off-by: Jinjie Ruan
Reviewed-by: Richard Henderson
Reviewed-by: Peter Maydell
---
v13:
- Add Reviewed-by.
v4:
- A
This only implements the external delivery method via the GICv3.
Signed-off-by: Jinjie Ruan
Reviewed-by: Richard Henderson
Reviewed-by: Peter Maydell
---
v13:
- Add Reviewed-by.
v12:
- Correct the comment style in arm_cpu_initfn().
v10:
- In arm_cpu_exec_interrupt(), if SCTLR_ELx.NMI is 0, NMI
FEAT_NMI defines another three new bits in HCRX_EL2: TALLINT, HCRX_VINMI and
HCRX_VFNMI. When the feature is enabled, allow these bits to be written in
HCRX_EL2.
Signed-off-by: Jinjie Ruan
Reviewed-by: Richard Henderson
Reviewed-by: Peter Maydell
---
v13:
- Add Reviewed-by.
v12:
- Remove the re
Add GICD_INMIR, GICD_INMIRnE register and support access GICD_INMIR0.
Signed-off-by: Jinjie Ruan
Reviewed-by: Richard Henderson
Reviewed-by: Peter Maydell
---
v11:
- Add new Reviewed-by.
v10:
- superprio -> nmi.
v4:
- Make the GICD_INMIR implementation more clearer.
- Udpate the commit message.
According to Arm GIC section 4.6.3 Interrupt superpriority, the interrupt
with superpriority is always IRQ, never FIQ, so the NMI exception trap entry
behave like IRQ. And VINMI(vIRQ with Superpriority) can be raised from the
GIC or come from the hcrx_el2.HCRX_VINMI bit, VFNMI(vFIQ with Superpriori
Add IS and FS bit in ISR_EL1 and handle the read. With CPU_INTERRUPT_NMI or
CPU_INTERRUPT_VINMI, both CPSR_I and ISR_IS must be set. With
CPU_INTERRUPT_VFNMI, both CPSR_F and ISR_FS must be set.
Signed-off-by: Jinjie Ruan
Reviewed-by: Richard Henderson
Reviewed-by: Peter Maydell
---
v13:
- Add
Add support for FEAT_NMI. NMI (FEAT_NMI) is an mandatory feature in
ARMv8.8-A and ARM v9.3-A.
Signed-off-by: Jinjie Ruan
Reviewed-by: Richard Henderson
Reviewed-by: Peter Maydell
---
v13:
- Add Reviewed-by.
v3:
- Add Reviewed-by.
- Adjust to before the MSR patches.
---
target/arm/internals.h |
Support ALLINT msr access as follow:
mrs , ALLINT// read allint
msr ALLINT, // write allint with imm
Signed-off-by: Jinjie Ruan
Reviewed-by: Richard Henderson
Reviewed-by: Peter Maydell
---
v13:
- Add Reviewed-by.
v9:
- Move nmi_reginfo and related functions insi
Add the NMIAR CPU interface registers which deal with acknowledging NMI.
When introduce NMI interrupt, there are some updates to the semantics for the
register ICC_IAR1_EL1 and ICC_HPPIR1_EL1. For ICC_IAR1_EL1 register, it
should return 1022 if the intid has non-maskable property. And for
ICC_NMIA
If GICD_CTLR_DS bit is zero and the NMI is non-secure, the NMI priority is
higher than 0x80, otherwise it is higher than 0x0. And save the interrupt
non-maskable property in hppi.nmi to deliver NMI exception. Since both GICR
and GICD can deliver NMI, it is both necessary to check whether the pendin
A SPI, PPI or SGI interrupt can have non-maskable property. So maintain
non-maskable property in PendingIrq and GICR/GICD. Since add new device
state, it also needs to be migrated, so also save NMI info in
vmstate_gicv3_cpu and vmstate_gicv3.
Signed-off-by: Jinjie Ruan
Acked-by: Richard Henderson
Add ALLINT MSR (immediate) to decodetree, in which the CRm is 0b000x. The
EL0 check is necessary to ALLINT, and the EL1 check is necessary when
imm == 1. So implement it inline for EL2/3, or EL1 with imm==0. Avoid the
unconditional write to pc and use raise_exception_ra to unwind.
Signed-off-by: J
Augment the GICv3's QOM device interface by adding one
new set of sysbus IRQ line, to signal NMI to each CPU.
Signed-off-by: Jinjie Ruan
Reviewed-by: Richard Henderson
Reviewed-by: Peter Maydell
---
v11:
- Add new Reviewed-by.
v4:
- Add Reviewed-by.
v3:
- Add support for VNMI.
---
hw/intc/arm_
Enable FEAT_NMI on the 'max' CPU.
Signed-off-by: Jinjie Ruan
Reviewed-by: Richard Henderson
Reviewed-by: Peter Maydell
---
v12:
- Add Reviewed-by.
v3:
- Add Reviewed-by.
- Sorted to last.
---
docs/system/arm/emulation.rst | 1 +
target/arm/tcg/cpu64.c| 1 +
2 files changed, 2 insertion
Add a property has-nmi to the GICv3 device, and use this to set
the NMI bit in the GICD_TYPER register. This isn't visible to
guests yet because the property defaults to false and we won't
set it in the board code until we've landed all of the changes
needed to implement FEAT_GICV3_NMI.
Signed-off
Implement icv_nmiar1_read() for icc_nmiar1_read(), so add definition for
ICH_LR_EL2.NMI and ICH_AP1R_EL2.NMI bit.
If FEAT_GICv3_NMI is supported, ich_ap_write() should consider ICV_AP1R_EL1.NMI
bit. In icv_activate_irq() and icv_eoir_write(), the ICV_AP1R_EL1.NMI bit
should be set or clear accordi
Wire the new NMI and VINMI interrupt line from the GIC to each CPU if it
is not GICv2.
Signed-off-by: Jinjie Ruan
Reviewed-by: Richard Henderson
---
v13:
- Adjust to after "hw/intc/arm_gicv3: Add external IRQ lines for NMI" to fix
the unexpected error with patchseries at this point.
- Only con
In vCPU Interface, if the vIRQ has the non-maskable property, report
vINMI to the corresponding vPE.
Signed-off-by: Jinjie Ruan
Reviewed-by: Richard Henderson
Reviewed-by: Peter Maydell
---
v12:
- Do not check nmi_support repetitively.
- Add Reviewed-by.
v10:
- Update the commit message, superp
Set or clear PSTATE.ALLINT on taking an exception to ELx according to the
SCTLR_ELx.SPINTMASK bit.
Signed-off-by: Jinjie Ruan
Reviewed-by: Richard Henderson
Reviewed-by: Peter Maydell
---
v13:
- Add Reviewed-by.
v9:
- Not check SCTLR_NMI in arm_cpu_do_interrupt_aarch64().
v3:
- Add Reviewed-by.
This patch fixes the unit typo of interleave-granularity of
CXL Fixed Memory Window in qemu-option.hx.
Signed-off-by: Yuquan Wang wangyuquan1...@phytium.com.cn
---
qemu-options.hx | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/qemu-options.hx b/qemu-options.hx
index 7fd
This patch fixes the unit typo of interleave-granularity of
CXL Fixed Memory Window in qemu-option.hx.
Yuquan Wang (1):
qemu-options.hx: Fix typo for interleave-granularity of CFMW
qemu-options.hx | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--
2.34.1
On Sun, Apr 07, 2024 at 11:20:57AM +0800, Jason Wang wrote:
> On Tue, Apr 2, 2024 at 11:03 AM Chen, Jiqian wrote:
> >
> > On 2024/3/29 18:44, Michael S. Tsirkin wrote:
> > > On Fri, Mar 29, 2024 at 03:20:59PM +0800, Jason Wang wrote:
> > >> On Fri, Mar 29, 2024 at 3:07 PM Chen, Jiqian wrote:
> >
On Sun, Apr 07, 2024 at 12:19:57PM +0800, Jason Wang wrote:
> On Tue, Apr 2, 2024 at 11:02 PM Cindy Lu wrote:
> >
> > When the guest calls virtio_stop and then virtio_reset,
>
> Guests could not call those functions directly, it is triggered by for
> example writing to some of the registers like
From: "yang.zhang"
Since only root APLICs can have hw IRQ lines, aplic->parent should
be initialized first.
Signed-off-by: yang.zhang
---
hw/intc/riscv_aplic.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/hw/intc/riscv_aplic.c b/hw/intc/riscv_aplic.c
index fc5df0
The set_config callback function vhost_vdpa_device_get_config in
vdpa-dev does not fetch the current device status from the hardware
device, causing the GUEST OS to not receive the latest device status
information.
The hardware updates the config status of the vdpa device and then
notifies the OS.
Earlier, without args->connect_channels, multifd_tcp_channels_none would
call uri internally even though connect_channels was introduced in
function definition. To actually call 'migrate' QAPI with modified syntax,
args->connect_channels need to be passed.
Double free happens while setting correct
With the introduction of new patchset to have 'channels' as the start
argument of migrate QAPIs instead of 'uri' (tests/qtest/migration: Add
tests for introducing 'channels' argument in migrate QAPIs), a few minor
typos got went unnoticed, which were caught while trying to introduce
similar qtests
Fixes: (tests/qtest/migration: Add negative tests to validate migration QAPIs)
Signed-off-by: Het Gala
---
tests/qtest/migration-test.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
index d03a655f83..584d7c496f 1006
Thanks
- Original Message -
From: Jason Wang jasow...@redhat.com
Sent: April 7, 2024 11:46 AM
To: Gavin Liu gavin@jaguarmicro.com
Cc: epere...@redhat.com; sgarz...@redhat.com; m...@redhat.com;
qemu-sta...@nongnu.org; qemu-devel@nongnu.org; kw...@redhat.com
Subject: Re: [PATCH] vdpa-de
CHECK_NOT_DELAY_SLOT is correctly applied to the branch-related
instructions, but not to the PC-relative mov* instructions.
I verified the existence of an illegal slot exception on a SH7091 when
any of these instructions are attempted inside a delay slot.
This also matches the behavior described
Hello:
This patch was applied to netdev/net.git (main)
by David S. Miller :
On Wed, 3 Apr 2024 08:43:12 -0700 you wrote:
> There is a bug when setting the RSS options in virtio_net that can break
> the whole machine, getting the kernel into an infinite loop.
>
> Running the following command in
On Sun, Apr 07, 2024 at 11:11:25AM +0300, Avihai Horon wrote:
> Commit 8cb2f8b172e7 ("docs/migration: Create migration/ directory")
> changed migration documentation file structure but forgot to update the
> entries in the MAINTAINERS file.
>
> Commit 4c6f8a79ae53 ("docs/migration: Split 'dirty li
From: Wei Wang
Before loading the guest states, ensure that the preempt channel has been
ready to use, as some of the states (e.g. via virtio_load) might trigger
page faults that will be handled through the preempt channel. So yield to
the main thread in the case that the channel create event has
u.git tags/migration-20240407-pull-request
for you to fetch changes up to 8e0b21e375f0f6e6dbaeaecc1d52e2220f163e40:
MAINTAINERS: Adjust migration documentation files (2024-04-07 14:40:55 -0400)
Migration pull for 9.0-rc3
- Wei/Lei'
From: Avihai Horon
Commit 8cb2f8b172e7 ("docs/migration: Create migration/ directory")
changed migration documentation file structure but forgot to update the
entries in the MAINTAINERS file.
Commit 4c6f8a79ae53 ("docs/migration: Split 'dirty limit'") extracted
dirty limit documentation to a new
On 4/7/24 05:07, Zack Buhman wrote:
CHECK_NOT_DELAY_SLOT is correctly applied to the branch-related
instructions, but not to the PC-relative mov* instructions.
I verified the existence of an illegal slot exception on a SH7091 when
any of these instructions are attempted inside a delay slot.
Thi
On Wed, Apr 3, 2024 at 2:11 PM Akihiko Odaki wrote:
>
> vhost requires eBPF for RSS. When eBPF is not available, virtio-net
> implicitly disables RSS even if the user explicitly requests it. Return
> an error instead of implicitly disabling RSS if RSS is requested but not
> available.
>
> Signed-o
On Wed, Apr 3, 2024 at 2:12 PM Akihiko Odaki wrote:
>
> The peer buffer is qualified with const and not meant to be modified.
IMHO, this buffer is not so 'const' (although the prototype states so),
it is allocated in net.c
btw, another procedure in this file also modifies the buffer
(work_around_
On 2024/04/08 6:46, Yuri Benditovich wrote:
On Wed, Apr 3, 2024 at 2:11 PM Akihiko Odaki wrote:
vhost requires eBPF for RSS. When eBPF is not available, virtio-net
implicitly disables RSS even if the user explicitly requests it. Return
an error instead of implicitly disabling RSS if RSS is req
On 2024/04/08 7:09, Yuri Benditovich wrote:
On Wed, Apr 3, 2024 at 2:12 PM Akihiko Odaki wrote:
The peer buffer is qualified with const and not meant to be modified.
IMHO, this buffer is not so 'const' (although the prototype states so),
it is allocated in net.c
btw, another procedure in thi
The set_config callback function vhost_vdpa_device_get_config in
vdpa-dev does not fetch the current device status from the hardware
device, causing the guest os to not receive the latest device status
information.
The hardware updates the config status of the vdpa device and then
notifies the os.
> Before making additional modification, tidy up this misleading indentation.
Thanks for fixing it.
Reviewed-by: Ankit Agrawal
On Sun, Apr 7, 2024 at 7:53 PM Michael S. Tsirkin wrote:
>
> On Sun, Apr 07, 2024 at 12:19:57PM +0800, Jason Wang wrote:
> > On Tue, Apr 2, 2024 at 11:02 PM Cindy Lu wrote:
> > >
> > > When the guest calls virtio_stop and then virtio_reset,
> >
> > Guests could not call those functions directly,
On Sun, Apr 7, 2024 at 7:50 PM Michael S. Tsirkin wrote:
>
> On Sun, Apr 07, 2024 at 11:20:57AM +0800, Jason Wang wrote:
> > On Tue, Apr 2, 2024 at 11:03 AM Chen, Jiqian wrote:
> > >
> > > On 2024/3/29 18:44, Michael S. Tsirkin wrote:
> > > > On Fri, Mar 29, 2024 at 03:20:59PM +0800, Jason Wang w
On Sun, Apr 7, 2024 at 3:00 PM Cindy Lu wrote:
>
> On Sun, Apr 7, 2024 at 12:20 PM Jason Wang wrote:
> >
> > On Tue, Apr 2, 2024 at 11:02 PM Cindy Lu wrote:
> > >
> > > When the guest calls virtio_stop and then virtio_reset,
> >
> > Guests could not call those functions directly, it is triggered
On Mon, Apr 8, 2024 at 12:59 PM Jason Wang wrote:
>
> On Sun, Apr 7, 2024 at 3:00 PM Cindy Lu wrote:
> >
> > On Sun, Apr 7, 2024 at 12:20 PM Jason Wang wrote:
> > >
> > > On Tue, Apr 2, 2024 at 11:02 PM Cindy Lu wrote:
> > > >
> > > > When the guest calls virtio_stop and then virtio_reset,
> >
On 6/4/24 00:44, Richard Henderson wrote:
On 4/4/24 09:47, Philippe Mathieu-Daudé wrote:
reset.c contains core code used by any CPU, required
by user emulation. Move it to hwcore_ss[] where it
belongs.
Signed-off-by: Philippe Mathieu-Daudé
---
hw/core/meson.build | 2 +-
1 file changed, 1 i
On 6/4/24 07:37, Richard Henderson wrote:
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 ca
On 6/4/24 07:37, Richard Henderson wrote:
Allow host access to the entire 64-bit accumulator.
Signed-off-by: Richard Henderson
---
target/sh4/cpu.h | 14 --
1 file changed, 12 insertions(+), 2 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé
On 6/4/24 07:37, Richard Henderson wrote:
From: Zack Buhman
The saturation arithmetic logic in helper_macw is not correct.
I tested and verified this behavior on a SH7091.
Signed-off-by: Zack Buhman
Message-Id: <20240405233802.29128-3-z...@buhman.org>
[rth: Reformat helper_macw, add a test ca
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 virtual machine operating system, even if the virtio device
does not use msix interrupts, vhost still sets vring call fd. This
On 7/4/24 00:32, Richard Henderson wrote:
Allow operations to be emitted via normal expanders
into the middle of the opcode stream.
Reviewed-by: Pierrick Bouvier
Signed-off-by: Richard Henderson
---
include/tcg/tcg.h | 6 ++
tcg/tcg.c | 14 --
2 files changed, 18 i
On 7/4/24 00:32, Richard Henderson wrote:
To keep the multiple update check, replace insn_start
with insn_start_updated.
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
On Mon, Apr 8, 2024 at 2:09 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 virtual machine operating system, even if the virtio device
> d
On 7/4/24 00:32, Richard Henderson wrote:
Signed-off-by: Richard Henderson
---
target/microblaze/translate.c | 8 ++--
1 file changed, 2 insertions(+), 6 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé
On 7/4/24 00:32, Richard Henderson wrote:
To keep the multiple update check, replace insn_start
with insn_start_updated.
Signed-off-by: Richard Henderson
---
target/riscv/translate.c | 11 +--
1 file changed, 5 insertions(+), 6 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé
On 7/4/24 00:32, Richard Henderson wrote:
To keep the multiple update check, replace insn_start
with insn_start_updated.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé
On 7/4/24 00:32, Richard Henderson wrote:
This is currently target-specific for many; begin making it
target independent.
Signed-off-by: Richard Henderson
---
include/exec/translator.h | 3 +++
accel/tcg/translator.c| 2 ++
2 files changed, 5 insertions(+)
Reviewed-by: Philippe Mathie
On 7/4/24 00:32, Richard Henderson wrote:
Signed-off-by: Richard Henderson
---
target/s390x/tcg/translate.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé
On 7/4/24 00:32, Richard Henderson wrote:
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
On Fri, Apr 5, 2024 at 3:48 AM Philippe Mathieu-Daudé wrote:
>
> eBPF is not used in user emulation.
>
> Signed-off-by: Philippe Mathieu-Daudé
Queued for 9.1.
Thanks
> ---
> ebpf/meson.build | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/ebpf/meson.build b/ebpf/meson
On Fri, Mar 29, 2024 at 7:30 PM Andrew Melnychenko wrote:
>
> There was an issue with Qemu build with "--disable-system".
> The traces could be generated and the build fails.
> The traces were 'cut out' for previous patches, and overall,
> the 'system' source set should be used like in pre-'eBPF b
On Mon, Apr 1, 2024 at 3:21 AM Michael Tokarev wrote:
>
> 29.03.2024 10:10, Jason Wang:
>
> > Akihiko Odaki (5):
> >virtio-net: Fix vhost virtqueue notifiers for RSS
> >ebpf: Fix indirections table setting
> >hw/net/net_tx_pkt: Fix virtio header without checksum offloading
72 matches
Mail list logo