diff options
author | Raghuram Subramani <raghus2247@gmail.com> | 2025-01-03 08:16:46 -0500 |
---|---|---|
committer | Raghuram Subramani <raghus2247@gmail.com> | 2025-01-03 08:16:46 -0500 |
commit | cd10fa5a9a84d445bea5bc4bbf903aac1df65053 (patch) | |
tree | 480184c8212b1b381fc95aeb1b8d6c93a8445201 | |
parent | 2846b53653736b2df2a81935bc68c6db2c69408a (diff) |
misc: Refactor
-rw-r--r-- | env.sh | 3 | ||||
-rw-r--r-- | kernel/CMakeLists.txt | 5 | ||||
-rw-r--r-- | kernel/boot/gdt/gdt.c | 6 |
3 files changed, 8 insertions, 6 deletions
@@ -27,8 +27,9 @@ alias b="mkdir -p $dir/build && cd $dir/build" CMAKE_FLAGS="-G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=true" alias cm="cmake $CMAKE_FLAGS" + alias m="ninja" alias mc="ninja clean-custom" -alias mr="ninja run" alias mi="ninja iso" +alias mr="ninja run" alias mg="ninja run-gdb" diff --git a/kernel/CMakeLists.txt b/kernel/CMakeLists.txt index 9c9cfcd..0037115 100644 --- a/kernel/CMakeLists.txt +++ b/kernel/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.21) project(kernel C ASM) -set(KERNEL_SRC +set(SRC boot/init/boot.s boot/gdt/gdt.c boot/gdt/gdt.s @@ -19,7 +19,7 @@ set(KERNEL_SRC libk/printf.c ) -add_executable(kernel ${KERNEL_SRC}) +add_executable(kernel ${SRC}) target_include_directories(kernel PRIVATE include) set(C_COMPILE_OPTIONS @@ -71,6 +71,7 @@ get_target_property(CRTN_OUT crtn BINARY_DIR) set(CRTI_O "${CRTI_OUT}/CMakeFiles/crti.dir/${CRTI_SRC}.o") set(CRTN_O "${CRTN_OUT}/CMakeFiles/crtn.dir/${CRTN_SRC}.o") +# FIXME: This isn't a good way of setting the link order. set(CMAKE_C_LINK_EXECUTABLE "${CMAKE_C_COMPILER} <CMAKE_C_LINK_FLAGS> <FLAGS> <LINK_FLAGS> \ ${CRTI_O} \ ${CRTBEGIN_O} \ diff --git a/kernel/boot/gdt/gdt.c b/kernel/boot/gdt/gdt.c index 4644b3d..fcf71b3 100644 --- a/kernel/boot/gdt/gdt.c +++ b/kernel/boot/gdt/gdt.c @@ -33,16 +33,16 @@ GDT_entry GDT[] = { GDT_ENTRY(0, 0xfffff, KERNEL_DATA_SEGMENT_ACCESS_FLAGS, FLAGS), /* User Mode Code Segment */ - GDT_ENTRY(0, 0xfffff, USER_CODE_SEGMENT_ACCESS_FLAGS, FLAGS), + // GDT_ENTRY(0, 0xfffff, USER_CODE_SEGMENT_ACCESS_FLAGS, FLAGS), /* User Mode Data Segment */ - GDT_ENTRY(0, 0xfffff, USER_DATA_SEGMENT_ACCESS_FLAGS, FLAGS) + // GDT_ENTRY(0, 0xfffff, USER_DATA_SEGMENT_ACCESS_FLAGS, FLAGS) /* TODO: TSS? */ /* TODO: LDT? */ }; -GDT_descriptor g_GDT_descriptor = { sizeof(GDT_entry) * 5 - 1, &GDT[0] }; +GDT_descriptor g_GDT_descriptor = { sizeof(GDT) - 1, &GDT[0] }; void GDT_load(void) |