bond is a hobby x86-64 kernel
Go to file
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
bochs_compile Added boots compilation stuff. Although bochs keeps seg faulting (lol wut) 2016-06-04 16:14:50 -07:00
legacy_bootloader Clean up crap and get code ready for 64 bit. 2015-01-29 00:05:58 -08:00
miscellaneous Structural Change 2016-06-04 02:51:14 -07:00
x64 Interrupt working (Except that I need to remap PIC). 2016-06-13 23:33:31 -07:00
x86 Added boots compilation stuff. Although bochs keeps seg faulting (lol wut) 2016-06-04 16:14:50 -07:00
.gitattributes Initial 2014-05-30 01:55:32 -07:00
.gitignore Python please fk off 2016-06-05 01:09:01 -07:00
COPYING GPL v3 2016-05-24 00:27:26 -07:00
ReadME.txt Update ReadMe 2016-05-11 15:40:02 -07:00

My Hobby OS.

Far from completion.
Documents coming soon...