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. ie, 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> >>> <os_type>hvm</os_type> >>> <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/virtinst/Guest.py", line 660, in start_install >>> return 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 -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list