Re: [libvirt] [PATCH 2/2] Tests : Add test for 'ppc64le' architecture.
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.
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.
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