mov eax , cr0
or eax , 0x01
mov cr0 , eax



back to months list

Project : The "Microkernel" Operating System

Journal Entry Date : 2024.02.16

Finally fixed some trivial bugs.. I felt that self-hate when I found out that I was struggling for 1 hour because I forgot to do some very very trivial thing. It's just.. unimaginably embarrassing yet so freshing (lol.) Anyways, I finally fixed all sorts of things from simple ObjectManager to entire storage_system.

io_port functions were source of all the problems that were simply unexplainable. I have using very very buggy code for.. like the start of this project! So ridiculous.

Aside from that calamity.. Now the block device driver automatically calls the detect_partitions() function from the storage_system so that the partitions in the block device is automatically registered. Everything works fine. The system detects all the devices using registered drivers, and partition drivers also works fine. One thing that needs some change is the partition system. I think storing the partition devices in the physical device's block device structure is quite unlogical thing to do. I think, instead, the partition device should also treated equally as normal physical devices.

I also tried the gui mode of grub bootloader. I really want to try the portability of my kernel by modding the debug system to gui. I will try that tomorrow or later.