[PATCH] vdpa: Fix endian bugs in shadow virtqueue

2025-02-11 Thread Konstantin Shkolnyy
VDPA didn't work on a big-endian machine due to missing/incorrect CPU<->LE data format conversions. Signed-off-by: Konstantin Shkolnyy --- hw/virtio/vhost-shadow-virtqueue.c | 16 +--- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/hw/virtio/vhost-shadow-

[PATCH] vdpa: Allow vDPA to work on big-endian machine

2025-02-11 Thread Konstantin Shkolnyy
Add .set_vnet_le() function that always returns success, assuming that vDPA h/w always implements LE data format. Otherwise, QEMU disables vDPA and outputs the message: "backend does not support LE vnet headers; falling back on userspace virtio" Signed-off-by: Konstantin Shkolnyy ---

Re: [PATCH] vdpa: Allow vDPA to work on big-endian machine

2025-02-12 Thread Konstantin Shkolnyy
On 2/12/2025 07:38, Eugenio Perez Martin wrote: On Tue, Feb 11, 2025 at 5:20 PM Konstantin Shkolnyy wrote: Add .set_vnet_le() function that always returns success, assuming that vDPA h/w always implements LE data format. Otherwise, QEMU disables vDPA and outputs the message: "backend doe

Re: [PATCH] vdpa: Fix endian bugs in shadow virtqueue

2025-02-12 Thread Konstantin Shkolnyy
On 2/12/2025 09:06, Eugenio Perez Martin wrote: -i = cpu_to_le16(svq->desc_next[i]); +i = le16_to_cpu(svq->desc_next[i]); Both svq->desc_next and "i" are in QEMU. We can skip the conversion and assign directly. Are you saying that desc_next[] should be in "CPU" and not LE form

Re: [PATCH] vdpa: Allow vDPA to work on big-endian machine

2025-02-12 Thread Konstantin Shkolnyy
On 2/12/2025 08:52, Philippe Mathieu-Daudé wrote: On 11/2/25 17:19, Konstantin Shkolnyy wrote: Add .set_vnet_le() function that always returns success, assuming that vDPA h/w always implements LE data format. Otherwise, QEMU disables vDPA and outputs the message: "backend does not suppo

Re: [PATCH] vdpa: Allow vDPA to work on big-endian machine

2025-02-12 Thread Konstantin Shkolnyy
On 2/12/2025 12:07, Philippe Mathieu-Daudé wrote: On 12/2/25 18:24, Konstantin Shkolnyy wrote: On 2/12/2025 08:52, Philippe Mathieu-Daudé wrote: On 11/2/25 17:19, Konstantin Shkolnyy wrote: Add .set_vnet_le() function that always returns success, assuming that vDPA h/w always implements LE

Re: [PATCH v2] vdpa: Fix endian bugs in shadow virtqueue

2025-02-14 Thread Konstantin Shkolnyy
On 2/13/2025 20:24, Lei Yang wrote: vdpa's regression tests

Re: [PATCH v2] vdpa: Fix endian bugs in shadow virtqueue

2025-02-14 Thread Konstantin Shkolnyy
On 2/13/2025 20:24, Lei Yang wrote: I tested this patch with vdpa's regression tests, everything works fine. Tested-by: Lei Yang Could you point me to those tests?

[PATCH v2] vdpa: Fix endian bugs in shadow virtqueue

2025-02-12 Thread Konstantin Shkolnyy
VDPA didn't work on a big-endian machine due to missing/incorrect CPU<->LE data format conversions. Signed-off-by: Konstantin Shkolnyy --- Changes in v2: Change desc_next[] from LE format to "CPU". hw/virtio/vhost-shadow-virtqueue.c | 18 ++ 1 file changed

[PATCH v2] vdpa: Allow vDPA to work on big-endian machine

2025-02-21 Thread Konstantin Shkolnyy
Add .set_vnet_le() function that always returns success, assuming that vDPA h/w always implements LE data format. Otherwise, QEMU disables vDPA and outputs the message: "backend does not support LE vnet headers; falling back on userspace virtio" Signed-off-by: Konstantin Shkolnyy ---

