|
40 | 40 |
|
41 | 41 | #define __BAD__ FPU_illegal /* Illegal on an 80486, causes SIGILL */
|
42 | 42 |
|
43 |
| -/* WARNING: These codes are not documented by Intel in their 80486 manual |
44 |
| - and may not work on FPU clones or later Intel FPUs. */ |
45 |
| - |
46 |
| -/* Changes to support the un-doc codes provided by Linus Torvalds. */ |
47 |
| - |
48 |
| -#define _d9_d8_ fstp_i /* unofficial code (19) */ |
49 |
| -#define _dc_d0_ fcom_st /* unofficial code (14) */ |
50 |
| -#define _dc_d8_ fcompst /* unofficial code (1c) */ |
51 |
| -#define _dd_c8_ fxch_i /* unofficial code (0d) */ |
52 |
| -#define _de_d0_ fcompst /* unofficial code (16) */ |
53 |
| -#define _df_c0_ ffreep /* unofficial code (07) ffree + pop */ |
54 |
| -#define _df_c8_ fxch_i /* unofficial code (0f) */ |
55 |
| -#define _df_d0_ fstp_i /* unofficial code (17) */ |
56 |
| -#define _df_d8_ fstp_i /* unofficial code (1f) */ |
| 43 | +/* WARNING: "u" entries are not documented by Intel in their 80486 manual |
| 44 | + and may not work on FPU clones or later Intel FPUs. |
| 45 | + Changes to support them provided by Linus Torvalds. */ |
57 | 46 |
|
58 | 47 | static FUNC const st_instr_table[64] = {
|
59 |
| - fadd__, fld_i_, __BAD__, __BAD__, fadd_i, ffree_, faddp_, _df_c0_, |
60 |
| - fmul__, fxch_i, __BAD__, __BAD__, fmul_i, _dd_c8_, fmulp_, _df_c8_, |
61 |
| - fcom_st, fp_nop, __BAD__, __BAD__, _dc_d0_, fst_i_, _de_d0_, _df_d0_, |
62 |
| - fcompst, _d9_d8_, __BAD__, __BAD__, _dc_d8_, fstp_i, fcompp, _df_d8_, |
63 |
| - fsub__, FPU_etc, __BAD__, finit_, fsubri, fucom_, fsubrp, fstsw_, |
64 |
| - fsubr_, fconst, fucompp, __BAD__, fsub_i, fucomp, fsubp_, __BAD__, |
65 |
| - fdiv__, FPU_triga, __BAD__, __BAD__, fdivri, __BAD__, fdivrp, __BAD__, |
66 |
| - fdivr_, FPU_trigb, __BAD__, __BAD__, fdiv_i, __BAD__, fdivp_, __BAD__, |
| 48 | +/* Opcode: d8 d9 da db */ |
| 49 | +/* dc dd de df */ |
| 50 | +/* c0..7 */ fadd__, fld_i_, __BAD__, __BAD__, |
| 51 | +/* c0..7 */ fadd_i, ffree_, faddp_, ffreep,/*u*/ |
| 52 | +/* c8..f */ fmul__, fxch_i, __BAD__, __BAD__, |
| 53 | +/* c8..f */ fmul_i, fxch_i,/*u*/ fmulp_, fxch_i,/*u*/ |
| 54 | +/* d0..7 */ fcom_st, fp_nop, __BAD__, __BAD__, |
| 55 | +/* d0..7 */ fcom_st,/*u*/ fst_i_, fcompst,/*u*/ fstp_i,/*u*/ |
| 56 | +/* d8..f */ fcompst, fstp_i,/*u*/ __BAD__, __BAD__, |
| 57 | +/* d8..f */ fcompst,/*u*/ fstp_i, fcompp, fstp_i,/*u*/ |
| 58 | +/* e0..7 */ fsub__, FPU_etc, __BAD__, finit_, |
| 59 | +/* e0..7 */ fsubri, fucom_, fsubrp, fstsw_, |
| 60 | +/* e8..f */ fsubr_, fconst, fucompp, __BAD__, |
| 61 | +/* e8..f */ fsub_i, fucomp, fsubp_, __BAD__, |
| 62 | +/* f0..7 */ fdiv__, FPU_triga, __BAD__, __BAD__, |
| 63 | +/* f0..7 */ fdivri, __BAD__, fdivrp, __BAD__, |
| 64 | +/* f8..f */ fdivr_, FPU_trigb, __BAD__, __BAD__, |
| 65 | +/* f8..f */ fdiv_i, __BAD__, fdivp_, __BAD__, |
67 | 66 | };
|
68 | 67 |
|
69 | 68 | #define _NONE_ 0 /* Take no special action */
|
|
0 commit comments