diff options
author | Akinobu Mita <akinobu.mita@gmail.com> | 2009-07-19 00:12:20 +0900 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-08-08 17:44:11 +0200 |
commit | 1e5de18278e6862f4198412b5059a03770fa816a (patch) | |
tree | 23ca6dfed95bd5f53d69d4b94ada59358765ad79 /arch/x86/include/asm/desc_defs.h | |
parent | 57594742a2b545f8f114cda34f15650be8ae976d (diff) |
x86: Introduce GDT_ENTRY_INIT()
GDT_ENTRY_INIT is static initializer of desc_struct.
We already have similar macro GDT_ENTRY() but it's static
initializer for u64 and it cannot be used for desc_struct.
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
LKML-Reference: <20090718151219.GD11294@localhost.localdomain>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/include/asm/desc_defs.h')
-rw-r--r-- | arch/x86/include/asm/desc_defs.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/include/asm/desc_defs.h b/arch/x86/include/asm/desc_defs.h index a6adefa28b9..9d6684849fd 100644 --- a/arch/x86/include/asm/desc_defs.h +++ b/arch/x86/include/asm/desc_defs.h @@ -34,6 +34,12 @@ struct desc_struct { }; } __attribute__((packed)); +#define GDT_ENTRY_INIT(flags, base, limit) { { { \ + .a = ((limit) & 0xffff) | (((base) & 0xffff) << 16), \ + .b = (((base) & 0xff0000) >> 16) | (((flags) & 0xf0ff) << 8) | \ + ((limit) & 0xf0000) | ((base) & 0xff000000), \ + } } } + enum { GATE_INTERRUPT = 0xE, GATE_TRAP = 0xF, |