GDT init caused unpredictable behaviour.
cheetosysst opened this issue · comments
Chen Chang commented
Description
kernel/segments.c gdt_entries_init()
causes unpredictable behavior.
Sometimes it seems to work just fine, sometimes the serial output is fine but video is still stuck at BIOS or not updating properly. Sometimes nothing works and serial output stuck at GDT setup start
Expected Behavior
Setup segments and move on.
Additional Info
When it works
qemu-system-i386 -machine q35 -kernel build/kernel_bin -serial stdio
GDT setup start.
Flag.
GDT flushed
172 AC 254 hello $
When it doesn't work
Notice the serial output message doesn't always work.
qemu-system-i386 -machine q35 -kernel build/kernel_bin -serial stdio
GDT setup start.
Flag.
GDT flushed
172 AC 254 hello $