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

Re: Xen and Qemu virtio question


  • To: Peng Fan <peng.fan@xxxxxxx>
  • From: Vikram Garhwal <vikram.garhwal@xxxxxxx>
  • Date: Wed, 3 Jan 2024 12:44:03 -0800
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2uTJStMK/t5DjuDa/IOmkAUgSq293zzv3oMcwzsx8T8=; b=UxuYpfFfm0Jv4hkZOR1Fkz8+IPqz5oMXNgno53mDTMH/hxYricegjDfE57Jb05mIKU9KfcZFTJ5CI3u4uZdzxVxMAT9SVuhzb1YP8MIZ7EUx9Nl9HwrbyKu5/rAb+AKj0ScEKyBI+TDoeVGoghsCkEWryNFXWvQT5z/hooBDEBjzGxe3qi26eWDsZb/KQpdJER3oLFH+aHXwSIuIn1Gfe/nNGCIJ3sCiyY7VFBg0B/C0cfelX9bRpO03cJ4sanBelk7Z1G1SycuSc0IqoBO3ATTzcTVbyp04JNz8J9Rc1eyCNxRj5Br9B3A2vRnoAzHVG9ySG73gm9VeHYjVrhDtHg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WohSmIGts9SAu9OqlpNqy1zliQFf7bLjMdtd1So6mORATLlvLoIbEnjO/ydN5ZNzpn98OsQBNx9nFEVX/xBvwqNDYRTkPzWJGG6smJyquO/kDMre+myFBZgjXwh0RQNI1YyNbi957s3r3X+fRWAKi3c4JYWZNeN54DF0OApW5ekcA7/Q2Kl8br/tTWuZEppYTWux4+FNN7kzsvxpH8qkIVC/zuq551GbfTM+6hvsk8hy2VwDFmMgNGtEMrQTHAKMSbe8hZ2AbT1bGcouSo5NAoxVMfw2HX0gkSsQTM0fOxrf0zKkYktzg3OKIuQ2kg7QPjRIdprFHwrFlMop+ydTWw==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com;
  • Cc: "stefano.stabellini@xxxxxxx" <stefano.stabellini@xxxxxxx>, Oleksii Moisieiev <oleksii_moisieiev@xxxxxxxx>, Viresh Kumar <viresh.kumar@xxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Wed, 03 Jan 2024 20:44:30 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Hi Peng,
Please see my comments below.
On Wed, Jan 03, 2024 at 05:38:07AM +0000, Peng Fan wrote:
> Hi Vikram, Oleksii
> 
> I follow the slide virtio for Xen on ARM[1], but I met some issues, and
> stuck for about two days.
> 
> I use upstream lastest qemu repo master branch, not qemu-xen.git
> repo.
This is right.
> 
> My start command as below[2], but seems I need first `xl create domu.cfg`,
> otherwise it will fail, because xen hypervisor
> dm_op->rcu_lock_remote_domain_by_id will return failure if domu
> not created.  My domu cfg is simple:
> kernel = "/run/media/boot-mmcblk1p1/Image"
> disk = [ '/etc/xen/disk_1.img,,xvda,specification=virtio' ]
> cmdline = "console=hvc0 root=/dev/xvda rw"
> name = "DomU"
> memory = 512
> serial = "pty"
> 
> I drop qdisk in the disk entry, because xen tool report qdisk and virtio
> not compatible.
> 
> And the arg xen_domid should be same as domu domain id? Is
> there any dynamic way to set xen_domid, start qemu when start
> domu?
Yes, it should be xen_domid. Below virtio-disk patches will take care of
invoking QEMU with right domid.
> 
> Does the domu dts still needed to include the virtio,mmio node?
> 
> however xl create domu.cfg relies virtio disk ready, which needs qemu
> start first. This confuses me. How do you address this
> or I do something wrong?
> 
> Then after xl create,  I quickly start qemu, but met:
> failed to create ioreq server, then I see there is mismatch.
> qemu use HVM_IOREQSRV_BUFIOREQ_ATOMIC to create ioreq server,
> but xen ioreq_server_create will return failure:
>      if ( !IS_ENABLED(CONFIG_X86) && bufioreq_handling )                      
>                        
>                return -EINVAL;
> 
There is a downstream patch for this:
https://github.com/Xilinx/xen/commit/be35b46e907c7c78fd23888d837475eb28334638

> So I change HVM_IOREQSRV_BUFIOREQ_OFF in qemu, but met:
> qemu-system-aarch64: failed to map ioreq server resources: error 2
> handle=0xaaaad26c7f30
> qemu-system-aarch64: xen hardware virtual machine initialisation failed
> 
> Do you have out of box repo that works well? Including Qemu and Xen,
> I am trying virtio disk, but will move to test virtio gpu soon.
> 
> I am not sure there are some downstream patches in your side to
> address and make it work well.
> 
We have a few downstream patches for xen-tools. 
For Virtio disk backend:
https://github.com/Xilinx/xen/commit/947280803294bbb963f428423f679d074c60d632
For Virtio-net:
https://github.com/Xilinx/xen/commit/32fcc702718591270e5c8928b7687d853249c882
For changing the machine name to Xenpvh(to align with QEMU changes):
https://github.com/Xilinx/xen/commit/5f669949c9ffdb1947cb47038956b5fb8eeb072a

With above 4 patches it should work for you. Please re-compile Xen and Xen-tools
first and finally compile QEMU with this Xen.

> Thanks for your help.
> 
> Thanks,
> Peng.
> 
> [1]https://www.youtube.com/watch?v=boRQ8UHc760
> 
> [2]qemu-system-aarch64  -xen-domid 1 \
> -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=qmp-libxenstat-1,server=on,wait=off \
> -mon chardev=libxenstat-cmd,mode=control \
> -xen-attach -name guest0 -vnc none -display none -nographic \
> -machine xenpvh -m 513 &



 


Rackspace

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