Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64

2010-01-10 Thread Dustin Xiong

diff -rup a/libvirt-0.6.3/src/qemu_conf.c b/libvirt-0.6.3/src/qemu_conf.c

--- a/libvirt-0.6.3/src/qemu_conf.c 2010-01-11 09:15:45.0 +0800
+++ b/libvirt-0.6.3/src/qemu_conf.c 2010-01-11 09:14:34.0 +0800
@@ -195,6 +195,10 @@ static const char *const arch_info_hvm_p
 g3bw, mac99, prep
 };
 
+static const char *const arch_info_hvm_itanium_machines[] = {
+itanium
+};
+
 static const char *const arch_info_xen_x86_machines[] = {
 xenner
 };
@@ -229,6 +233,12 @@ static const struct qemu_feature_flags c
 { apic, 1, 0 },
 };
 
+static const struct qemu_feature_flags const arch_info_itanium_flags [] = {
+{ acpi, 1, 1 },
+{ apic, 1, 0 },
+};
+
+
 /* The archicture tables for supported QEMU archs */
 static const struct qemu_arch_info const arch_info_hvm[] = {
 {  i686, 32, arch_info_hvm_x86_machines, 2,
@@ -243,6 +253,8 @@ static const struct qemu_arch_info const
/usr/bin/qemu-system-sparc, NULL, NULL, 0 },
 {  ppc, 32, arch_info_hvm_ppc_machines, 3,
/usr/bin/qemu-system-ppc, NULL, NULL, 0 },
+{  itanium, 64, arch_info_hvm_itanium_machines, 2,
+   /usr/bin/qemu-system-ia64, NULL, arch_info_itanium_flags, 2 },
 };

 

 
  
_
Windows Live: Friends get your Flickr, Yelp, and Digg updates when they e-mail 
you.
http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_3:092010--
Libvir-list mailing list
Libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64

2010-01-08 Thread Cole Robinson
On 01/07/2010 11:53 PM, Dustin Xiong wrote:
 
 
  
 Date: Thu, 7 Jan 2010 09:15:32 -0500
 From: crobi...@redhat.com
 To: x_k_...@hotmail.com
 CC: berra...@redhat.com; libvirt-l...@redhat.com
 Subject: Re: [libvirt] [virt-tools-list] Questions about virt-manager 
 running on Arch of Itanium 64

 On 01/07/2010 01:03 AM, Dustin Xiong wrote:


 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

 Can you provide a diff of your changes so we can apply it to upstream
 libvirt code?

 Thanks,
 Cole

 OK. But there is a problem. I modify the 
 libvirt-0.6.3-20.el5.ia64.src.rpm(from the rhel-server-5.4-ia64-source.iso).
 The libvirt could work.But when i download the libvirt-0.6.3-20.tar.gz, then 
 ./configure, make, make install. The libvirt couldn't work. The error as 
 below:
 [r...@kvm bin]# ./virsh
 error: unable to connect to 
 '/usr/local/libvirt/var/run/libvirt/libvirt-sock': No such file or directory
 error: failed to connect to the hypervisor
  
 Then I download the lastest libvirt-0.7.5, make it. The error still remains.
 So if you need I provide a diff of my changes about the 
 libvirt-0.6.3-20.el5.ia64.src.rpm, I am pleasure to do this.
  
 -Dustin
 

Building an RPM knows the correct location to put all the files, but a
default upstream build will put them into /usr/local which can cause
some problems.

Your original diff should be fine, I'll fix it up to apply against
current upstream.

- Cole

--
Libvir-list mailing list
Libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64

2010-01-07 Thread Cole Robinson
On 01/07/2010 01:03 AM, Dustin Xiong wrote:
 
 
 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

Can you provide a diff of your changes so we can apply it to upstream
libvirt code?

Thanks,
Cole

--
Libvir-list mailing list
Libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64

