bond/x64
secXsQuared b2254e207d Interrupt working (Except that I need to remap PIC).
1. Fix a stupid mistake in idt dispatch table (IDT_ENTRY_NUM instead of IDT_ENTRY_SIZE)!
2. Figured out that before enabling APIC, the PIC is not completely disabled/remapped. Took hours to debug why immediately after enabling interrupt, a double fault happens when executing "mov eax, 0". Turned out that PIC maps timer interrupt to int vet 8, which is double fault in the vector table. The double fault normally pushes an error code 0, the ISR is expecting the error code but the timer interrupt does not push an error code thereby screwing up the interrupt stack completely. The kernel runs normally after "sti" after changing the int 8 vector to just "iretq". (Remapping the PIC: http://wiki.osdev.org/I_Cant_Get_Interrupts_Working#I.27m_receiving_EXC9_instead_of_IRQ1_when_striking_a_key_.3F.21). Oh FML, hours wasted..
2016-06-13 23:33:31 -07:00
..
build Python please fk off 2016-06-05 01:09:01 -07:00
src Interrupt working (Except that I need to remap PIC). 2016-06-13 23:33:31 -07:00
bochs_win.bxrc Added boots compilation stuff. Although bochs keeps seg faulting (lol wut) 2016-06-04 16:14:50 -07:00
bochs.bxrc Interrupt working (Except that I need to remap PIC). 2016-06-13 23:33:31 -07:00
CMakeLists.txt Added boots compilation stuff. Although bochs keeps seg faulting (lol wut) 2016-06-04 16:14:50 -07:00
makefile Added information request 2016-06-04 22:33:14 -07:00