Chameleon

Chameleon Svn Source Tree

Root/branches/ErmaC/Trunk/i386/include/architecture/i386/table.h

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
45typedef union dt_entry {
46 code_desc_tcode;
47 data_desc_tdata;
48 ldt_desc_tldt;
49 tss_desc_ttask_state;
50 call_gate_tcall_gate;
51 trap_gate_ttrap_gate;
52 intr_gate_tintr_gate;
53 task_gate_ttask_gate;
54} dt_entry_t;
55
56#define DESC_TBL_MAX8192
57
58/*
59 * Global descriptor table.
60 */
61
62typedef union gdt_entry {
63 code_desc_tcode;
64 data_desc_tdata;
65 ldt_desc_tldt;
66 call_gate_tcall_gate;
67 task_gate_ttask_gate;
68 tss_desc_ttask_state;
69} gdt_entry_t;
70
71typedef gdt_entry_tgdt_t;
72
73/*
74 * Interrupt descriptor table.
75 */
76
77typedef union idt_entry {
78 trap_gate_ttrap_gate;
79 intr_gate_tintr_gate;
80 task_gate_ttask_gate;
81} idt_entry_t;
82
83typedef idt_entry_tidt_t;
84
85/*
86 * Local descriptor table.
87 */
88
89typedef union ldt_entry {
90 code_desc_tcode;
91 data_desc_tdata;
92 call_gate_tcall_gate;
93 task_gate_ttask_gate;
94} ldt_entry_t;
95
96typedef ldt_entry_tldt_t;
97
98#endif/* _ARCH_I386_TABLE_H_ */
99

Archive Download this file

Revision: 1622