From 9bfd5652e865505ae73f5ae3ba70f384d7418e84 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 14 Jul 2025 13:07:01 +0000 Subject: build: upgrade x86-64 toolchain --- .vscode/launch.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.vscode') diff --git a/.vscode/launch.json b/.vscode/launch.json index e522ad5..3b53048 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -11,7 +11,7 @@ "gdbpath": "x86_64-pc-elf-gdb", "cwd": "${workspaceFolder}", "preLaunchTask": "QEMU (gdb)", - "executable": "${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/_kernel", + "executable": "${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/_kernel.elf", "autorun": [ "-enable-pretty-printing", "-break-insert _start" -- cgit v1.2.3 From 833738f7023324172dbb0922fe1be9ad9cc88330 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 14 Jul 2025 20:35:38 +0000 Subject: libs: rename kstd headers to be more STL like --- .vscode/settings.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to '.vscode') diff --git a/.vscode/settings.json b/.vscode/settings.json index 6178035..e8e872e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -7,12 +7,12 @@ "--query-driver=/opt/toolchain/bin/x86_64-pc-elf-g++" ], + "files.associations": { + "**/kstd/include/kstd/**": "cpp", + }, + "[cpp]": { "editor.formatOnSave": true, "editor.tabSize": 2, - }, - - "[python]": { - "editor.defaultFormatter": "ms-python.black-formatter" - }, + } } \ No newline at end of file -- cgit v1.2.3 From 05ac8c2bdd000d27b38411db2223eabb649c318f Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 14 Jul 2025 21:29:10 +0000 Subject: build: reintroduce bootable ISO --- .vscode/launch.json | 2 +- .vscode/tasks.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to '.vscode') diff --git a/.vscode/launch.json b/.vscode/launch.json index 3b53048..7778c04 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -11,7 +11,7 @@ "gdbpath": "x86_64-pc-elf-gdb", "cwd": "${workspaceFolder}", "preLaunchTask": "QEMU (gdb)", - "executable": "${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/_kernel.elf", + "executable": "${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/kernel.elf", "autorun": [ "-enable-pretty-printing", "-break-insert _start" diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 3b5ae9f..12ec2ea 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -17,7 +17,7 @@ "-d", "int,cpu_reset", "-cdrom", - "${command:cmake.buildDirectory}/teachos-${command:cmake.buildType}.iso" + "${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/kernel.iso" ], "isBackground": true, "presentation": { @@ -52,7 +52,7 @@ "-display", "curses", "-cdrom", - "${command:cmake.buildDirectory}/teachos-${command:cmake.buildType}.iso" + "${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/kernel.iso" ], "isBackground": true, "presentation": { -- cgit v1.2.3 From 9b12522f37c3f8704e8f8ca8736689dbbf30ce8b Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 14 Jul 2025 21:35:43 +0000 Subject: cmake: introduce ELF utility module --- .vscode/launch.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.vscode') diff --git a/.vscode/launch.json b/.vscode/launch.json index 7778c04..6739aa3 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -11,7 +11,7 @@ "gdbpath": "x86_64-pc-elf-gdb", "cwd": "${workspaceFolder}", "preLaunchTask": "QEMU (gdb)", - "executable": "${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/kernel.elf", + "executable": "${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/kernel.sym", "autorun": [ "-enable-pretty-printing", "-break-insert _start" -- cgit v1.2.3 From eb22cdcad4c27527a63a6e457e80c752f76821c6 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 21 Jul 2025 12:13:10 +0000 Subject: x86_64: clean up bootstrap code --- .vscode/settings.json | 4 ++++ 1 file changed, 4 insertions(+) (limited to '.vscode') diff --git a/.vscode/settings.json b/.vscode/settings.json index e8e872e..0d62c95 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -14,5 +14,9 @@ "[cpp]": { "editor.formatOnSave": true, "editor.tabSize": 2, + }, + + "[gas]": { + "editor.rulers": [80] } } \ No newline at end of file -- cgit v1.2.3 From 3a407e83b2dbd15936569ff90e4433078ea1cbaf Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Wed, 23 Jul 2025 09:30:34 +0000 Subject: ide: redirect qemu error output --- .vscode/tasks.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to '.vscode') diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 12ec2ea..f94098e 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -17,7 +17,8 @@ "-d", "int,cpu_reset", "-cdrom", - "${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/kernel.iso" + "${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/kernel.iso", + "2>${workspaceFolder}/qemu-stderr-${command:cmake.buildType}.log" ], "isBackground": true, "presentation": { @@ -52,7 +53,8 @@ "-display", "curses", "-cdrom", - "${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/kernel.iso" + "${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/kernel.iso", + "2>${workspaceFolder}/qemu-stderr-${command:cmake.buildType}.log" ], "isBackground": true, "presentation": { -- cgit v1.2.3 From 13bedf43d619abb100beb91db6e1b072e07e3d74 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 27 Oct 2025 13:12:07 +0000 Subject: ide: reconfigure debugging extension --- .vscode/extensions.json | 6 +++++- .vscode/launch.json | 31 +++++++++++++++++++++---------- 2 files changed, 26 insertions(+), 11 deletions(-) (limited to '.vscode') diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 69d954c..2b19ba3 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,5 +1,9 @@ { "recommendations": [ - "ms-vscode-remote.vscode-remote-extensionpack" + "basdp.language-gas-x86", + "llvm-vs-code-extensions.vscode-clangd", + "ms-vscode.cmake-tools", + "KylinIdeTeam.cppdebug", + "zixuanwang.linkerscript" ] } \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json index 6739aa3..6478c96 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -3,18 +3,29 @@ "configurations": [ { "name": "(gdb) QEMU", - "type": "gdb", - "request": "attach", - "remote": true, - "target": "localhost:1234", - "valuesFormatting": "prettyPrinters", - "gdbpath": "x86_64-pc-elf-gdb", + "type": "cppdbg", + "request": "launch", "cwd": "${workspaceFolder}", + "stopAtEntry": true, + "miDebuggerServerAddress": "localhost:1234", + "miDebuggerPath": "x86_64-pc-elf-gdb", "preLaunchTask": "QEMU (gdb)", - "executable": "${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/kernel.sym", - "autorun": [ - "-enable-pretty-printing", - "-break-insert _start" + "MIMode": "gdb", + "program": "${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/kernel.sym", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + }, + { + "description": "Load code", + "text": "-file-exec-file ${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/kernel.elf" + }, + { + "description": "Load symbols", + "text": "-file-exec-and-symbols ${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/kernel.sym" + } ] } ] -- cgit v1.2.3 From 36a6401141217812384ed8c63815d702206366cd Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Tue, 28 Oct 2025 09:38:35 +0100 Subject: ide: fix clangd query driver glob --- .vscode/settings.json | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to '.vscode') diff --git a/.vscode/settings.json b/.vscode/settings.json index 0d62c95..91b307a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,22 +1,24 @@ { "cmake.useCMakePresets": "always", "cmake.options.statusBarVisibility": "visible", - + "clangd.arguments": [ "--compile-commands-dir=${workspaceFolder}/build", - "--query-driver=/opt/toolchain/bin/x86_64-pc-elf-g++" + "--query-driver=**/x86_64-pc-elf-g++" ], - + "files.associations": { "**/kstd/include/kstd/**": "cpp", }, - + "[cpp]": { "editor.formatOnSave": true, "editor.tabSize": 2, }, - + "[gas]": { - "editor.rulers": [80] + "editor.rulers": [ + 80 + ] } - } \ No newline at end of file +} \ No newline at end of file -- cgit v1.2.3 From 7b9df8bec5038e0316540d2397df632fb14c9169 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Wed, 29 Oct 2025 17:01:22 +0100 Subject: chore: configure clang-tidy --- .vscode/settings.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to '.vscode') diff --git a/.vscode/settings.json b/.vscode/settings.json index 91b307a..8cee879 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -20,5 +20,14 @@ "editor.rulers": [ 80 ] - } + }, + "cSpell.words": [ + "crtc", + "invlpg", + "kapi", + "kstd", + "NOLINTNEXTLINE", + "rvalues", + "TeachOS" + ] } \ No newline at end of file -- cgit v1.2.3 From 9ee028e52bd60affded3b90ea8dcd20c93bb5025 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 24 Nov 2025 13:16:35 +0100 Subject: x86-64/kapi: reimplement ia32_efer support --- .vscode/settings.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to '.vscode') diff --git a/.vscode/settings.json b/.vscode/settings.json index 8cee879..dcf1d1a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -23,11 +23,14 @@ }, "cSpell.words": [ "crtc", + "efer", "invlpg", "kapi", "kstd", "NOLINTNEXTLINE", + "rdmsr", "rvalues", - "TeachOS" + "TeachOS", + "wrmsr" ] } \ No newline at end of file -- cgit v1.2.3 From 1a3c20cc9ea191a862eb7e8ac55b3a69ac74ad5e Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 24 Nov 2025 16:59:24 +0100 Subject: x86_64/vga: rely less on magic state --- .vscode/settings.json | 2 ++ 1 file changed, 2 insertions(+) (limited to '.vscode') diff --git a/.vscode/settings.json b/.vscode/settings.json index dcf1d1a..4f3f047 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -24,9 +24,11 @@ "cSpell.words": [ "crtc", "efer", + "INTERPROCEDURAL", "invlpg", "kapi", "kstd", + "multiboot", "NOLINTNEXTLINE", "rdmsr", "rvalues", -- cgit v1.2.3 From 178d566278f580ed5625d2d34831b4d263ee09af Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Fri, 5 Dec 2025 18:33:01 +0100 Subject: multiboot2: silence some warnings --- .vscode/settings.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to '.vscode') diff --git a/.vscode/settings.json b/.vscode/settings.json index 4f3f047..72a3903 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -22,17 +22,19 @@ ] }, "cSpell.words": [ + "acpi", "crtc", "efer", - "INTERPROCEDURAL", + "interprocedural", "invlpg", + "iwyu", "kapi", "kstd", "multiboot", - "NOLINTNEXTLINE", + "nolintnextline", "rdmsr", "rvalues", - "TeachOS", + "teachos", "wrmsr" ] } \ No newline at end of file -- cgit v1.2.3 From b9d445bf92725d79269becf978059e040519c00a Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Wed, 10 Dec 2025 16:51:44 +0100 Subject: x86_64/memory: implement simple kernel remapper --- .vscode/settings.json | 1 + 1 file changed, 1 insertion(+) (limited to '.vscode') diff --git a/.vscode/settings.json b/.vscode/settings.json index 72a3903..c0f3e5d 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -30,6 +30,7 @@ "iwyu", "kapi", "kstd", + "memcmp", "multiboot", "nolintnextline", "rdmsr", -- cgit v1.2.3 From 822b17b852cdc8933881132dd7b862ee74117973 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Fri, 12 Dec 2025 10:52:38 +0100 Subject: x86_64/cpu: update documentation and structure --- .vscode/settings.json | 2 ++ 1 file changed, 2 insertions(+) (limited to '.vscode') diff --git a/.vscode/settings.json b/.vscode/settings.json index c0f3e5d..1bd7db0 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -25,6 +25,7 @@ "acpi", "crtc", "efer", + "initializable", "interprocedural", "invlpg", "iwyu", @@ -35,6 +36,7 @@ "nolintnextline", "rdmsr", "rvalues", + "sysret", "teachos", "wrmsr" ] -- cgit v1.2.3 From 1945dd16716392e70e74efacd19e779f121bd1da Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 15 Dec 2025 16:46:51 +0100 Subject: chore: fix missing includes --- .vscode/settings.json | 1 + 1 file changed, 1 insertion(+) (limited to '.vscode') diff --git a/.vscode/settings.json b/.vscode/settings.json index 1bd7db0..7f588f4 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -28,6 +28,7 @@ "initializable", "interprocedural", "invlpg", + "invokable", "iwyu", "kapi", "kstd", -- cgit v1.2.3