This is an automated email from the ASF dual-hosted git repository.

jerpelea pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit af39ee49d877f5d00d11bbfe57c46e66f9dacb7c
Author: Bowen Wang <wangbow...@xiaomi.com>
AuthorDate: Thu Nov 16 14:43:08 2023 +0800

    virtio-mmio: use nuttx implemented io operation instead libmetal's
    
    Openamp/libmetal's metal io operation used the atomic operation, but
    in QEMU 8.1.2, the risc-v IO region is not allow to use atomic instruction
    in SMP case.
    
    Signed-off-by: Bowen Wang <wangbow...@xiaomi.com>
---
 drivers/virtio/virtio-mmio.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/virtio/virtio-mmio.c b/drivers/virtio/virtio-mmio.c
index 97a23bd102..b9d1f90ebb 100644
--- a/drivers/virtio/virtio-mmio.c
+++ b/drivers/virtio/virtio-mmio.c
@@ -759,9 +759,9 @@ static int virtio_mmio_init_device(FAR struct 
virtio_mmio_device_s *vmdev,
   vmdev->shm_phy = (metal_phys_addr_t)0;
   vmdev->cfg_phy = (metal_phys_addr_t)regs;
   metal_io_init(&vmdev->shm_io, NULL, &vmdev->shm_phy,
-                SIZE_MAX, UINT_MAX, 0, NULL);
+                SIZE_MAX, UINT_MAX, 0, metal_io_get_ops());
   metal_io_init(&vmdev->cfg_io, regs, &vmdev->cfg_phy,
-                SIZE_MAX, UINT_MAX, 0, NULL);
+                SIZE_MAX, UINT_MAX, 0, metal_io_get_ops());
 
   /* Init the virtio device */
 

Reply via email to