diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2009-04-01 12:31:04 +0000 |
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2009-04-01 12:31:04 +0000 |
| commit | 49c9cff8816e8a805331536b013f9fd8ff2dda5a (patch) | |
| tree | 4b10d25848747699a241d051b71a606d0e54a17c | |
| parent | 2364576d141915cf8c12292b7b4c4694da45a021 (diff) | |
Notes
| -rw-r--r-- | sys/amd64/include/segments.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/amd64/include/segments.h b/sys/amd64/include/segments.h index 1c83d1cf8223..8ff3a0f9e27b 100644 --- a/sys/amd64/include/segments.h +++ b/sys/amd64/include/segments.h @@ -108,12 +108,29 @@ struct gate_descriptor { u_int64_t sd_xx1:32; } __packed; +/* + * Generic descriptor + */ +union descriptor { + struct user_segment_descriptor sd; + struct gate_descriptor gd; +}; + /* system segments and gate types */ #define SDT_SYSNULL 0 /* system null */ +#define SDT_SYS286TSS 1 /* system 286 TSS available */ #define SDT_SYSLDT 2 /* system 64 bit local descriptor table */ +#define SDT_SYS286BSY 3 /* system 286 TSS busy */ +#define SDT_SYS286CGT 4 /* system 286 call gate */ +#define SDT_SYSTASKGT 5 /* system task gate */ +#define SDT_SYS286IGT 6 /* system 286 interrupt gate */ +#define SDT_SYS286TGT 7 /* system 286 trap gate */ +#define SDT_SYSNULL2 8 /* system null again */ #define SDT_SYSTSS 9 /* system available 64 bit TSS */ +#define SDT_SYSNULL3 10 /* system null again */ #define SDT_SYSBSY 11 /* system busy 64 bit TSS */ #define SDT_SYSCGT 12 /* system 64 bit call gate */ +#define SDT_SYSNULL4 13 /* system null again */ #define SDT_SYSIGT 14 /* system 64 bit interrupt gate */ #define SDT_SYSTGT 15 /* system 64 bit trap gate */ |
