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 ?
- Cole