Annotation of XNU/osfmk/i386/tss.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
                      3:  *
                      4:  * @APPLE_LICENSE_HEADER_START@
                      5:  * 
                      6:  * The contents of this file constitute Original Code as defined in and
                      7:  * are subject to the Apple Public Source License Version 1.1 (the
                      8:  * "License").  You may not use this file except in compliance with the
                      9:  * License.  Please obtain a copy of the License at
                     10:  * http://www.apple.com/publicsource and read it before using this file.
                     11:  * 
                     12:  * This Original Code and all software distributed under the License are
                     13:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
                     14:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
                     15:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
                     16:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
                     17:  * License for the specific language governing rights and limitations
                     18:  * under the License.
                     19:  * 
                     20:  * @APPLE_LICENSE_HEADER_END@
                     21:  */
                     22: /*
                     23:  * @OSF_COPYRIGHT@
                     24:  */
                     25: /* 
                     26:  * Mach Operating System
                     27:  * Copyright (c) 1991,1990,1989 Carnegie Mellon University
                     28:  * All Rights Reserved.
                     29:  * 
                     30:  * Permission to use, copy, modify and distribute this software and its
                     31:  * documentation is hereby granted, provided that both the copyright
                     32:  * notice and this permission notice appear in all copies of the
                     33:  * software, derivative works or modified versions, and any portions
                     34:  * thereof, and that both notices appear in supporting documentation.
                     35:  * 
                     36:  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
                     37:  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
                     38:  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
                     39:  * 
                     40:  * Carnegie Mellon requests users of this software to return to
                     41:  * 
                     42:  *  Software Distribution Coordinator  or  [email protected]
                     43:  *  School of Computer Science
                     44:  *  Carnegie Mellon University
                     45:  *  Pittsburgh PA 15213-3890
                     46:  * 
                     47:  * any improvements or extensions that they make and grant Carnegie Mellon
                     48:  * the rights to redistribute these changes.
                     49:  */
                     50: /*
                     51:  */
                     52: 
                     53: #ifndef        _I386_TSS_H_
                     54: #define        _I386_TSS_H_
                     55: 
                     56: /*
                     57:  *     i386 Task State Segment
                     58:  */
                     59: struct i386_tss {
                     60:        int             back_link;      /* segment number of previous task,
                     61:                                           if nested */
                     62:        int             esp0;           /* initial stack pointer ... */
                     63:        int             ss0;            /* and segment for ring 0 */
                     64:        int             esp1;           /* initial stack pointer ... */
                     65:        int             ss1;            /* and segment for ring 1 */
                     66:        int             esp2;           /* initial stack pointer ... */
                     67:        int             ss2;            /* and segment for ring 2 */
                     68:        int             cr3;            /* CR3 - page table directory
                     69:                                                 physical address */
                     70:        int             eip;
                     71:        int             eflags;
                     72:        int             eax;
                     73:        int             ecx;
                     74:        int             edx;
                     75:        int             ebx;
                     76:        int             esp;            /* current stack pointer */
                     77:        int             ebp;
                     78:        int             esi;
                     79:        int             edi;
                     80:        int             es;
                     81:        int             cs;
                     82:        int             ss;             /* current stack segment */
                     83:        int             ds;
                     84:        int             fs;
                     85:        int             gs;
                     86:        int             ldt;            /* local descriptor table segment */
                     87:        unsigned short  trace_trap;     /* trap on switch to this task */
                     88:        unsigned short  io_bit_map_offset;
                     89:                                        /* offset to start of IO permission
                     90:                                           bit map */
                     91: };
                     92: 
                     93: #endif /* _I386_TSS_H_ */

unix.superglobalmegacorp.com

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