The issue is that when a key is pressed a general protection fault occurs. I've been able to narrow it down to one command at the end of the keyboard IRQ "iretd" so with that I'm sorta stuck.
I know the IRQ is loaded into memory correctly.
But that's about it.
It used to execute random instructions but I somehow fixed that, now I can safely say that it will cause a GPF when a key is pressed.
Boch log:
(If the actual IRQ would be useful I'll post that, I don't want to make this post any longer than needed )00001800426i[BIOS ] bios_table_cur_addr: 0x000fb994
00008023335i[BIOS ] Booting from 0000:7c00
00018720612e[CPU0 ] fetch_raw_descriptor: GDT: index (6f)d > limit (17)
00037752000p[WGUI ] >>PANIC<< Window closed, exiting!
00037752000i[CPU0 ] CPU is in protected mode (active)
00037752000i[CPU0 ] CS.d_b = 32 bit
00037752000i[CPU0 ] SS.d_b = 32 bit
00037752000i[CPU0 ] | EAX=00000001 EBX=00000000 ECX=00000000 EDX=000003d5
00037752000i[CPU0 ] | ESP=0008ff90 EBP=0008ffb0 ESI=00004012 EDI=00000000
00037752000i[CPU0 ] | IOPL=0 id vip vif ac vm rf nt of df if tf sf zf AF PF cf
00037752000i[CPU0 ] | SEG selector base limit G D
00037752000i[CPU0 ] | SEG sltr(index|ti|rpl) base limit G D
00037752000i[CPU0 ] | CS:0008( 0001| 0| 0) 00000000 000fffff 1 1
00037752000i[CPU0 ] | DS:0010( 0002| 0| 0) 00000000 000fffff 1 1
00037752000i[CPU0 ] | SS:0010( 0002| 0| 0) 00000000 000fffff 1 1
00037752000i[CPU0 ] | ES:0010( 0002| 0| 0) 00000000 000fffff 1 1
00037752000i[CPU0 ] | FS:0010( 0002| 0| 0) 00000000 000fffff 1 1
00037752000i[CPU0 ] | GS:0010( 0002| 0| 0) 00000000 000fffff 1 1
00037752000i[CPU0 ] | EIP=c0000bc0 (c0000bc0)
00037752000i[CPU0 ] | CR0=0xe0000011 CR1=0 CR2=0x00000000
00037752000i[CPU0 ] | CR3=0x0009c000 CR4=0x00000000
Obviously I'm new to this, so does anyone have any ideas what's going on?
Thanks. ^-^