Re: [kvm-unit-tests PATCH v1 1/6] s390x: initial infrastructure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 15.05.2017 11:19, Christian Borntraeger wrote:
> Nice to see somebody doing this for s390x.
> 
> 
> On 05/12/2017 12:58 PM, David Hildenbrand wrote:
> [...]
> 
>> diff --git a/s390x/Makefile b/s390x/Makefile
>> new file mode 100644
>> index 0000000..f9468bb
>> --- /dev/null
>> +++ b/s390x/Makefile
>> @@ -0,0 +1,32 @@
>> +all: test_cases
>> +
>> +test_cases: $(tests)
>> +
>> +CFLAGS += -std=gnu99
>> +CFLAGS += -ffreestanding
>> +CFLAGS += -Wextra
>> +CFLAGS += -I lib
>> +CFLAGS += -O2
>> +CFLAGS += -msoft-float
> 
> 
> If you enable the AFP register control bit in your startup code, you can probably
> avoid the soft-float thing.
> 

Looks like we can drop that completely.

a) no floating point operations are used either way.

b) adding a very basic division results in

static void test_fp(void)
{
	double a, b;

	b = 6.5;
	a = 2.0;

	b = b / a;

	report("test fp", b == 3.25);
}

(compiled with -O0)

s390x/selftest.o: In function `test_fp':
/home/dhildenb/git/kvm-unit-tests/s390x/selftest.c:21: undefined
reference to `__divdf3'
/home/dhildenb/git/kvm-unit-tests/s390x/selftest.c:23: undefined
reference to `__eqdf2'

So we would need a soft float lib (as we're using -nostdlib)

c) dropping -msoft-float

A DDB (DIVIDE long BFP) is generated. That seems to work under TCG
without any exception. I assume the check for AFP-register control is
missing. I assume, that test would not pass under KVM.


For now I will simply drop -msoft-float.

Thanks!

-- 

Thanks,

David



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux