From 436ba162eb987b2f95429ab3a6461823c9affe97 Mon Sep 17 00:00:00 2001 From: Greg Bowne Date: Thu, 5 Oct 2023 14:40:15 -0700 Subject: [PATCH] Fixed the last issue with gdt.c other than ljmp when you run cmake -B build --- CMakeLists.txt | 5 +++-- src/kernel/arch/x86/gdt.c | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 811c3be..e11aa88 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,16 +67,17 @@ target_link_libraries(ClassicOS PRIVATE) set(CMAKE_C_COMPILER gcc) set(CMAKE_LINKER ld) -set(CMAKE_EXE_LINKER_FLAGS "-g") +set(CMAKE_EXE_LINKER_FLAGS "-g -s") set(CMAKE_CXX_FLAGS "-g -Wall") set(CMAKE_C_FLAGS "-g -Wall") set(CMAKE_BUILD_TYPE Debug) set(CMAKE_CXX_COMPILER g++) set(CMAKE_ASM_COMPILER nasm) set(CMAKE_SYSTEM_PROCESSOR i386) +set(CMAKE_SYSTEM_NAME None) set(CMAKE_ASM_NASM_COMPILER nasm) set(CMAKE_C_STANDARD 17) -set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD 17) set(CMAKE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src) set(CMAKE_BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build) set_target_properties(ClassicOS PROPERTIES LINK_FLAGS "-T ${CMAKE_CURRENT_SOURCE_DIR}/linker.ld") diff --git a/src/kernel/arch/x86/gdt.c b/src/kernel/arch/x86/gdt.c index 7fb6662..3a49d64 100644 --- a/src/kernel/arch/x86/gdt.c +++ b/src/kernel/arch/x86/gdt.c @@ -68,15 +68,15 @@ void gdt_init() // Load GDT struct gdt_ptr gdtp; gdtp.limit = gp.limit; - gdtp.base = (uint32_t)gdt; + gdtp.base = (uintptr_t)gdt; __asm__ volatile("lgdt %0" : : "m"(gdtp)); __asm__ volatile("mov $0x10, %ax\n\t" "mov %ax, %ds\n\t" "mov %ax, %es\n\t" "mov %ax, %fs\n\t" "mov %ax, %gs\n\t" - "ljmp $0x08, $next\n\t" - "next:"); + "ljmp $0x08, $next_label\n\t" + "next_label:"); } // Exception handlers