Re: [libvirt] [PATCH 2/2] Tests : Add test for 'ppc64le' architecture.

2015-03-04 Thread Ján Tomko
On Thu, Feb 26, 2015 at 10:45:54PM +0530, Prerna Saxena wrote:
 Tests : Add test for 'ppc64le' architecture.
 
 Signed-off-by: Prerna Saxena pre...@linux.vnet.ibm.com
 ---
  .../qemuxml2argv-pseries-cpu-le.args   |  7 +
  .../qemuxml2argv-pseries-cpu-le.xml| 17 
  tests/qemuxml2argvtest.c   |  2 ++
  tests/testutilsqemu.c  | 30 
 ++
  4 files changed, 56 insertions(+)
  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.args
  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.xml
 
 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.args 
 b/tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.args
 new file mode 100644
 index 000..f4f8d5e
 --- /dev/null
 +++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.args
 @@ -0,0 +1,7 @@
 +LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test \
 +QEMU_AUDIO_DRV=none /usr/bin/qemu-system-ppc64 -S -M pseries \
 +-m 512 -smp 1 -nographic -nodefconfig -nodefaults \
 +-chardev socket,id=charmonitor,path=/tmp/test-monitor,server,nowait \
 +-mon chardev=charmonitor,id=monitor,mode=readline -no-acpi -boot c -usb \
 +-chardev pty,id=charserial0 \
 +-device spapr-vty,chardev=charserial0,reg=0x3000

I don't see any reference to little endian on the command line.

If the domain can only use the same endianness as the host system, do we
need to check if the guest arch matches the host arch somewhere?

Jan


signature.asc
Description: Digital signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [PATCH 2/2] Tests : Add test for 'ppc64le' architecture.

2015-03-04 Thread Prerna Saxena

On Wednesday 04 March 2015 09:28 PM, Ján Tomko wrote:
 On Thu, Feb 26, 2015 at 10:45:54PM +0530, Prerna Saxena wrote:
 Tests : Add test for 'ppc64le' architecture.

 Signed-off-by: Prerna Saxena pre...@linux.vnet.ibm.com
 ---
  .../qemuxml2argv-pseries-cpu-le.args   |  7 +
  .../qemuxml2argv-pseries-cpu-le.xml| 17 
  tests/qemuxml2argvtest.c   |  2 ++
  tests/testutilsqemu.c  | 30 
 ++
  4 files changed, 56 insertions(+)
  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.args
  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.xml

 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.args 
 b/tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.args
 new file mode 100644
 index 000..f4f8d5e
 --- /dev/null
 +++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.args
 @@ -0,0 +1,7 @@
 +LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test \
 +QEMU_AUDIO_DRV=none /usr/bin/qemu-system-ppc64 -S -M pseries \
 +-m 512 -smp 1 -nographic -nodefconfig -nodefaults \
 +-chardev socket,id=charmonitor,path=/tmp/test-monitor,server,nowait \
 +-mon chardev=charmonitor,id=monitor,mode=readline -no-acpi -boot c -usb \
 +-chardev pty,id=charserial0 \
 +-device spapr-vty,chardev=charserial0,reg=0x3000
 I don't see any reference to little endian on the command line.

 If the domain can only use the same endianness as the host system, do we
 need to check if the guest arch matches the host arch somewhere?


Yes, SLOF in qemu-system-ppc64 can correctly initialize KVM based on the 
endianness discovered for the guest, so the command line stays the same for 
both ppc64  ppc64le guests.
However, we need libvirt to recognize ppc64le as a valid arch, since this is 
used by management utilities that depend on libvirt -- a classic example being 
virt-install.

Regards,

-- 
Prerna Saxena

Linux Technology Centre,
IBM Systems and Technology Lab,
Bangalore, India

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


[libvirt] [PATCH 2/2] Tests : Add test for 'ppc64le' architecture.

2015-02-26 Thread Prerna Saxena
Tests : Add test for 'ppc64le' architecture.

Signed-off-by: Prerna Saxena pre...@linux.vnet.ibm.com
---
 .../qemuxml2argv-pseries-cpu-le.args   |  7 +
 .../qemuxml2argv-pseries-cpu-le.xml| 17 
 tests/qemuxml2argvtest.c   |  2 ++
 tests/testutilsqemu.c  | 30 ++
 4 files changed, 56 insertions(+)
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.xml

diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.args 
b/tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.args
new file mode 100644
index 000..f4f8d5e
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.args
@@ -0,0 +1,7 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test \
+QEMU_AUDIO_DRV=none /usr/bin/qemu-system-ppc64 -S -M pseries \
+-m 512 -smp 1 -nographic -nodefconfig -nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/test-monitor,server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=readline -no-acpi -boot c -usb \
+-chardev pty,id=charserial0 \
+-device spapr-vty,chardev=charserial0,reg=0x3000
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.xml 
b/tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.xml
new file mode 100644
index 000..b791a73
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-le.xml
@@ -0,0 +1,17 @@
+domain type='kvm'
+  nameQEMUGuest1/name
+  uuid1ccfd97d-5eb4-478a-bbe6-88d254c16db7/uuid
+  memory unit='KiB'524288/memory
+  vcpu placement='static'1/vcpu
+  os
+type arch='ppc64le' machine='pseries'hvm/type
+  /os
+  clock offset='utc'/
+  devices
+emulator/usr/bin/qemu-system-ppc64/emulator
+console type='pty'
+  address type=spapr-vio/
+/console
+memballoon model=none/
+  /devices
+/domain
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 39ed66b..982019e 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -1341,6 +1341,8 @@ mymain(void)
 QEMU_CAPS_NODEFCONFIG);
 DO_TEST(pseries-cpu-compat, QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST,
 QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+DO_TEST(pseries-cpu-le,  QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST,
+QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
 DO_TEST(disk-ide-drive-split,
 QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
 QEMU_CAPS_IDE_CD);
diff --git a/tests/testutilsqemu.c b/tests/testutilsqemu.c
index 7b26e50..1fd7c96 100644
--- a/tests/testutilsqemu.c
+++ b/tests/testutilsqemu.c
@@ -86,6 +86,33 @@ static int testQemuAddPPC64Guest(virCapsPtr caps)
 return -1;
 }
 
+static int testQemuAddPPC64LEGuest(virCapsPtr caps)
+{
+static const char *machine[] = { pseries };
+virCapsGuestMachinePtr *machines = NULL;
+virCapsGuestPtr guest;
+
+machines = virCapabilitiesAllocMachines(machine, 1);
+if (!machines)
+goto error;
+
+guest = virCapabilitiesAddGuest(caps, hvm, VIR_ARCH_PPC64LE,
+/usr/bin/qemu-system-ppc64, NULL,
+ 1, machines);
+if (!guest)
+goto error;
+
+if (!virCapabilitiesAddGuestDomain(guest, qemu, NULL, NULL, 0, NULL))
+goto error;
+
+return 0;
+
+ error:
+/* No way to free a guest? */
+virCapabilitiesFreeMachines(machines, 1);
+return -1;
+}
+
 static int testQemuAddPPCGuest(virCapsPtr caps)
 {
 static const char *machine[] = { g3beige,
@@ -332,6 +359,9 @@ virCapsPtr testQemuCapsInit(void)
 if (testQemuAddPPC64Guest(caps))
 goto cleanup;
 
+if (testQemuAddPPC64LEGuest(caps))
+goto cleanup;
+
 if (testQemuAddPPCGuest(caps))
 goto cleanup;
 
-- 
1.9.3

-- 
Prerna Saxena

Linux Technology Centre,
IBM Systems and Technology Lab,
Bangalore, India

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