Annotation of GNUtools/cctools/include/mach/hppa/thread_status.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * @HP_COPYRIGHT@
        !             3:  */
        !             4: /*
        !             5:  * HISTORY
        !             6:  * $Log: thread_status.h,v $
        !             7:  * Revision 1.4.3.2  1992/01/09  20:05:31  sharpe
        !             8:  *     initial 1.1 vers from 1.0
        !             9:  *     [1992/01/09  19:29:20  sharpe]
        !            10:  *
        !            11:  * Revision 1.4  1991/07/03  17:25:42  osfrcs
        !            12:  *     06/19/90 rand       Add THREAD_STATE_FLAVOR_LIST to getstatus
        !            13:  *     [91/06/21  17:29:52  brezak]
        !            14:  * 
        !            15:  * Revision 1.3.2.2  91/06/21  18:05:17  brezak
        !            16:  *     06/19/90 rand       Add THREAD_STATE_FLAVOR_LIST to getstatus
        !            17:  *     [91/06/21  17:29:52  brezak]
        !            18:  * 
        !            19:  * Revision 1.2.2.2  91/04/30  09:48:00  brezak
        !            20:  *     rand         04/19/91 Add options to control reflection of assist/unalign exceptions
        !            21:  *     [91/04/29  11:46:12  brezak]
        !            22:  * 
        !            23:  * Revision 1.2  91/04/14  20:47:10  osfrcs
        !            24:  *     Initial version.
        !            25:  *     [91/03/30  09:32:42  brezak]
        !            26:  * 
        !            27:  * $EndLog$
        !            28:  */
        !            29: 
        !            30: #ifndef        _HPPA_THREAD_STATE_ 
        !            31: #define        _HPPA_THREAD_STATE_
        !            32: 
        !            33: #include <mach/machine/boolean.h>
        !            34: 
        !            35: 
        !            36: #define        HPPA_INTEGER_THREAD_STATE     1
        !            37: #define        HPPA_FRAME_THREAD_STATE     2
        !            38: #define        HPPA_FP_THREAD_STATE     3
        !            39: 
        !            40: /*
        !            41:  * Flow control information that can
        !            42:  * be changed from user state (with
        !            43:  * some restrictions on psw).
        !            44:  */
        !            45: struct hp_pa_frame_thread_state {
        !            46:        unsigned long   ts_pcsq_front;  /* instruction address space front */
        !            47:        unsigned long   ts_pcsq_back;   /* instruction address space back */
        !            48:        unsigned long   ts_pcoq_front;  /* instruction offset space front */
        !            49:        unsigned long   ts_pcoq_back;   /* instruction offset space back */
        !            50:        unsigned long   ts_psw;         /* process status word */
        !            51:        unsigned long   ts_unaligned_faults;    /* number of unaligned data references READ-ONLY */
        !            52:        unsigned long   ts_fault_address;       /* address of failing page fault READ-ONLY */
        !            53: /*
        !            54:  * A step range is a range of address that
        !            55:  * will be executed with out generating a single
        !            56:  * step event. If both values are 0 no stepping
        !            57:  * will occur. Otherwise the program will run while:
        !            58:  *
        !            59:  *     if (step_range_start <= step_range_stop)
        !            60:  *             pcoq0 >= step_range_start && pcoq0 < step_range_stop 
        !            61:  *     if (step_range_start > step_range_stop)
        !            62:  *             pcoq0 < step_range_stop && pcoq0 >= step_range_start 
        !            63:  *
        !            64:  * notice that setting step_range_start and step_range_stop to the
        !            65:  * same non-zero value will execute only one instruction due to action
        !            66:  * of the pc queue. (Yes, nullified instructions count)
        !            67:  */
        !            68:        unsigned long   ts_step_range_start;
        !            69:        unsigned long   ts_step_range_stop;
        !            70: 
        !            71:        /* Generate an exception when OS assists with an alignment fault */
        !            72:        boolean_t       ts_alignment_trap_reflect;
        !            73: 
        !            74:        /* Generate an exception when OS assists with an FP fault */
        !            75:        boolean_t       ts_execution_trap_reflect;
        !            76: };
        !            77: 
        !            78: /*
        !            79:  * Get rid of as soon as all users of frame_thread_state 
        !            80:  * have been recompiled. XXX
        !            81:  */
        !            82: struct hp_pa_old_frame_thread_state {
        !            83:        unsigned long   ts_pcsq_front;  /* instruction address space front */
        !            84:        unsigned long   ts_pcsq_back;   /* instruction address space back */
        !            85:        unsigned long   ts_pcoq_front;  /* instruction offset space front */
        !            86:        unsigned long   ts_pcoq_back;   /* instruction offset space back */
        !            87:        unsigned long   ts_psw;         /* process status word */
        !            88: };
        !            89: 
        !            90: /*
        !            91:  * The unsigned longeger state that may be changed by any
        !            92:  * process in user space.
        !            93:  */
        !            94: typedef struct hp_pa_integer_thread_state {
        !            95:        unsigned long   ts_gr1;         /* the user's general registers */
        !            96:        unsigned long   ts_gr2;
        !            97:        unsigned long   ts_gr3;
        !            98:        unsigned long   ts_gr4;
        !            99:        unsigned long   ts_gr5;
        !           100:        unsigned long   ts_gr6;
        !           101:        unsigned long   ts_gr7;
        !           102:        unsigned long   ts_gr8;
        !           103:        unsigned long   ts_gr9;
        !           104:        unsigned long   ts_gr10;
        !           105:        unsigned long   ts_gr11;
        !           106:        unsigned long   ts_gr12;
        !           107:        unsigned long   ts_gr13;
        !           108:        unsigned long   ts_gr14;
        !           109:        unsigned long   ts_gr15;
        !           110:        unsigned long   ts_gr16;
        !           111:        unsigned long   ts_gr17;
        !           112:        unsigned long   ts_gr18;
        !           113:        unsigned long   ts_gr19;
        !           114:        unsigned long   ts_gr20;
        !           115:        unsigned long   ts_gr21;
        !           116:        unsigned long   ts_gr22;
        !           117:        unsigned long   ts_gr23;
        !           118:        unsigned long   ts_gr24;
        !           119:        unsigned long   ts_gr25;
        !           120:        unsigned long   ts_gr26;
        !           121:        unsigned long   ts_gr27;
        !           122:        unsigned long   ts_gr28;
        !           123:        unsigned long   ts_gr29;
        !           124:        unsigned long   ts_gr30;
        !           125:        unsigned long   ts_gr31;
        !           126:        unsigned long   ts_sr0;         /* the user's space registgers */
        !           127:        unsigned long   ts_sr1;
        !           128:        unsigned long   ts_sr2;
        !           129:        unsigned long   ts_sr3;
        !           130:        unsigned long   ts_sar;         /* the user's shift amount register */
        !           131: } hp_pa_integer_thread_state_t;
        !           132: 
        !           133: /*
        !           134:  * The floating point state that may be changed by any
        !           135:  * process in user space.
        !           136:  */
        !           137: typedef struct hp_pa_fp_thread_state {
        !           138:        double  ts_fp0;         /* all of the execution unit registers */
        !           139:        double  ts_fp1;
        !           140:        double  ts_fp2;
        !           141:        double  ts_fp3;
        !           142:        double  ts_fp4;
        !           143:        double  ts_fp5;
        !           144:        double  ts_fp6;
        !           145:        double  ts_fp7;
        !           146:        double  ts_fp8;
        !           147:        double  ts_fp9;
        !           148:        double  ts_fp10;
        !           149:        double  ts_fp11;
        !           150:        double  ts_fp12;
        !           151:        double  ts_fp13;
        !           152:        double  ts_fp14;
        !           153:        double  ts_fp15;
        !           154:        double  ts_fp16;
        !           155:        double  ts_fp17;
        !           156:        double  ts_fp18;
        !           157:        double  ts_fp19;
        !           158:        double  ts_fp20;
        !           159:        double  ts_fp21;
        !           160:        double  ts_fp22;
        !           161:        double  ts_fp23;
        !           162:        double  ts_fp24;
        !           163:        double  ts_fp25;
        !           164:        double  ts_fp26;
        !           165:        double  ts_fp27;
        !           166:        double  ts_fp28;
        !           167:        double  ts_fp29;
        !           168:        double  ts_fp30;
        !           169:        double  ts_fp31;
        !           170: } hp_pa_fp_thread_state_t;
        !           171: 
        !           172: #define        HPPA_INTEGER_THREAD_STATE_COUNT (sizeof(struct hp_pa_integer_thread_state) / sizeof(unsigned long))
        !           173: #define        HPPA_FRAME_THREAD_STATE_COUNT (sizeof(struct hp_pa_frame_thread_state) / sizeof(unsigned long))
        !           174: #define        HPPA_FP_THREAD_STATE_COUNT (sizeof(struct hp_pa_fp_thread_state) / sizeof(unsigned long))
        !           175: 
        !           176: /* Get rid of as soon as all users of thread_frame_state have been recompiled XXX */
        !           177: #define        HPPA_OLD_FRAME_THREAD_STATE_COUNT (sizeof(struct hp_pa_old_frame_thread_state) / sizeof(unsigned long))
        !           178: 
        !           179: #endif /* _HPPA_THREAD_STATE_ */

unix.superglobalmegacorp.com

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