> Date: Tue, 24 Nov 2009 10:33:48 +0000
> From: berrange@redhat.com
> To: x_k_123@hotmail.com
> CC: crobinso@redhat.com; libvirt-list@redhat.com; virt-tools-list@redhat.com
> Subject: Re: [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64
>
> On Tue, Nov 24, 2009 at 10:05:08AM +0800, Dustin Xiong wrote:
> > > Date: Mon, 23 Nov 2009 16:16:05 +0000
> > > From: berrange@redhat.com
> > > To: crobinso@redhat.com
> > > CC: x_k_123@hotmail.com; libvirt-list@redhat.com; virt-tools-list@redhat.com
> > > Subject: Re: [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64
> > >
> > > On Mon, Nov 23, 2009 at 11:09:28AM -0500, Cole Robinson wrote:
> > > > On 11/23/2009 01:43 AM, Dustin Xiong wrote:
> > > > >
> > > > > yes, my libvirt rpm and other related rpms all ca!
me from the RHEL 5.4
> > > > > iso. And they all build for itanium 64
> > > > > # rpm -qa | grep libvirt
> > > > > libvirt-python-0.6.3-20.el5
> > > > > libvirt-devel-0.6.3-20.el5
> > > > > libvirt-0.6.3-20.el5
> > > > >
> > > > > And i try to make a link, it still doesn't work.
> > > > > ln -s /usr/local/bin/qemu-system-ia64 /usr/libexec/qemu-system-ia64
> > > > >
> > > >
> > > > Actually I think that destination needs to be /usr/libexec/qemu-kvm, not
> > > > qemu-system-ia64. And looking at the rhel5 code, this can also be
> > > > /usr/bin/qemu-kvm
> > >
> > >
> > > That's not going to help. 'ia64' is not listed as a valid architecture
> > > in qemu_conf.c, so it'll never be pulled into the capabilitie!
s, and thus
> > > libvirt will never even look for!
a KVM b
inary
> > >
> >
> > The libvirt and virt-manager rpm all come from the iso of
> > Red Hat Enterprise Linux 5.4 Server (Itanium)Does the redhat have the
> > plans to implement the architecture ia64 in libvirt ?
>
> libvirt as an open source project is happy to support any architecture.
>
> In RHEL, Red Hat only support a sub-set of the functionality / platforms.
> RHEL-5 Xen supports i386, x86_64 and ia64. RHEL-5 KVM only supports x86_64
>
> > > Someone needs to update qemu_conf.c to handle ia64 correctly.
> > >
> >
> > 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'/>
&nbs!
p; <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>
&n!
bsp; </cells>
&nb!
sp; <
/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'/>
&l!
t;/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.
Merry Christmas !
-dustin.
Windows Live: Keep your friends up to date with what you do online.