oh, there is much much much code,it's too too too hard for me. So,,,,,can i ask more question:use virt-manager create a domain,but with a result of "unsupported configuration:the ioh3420 controller is not supported in this qemu".since it's arm64 platform,and ioh3420 is a intel device.right?Why produce a intel device in arm64 platform? So, can i delete the ioh3420 only by changing the code?info: i use the libvirt-2.0.0,virt-manager create doamin succeed;when i update to libvirt-3.2.0,the issue above happened. qemu is 2.3.0 Thanks! -- Have a good day > -----原始邮件-----> 发件人: Michal Privoznik <mprivozn@redhat.com> > 发送时间: 2018年4月26日 星期四 > 收件人: "李卓瑶" <lizhuoyao@hikdata.com> > 抄送: libvirt-users <libvirt-users@redhat.com>, shengyizju@163.com > 主题: Re: [libvirt-users] how xml generated > > On 04/26/2018 09:50 AM, 李卓瑶 wrote: > > Thanks for your reply > > what i want to know is that why there are many devices in $domain.xml, actully , i choose nothing in virt-manager? > > so, Do i need to look at qemuDomainDefineXMLFlags()? > > Because we try to have 1:1 relationship between domain XML configuration > and devices as seen by guest. Even when you don't select anything in > virt-manager the domain will definitely have a PCI root controller, > controller for disk bus (be it sata, scsi, ide, ..), then it'll also > have a virtual NIC, some memory/cpu configuration, and so on. > > In the code, these devices are added once XML is parsed by > virDomainDefPostParseInternal(). Each driver can pass this xmlopt > structure filled in with callbacks (take a look at > virQEMUDriverCreateXMLConf()). So in the end, devices are added only > after XML is parsed. However, it is not done all in one place. For > instance, controllers are added during device address assignment, other > devices are added in PostParse callbacks, and so on. > > > hours ago, i thought it's qemuDomainCreateWithFlags. > > No. This creates so called transient domains. > > https://wiki.libvirt.org/page/VM_lifecycle#Transient_guest_domains_vs_Persistent_guest_domains > > Michal
On 04/26/2018 10:46 AM, lizhuoyao wrote:> oh, there is much much much code,it's too too too hard for me. > > So,,,,,can i ask more question:use virt-manager create a domain,but with a result of "unsupported configuration:the ioh3420 controller is not supported in this qemu".since it's arm64 platform,and ioh3420 is a intel device.right?Why produce a intel device in arm64 platform?I don't think there's a way to step into virt-manager's process of defining domains. However, you can use virt-install directly instead. It can just print the XML instead of defining it in libvirt. You can take this document, modify it and then 'virsh define ...' it. What you are seeing is a bug that is fixed already.> > So, can i delete the ioh3420 only by changing the code?info: i use the libvirt-2.0.0,virt-manager create doamin succeed;when i update to libvirt-3.2.0,the issue above happened. qemu is 2.3.0Also I should point out that libvirt-2.0.0 is two years old release. Nearly. Upgrade if you can. Michal
ok,i would try it as your suggestion. Thanks much! -- Have a good day > -----原始邮件-----> 发件人: Michal Privoznik <mprivozn@redhat.com> > 发送时间: 2018年4月26日 星期四 > 收件人: lizhuoyao <lizhuoyao@hikdata.com> > 抄送: libvirt-users <libvirt-users@redhat.com>, shengyizju@163.com > 主题: Re: [libvirt-users] how xml generated > > On 04/26/2018 10:46 AM, lizhuoyao wrote: > > oh, there is much much much code,it's too too too hard for me. > > > > So,,,,,can i ask more question:use virt-manager create a domain,but with a result of "unsupported configuration:the ioh3420 controller is not supported in this qemu".since it's arm64 platform,and ioh3420 is a intel device.right?Why produce a intel device in arm64 platform? > > I don't think there's a way to step into virt-manager's process of > defining domains. However, you can use virt-install directly instead. It > can just print the XML instead of defining it in libvirt. You can take > this document, modify it and then 'virsh define ...' it. > > What you are seeing is a bug that is fixed already. > > > > > So, can i delete the ioh3420 only by changing the code?info: i use the libvirt-2.0.0,virt-manager create doamin succeed;when i update to libvirt-3.2.0,the issue above happened. qemu is 2.3.0 > > Also I should point out that libvirt-2.0.0 is two years old release. > Nearly. Upgrade if you can. > > Michal