diff options
Diffstat (limited to 'i386/i386/seg.h')
-rw-r--r-- | i386/i386/seg.h | 8 |
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__ */ |