Changeset View
Changeset View
Standalone View
Standalone View
sys/amd64/amd64/machdep.c
Show First 20 Lines • Show All 1,604 Lines • ▼ Show 20 Lines | hammer_time(u_int64_t modulep, u_int64_t physfree) | ||||
setidt(IDT_MF, &IDTVEC(fpu), SDT_SYSIGT, SEL_KPL, 0); | setidt(IDT_MF, &IDTVEC(fpu), SDT_SYSIGT, SEL_KPL, 0); | ||||
setidt(IDT_AC, &IDTVEC(align), SDT_SYSIGT, SEL_KPL, 0); | setidt(IDT_AC, &IDTVEC(align), SDT_SYSIGT, SEL_KPL, 0); | ||||
setidt(IDT_MC, &IDTVEC(mchk), SDT_SYSIGT, SEL_KPL, 0); | setidt(IDT_MC, &IDTVEC(mchk), SDT_SYSIGT, SEL_KPL, 0); | ||||
setidt(IDT_XF, &IDTVEC(xmm), SDT_SYSIGT, SEL_KPL, 0); | setidt(IDT_XF, &IDTVEC(xmm), SDT_SYSIGT, SEL_KPL, 0); | ||||
#ifdef KDTRACE_HOOKS | #ifdef KDTRACE_HOOKS | ||||
setidt(IDT_DTRACE_RET, &IDTVEC(dtrace_ret), SDT_SYSIGT, SEL_UPL, 0); | setidt(IDT_DTRACE_RET, &IDTVEC(dtrace_ret), SDT_SYSIGT, SEL_UPL, 0); | ||||
#endif | #endif | ||||
#ifdef XENHVM | #ifdef XENHVM | ||||
setidt(IDT_EVTCHN, &IDTVEC(xen_intr_upcall), SDT_SYSIGT, SEL_UPL, 0); | setidt(IDT_HYPERVISOR, &IDTVEC(xen_intr_upcall), SDT_SYSIGT, SEL_UPL, 0); | ||||
#endif | #endif | ||||
r_idt.rd_limit = sizeof(idt0) - 1; | r_idt.rd_limit = sizeof(idt0) - 1; | ||||
r_idt.rd_base = (long) idt; | r_idt.rd_base = (long) idt; | ||||
lidt(&r_idt); | lidt(&r_idt); | ||||
/* | /* | ||||
* Initialize the clock before the console so that console | * Initialize the clock before the console so that console | ||||
▲ Show 20 Lines • Show All 853 Lines • Show Last 20 Lines |