summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include/segments.h
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2009-04-01 12:31:04 +0000
committerkib <kib@FreeBSD.org>2009-04-01 12:31:04 +0000
commit12b844219e420459e8d30f9538d9bbb17d8d324e (patch)
tree4b10d25848747699a241d051b71a606d0e54a17c /sys/amd64/include/segments.h
parent9aa3b3f51fb7675634af206381ab2f8b8aaf52b7 (diff)
downloadFreeBSD-src-12b844219e420459e8d30f9538d9bbb17d8d324e.zip
FreeBSD-src-12b844219e420459e8d30f9538d9bbb17d8d324e.tar.gz
Provide convenient definition of the union descriptor, similar to the
i386 one. Fully enumerate system segments and gate types. In collaboration with: pho Reviewed by: jhb
Diffstat (limited to 'sys/amd64/include/segments.h')
-rw-r--r--sys/amd64/include/segments.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/amd64/include/segments.h b/sys/amd64/include/segments.h
index 1c83d1c..8ff3a0f 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 */
OpenPOWER on IntegriCloud