Re: [PATCH] vdpa: Allow vDPA to work on big-endian machine

2025-02-20 Thread Konstantin Shkolnyy
On 2/20/2025 09:57, Michael S. Tsirkin wrote: On Tue, Feb 11, 2025 at 10:19:23AM -0600, Konstantin Shkolnyy wrote: Add .set_vnet_le() function that always returns success, assuming that vDPA h/w always implements LE data format. Otherwise, QEMU disables vDPA and outputs the message: "ba

Re: [PATCH v2] vdpa: Fix endian bugs in shadow virtqueue

2025-02-25 Thread Konstantin Shkolnyy
On 2/25/2025 03:30, Michael Tokarev wrote: 12.02.2025 19:49, Konstantin Shkolnyy wrote: VDPA didn't work on a big-endian machine due to missing/incorrect CPU<->LE data format conversions. Signed-off-by: Konstantin Shkolnyy This looks like a qemu-stable material. Please let me kn

Re: [PATCH] vdpa: Allow vDPA to work on big-endian machine

2025-02-18 Thread Konstantin Shkolnyy
On 2/12/2025 14:01, Konstantin Shkolnyy wrote: On 2/12/2025 12:07, Philippe Mathieu-Daudé wrote: On 12/2/25 18:24, Konstantin Shkolnyy wrote: On 2/12/2025 08:52, Philippe Mathieu-Daudé wrote: On 11/2/25 17:19, Konstantin Shkolnyy wrote: Add .set_vnet_le() function that always returns success

Re: [PATCH v2] vdpa: Fix endian bugs in shadow virtqueue

2025-02-27 Thread Konstantin Shkolnyy
On 2/27/2025 00:33, Michael Tokarev wrote: 25.02.2025 15:39, Konstantin Shkolnyy wrote: On 2/25/2025 03:30, Michael Tokarev wrote: This looks like a qemu-stable material. Please let me know if it is not. It won't help without my other "[PATCH v2] vdpa: Allow vDPA to work on

Re: [PATCH v2] vdpa: Allow vDPA to work on big-endian machine

2025-03-13 Thread Konstantin Shkolnyy
On 2/23/2025 19:57, Jason Wang wrote: On Sat, Feb 22, 2025 at 3:08 AM Konstantin Shkolnyy wrote: Add .set_vnet_le() function that always returns success, assuming that vDPA h/w always implements LE data format. Otherwise, QEMU disables vDPA and outputs the message: "backend does not su

VDPA MAC address problem

2025-03-19 Thread Konstantin Shkolnyy
I’m observing a problem while testing VDPA with Nvidia ConnectX-6 (mlx5) on s390. Upon start, virtio_net_device_realize() tries to set a new MAC address by VHOST_VDPA_SET_CONFIG which doesn’t do anything. Later, the VM gets started and learns about the old address from virtio_net_get_config(

Re: VDPA MAC address problem

2025-03-20 Thread Konstantin Shkolnyy
On 3/20/2025 20:22, Jason Wang wrote: On Fri, Mar 21, 2025 at 12:45 AM Konstantin Shkolnyy wrote: On 3/19/2025 19:58, Jason Wang wrote: On Thu, Mar 20, 2025 at 12:34 AM Konstantin Shkolnyy wrote: Upon reading this forum, I see that VHOST_VDPA_SET_CONFIG is “deprecated”, and so

Re: VDPA MAC address problem

2025-03-20 Thread Konstantin Shkolnyy
On 3/19/2025 19:58, Jason Wang wrote: On Thu, Mar 20, 2025 at 12:34 AM Konstantin Shkolnyy wrote: Upon reading this forum, I see that VHOST_VDPA_SET_CONFIG is “deprecated”, and so VIRTIO_NET_CTRL_MAC_ADDR_SET must be the right method, but it’s apparently called too late