Annotation of coherent/b/kernel/emulator/fpu_system.h, revision 1.1.1.1

1.1       root        1: /*---------------------------------------------------------------------------+
                      2:  |  fpu_system.h                                                             |
                      3:  |                                                                           |
                      4:  | Copyright (C) 1992    W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |
                      5:  |                       Australia.  E-mail [email protected]    |
                      6:  |                                                                           |
                      7:  +---------------------------------------------------------------------------*/
                      8: 
                      9: #ifndef _FPU_SYSTEM_H
                     10: #define _FPU_SYSTEM_H
                     11: 
                     12: /* system dependent definitions */
                     13: #ifdef COHERENT
                     14: #include <sys/reg.h>
                     15: #include <ieeefp.h>
                     16: 
                     17: extern int printf(const char * fmt, ...);
                     18: #define NULL ((void *)0)
                     19: 
                     20: /* FPU_info will be a pointer to _fpemstate */
                     21: /* current will be a pointer to _fpstackframe */
                     22: 
                     23: #define FPU_CS                 (*(unsigned short *) &(emCurrent->regs[CS]))
                     24: #define FPU_DS                 (*(unsigned short *) &(emCurrent->regs[DS]))
                     25: #define FPU_EAX                        (emCurrent->regs[EAX])
                     26: #define FPU_EFLAGS             (emCurrent->regs[EFL])
                     27: #define FPU_EIP                        (emCurrent->regs[EIP])
                     28: 
                     29: #define FPU_lookahead           (FPU_info->lookahead)
                     30: #define FPU_entry_eip           (FPU_info->entry_eip)
                     31: #define fpregs                 (FPU_info->regs)
                     32: #define top                    (FPU_info->top)
                     33: #if 0
                     34: #define FPU_ORIG_EIP           (FPU_info->ipoff)
                     35: #else
                     36: #define FPU_ORIG_EIP           FPU_EIP
                     37: #endif
                     38: #define status_word            (FPU_info->sw)
                     39: #define control_word           (FPU_info->cw)
                     40: 
                     41: #define ip_offset              (FPU_info->ipoff)
                     42: #define cs_selector            (FPU_info->cssel)
                     43: #define data_operand_offset    (FPU_info->dataoff)
                     44: #define operand_selector       (FPU_info->datasel)
                     45: 
                     46: extern struct _fpemstate *FPU_info;
                     47: extern struct _fpstackframe *emCurrent;
                     48: 
                     49: #else
                     50: 
                     51: #include <linux/sched.h>
                     52: #include <linux/kernel.h>
                     53: 
                     54: #define I387                   (emCurrent->tss.i387)
                     55: #define FPU_info               (I387.soft.info)
                     56: 
                     57: #define FPU_CS                 (*(unsigned short *) &(FPU_info->___cs))
                     58: #define FPU_DS                 (*(unsigned short *) &(FPU_info->___ds))
                     59: #define FPU_EAX                        (FPU_info->___eax)
                     60: #define FPU_EFLAGS             (FPU_info->___eflags)
                     61: #define FPU_EIP                        (FPU_info->___eip)
                     62: #define FPU_ORIG_EIP           (FPU_info->___orig_eip)
                     63: 
                     64: #define FPU_lookahead           (I387.soft.lookahead)
                     65: #define FPU_entry_eip           (I387.soft.entry_eip)
                     66: 
                     67: #define status_word            (I387.soft.swd)
                     68: #define control_word           (I387.soft.cwd)
                     69: #define fpregs                 (I387.soft.regs)
                     70: #define top                    (I387.soft.top)
                     71: 
                     72: #define ip_offset              (I387.soft.fip)
                     73: #define cs_selector            (I387.soft.fcs)
                     74: #define data_operand_offset    (I387.soft.foo)
                     75: #define operand_selector       (I387.soft.fos)
                     76: 
                     77: #endif
                     78: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.