21 unsigned int param_count:5,
_r0:3;
22 unsigned int type:4, s:1,
dpl:2, p:1;
30 unsigned int type,
unsigned int sel,
uint32_t offset,
31 unsigned int dpl,
unsigned int count)
41 g->
offset1 = (offset >> 16) & 0xffff;
53 unsigned int ist:3,
_r0:5;
54 unsigned int type:4, s:1,
dpl:2, p:1;
64 unsigned int type,
unsigned int sel,
uint64_t offset,
65 unsigned int dpl,
unsigned int ist)
75 g->
offset1 = (offset >> 16) & 0xffff;
76 g->
offset2 = (offset >> 32) & 0xffffffffu;
80#if defined(__x86_64__)
84#elif defined(__i386__)
89# error Bad architecture for Gate infrastructure
94 unsigned int type,
unsigned int sel,
unsigned long offset,
95 unsigned int dpl,
unsigned int other)
97#if defined(__x86_64__)
102 (g,
type, sel, offset,
dpl, other);
111 env_gate *g,
unsigned int sel,
unsigned long offset,
112 unsigned int dpl,
unsigned int other)
118 env_gate *g,
unsigned int sel,
unsigned long offset,
119 unsigned int dpl,
unsigned int other)
125 env_gate *g,
unsigned int sel,
unsigned long offset,
126 unsigned int dpl,
unsigned int other)
8-byte gate - Protected mode IDT entry, GDT task/call gate.
16-byte gate - Long mode IDT entry, GDT call gate.
static void pack_call_gate(env_gate *g, unsigned int sel, unsigned long offset, unsigned int dpl, unsigned int other)
static void pack_trap_gate(env_gate *g, unsigned int sel, unsigned long offset, unsigned int dpl, unsigned int other)
static void pack_task_gate(env_gate *g, unsigned int selector)
static void pack_intr_gate(env_gate *g, unsigned int sel, unsigned long offset, unsigned int dpl, unsigned int other)
static void pack_gate(env_gate *g, unsigned int type, unsigned int sel, unsigned long offset, unsigned int dpl, unsigned int other)
static void pack_x86_gate64(struct x86_gate64 *g, unsigned int type, unsigned int sel, uint64_t offset, unsigned int dpl, unsigned int ist)
static void pack_x86_gate32(struct x86_gate32 *g, unsigned int type, unsigned int sel, uint32_t offset, unsigned int dpl, unsigned int count)