diff options
Diffstat (limited to 'arch/arm26/nwfpe/ChangeLog')
-rw-r--r-- | arch/arm26/nwfpe/ChangeLog | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/arch/arm26/nwfpe/ChangeLog b/arch/arm26/nwfpe/ChangeLog new file mode 100644 index 000000000000..0c580f764baf --- /dev/null +++ b/arch/arm26/nwfpe/ChangeLog | |||
@@ -0,0 +1,83 @@ | |||
1 | 2002-01-19 Russell King <rmk@arm.linux.org.uk> | ||
2 | |||
3 | * fpa11.h - Add documentation | ||
4 | - remove userRegisters pointer from this structure. | ||
5 | - add new method to obtain integer register values. | ||
6 | * softfloat.c - Remove float128 | ||
7 | * softfloat.h - Remove float128 | ||
8 | * softfloat-specialize - Remove float128 | ||
9 | |||
10 | * The FPA11 structure is not a kernel-specific data structure. | ||
11 | It is used by users of ptrace to examine the values of the | ||
12 | floating point registers. Therefore, any changes to the | ||
13 | FPA11 structure (size or position of elements contained | ||
14 | within) have to be well thought out. | ||
15 | |||
16 | * Since 128-bit float requires the FPA11 structure to change | ||
17 | size, it has been removed. 128-bit float is currently unused, | ||
18 | and needs various things to be re-worked so that we won't | ||
19 | overflow the available space in the task structure. | ||
20 | |||
21 | * The changes are designed to break any patch that goes on top | ||
22 | of this code, so that the authors properly review their changes. | ||
23 | |||
24 | 1999-08-19 Scott Bambrough <scottb@netwinder.org> | ||
25 | |||
26 | * fpmodule.c - Changed version number to 0.95 | ||
27 | * fpa11.h - modified FPA11, FPREG structures | ||
28 | * fpa11.c - Changes due to FPA11, FPREG structure alterations. | ||
29 | * fpa11_cpdo.c - Changes due to FPA11, FPREG structure alterations. | ||
30 | * fpa11_cpdt.c - Changes due to FPA11, FPREG structure alterations. | ||
31 | * fpa11_cprt.c - Changes due to FPA11, FPREG structure alterations. | ||
32 | * single_cpdo.c - Changes due to FPA11, FPREG structure alterations. | ||
33 | * double_cpdo.c - Changes due to FPA11, FPREG structure alterations. | ||
34 | * extended_cpdo.c - Changes due to FPA11, FPREG structure alterations. | ||
35 | |||
36 | * I discovered several bugs. First and worst is that the kernel | ||
37 | passes in a pointer to the FPE's state area. This is defined | ||
38 | as a struct user_fp (see user.h). This pointer was cast to a | ||
39 | FPA11*. Unfortunately FPA11 and user_fp are of different sizes; | ||
40 | user_fp is smaller. This meant that the FPE scribbled on things | ||
41 | below its area, which is bad, as the area is in the thread_struct | ||
42 | embedded in the process task structure. Thus we were scribbling | ||
43 | over one of the most important structures in the entire OS. | ||
44 | |||
45 | * user_fp and FPA11 have now been harmonized. Most of the changes | ||
46 | in the above code were dereferencing problems due to moving the | ||
47 | register type out of FPREG, and getting rid of the union variable | ||
48 | fpvalue. | ||
49 | |||
50 | * Second I noticed resetFPA11 was not always being called for a | ||
51 | task. This should happen on the first floating point exception | ||
52 | that occurs. It is controlled by init_flag in FPA11. The | ||
53 | comment in the code beside init_flag state the kernel guarantees | ||
54 | this to be zero. Not so. I found that the kernel recycles task | ||
55 | structures, and that recycled ones may not have init_flag zeroed. | ||
56 | I couldn't even find anything that guarantees it is zeroed when | ||
57 | when the task structure is initially allocated. In any case | ||
58 | I now initialize the entire FPE state in the thread structure to | ||
59 | zero when allocated and recycled. See alloc_task_struct() and | ||
60 | flush_thread() in arch/arm/process.c. The change to | ||
61 | alloc_task_struct() may not be necessary, but I left it in for | ||
62 | completeness (better safe than sorry). | ||
63 | |||
64 | 1998-11-23 Scott Bambrough <scottb@netwinder.org> | ||
65 | |||
66 | * README.FPE - fix typo in description of lfm/sfm instructions | ||
67 | * NOTES - Added file to describe known bugs/problems | ||
68 | * fpmodule.c - Changed version number to 0.94 | ||
69 | |||
70 | 1998-11-20 Scott Bambrough <scottb@netwinder.org> | ||
71 | |||
72 | * README.FPE - fix description of URD, NRM instructions | ||
73 | * TODO - remove URD, NRM instructions from TODO list | ||
74 | * single_cpdo.c - implement URD, NRM | ||
75 | * double_cpdo.c - implement URD, NRM | ||
76 | * extended_cpdo.c - implement URD, NRM | ||
77 | |||
78 | 1998-11-19 Scott Bambrough <scottb@netwinder.org> | ||
79 | |||
80 | * ChangeLog - Added this file to track changes made. | ||
81 | * fpa11.c - added code to initialize register types to typeNone | ||
82 | * fpa11_cpdt.c - fixed bug in storeExtended (typeExtended changed to | ||
83 | typeDouble in switch statement) | ||