NetBSD-Bugs archive

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

Re: port-arm/52603: arm(v7?) vfp register corruption



I tested on a RPI3, running
./fptest 5
shows the problematic behavior much faster here: in less than a minute
I got more than 30 failures:

$ ./fptest 5                                                            [34/130]
start job 0 for 32 registers        
start job 2 for 32 registers        
start job 3 for 32 registers        
start job 4 for 32 registers        
start job 1 for 32 registers        
                                    
5: 205.500000 205.500000 205.500000 
                                    
7: 107.700000 0.000000 107.700000   
16: 117.600000 105.500000 117.600000
17: 118.700000 105.500000 118.700000
18: 119.800000 100.000000 119.800000
19: 120.900000 1.100000 120.900000  
0: 400.000000 100.000000 400.000000 
1: 401.100000 101.100000 401.100000
2: 402.200000 102.200000 402.200000
3: 403.300000 103.300000 403.300000
4: 404.400000 104.400000 404.400000
5: 405.500000 105.500000 405.500000
6: 406.600000 106.600000 406.600000
7: 407.700000 107.700000 407.700000
8: 408.800000 108.800000 408.800000
9: 409.900000 109.900000 409.900000
10: 411.000000 111.000000 411.000000
11: 412.100000 112.100000 412.100000
12: 413.200000 113.200000 413.200000
13: 414.300000 114.300000 414.300000
14: 415.400000 115.400000 415.400000
15: 416.500000 116.500000 416.500000
16: 417.600000 117.600000 417.600000
17: 418.700000 118.700000 418.700000
18: 419.800000 119.800000 419.800000
19: 420.900000 120.900000 420.900000
20: 422.000000 122.000000 422.000000
21: 423.100000 123.100000 423.100000
22: 424.200000 124.200000 424.200000
23: 425.300000 125.300000 425.300000
24: 426.400000 126.400000 426.400000
25: 427.500000 127.500000 427.500000
26: 428.600000 128.600000 428.600000
27: 429.700000 129.700000 429.700000
28: 430.800000 130.800000 430.800000
29: 431.900000 131.900000 431.900000
30: 433.000000 133.000000 433.000000
0: 100.000000 417.600000 100.000000
3: 103.300000 0.000000 103.300000
4: 104.400000 10.000000 104.400000
5: 105.500000 0.500000 105.500000
6: 106.600000 0.500000 106.600000
7: 107.700000 0.000000 107.700000
16: 117.600000 417.600000 117.600000
17: 118.700000 400.000000 118.700000
18: 119.800000 1.100000 119.800000
19: 120.900000 1.100000 120.900000

The first one is strange, it looks like registers have the correct values,
yet the compare failed.

I looked at subr_pcu.c and vfp_init.c but I didn't see anything obvious ...
I added a few KASSERT() in both files but they didn't fire.

idea welcome ...

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index