Root/
Source at commit 1276 created 12 years 11 months ago. By azimutz, Ids maintenance. | |
---|---|
1 | /*␊ |
2 | * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.␊ |
3 | *␊ |
4 | * @APPLE_LICENSE_HEADER_START@␊ |
5 | * ␊ |
6 | * This file contains Original Code and/or Modifications of Original Code␊ |
7 | * as defined in and that are subject to the Apple Public Source License␊ |
8 | * Version 2.0 (the 'License'). You may not use this file except in␊ |
9 | * compliance with the License. Please obtain a copy of the License at␊ |
10 | * http://www.opensource.apple.com/apsl/ and read it before using this␊ |
11 | * file.␊ |
12 | * ␊ |
13 | * The Original Code and all software distributed under the License are␊ |
14 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER␊ |
15 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,␊ |
16 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,␊ |
17 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.␊ |
18 | * Please see the License for the specific language governing rights and␊ |
19 | * limitations under the License.␊ |
20 | * ␊ |
21 | * @APPLE_LICENSE_HEADER_END@␊ |
22 | */␊ |
23 | /*␊ |
24 | * Copyright (c) 1992 NeXT Computer, Inc.␊ |
25 | *␊ |
26 | * Intel386 Family:␉Descriptor tables.␊ |
27 | *␊ |
28 | * HISTORY␊ |
29 | *␊ |
30 | * 30 March 1992 ? at NeXT␊ |
31 | *␉Created.␊ |
32 | */␊ |
33 | ␊ |
34 | #ifndef _ARCH_I386_TABLE_H_␊ |
35 | #define _ARCH_I386_TABLE_H_␊ |
36 | ␊ |
37 | #include <architecture/i386/desc.h>␊ |
38 | #include <architecture/i386/tss.h>␊ |
39 | ␊ |
40 | /*␊ |
41 | * A totally generic descriptor␊ |
42 | * table entry.␊ |
43 | */␊ |
44 | ␊ |
45 | typedef union dt_entry {␊ |
46 | code_desc_t␉␉code;␊ |
47 | data_desc_t␉␉data;␊ |
48 | ldt_desc_t␉␉ldt;␊ |
49 | tss_desc_t␉␉task_state;␊ |
50 | call_gate_t␉␉call_gate;␊ |
51 | trap_gate_t␉␉trap_gate;␊ |
52 | intr_gate_t␉␉intr_gate;␊ |
53 | task_gate_t␉␉task_gate;␊ |
54 | } dt_entry_t;␊ |
55 | ␊ |
56 | #define DESC_TBL_MAX␉8192␊ |
57 | ␊ |
58 | /*␊ |
59 | * Global descriptor table.␊ |
60 | */␊ |
61 | ␊ |
62 | typedef union gdt_entry {␊ |
63 | code_desc_t␉␉code;␊ |
64 | data_desc_t␉␉data;␊ |
65 | ldt_desc_t␉␉ldt;␊ |
66 | call_gate_t␉␉call_gate;␊ |
67 | task_gate_t␉␉task_gate;␊ |
68 | tss_desc_t␉␉task_state;␊ |
69 | } gdt_entry_t;␊ |
70 | ␊ |
71 | typedef gdt_entry_t␉gdt_t;␊ |
72 | ␊ |
73 | /*␊ |
74 | * Interrupt descriptor table.␊ |
75 | */␊ |
76 | ␊ |
77 | typedef union idt_entry {␊ |
78 | trap_gate_t␉␉trap_gate;␊ |
79 | intr_gate_t␉␉intr_gate;␊ |
80 | task_gate_t␉␉task_gate;␊ |
81 | } idt_entry_t;␊ |
82 | ␊ |
83 | typedef idt_entry_t␉idt_t;␊ |
84 | ␊ |
85 | /*␊ |
86 | * Local descriptor table.␊ |
87 | */␊ |
88 | ␊ |
89 | typedef union ldt_entry {␊ |
90 | code_desc_t␉␉code;␊ |
91 | data_desc_t␉␉data;␊ |
92 | call_gate_t␉␉call_gate;␊ |
93 | task_gate_t␉␉task_gate;␊ |
94 | } ldt_entry_t;␊ |
95 | ␊ |
96 | typedef ldt_entry_t␉ldt_t;␊ |
97 | ␊ |
98 | #endif␉/* _ARCH_I386_TABLE_H_ */␊ |
99 |