35 #include "interrupt.h"
40 double_fault_handler(
struct interrupt_context
context)
59 SET_EXCEPTION_HANDLER(8, 1, double_fault_handler);
64 prot_domains_leave_boot_stage1();
78 uintptr_t top_of_stack = STACKS_INIT_TOP;
80 #if X86_CONF_PROT_DOMAINS != X86_CONF_PROT_DOMAINS__NONE
81 uintptr_t *top_of_stack_ptr =
82 (uintptr_t *)DATA_OFF_TO_PHYS_ADDR(top_of_stack);
84 top_of_stack_ptr[0] = (uintptr_t)prot_domains_launch_kernel;
85 top_of_stack_ptr[1] = (uintptr_t)prot_domains_launch_app;
100 :
"r" (GDT_SEL_DATA_FLAT)
107 prot_domains_gdt_init();
115 "mov %[_ss_], %%ss\n\t"
116 "mov %[_esp_], %%esp\n\t"
117 "ljmp %[_cs_], %[_stage1_]\n\t"
119 : [_ss_]
"r" (GDT_SEL_STK_EXC),
120 [_esp_]
"r" (top_of_stack),
121 [_cs_]
"i" ((uint16_t)GDT_SEL_CODE_EXC),
122 [_stage1_]
"i" (boot_stage1)
static struct sicslowpan_addr_context * context
Addresses contexts for IPHC.
int main(void)
This is main...