@@ -114,26 +114,28 @@ extern "C" __attribute__((noreturn)) void ebbrt::idt::EventInterrupt(int num) {
114114
115115namespace {
116116void PrintExceptionFrame (ebbrt::idt::ExceptionFrame* ef) {
117- ebbrt::kprintf (" SS: %#018" PRIx64 " RSP: %#018" PRIx64 " \n " , ef->ss , ef->rsp );
118- ebbrt::kprintf (" FLAGS: %#018" PRIx64 " \n " ,
119- ef->rflags ); // TODO(Dschatz): print out actual meaning
120- ebbrt::kprintf (" CS: %#018" PRIx64 " RIP: %#018" PRIx64 " \n " , ef->cs , ef->rip );
121- ebbrt::kprintf (" Error Code: %" PRIx64 " \n " , ef->error_code );
122- ebbrt::kprintf (" RAX: %#018" PRIx64 " RBX: %#018" PRIx64 " \n " , ef->rax ,
123- ef->rbx );
124- ebbrt::kprintf (" RCX: %#018" PRIx64 " RDX: %#018" PRIx64 " \n " , ef->rcx ,
125- ef->rdx );
126- ebbrt::kprintf (" RSI: %#018" PRIx64 " RDI: %#018" PRIx64 " \n " , ef->rsi ,
127- ef->rdi );
128- ebbrt::kprintf (" RBP: %#018" PRIx64 " R8: %#018" PRIx64 " \n " , ef->rbp ,
129- ef->r8 );
130- ebbrt::kprintf (" R9: %#018" PRIx64 " R10: %#018" PRIx64 " \n " , ef->r9 ,
131- ef->r10 );
132- ebbrt::kprintf (" R11: %#018" PRIx64 " R12: %#018" PRIx64 " \n " , ef->r11 ,
133- ef->r12 );
134- ebbrt::kprintf (" R13: %#018" PRIx64 " R14: %#018" PRIx64 " \n " , ef->r13 ,
135- ef->r14 );
136- ebbrt::kprintf (" R15: %#018" PRIx64 " \n " , ef->r15 );
117+ ebbrt::kprintf_force (" SS: %#018" PRIx64 " RSP: %#018" PRIx64 " \n " , ef->ss ,
118+ ef->rsp );
119+ ebbrt::kprintf_force (" FLAGS: %#018" PRIx64 " \n " ,
120+ ef->rflags ); // TODO(Dschatz): print out actual meaning
121+ ebbrt::kprintf_force (" CS: %#018" PRIx64 " RIP: %#018" PRIx64 " \n " , ef->cs ,
122+ ef->rip );
123+ ebbrt::kprintf_force (" Error Code: %" PRIx64 " \n " , ef->error_code );
124+ ebbrt::kprintf_force (" RAX: %#018" PRIx64 " RBX: %#018" PRIx64 " \n " , ef->rax ,
125+ ef->rbx );
126+ ebbrt::kprintf_force (" RCX: %#018" PRIx64 " RDX: %#018" PRIx64 " \n " , ef->rcx ,
127+ ef->rdx );
128+ ebbrt::kprintf_force (" RSI: %#018" PRIx64 " RDI: %#018" PRIx64 " \n " , ef->rsi ,
129+ ef->rdi );
130+ ebbrt::kprintf_force (" RBP: %#018" PRIx64 " R8: %#018" PRIx64 " \n " , ef->rbp ,
131+ ef->r8 );
132+ ebbrt::kprintf_force (" R9: %#018" PRIx64 " R10: %#018" PRIx64 " \n " , ef->r9 ,
133+ ef->r10 );
134+ ebbrt::kprintf_force (" R11: %#018" PRIx64 " R12: %#018" PRIx64 " \n " , ef->r11 ,
135+ ef->r12 );
136+ ebbrt::kprintf_force (" R13: %#018" PRIx64 " R14: %#018" PRIx64 " \n " , ef->r13 ,
137+ ef->r14 );
138+ ebbrt::kprintf_force (" R15: %#018" PRIx64 " \n " , ef->r15 );
137139
138140 // TODO(dschatz): FPU
139141}
@@ -143,7 +145,7 @@ extern "C" void ebbrt::idt::NmiInterrupt(ExceptionFrame* ef) { kabort(); }
143145
144146#define UNHANDLED_INTERRUPT (name ) \
145147 extern " C" void ebbrt::idt::name (ExceptionFrame* ef) { \
146- kprintf (" %s\n " , __PRETTY_FUNCTION__); \
148+ kprintf_force (" %s\n " , __PRETTY_FUNCTION__); \
147149 PrintExceptionFrame (ef); \
148150 kabort (); \
149151 }
0 commit comments