[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Virtio On XEN/ARM



Hi Vikram and all,

I'm trying to enable a virtio device(such as virtio-net) with qemu
backend on arm platform but failed.

I've tried the following configurations(The details are from `VirtIO
for Xen on ARM - Vikram Garhwal, AMD`):

QEMU build: ./configure --target-list=aarch64-softmmu --enable-xen; make -j8

XEN build: build xen with configurations(CONFIG_IOREQ_SERVER=y and
CONFIG_EXPERT=y)

Linux(Dom0&DomU) build: build with (CONFIG_XEN_VIRTIO=y,
CONFIG_XEN_DOM0=y, etc.) and (CONFIG_VIRTIO_NET=y, etc.)

Setup bridge in DOM0: brctl addr xenbr0

The vm configuration like:

```
name = "domu01"
memory = 4096
vcpus = 4
vif = [ 'model=virtio-net,type=ioemu' ]
kernel = '/home/haiwei/workspace/vmlinuz-6.1.43xen'
ramdisk = '/home/haiwei/workspace/initrd.img-6.1.43xen'
extra = 'console=tty1 root=/dev/xvda1p1 rootfstype=ext4 rootwait rw
console=ttyS2,1500000 earlycon=xen,0xfeb50000,1500000 loglevel=8
console=hvc0'
disk = [ '/home/haiwei/workspace/ubuntu22.04.raw,raw,xvda1,rw' ]
```

The steps I have tried:

1. Start qemu first

```
qemu-system-aarch64 -xen-domid 1 -no-shutdown        \
-chardev socket,id=libxl-cmd,path=qmp-libxl-1,server=on,wait=off \
-mon chardev=libxl-cmd,mode=control \
-chardev 
socket,id=libxenstat-cmd,path=/var/run/xen/qmp-libxenstat-3,server=on,wait=off
\
-mon chardev=libxenstat-cmd,mode=control \
-nodefaults                                     \
-no-user-config                                 \
-xen-attach -name domu01                            \
-vnc none                                       \
-display none                                   \
-nographic                                      \
-device virtio-net-device,id=nic0,netdev=net0,mac=00:16:3e:5c:81:78 \
-netdev type=tap,id=net0,ifname=vif1.0-emu,br=xenbr0,script=no,downscript=no \
-machine xenpvh \
-m 4096
```

I got the print like:

```
qemu-system-aarch64: warning: xen: failed to create ioreq server
qemu-system-aarch64: warning: tpm-base-addr is not provided. TPM will
not be enabled
qemu-system-aarch64: xendevicemodel_set_irq_level failed
```

2. Then start xl

```
xl -v create -c ./my.vm (I have changed the 'minmsglevel_default' to
'XTL_DEBUG')
```

But error like:

```
libxl: debug: libxl_create.c:2248:do_domain_create: ao 0x5591b3c8a0:
create: how=(nil) callback=(nil) poller=0x5591b36740
libxl: detail: libxl_create.c:738:libxl__domain_make: passthrough: disabled
libxl: detail: libxl_create.c:747:libxl__domain_make: altp2m: disabled
libxl: debug: libxl_arm.c:182:libxl__arch_domain_prepare_config:
Configure the domain
libxl: debug: libxl_arm.c:185:libxl__arch_domain_prepare_config:  -
Allocate 0 SPIs
libxl: debug: libxl_device.c:443:libxl__device_disk_set_backend: Disk
vdev=xvda1 spec.backend=unknown specification=xen
libxl: debug: libxl_device.c:483:libxl__device_disk_set_backend: Disk
vdev=xvda1, using backend phy
libxl: error: libxl_nic.c:107:libxl__device_nic_setdefault: Domain
2:trying to create PV or PVH guest with an emulated interface
libxl: error: libxl_nic.c:529:libxl__device_nic_set_devids: Domain
2:Unable to set nic defaults for nic 0
libxl: debug: libxl_event.c:863:libxl__ev_xswatch_deregister: watch
w=0x5591b39f60: deregister unregistered
libxl: debug: libxl_domain.c:1597:devices_destroy_cb: Domain 2:Forked
pid 2038 for destroy of domain
libxl: debug: libxl_create.c:2289:do_domain_create: ao 0x5591b3c8a0:
inprogress: poller=0x5591b36740, flags=i
libxl: debug: libxl_event.c:2067:libxl__ao_complete: ao 0x5591b3c8a0:
complete, rc=-3
libxl: debug: libxl_event.c:2036:libxl__ao__destroy: ao 0x5591b3c8a0: destroy
libxl: debug: libxl_domain.c:1042:libxl_domain_destroy: Domain 2:ao
0x5591b3ef90: create: how=(nil) callback=(nil) poller=0x5591b36740
libxl: error: libxl_domain.c:354:libxl_domain_info: Domain 2:Getting
domain info: No such process
libxl: error: libxl_domain.c:1179:libxl__destroy_domid: Domain
2:Non-existant domain
libxl: error: libxl_domain.c:1133:domain_destroy_callback: Domain
2:Unable to destroy guest
libxl: error: libxl_domain.c:1060:domain_destroy_cb: Domain
2:Destruction of domain failed
libxl: debug: libxl_event.c:2067:libxl__ao_complete: ao 0x5591b3ef90:
complete, rc=-21
libxl: debug: libxl_domain.c:1051:libxl_domain_destroy: Domain 2:ao
0x5591b3ef90: inprogress: poller=0x5591b36740, flags=ic
libxl: debug: libxl_event.c:2036:libxl__ao__destroy: ao 0x5591b3ef90: destroy
xencall:buffer: debug: total allocations:45 total releases:45
xencall:buffer: debug: current allocations:0 maximum allocations:2
xencall:buffer: debug: cache current size:1
xencall:buffer: debug: cache hits:37 misses:1 toobig:7
xencall:buffer: debug: total allocations:0 total releases:0
xencall:buffer: debug: current allocations:0 maximum allocations:0
xencall:buffer: debug: cache current size:0
xencall:buffer: debug: cache hits:0 misses:0 toobig:0
```

Could you please, are there any configuration errors? And what can I
do to enable the virtio device in DomU? Thanks in advance!

Best regards,
  Haiwei



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.