Implement scanning and allocation of physical memory.
Enable accessing indirect blocks.
Minor improvements, dont hardcode memory map base address.
Add memory map detection in bootloader.
Processes now run in different address spaces.
Paging and mm refactoring.
Fix some compiler warnings.
Correctly store PCB on entering a syscall.
Add syscall interface and primitive multitasking feature.
Implement switching to user space.
Kernel loads its own GDT, add first userspace program, which is not used yet.
Remove idle loop on setup_idt().
Enable loading an IDT and interrupt handling via PC/AT PIC.
Remove some commented out and unused code from boot loader.
Restructuring source layout.
Restructure and cleanup kernel.c, rewrite IDE driver.