summaryrefslogtreecommitdiff
path: root/i386/i386/seg.h
diff options
context:
space:
mode:
Diffstat (limited to 'i386/i386/seg.h')
-rw-r--r--i386/i386/seg.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/i386/i386/seg.h b/i386/i386/seg.h
index 6f3d5af9..86e73c34 100644
--- a/i386/i386/seg.h
+++ b/i386/i386/seg.h
@@ -65,6 +65,10 @@ struct real_gate {
word_count:8,
access:8,
offset_high:16; /* offset 16..31 */
+#ifdef __x86_64__
+ unsigned int offset_ext:32, /* offset 32..63 */
+ reserved:32;
+#endif
};
#endif /* !__ASSEMBLER__ */
@@ -195,6 +199,10 @@ fill_gate(struct real_gate *gate, unsigned offset, unsigned short selector,
gate->word_count = word_count;
gate->access = access | ACC_P;
gate->offset_high = (offset >> 16) & 0xffff;
+#ifdef __x86_64__
+ gate->offset_ext = offset >> 32;
+ gate->reserved = 0;
+#endif
}
#endif /* !__ASSEMBLER__ */