2010-01-07 Thread Dustin Xiong


 
 Date: Thu, 7 Jan 2010 09:15:32 -0500
 From: crobi...@redhat.com
 To: x_k_...@hotmail.com
 CC: berra...@redhat.com; libvirt-l...@redhat.com
 Subject: Re: [libvirt] [virt-tools-list] Questions about virt-manager running 
 on Arch of Itanium 64
 
 On 01/07/2010 01:03 AM, Dustin Xiong wrote:
  
  
  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
 
 Can you provide a diff of your changes so we can apply it to upstream
 libvirt code?
 
 Thanks,
 Cole
 
OK. But there is a problem. I modify the libvirt-0.6.3-20.el5.ia64.src.rpm(from 
the rhel-server-5.4-ia64-source.iso).
The libvirt could work.But when i download the libvirt-0.6.3-20.tar.gz, then 
./configure, make, make install. The libvirt couldn't work. The error as below:
[r...@kvm bin]# ./virsh
error: unable to connect to '/usr/local/libvirt/var/run/libvirt/libvirt-sock': 
No such file or directory
error: failed to connect to the hypervisor
 
Then I download the lastest libvirt-0.7.5, make it. The error still remains.
So if you need I provide a diff of my changes about the 
libvirt-0.6.3-20.el5.ia64.src.rpm, I am pleasure to do this.
 
-Dustin
  
_
Windows Live: Keep your friends up to date with what you do online.
http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_1:092010--
Libvir-list mailing list
Libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64

2010-01-06 Thread Cole Robinson
On 01/04/2010 08:27 PM, Dustin Xiong wrote:
 
 
  
 
 Date: Mon, 4 Jan 2010 11:46:06 -0500
 From: crobi...@redhat.com
 To: x_k_...@hotmail.com
 CC: berra...@redhat.com; libvirt-l...@redhat.com
 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:



 [r...@kvm bin]# virsh capabilities
 capabilities

 host
 cpu
 archia64/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_typehvm/os_type
 arch name='ia64'
 wordsize64/wordsize
 emulator/usr/bin/qemu-system-ia64/emulator
 machineia64/machine
 machinexenner/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



 [r...@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:
 itaniumItanium 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@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64

2010-01-04 Thread Cole Robinson
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:
 
  
 
 [r...@kvm bin]# virsh capabilities
 capabilities
 
   host
 cpu
   archia64/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_typehvm/os_type
 arch name='ia64'
   wordsize64/wordsize
   emulator/usr/bin/qemu-system-ia64/emulator
   machineia64/machine
   machinexenner/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
 
  
 
 [r...@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

--
Libvir-list mailing list
Libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64

2010-01-04 Thread Dustin Xiong


 

 Date: Mon, 4 Jan 2010 11:46:06 -0500
 From: crobi...@redhat.com
 To: x_k_...@hotmail.com
 CC: berra...@redhat.com; libvirt-l...@redhat.com
 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:
  
  
  
  [r...@kvm bin]# virsh capabilities
  capabilities
  
  host
  cpu
  archia64/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_typehvm/os_type
  arch name='ia64'
  wordsize64/wordsize
  emulator/usr/bin/qemu-system-ia64/emulator
  machineia64/machine
  machinexenner/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
  
  
  
  [r...@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:
itaniumItanium Platform (default)

 

-dustin

  
_
Windows Live: Friends get your Flickr, Yelp, and Digg updates when they e-mail 
you.
http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_3:092010--
Libvir-list mailing list
Libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [virt-tools-list] Questions about virt-manager running on Arch of Itanium 64

2009-12-25 Thread Dustin Xiong


 

 Date: Tue, 24 Nov 2009 10:33:48 +
 From: berra...@redhat.com
 To: x_k_...@hotmail.com
 CC: crobi...@redhat.com; libvirt-l...@redhat.com; virt-tools-l...@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 +
   From: berra...@redhat.com
   To: crobi...@redhat.com
   CC: x_k_...@hotmail.com; libvirt-l...@redhat.com; 
   virt-tools-l...@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 came 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 capabilities, and thus
   libvirt will never even look for a KVM binary
   
  
  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:

 

[r...@kvm bin]# virsh capabilities
capabilities

  host
cpu
  archia64/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_typehvm/os_type
arch name='ia64'
  wordsize64/wordsize
  emulator/usr/bin/qemu-system-ia64/emulator
  machineia64/machine
  machinexenner/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

 

[r...@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)