summaryrefslogtreecommitdiff
path: root/kernel/interrupts.c
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2018-08-22 15:16:26 +0200
committerMiguel <m.i@gmx.at>2018-08-22 15:16:26 +0200
commitd57a38d7fa9501a5ec17f75a1efaef9d62df5bef (patch)
tree508eb0131ba6d241f69483e3b7a9d556f786643f /kernel/interrupts.c
parenteddfc270d887283674563530b9fd982a2692f8c3 (diff)
improving logging
Diffstat (limited to 'kernel/interrupts.c')
-rw-r--r--kernel/interrupts.c36
1 files changed, 17 insertions, 19 deletions
diff --git a/kernel/interrupts.c b/kernel/interrupts.c
index 0dccba4..9d5c2b1 100644
--- a/kernel/interrupts.c
+++ b/kernel/interrupts.c
@@ -1,7 +1,5 @@
#define FOOLOS_MODULE_NAME "interrupts"
-#include "lib/logger/log.h" // logger facilities
-
#include "asm/asm.h"
#include "asm/pit.h"
#include "driver/mouse.h"
@@ -12,14 +10,14 @@
void errlog(uint32_t error_code)
{
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"error_code: 0x%08X",error_code);
+ log(FOOLOS_MODULE_NAME,5,"error_code: 0x%08X",error_code);
}
void deflog(uint32_t eip, uint16_t cs, uint32_t flags)
{
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"eip: 0x%08X",eip);
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"segment: 0x%08X",cs);
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"eflags: 0x%08X",flags);
+ log(FOOLOS_MODULE_NAME,5,"eip: 0x%08X",eip);
+ log(FOOLOS_MODULE_NAME,5,"segment: 0x%08X",cs);
+ log(FOOLOS_MODULE_NAME,5,"eflags: 0x%08X",flags);
}
void int_install_ir(int irq, uint16_t flags, uint16_t sel, void *addr);
@@ -52,16 +50,16 @@ void exception_handle()
void int_default()
{
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"default handler");
+ log(FOOLOS_MODULE_NAME,5,"default handler");
panic(FOOLOS_MODULE_NAME,"unhandled interrupt (is this a panic or should just iognore?)");
}
void show_error(uint32_t err)
{
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"interrupt error code: 0x%08x",err);
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"External Event: %x",err&0b001);
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Location: %x",err&0b110);
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Selector: %x",err&0b1111111111111000);
+ log(FOOLOS_MODULE_NAME,5,"interrupt error code: 0x%08x",err);
+ log(FOOLOS_MODULE_NAME,5,"External Event: %x",err&0b001);
+ log(FOOLOS_MODULE_NAME,5,"Location: %x",err&0b110);
+ log(FOOLOS_MODULE_NAME,5,"Selector: %x",err&0b1111111111111000);
}
void exception_handle_0(){ panic(FOOLOS_MODULE_NAME,"Divide by 0"); }
@@ -89,12 +87,12 @@ void exception_handle_13(uint32_t error_code,uint32_t eip,uint16_t cs,uint16_t u
void exception_handle_14(uint32_t error_code,uint32_t eip,uint16_t cs,uint16_t unused, uint32_t flags)
{
errlog(error_code);
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"error_code_P: %d",error_code&1?1:0);
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"error_code_W/R: %d",error_code&2?1:0);
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"error_code_U/S: %d",error_code&4?1:0);
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"error_code_RSVD: %d",error_code&8?1:0);
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"error_code_I/D: %d",error_code&16?1:0);
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"at addr: 0x%08X",x86_get_cr(2));
+ log(FOOLOS_MODULE_NAME,5,"error_code_P: %d",error_code&1?1:0);
+ log(FOOLOS_MODULE_NAME,5,"error_code_W/R: %d",error_code&2?1:0);
+ log(FOOLOS_MODULE_NAME,5,"error_code_U/S: %d",error_code&4?1:0);
+ log(FOOLOS_MODULE_NAME,5,"error_code_RSVD: %d",error_code&8?1:0);
+ log(FOOLOS_MODULE_NAME,5,"error_code_I/D: %d",error_code&16?1:0);
+ log(FOOLOS_MODULE_NAME,5,"at addr: 0x%08X",x86_get_cr(2));
deflog(eip,cs,flags);
panic(FOOLOS_MODULE_NAME,"Exception: Fault: Page Fault");
@@ -121,10 +119,10 @@ void int_install_ir(int irq, uint16_t flags, uint16_t sel, void *addr)
void interrupts_init(uint16_t sel)
{
// Setup PIC
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"setting up PIC",&idt,&idtd);
+ log(FOOLOS_MODULE_NAME,5,"setting up PIC",&idt,&idtd);
pic_setup();
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"initializing. IDT: 0x%08x, IDTD: 0x%08X",&idt,&idtd);
+ log(FOOLOS_MODULE_NAME,5,"initializing. IDT: 0x%08x, IDTD: 0x%08X",&idt,&idtd);
for(int i=0; i<INT_MAX; i++)
{