summaryrefslogtreecommitdiff
path: root/kernel/interrupts.c
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2018-08-17 17:51:51 +0200
committerMiguel <m.i@gmx.at>2018-08-17 17:51:51 +0200
commit51d4dd040a291b62c648ff6cc0d7e0058cf4056f (patch)
tree142b7db302ba038dba526f99e5854cfc87b5f92e /kernel/interrupts.c
parent006214f8c63189500b6ca55e0ef8f97eb35d47f5 (diff)
starting implicit function calls cleanup
Diffstat (limited to 'kernel/interrupts.c')
-rw-r--r--kernel/interrupts.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/interrupts.c b/kernel/interrupts.c
index f0b9bbd..e19d816 100644
--- a/kernel/interrupts.c
+++ b/kernel/interrupts.c
@@ -108,7 +108,7 @@ void exception_handle_18(){ panic(FOOLOS_MODULE_NAME,"Machine Check"); }
void int_install_ir(int irq, uint16_t flags, uint16_t sel, void *addr)
{
- uint64_t base=(uint64_t)&(*addr);
+ uint64_t base=(uint32_t)&(*(uint32_t*)addr);
idt[irq].addrLo = base & 0xffff;
idt[irq].addrHi = (base >> 16) & 0xffff;
@@ -184,7 +184,7 @@ void int_install()
idtd.size=sizeof(struct int_desc)*INT_MAX;
- uint32_t addr=&idt[0];
+ uint32_t addr=(uint32_t)&idt[0];
idtd.baseHi=addr>>16;
idtd.baseLo=0xffff&addr;