> Date: Wed, 6 Jan 2010 10:09:55 -0500 > From: crobinso@xxxxxxxxxx > To: x_k_123@xxxxxxxxxxx > CC: berrange@xxxxxxxxxx; libvirt-list@xxxxxxxxxx > Subject: Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64 > > On 01/04/2010 08:27 PM, Dustin Xiong wrote: > > > > > > > > > >> Date: Mon, 4 Jan 2010 11:46:06 -0500 > >> From: crobinso@xxxxxxxxxx > >> To: x_k_123@xxxxxxxxxxx > >> CC: berrange@xxxxxxxxxx; libvirt-list@xxxxxxxxxx > >> Subject: Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64 > >> > >> On 12/25/2009 03:48 AM, Dustin Xiong wrote: > >> > >>>>> If i want to update qemu_conf.c to handle ia64 , which files or > >>>>> datastruct needs to update ? Only the qemu_conf.c ? > ! >>>> > >>>> If you search for the table > >>>> > >>>> static const struct qemu_arch_info const arch_info_hvm[] = { > >>>> > >>>> It is probably (hopefully?) sufficient to just add > >>>> > >>>> { "ia64", 64, NULL, "/usr/bin/qemu-system-ia64", NULL, NULL, 0 }, > >>>> > >>>> The key test is that when you later run > >>>> > >>>> virsh capabilities > >>>> > >>>> it should show the /usr/bin/qemu-system-ia64 binary, and also report that > >>>> KVM is present. > >>>> > >>>> I have a feeling you might also need to add code to the src/nodeinfo.c > >>>> file, since I think that /proc/cpuinfo on ia64 is in a different format > >>>> to that on x86_64. i! e, change the linuxNodeInfoCPUPopulate() method so > >! ;>> ;> it can also parse the ia64 format. This is used by the command > >>>> > >>>> virsh nodeinfo > >>>> > >>>> > >>>> So once 'capabilities' and 'nodeinfo' are working on ia64, then it should > >>>> be possible to use virt-manager properly > >>>> > >>> I modify the src, and build it to rpm. The libvirt could work. > >>> > >>> And as you said, i add ia64 info into the qemu_conf.c. The result as below: > >>> > >>> > >>> > >>> [root@kvm bin]# virsh capabilities > >>> <capabilities> > >>> > >>> <host> > >>> <cpu> > >>> <arch>ia64</arch> > >>> </cpu> > >>> <topology> > >>> <cells num='1'>! ; > >>> <cell id='0'> > >>> <cpus num='16'> > >>> <cpu id='0'/> > >>> <cpu id='1'/> > >>> <cpu id='2'/> > >>> <cpu id='3'/> > >>> <cpu id='4'/> > >>> <cpu id='5'/> > >>> <cpu id='6'/> > >>> <cpu id='7'/> > >>> <cpu id='8'/> > >>> <cpu id='9'/> > >>> <cpu id='10'/> > >>> <cpu id='11'/> > >>> <cpu id='12'/> > >>> <cpu id='13'/> > >>> <cpu id='14'/> > >>> <cpu id='15'/> > >>> </cpus> > >>> </cell> > >>> </cells> > >>> </topology> > >>> </host> > >>> > >>> <guest> &! gt; >>> <os_type>hvm</os_type> > &g! t;>&g t; <arch name='ia64'> > >>> <wordsize>64</wordsize> > >>> <emulator>/usr/bin/qemu-system-ia64</emulator> > >>> <machine>ia64</machine> > >>> <machine>xenner</machine> > >>> <domain type='qemu'> > >>> </domain> > >>> <domain type='kvm'> > >>> <emulator>/usr/bin/kvm</emulator> > >>> </domain> > >>> </arch> > >>> <features> > >>> <acpi default='on' toggle='yes'/> > >>> <apic default='on' toggle='no'/> > >>> </features> > >>> </guest> > >>> > >>> </capabilities> > >>> > >>> > >>> > >>> [root@kvm bin]# virsh nodeinfo > >>> CPU! model: ia64 > >>> CPU(s): 16 > >>> CPU frequency: 1330 MHz > >>> CPU socket(s): 16 > >>> Core(s) per socket: 1 > >>> Thread(s) per core: 1 > >>> NUMA cell(s): 1 > >>> Memory size: 8252480 kB > >>> > >>> > >>> > >>> But the virt-manager still can't work. When i create a new vm. > >>> > >>> The error as below: > >>> > >>> > >>> > >>> Unable to complete install 'libvirt.libvirtError internal error Domain ad didn't show up > >>> > >>> Traceback (most recent call last): > >>> File "/usr/share/virt-manager/virtManager/create.py", line 718, in do_install > >>> dom = guest.start_install(False, meter = meter) > >>> File "/usr/lib/python2.4/site-packages/vir! tinst/Guest.py", line 660, in start_install > >>&g! t; retur n self._do_install(consolecb, meter, removeOld, wait) > >>> File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 758, in _do_install > >>> self.domain = self.conn.createLinux(install_xml, 0) > >>> File "/usr/lib/python2.4/site-packages/libvirt.py", line 974, in createLinux > >>> if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self) > >>> libvirtError: internal error Domain ad didn't show up > >>> > >>> > >>> I don't know how to resolve this error. > >>> > >>> Thank you for your advice. > >>> > >> > >> What is the output in /var/log/libvirt/qemu/$vmname.log ? > > > > > > The output in /var/log/libvirt/qemu/vm10.log is : > > > > LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin HOME=/ /usr/bin/kvm -S -M ia64 -m 512 ! -smp 1 -name vm10 -uuid 8adb1d1d-147f-710a-6d13-c71ba185f811 -monitor pty -pidfile /var/run/libvirt/qemu//vm10.pid -no-reboot -boot d -drive file=/var/lib/libvirt/images/vm10.img,if=ide,index=0,format=raw -drive file=/var/lib/libvirt/images/rhel-server-5.4-ia64-disc1.iso,if=ide,media=cdrom,index=2,format=raw -net nic,macaddr=52:54:00:59:bb:26,vlan=0 -net tap,fd=16,script=,vlan=0,ifname=vnet0 -serial pty -parallel none -usb -vnc 127.0.0.1:0 -k en-us > > Supported machines are: > > itanium Itanium Platform (default) > > > > > > > > -dustin > > > > Hmm, not sure why libvirt is passing '-M ia64' when the kvm binary only > expects '-M itanium'. Can you attach the diff you applied to the code? > Make sure you are building the latest code (either from tar.gz or git > checkout). > > What's the output of 'kvm -M ?' and 'qemu-system-ia64 -M ?' > > - Cole I sloved the problem. I modify the libvirt /src/qemu_conf.c. Add the arch ia64 into the static const struct qemu_arch_info const arch_info_hvm[] = {} as berrange said. So the libvirt passing -M ia64. But the kvm binary only experts '-M itanium'. So i replaced the ia64 by itanium in the file /src/qemu_conf.c. Then the virt-manager finally could work on the arch of Itanium. Thank you for your help. Thank you, everyone here. -Dustin Keep your friends updated― even when you’re not signed in. |
-- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list