On 30/06/2022 11.43, Janis Schoetterl-Glausch wrote:
According to the architecture, SET PREFIX must try to access the new
prefix area and recognize an addressing exception if the area is not
accessible.
For qemu this check prevents a crash in cpu_map_lowcore after an
inaccessible prefix area has
In vduse_name_is_valid(), we actually check whether
the name is invalid or not. So let's change the
function name to vduse_name_is_invalid() to match
the behavior.
Signed-off-by: Xie Yongji
Reviewed-by: Markus Armbruster
---
subprojects/libvduse/libvduse.c | 6 +++---
1 file changed, 3 insertio
Coverity reported a string overflow issue since we copied
"name" to "dev_config->name" without checking the length.
This should be a false positive since we already checked
the length of "name" in vduse_name_is_invalid(). But anyway,
let's replace strcpy() with strncpy() (as a general library,
we'd
On 05.07.22 17:37, Vladimir Sementsov-Ogievskiy wrote:
strerror() represents ETIMEDOUT a bit different in Linux and macOS /
FreeBSD. Let's support the latter too.
Fixes: 9d05a87b77 ("iotests: copy-before-write: add cases for cbw-timeout
option")
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
The value passed to strerror() should be positive.
So let's fix it.
Fixes: Coverity CID 1490226, 1490223
Signed-off-by: Xie Yongji
Reviewed-by: Richard Henderson
Reviewed-by: Markus Armbruster
---
subprojects/libvduse/libvduse.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff -
On Tue, Jul 05, 2022 at 10:07:40AM +0200, Emanuele Giuseppe Esposito wrote:
>
>
> Am 05/07/2022 um 09:39 schrieb Stefan Hajnoczi:
> > On Wed, Jun 29, 2022 at 10:15:23AM -0400, Emanuele Giuseppe Esposito wrote:
> >> +void job_ref(Job *job)
> >> +{
> >> +JOB_LOCK_GUARD();
> >> +job_ref_lock
at 1:11 AM, Klaus Jensen wrote:
> On Jul 5 22:24, Jinhao Fan wrote:
>> Add property "ioeventfd" which is enabled by default. When this is
>> enabled, updates on the doorbell registers will cause KVM to signal
>> an event to the QEMU main loop to handle the doorbell updates.
>> Therefore, instead
Hi
On Wed, Jul 6, 2022 at 1:56 PM zhenwei pi wrote:
>
> A vCPU thread always reaches 100% utilization when:
> - guest uses idle=poll
> - disable HLT vm-exit
> - enable MWAIT
>
> Add new guest agent command 'guest-get-cpustats' to get guest CPU
> statistics, we can know the guest workload and how
On 7/6/22 13:26, Hanna Reitz wrote:
On 05.07.22 17:37, Vladimir Sementsov-Ogievskiy wrote:
strerror() represents ETIMEDOUT a bit different in Linux and macOS /
FreeBSD. Let's support the latter too.
Fixes: 9d05a87b77 ("iotests: copy-before-write: add cases for cbw-timeout
option")
Signed-off-b
at 2:43 AM, Keith Busch wrote:
> On Tue, Jul 05, 2022 at 07:11:36PM +0200, Klaus Jensen wrote:
>> On Jul 5 22:24, Jinhao Fan wrote:
>>> @@ -1374,7 +1374,14 @@ static void nvme_enqueue_req_completion(NvmeCQueue
>>> *cq, NvmeRequest *req)
>>>
>>> QTAILQ_REMOVE(&req->sq->out_req_list, req, en
Markus Armbruster writes:
> QDict is implemented as a simple hash table of fixed size. Observe:
>
> * Slow for large n. Not sure this matters.
>
> * A QDict with n entries takes 4120 + n * 32 bytes on my box. Wastes
> space for small n, which is a common case.
>
> * Order of traversal depend
From: "Jason A. Donenfeld"
This commit wires up bootinfo's RNG seed attribute so that Linux VMs can
have their RNG seeded from the earliest possible time in boot, just like
the "rng-seed" device tree property on those platforms. The link
contains the corresponding Linux patch.
Link: https://lore
r-7.1-pull-request
for you to fetch changes up to a988465d0eb7e2ee31a3679bbe3fbe71681820da:
m68k: virt: pass RNG seed via bootinfo block (2022-07-06 12:30:41 +0200)
Pull request m68k 20220706
pass RNG seed via boot
From: "Jason A. Donenfeld"
Every time this macro is used, the caller is passing in
"parameters_base", so this bug wasn't spotted. But the actual macro
variable name is "base", so use that instead.
Signed-off-by: Jason A. Donenfeld
Reviewed-by: Laurent Vivier
Message-Id: <20220625152318.120849-
On 06/07/2022 12:35, Markus Armbruster wrote:
Markus Armbruster writes:
QDict is implemented as a simple hash table of fixed size. Observe:
* Slow for large n. Not sure this matters.
* A QDict with n entries takes 4120 + n * 32 bytes on my box. Wastes
space for small n, which is a com
On Fri, Jul 01, 2022 at 05:13:48PM +0800, Chao Gao wrote:
> When measuring FIO read performance (cache=writethrough, bs=4k, iodepth=64) in
> VMs, we observe ~80K/s notifications (e.g., EPT_MISCONFIG) from guest to qemu.
It's not clear to me what caused the frequent poll_set_started(ctx,
false) cal
Am 05/07/2022 um 17:01 schrieb Vladimir Sementsov-Ogievskiy:
> On 6/29/22 17:15, Emanuele Giuseppe Esposito wrote:
>> Just as done with job.h, create _locked() functions in blockjob.h
>
> We modify not only blockjob.h, I'd s/blockjob.h/blockjob/ in subject.
>
> Also, we start to introduce _loc
On Wed, Jul 06, 2022 at 10:48:06AM +0100, Daniel P. Berrangé wrote:
> On Wed, Jul 06, 2022 at 10:37:54AM +0100, Daniel P. Berrangé wrote:
> > On Wed, Jul 06, 2022 at 04:28:16AM -0500, Andrea Bolognani wrote:
> > > func (s *GuestPanicInformation) UnmarshalJSON(data []byte) error {
> > > tmp
On 7/6/22 15:05, Emanuele Giuseppe Esposito wrote:
Am 05/07/2022 um 17:01 schrieb Vladimir Sementsov-Ogievskiy:
On 6/29/22 17:15, Emanuele Giuseppe Esposito wrote:
Just as done with job.h, create _locked() functions in blockjob.h
We modify not only blockjob.h, I'd s/blockjob.h/blockjob/ in
Am 06/07/2022 um 14:23 schrieb Vladimir Sementsov-Ogievskiy:
> On 7/6/22 15:05, Emanuele Giuseppe Esposito wrote:
>>
>>
>> Am 05/07/2022 um 17:01 schrieb Vladimir Sementsov-Ogievskiy:
>>> On 6/29/22 17:15, Emanuele Giuseppe Esposito wrote:
Just as done with job.h, create _locked() functions
Marc-André Lureau writes:
> Hi
>
> On Wed, Jul 6, 2022 at 1:56 PM zhenwei pi wrote:
>>
>> A vCPU thread always reaches 100% utilization when:
>> - guest uses idle=poll
>> - disable HLT vm-exit
>> - enable MWAIT
>>
>> Add new guest agent command 'guest-get-cpustats' to get guest CPU
>> statistics
Am 06/07/2022 um 14:36 schrieb Emanuele Giuseppe Esposito:
>
>
> Am 06/07/2022 um 14:23 schrieb Vladimir Sementsov-Ogievskiy:
>> On 7/6/22 15:05, Emanuele Giuseppe Esposito wrote:
>>>
>>>
>>> Am 05/07/2022 um 17:01 schrieb Vladimir Sementsov-Ogievskiy:
On 6/29/22 17:15, Emanuele Giuseppe
Vincent Whitchurch writes:
> On Tue, May 24, 2022 at 04:40:46PM +0100, Alex Bennée wrote:
>> +static int vu_gpio_start(VirtIODevice *vdev)
>> +{
>> +BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(vdev)));
>> +VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus);
>> +VHostUserGPIO *gpio =
On 7/6/22 03:31, Thomas Huth wrote:
On 05/07/2022 17.53, Peter Maydell wrote:
On Tue, 5 Jul 2022 at 16:13, Thomas Huth wrote:
QEMU emulates a *lot* of PowerPC-based machines - having a CPU
that is named "default" and cannot be used with most of those
machines sounds just wrong. Thus let's
On Wed, Jul 06, 2022 at 12:59:29PM +0100, Stefan Hajnoczi wrote:
>On Fri, Jul 01, 2022 at 05:13:48PM +0800, Chao Gao wrote:
>> When measuring FIO read performance (cache=writethrough, bs=4k, iodepth=64)
>> in
>> VMs, we observe ~80K/s notifications (e.g., EPT_MISCONFIG) from guest to
>> qemu.
>
>
Laurent Vivier writes:
> Copied from socket netdev file and modified to use SocketAddress
> to be able to introduce new features like unix socket.
>
> "udp" and "mcast" are squashed into dgram netdev, multicast is detected
> according to the IP address type.
> "listen" and "connect" modes are man
On 7/6/22 13:26, Hanna Reitz wrote:
On 05.07.22 17:37, Vladimir Sementsov-Ogievskiy wrote:
strerror() represents ETIMEDOUT a bit different in Linux and macOS /
FreeBSD. Let's support the latter too.
Fixes: 9d05a87b77 ("iotests: copy-before-write: add cases for cbw-timeout
option")
Signed-off-b
On Tue, Jul 05, 2022 at 05:47:25PM +0100, Daniel P. Berrangé wrote:
> On Tue, Jul 05, 2022 at 08:45:54AM -0700, Andrea Bolognani wrote:
> > On Fri, Jun 17, 2022 at 02:19:29PM +0200, Victor Toso wrote:
> > > func (s *AcpiDeviceOstEvent) GetTimestamp() Timestamp {
> > > return s.EventTimestamp
>
Hello all
any comment on this one? It seems it would make sense to disable option roms
for SEV by default in QEMU, any feedback anyone?
Thanks,
Claudio
On 5/11/22 13:30, Vasily Ulyanov wrote:
> Hello QEMU devs,
>
> Currently to launch an SEV guest there are certain requirements for the VM
> c
On Wed, Jul 06, 2022 at 09:53:43AM -0500, Andrea Bolognani wrote:
> On Tue, Jul 05, 2022 at 05:47:25PM +0100, Daniel P. Berrangé wrote:
> > On Tue, Jul 05, 2022 at 08:45:54AM -0700, Andrea Bolognani wrote:
> > > On Fri, Jun 17, 2022 at 02:19:29PM +0200, Victor Toso wrote:
> > > > func (s *AcpiDevic
From: Philippe Mathieu-Daudé
If we don't need to emulate any target, we certainly don't need TCG.
This should also help to compile again with
".../configure --enable-tools --disable-system --disable-user"
on systems that do not have a TCG backend.
Signed-off-by: Philippe Mathieu-Daudé
[thuth:
On Wed, 6 Jul 2022 at 09:55, Richard Henderson
wrote:
>
> Mark these as a non-streaming instructions, which should trap
> if full a64 support is not enabled in streaming mode.
>
> Signed-off-by: Richard Henderson
> ---
Reviewed-by: Peter Maydell
thanks
-- PMM
On Wed, 6 Jul 2022 at 09:38, Richard Henderson
wrote:
>
> This new behaviour is in the ARM pseudocode function
> AArch64.CheckFPAdvSIMDEnabled, which applies to AArch32
> via AArch32.CheckAdvSIMDOrFPEnabled when the EL to which
> the trap would be delivered is in AArch64 mode.
>
> Given that ARMv9
On Wed, Jul 06, 2022 at 04:07:43PM +0100, Daniel P. Berrangé wrote:
> On Wed, Jul 06, 2022 at 09:53:43AM -0500, Andrea Bolognani wrote:
> > Yeah but we're generating structs for all possible events ourselves
> > and we don't really expect external implementations of this
> > interface so I don't se
On 05/07/2022 11.03, Thomas Huth wrote:
On 14/06/2022 12.29, Vladimir Sementsov-Ogievskiy wrote:
From: Vladimir Sementsov-Ogievskiy
Add two simple test-cases: timeout failure with
break-snapshot-on-cbw-error behavior and similar with
break-guest-write-on-cbw-error behavior.
Signed-off-by: Vla
On Mon, Jul 4, 2022 at 10:46 PM Cédric Le Goater wrote:
> On 7/4/22 23:54, Peter Delevoryas wrote:
> > I added this helper in the Aspeed machine file a while ago to help
> > initialize fuji-bmc i2c devices. This moves it to the official pca954x
> > file so that other files can use it.
> >
> > Thi
On Wed, Jul 06, 2022 at 09:02:14AM +0100, Daniel P. Berrangé wrote:
> On Tue, Jul 05, 2022 at 02:46:59PM -0700, Peter Delevoryas wrote:
> > I noticed that I can't run any avocado tests on macOS because the QMP
> > unix socket path is too long:
>
>
> > I think the path limit for unix sockets on ma
On Wed, 6 Jul 2022 at 10:11, Richard Henderson
wrote:
>
> We can reuse the SVE functions for implementing moves to/from
> horizontal tile slices, but we need new ones for moves to/from
> vertical tile slices.
>
> Signed-off-by: Richard Henderson
> +/*
> + * Move Zreg vector to ZArray column.
>
On Wed, Jul 06, 2022 at 08:21:12AM +, Joel Stanley wrote:
> On Tue, 5 Jul 2022 at 19:14, Peter Delevoryas wrote:
> >
> > Signed-off-by: Peter Delevoryas
>
> Reviewed-by: Joel Stanley
>
> > ---
> > docs/system/arm/aspeed.rst | 48 ++
> > 1 file changed,
On Wed, 6 Jul 2022 at 10:21, Richard Henderson
wrote:
>
> We cannot reuse the SVE functions for LD[1-4] and ST[1-4],
> because those functions accept only a Zreg register number.
> For SME, we want to pass a pointer into ZA storage.
>
> Signed-off-by: Richard Henderson
> ---
Reviewed-by: Peter M
On 06.07.22 16:46, Vladimir Sementsov-Ogievskiy wrote:
On 7/6/22 13:26, Hanna Reitz wrote:
On 05.07.22 17:37, Vladimir Sementsov-Ogievskiy wrote:
strerror() represents ETIMEDOUT a bit different in Linux and macOS /
FreeBSD. Let's support the latter too.
Fixes: 9d05a87b77 ("iotests: copy-before
On Wed, 6 Jul 2022 at 10:17, Richard Henderson
wrote:
>
> Signed-off-by: Richard Henderson
> +void HELPER(sme_addha_s)(void *vzda, void *vzn, void *vpn,
> + void *vpm, uint32_t desc)
> +{
> +intptr_t row, col, oprsz = simd_oprsz(desc) / 4;
> +uint64_t *pn = vpn, *
On Wed, 6 Jul 2022 at 10:32, Richard Henderson
wrote:
>
> Make sure to zero the currently reserved fields.
>
> Signed-off-by: Richard Henderson
Reviewed-by: Peter Maydell
thanks
-- PMM
On Wed, 6 Jul 2022 at 10:33, Richard Henderson
wrote:
>
> In parse_user_sigframe, the kernel rejects duplicate sve records,
> or records that are smaller than the header. We were silently
> allowing these cases to pass, dropping the record.
>
> Signed-off-by: Richard Henderson
Reviewed-by: Pete
On 7/6/22 19:22, Thomas Huth wrote:
On 05/07/2022 11.03, Thomas Huth wrote:
On 14/06/2022 12.29, Vladimir Sementsov-Ogievskiy wrote:
From: Vladimir Sementsov-Ogievskiy
Add two simple test-cases: timeout failure with
break-snapshot-on-cbw-error behavior and similar with
break-guest-write-on-cb
Declare that we need copy-before-write filter to avoid failure when
filter is not whitelisted.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
tests/qemu-iotests/tests/copy-before-write | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tests/qemu-iotests/tests/copy-before-wri
On 7/2/22 03:20, Cédric Le Goater wrote:
On 6/30/22 21:42, Daniel Henrique Barboza wrote:
This spares us a g_free() call. Let's also not use 'val' and return the
value of kvmppc_read_int_dt() directly.
Signed-off-by: Daniel Henrique Barboza
---
target/ppc/kvm.c | 8 +++-
1 file chang
Some more controllers have been modeled recently. Reflect that in the
list of supported devices. New machines were also added.
Signed-off-by: Cédric Le Goater
---
docs/system/arm/aspeed.rst | 14 ++
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/docs/system/arm/aspeed
On 7/6/22 15:59, Emanuele Giuseppe Esposito wrote:
Am 06/07/2022 um 14:36 schrieb Emanuele Giuseppe Esposito:
Am 06/07/2022 um 14:23 schrieb Vladimir Sementsov-Ogievskiy:
On 7/6/22 15:05, Emanuele Giuseppe Esposito wrote:
Am 05/07/2022 um 17:01 schrieb Vladimir Sementsov-Ogievskiy:
On 6
On 7/3/22 16:50, Pali Rohár wrote:
Commit 80d11f4467c4 ("Add definitions for Freescale PowerPC implementations")
changed core type of MPC8555 and MPC8560 from e500v1 to e500v2.
But both MPC8555 and MPC8560 have just e500v1 cores, there are no features
of e500v2 cores. It can be verified by re
On 6/29/2022 4:19 PM, Alex Williamson wrote:
> On Wed, 15 Jun 2022 07:52:15 -0700
> Steve Sistare wrote:
>
>> Finish cpr for vfio-pci MSI/MSI-X devices by preserving eventfd's and
>> vector state.
>>
>> Signed-off-by: Steve Sistare
>> ---
>> hw/vfio/pci.c | 122
>> +
On 6/29/2022 3:14 PM, Alex Williamson wrote:
> On Wed, 15 Jun 2022 07:52:14 -0700
> Steve Sistare wrote:
>
>> Enable vfio-pci devices to be saved and restored across an exec restart
>> of qemu.
>>
>> At vfio creation time, save the value of vfio container, group, and device
>> descriptors in cpr
On 6/29/2022 4:43 PM, Alex Williamson wrote:
> On Wed, 15 Jun 2022 07:52:16 -0700
> Steve Sistare wrote:
>
>> Preserve vfio INTX state across cpr restart. Preserve VFIOINTx fields as
>> follows:
>> pin : Recover this from the vfio config in kernel space
>> interrupt : Preserve its eventfd de
On 02/07/2022 08.02, Richard Henderson wrote:
Ok, version 1 didn't work, so once more with feeling.
Can you give it a try, Sven?
r~
Richard Henderson (4):
target/s390x: Remove DISAS_GOTO_TB
target/s390x: Remove DISAS_PC_STALE
target/s390x: Remove DISAS_PC_STALE_NOCHAIN
target/s390
On 6/29/2022 6:58 PM, Alex Williamson wrote:
> On Wed, 15 Jun 2022 07:52:17 -0700
> Steve Sistare wrote:
>
>> If vfio_cpr_save fails to unmap all vaddr's, then recover by walking all
>> flat sections to restore the vaddr for each. Do so by invoking the
>> vfio listener callback, and passing a ne
On 06/07/2022 19.08, Vladimir Sementsov-Ogievskiy wrote:
Declare that we need copy-before-write filter to avoid failure when
filter is not whitelisted.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
tests/qemu-iotests/tests/copy-before-write | 3 ++-
1 file changed, 2 insertions(+), 1 delet
On 7/4/22 13:25, Roman Kagan wrote:
It's possible to create non-working configurations by attaching a device
to a derivative of PCIe slot (pcie-root-port, ioh3420, etc) and
specifying a slot number other that zero, e.g.:
-device pcie-root-port,id=s0,... \
-device virtio-blk-pci,bus=s0,
The used idx used to match with this, but it will not match from the
moment we introduce svq_inject. Rewind all the descriptors not used by
vdpa device and get the vq state properly.
Signed-off-by: Eugenio Pérez
---
include/hw/virtio/virtio.h | 1 +
hw/virtio/vhost-vdpa.c | 7 +++
hw/vir
It allows to run commands at SVQ start.
Signed-off-by: Eugenio Pérez
---
hw/virtio/vhost-shadow-virtqueue.h | 18 +-
hw/virtio/vhost-shadow-virtqueue.c | 8 +++-
hw/virtio/vhost-vdpa.c | 17 -
3 files changed, 40 insertions(+), 3 deletions(-)
dif
VirtQueueElement comes from the guest, but we're heading SVQ to be able
to inject element without the guest's knowledge.
To do so, make this accept sg buffers directly, instead of using
VirtQueueElement.
Add vhost_svq_add_element to maintain element convenience
Signed-off-by: Eugenio Pérez
---
Previous function misses the just picked avail buffer from the queue.
This way keeps blocking the used queue forever, but is cleaner to check
before calling to vhost_svq_get_buf.
Fixes: 100890f7cad50 ("vhost: Shadow virtqueue buffers forwarding")
Signed-off-by: Eugenio Pérez
---
hw/virtio/vhost-
This allows qemu to inject buffers to the device.
Signed-off-by: Eugenio Pérez
---
hw/virtio/vhost-shadow-virtqueue.h | 2 ++
hw/virtio/vhost-shadow-virtqueue.c | 34 ++
2 files changed, 36 insertions(+)
diff --git a/hw/virtio/vhost-shadow-virtqueue.h
b/hw/virtio/v
Control virtqueue is used by networking device for accepting various
commands from the driver. It's a must to support multiqueue and other
configurations.
Shadow VirtQueue (SVQ) already makes possible migration of virtqueue
states, effectively intercepting them so qemu can track what regions of me
It's done for both in and out descriptors so it's better placed here.
Acked-by: Jason Wang
Signed-off-by: Eugenio Pérez
---
hw/virtio/vhost-shadow-virtqueue.c | 39 +-
1 file changed, 28 insertions(+), 11 deletions(-)
diff --git a/hw/virtio/vhost-shadow-virtqueue.c
This allows external vhost-net devices to modify the state of the
VirtIO device model once vhost-vdpa device has acknowledge the control
commands.
Signed-off-by: Eugenio Pérez
---
include/hw/virtio/virtio-net.h | 4 ++
hw/net/virtio-net.c| 84 --
2 fi
This will allow SVQ to add metadata to the different queue elements. To
simplify changes, only store actual element at this patch.
Signed-off-by: Eugenio Pérez
---
hw/virtio/vhost-shadow-virtqueue.h | 8 --
hw/virtio/vhost-shadow-virtqueue.c | 41 --
2 files chan
Introduce the control virtqueue support for vDPA shadow virtqueue. This
is needed for advanced networking features like multiqueue.
Virtio-net control VQ will copy the descriptors to qemu's VA, so we
avoid TOCTOU with the guest's or device's memory every time there is a
device model change. When
This function allows external SVQ users to return guest's available
buffers.
Signed-off-by: Eugenio Pérez
---
hw/virtio/vhost-shadow-virtqueue.h | 2 ++
hw/virtio/vhost-shadow-virtqueue.c | 16
2 files changed, 18 insertions(+)
diff --git a/hw/virtio/vhost-shadow-virtqueue.h
We will allow SVQ user to store opaque data for each element, so its
easier if we store this kind of information just at avail.
Signed-off-by: Eugenio Pérez
---
hw/virtio/vhost-shadow-virtqueue.h | 3 +++
hw/virtio/vhost-shadow-virtqueue.c | 14 --
2 files changed, 11 insertions(+),
To restore the device in the destination of a live migration we send the
commands through control virtqueue. For a device to read CVQ it must
have received DRIVER_OK status bit.
However this open a window where the device could start receiving
packets in rx queue 0 before it receive the RSS config
It allows the Shadow Control VirtQueue to wait the device to use the commands
that restore the net device state after a live migration.
Signed-off-by: Eugenio Pérez
---
hw/virtio/vhost-shadow-virtqueue.h | 1 +
hw/virtio/vhost-shadow-virtqueue.c | 54 --
2 files chan
When qemu injects buffers to the vdpa device it will be used to maintain
contextual data. If SVQ has no operation, it will be used to maintain
the VirtQueueElement pointer.
Signed-off-by: Eugenio Pérez
---
hw/virtio/vhost-shadow-virtqueue.h | 3 ++-
hw/virtio/vhost-shadow-virtqueue.c | 13 +
This allows external handlers to be aware of new buffers that the guest
places in the virtqueue.
When this callback is defined the ownership of guest's virtqueue element
is transferred to the callback. This means that if the user wants to
forward the descriptor it needs to manually inject it. The
SVQ is going to store it in SVQElement, so we need it before add functions.
Signed-off-by: Eugenio Pérez
---
hw/virtio/vhost-shadow-virtqueue.c | 20 ++--
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/hw/virtio/vhost-shadow-virtqueue.c
b/hw/virtio/vhost-shadow-
To know the device features is needed for CVQ SVQ, so SVQ knows if it
can handle all commands or not. Extract from
vhost_vdpa_get_max_queue_pairs so we can reuse it.
Signed-off-by: Eugenio Pérez
---
net/vhost-vdpa.c | 30 --
1 file changed, 20 insertions(+), 10 deleti
The callback allows SVQ users to know the VirtQueue requests and
responses. QEMU can use this to synchronize virtio device model state,
allowing to migrate it with minimum changes to the migration code.
If callbacks are specified at svq creation, the buffers need to be
injected to the device using
Finally offering the possibility to enable SVQ from the command line.
Signed-off-by: Eugenio Pérez
---
qapi/net.json| 9 +-
net/vhost-vdpa.c | 72 ++--
2 files changed, 77 insertions(+), 4 deletions(-)
diff --git a/qapi/net.json b/qapi/net.js
As a first step we only enable CVQ first than others. Future patches add
state restore.
Signed-off-by: Eugenio Pérez
---
net/vhost-vdpa.c | 19 +++
1 file changed, 19 insertions(+)
diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
index e415cc8de5..77d013833f 100644
--- a/net/vho
To notify the caller it needs to discard the element.
Signed-off-by: Eugenio Pérez
---
hw/virtio/vhost-shadow-virtqueue.h | 11 +++
hw/virtio/vhost-shadow-virtqueue.c | 11 ++-
2 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/hw/virtio/vhost-shadow-virtqueue.h
b/hw
This is needed so the destination vdpa device see the same state a the
guest set in the source.
Signed-off-by: Eugenio Pérez
---
net/vhost-vdpa.c | 49 +++-
1 file changed, 48 insertions(+), 1 deletion(-)
diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa
Shadow CVQ will copy buffers on qemu VA, so we avoid TOCTOU attacks that
can set a different state in qemu device model and vdpa device.
Signed-off-by: Eugenio Pérez
---
include/hw/virtio/vhost-vdpa.h | 4
hw/virtio/vhost-vdpa.c | 7 +++
2 files changed, 7 insertions(+), 4 delet
When running under KVM accel it is expected to have 'clock-frequency' in
the DT. Not having this attribute is too risky for both the machine
emulation and userspace.
We have a way of telling whether this error scenario might happen or not
via kvmppc_read_int_cpu_dt() now being able to report error
Hi,
In this second version the biggest change is that I decided to
error_fatal inside kvmppc_get_clockfreq().
After the discussions in v1 [1] it became clear that falling back to a
default value when 'clock-frequency' is missing is a bad idea. Not because
of the default value per se, but for the
The function can't just return 0 whether an error happened and call it a
day. We must provide a way of letting callers know if the zero return is
legitimate or due to an error.
Add an Error pointer to kvmppc_read_int_cpu_dt() that will be filled
with an appropriate error, if one occurs. Callers ar
kvmppc_read_int_dt() and kvmppc_read_int_cpu_dt() return an uint64_t,
while returning -1 when an error occurs. kvmppc_read_int_cpu_dt() claims
that it will return 0 if anything wrong happens, but it's returning -1
if kmvppc_find_cpu_dt() fails.
The elephant in the room is that returning -1 while c
This spares us a g_free() call. Let's also not use 'val' and return the
value of kvmppc_read_int_dt() directly.
Signed-off-by: Daniel Henrique Barboza
---
target/ppc/kvm.c | 8 +++-
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c
index 7611e9
From: jianchunfu
Add error reporting before return when opening file fails in
kvmppc_read_int_dt().
Signed-off-by: jianchunfu
Reviewed-by: Cédric Le Goater
[danielhb: use error_setg() instead of fprintf]
Signed-off-by: Daniel Henrique Barboza
---
target/ppc/kvm.c | 5 +++--
1 file changed, 3
On Wed, Jul 06, 2022 at 09:38:39PM +0300, Vladimir Sementsov-Ogievskiy wrote:
> On 7/4/22 13:25, Roman Kagan wrote:
> > It's possible to create non-working configurations by attaching a device
> > to a derivative of PCIe slot (pcie-root-port, ioh3420, etc) and
> > specifying a slot number other tha
The following changes since commit 180c2f24d5e8eada41e012a3899d29bb695aae06:
Merge tag 'net-pull-request' of https://github.com/jasowang/qemu into staging
(2022-07-06 10:41:34 +0530)
are available in the Git repository at:
https://gitlab.com/danielhb/qemu.git tags/pull-ppc-202
At this moment we leave the pnv-phb3(4)-root-port unattached in QOM:
/unattached (container)
(...)
/device[2] (pnv-phb3-root-port)
/bus master container[0] (memory-region)
/bus master[0] (memory-region)
/pci_bridge_io[0] (memory-region)
/pci_bridge_io[1] (memory-regio
It's inneficient to scroll all child objects when we have all PHBs
available in chip8->phbs[].
pnv_chip_power8_pic_print_info_child() ended up folded into
pic_print_info() for simplicity.
Reviewed-by: Frederic Barrat
Signed-off-by: Daniel Henrique Barboza
Message-Id: <20220621173436.165912-7-da
From: Víctor Colombo
FPSCR_* bit values in QEMU are in the 'inverted' order from what Power
ISA defines (e.g. FPSCR.FI is bit 46 but is defined as 17 in cpu.h).
Now that PPC_BIT_NR macro was introduced to fix this situation for the
MSR bits, we can use it for the FPSCR bits too.
Also, adjust the
Creating a root port is something related to the PHB, not the PEC. It
also makes the logic more in line with what pnv-phb3 does.
Reviewed-by: Frederic Barrat
Reviewed-by: Cédric Le Goater
Signed-off-by: Daniel Henrique Barboza
Message-Id: <20220621173436.165912-2-danielhb...@gmail.com>
---
hw/
It is not advisable to execute an object_dynamic_cast() to poke into
bus->qbus.parent and follow it up with a C cast into the PnvPHB type we
think we got.
In fact this is not needed. There is nothing sophisticated being done
with the PHB object retrieved during root_port_realize() for both PHB3
an
From: Matheus Ferst
And also move the insns to decodetree and remove the now unused
avr_qw_addc method.
Signed-off-by: Matheus Ferst
Reviewed-by: Víctor Colombo
Message-Id: <20220606150037.338931-4-matheus.fe...@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza
---
target/ppc/helper.h
From: Matheus Ferst
And also move the insn to decodetree.
Signed-off-by: Matheus Ferst
Reviewed-by: Víctor Colombo
Message-Id: <20220606150037.338931-5-matheus.fe...@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza
---
target/ppc/helper.h | 2 +-
target/ppc/insn32.dec
pnv_ics_resend() is scrolling through all the child objects of the chip
to search for the PHBs. It's faster and simpler to just use the phbs[]
array.
pnv_ics_resend_child() was folded into pnv_ics_resend() since it's too
simple to justify its own function.
Reviewed-by: Cédric Le Goater
Reviewed-
It's unneeded. No other PCIE_BUS implements this interface.
Reviewed-by: Frederic Barrat
Fixes: 9ae1329ee2fe ("ppc/pnv: Add models for POWER8 PHB3 PCIe Host bridge")
Signed-off-by: Daniel Henrique Barboza
Message-Id: <20220621173436.165912-8-danielhb...@gmail.com>
---
hw/pci-host/pnv_phb3.c | 4
From: Matheus Ferst
And also move the insns to decodetree.
Signed-off-by: Matheus Ferst
Reviewed-by: Víctor Colombo
Message-Id: <20220606150037.338931-7-matheus.fe...@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza
---
target/ppc/helper.h | 4 +--
target/ppc/insn32.d
From: Víctor Colombo
Add mffsce test to check both the return value and the new fpscr
stored in the cpu.
Signed-off-by: Víctor Colombo
Reviewed-by: Matheus Ferst
Message-Id: <20220629162904.105060-8-victor.colo...@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza
---
tests/tcg/ppc64/Ma
101 - 200 of 296 matches
Mail list logo