Annotation of coherent/b/kernel/emulator/fpu_system.h, revision 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.