Changes in kernel/arch/amd64/src/interrupt.c [2ee1ccc:b2fa1204] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/amd64/src/interrupt.c
r2ee1ccc rb2fa1204 35 35 #include <arch/interrupt.h> 36 36 #include <print.h> 37 #include <log.h> 37 38 #include <debug.h> 38 39 #include <panic.h> … … 54 55 #include <symtab.h> 55 56 #include <stacktrace.h> 56 #include <smp/smp_call.h>57 57 58 58 /* … … 67 67 void istate_decode(istate_t *istate) 68 68 { 69 printf("cs =%0#18" PRIx64 "\trip=%0#18" PRIx64 "\t"69 log_printf("cs =%0#18" PRIx64 "\trip=%0#18" PRIx64 "\t" 70 70 "rfl=%0#18" PRIx64 "\terr=%0#18" PRIx64 "\n", 71 71 istate->cs, istate->rip, istate->rflags, istate->error_word); 72 72 73 73 if (istate_from_uspace(istate)) 74 printf("ss =%0#18" PRIx64 "\n", istate->ss);75 76 printf("rax=%0#18" PRIx64 "\trbx=%0#18" PRIx64 "\t"74 log_printf("ss =%0#18" PRIx64 "\n", istate->ss); 75 76 log_printf("rax=%0#18" PRIx64 "\trbx=%0#18" PRIx64 "\t" 77 77 "rcx=%0#18" PRIx64 "\trdx=%0#18" PRIx64 "\n", 78 78 istate->rax, istate->rbx, istate->rcx, istate->rdx); 79 79 80 printf("rsi=%0#18" PRIx64 "\trdi=%0#18" PRIx64 "\t"80 log_printf("rsi=%0#18" PRIx64 "\trdi=%0#18" PRIx64 "\t" 81 81 "rbp=%0#18" PRIx64 "\trsp=%0#18" PRIx64 "\n", 82 82 istate->rsi, istate->rdi, istate->rbp, … … 84 84 (uintptr_t) &istate->rsp); 85 85 86 printf("r8 =%0#18" PRIx64 "\tr9 =%0#18" PRIx64 "\t"86 log_printf("r8 =%0#18" PRIx64 "\tr9 =%0#18" PRIx64 "\t" 87 87 "r10=%0#18" PRIx64 "\tr11=%0#18" PRIx64 "\n", 88 88 istate->r8, istate->r9, istate->r10, istate->r11); 89 89 90 printf("r12=%0#18" PRIx64 "\tr13=%0#18" PRIx64 "\t"90 log_printf("r12=%0#18" PRIx64 "\tr13=%0#18" PRIx64 "\t" 91 91 "r14=%0#18" PRIx64 "\tr15=%0#18" PRIx64 "\n", 92 92 istate->r12, istate->r13, istate->r14, istate->r15); … … 162 162 tlb_shootdown_ipi_recv(); 163 163 } 164 165 static void arch_smp_call_ipi_recv(unsigned int n, istate_t *istate)166 {167 trap_virtual_eoi();168 smp_call_ipi_recv();169 }170 164 #endif 171 165 … … 200 194 */ 201 195 #ifdef CONFIG_DEBUG 202 printf("cpu%u: spurious interrupt (inum=%u)\n", CPU->id, inum); 196 log(LF_ARCH, LVL_DEBUG, "cpu%u: spurious interrupt (inum=%u)", 197 CPU->id, inum); 203 198 #endif 204 199 } … … 229 224 exc_register(VECTOR_TLB_SHOOTDOWN_IPI, "tlb_shootdown", true, 230 225 (iroutine_t) tlb_shootdown_ipi); 231 exc_register(VECTOR_SMP_CALL_IPI, "smp_call", true,232 (iroutine_t) arch_smp_call_ipi_recv);233 226 #endif 234 227 }
Note:
See TracChangeset
for help on using the changeset viewer.