From 6cbd857d605a7b340f6cbbc157377736c3e67196 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Wed, 18 Mar 2026 07:24:17 +0000 Subject: ide: enable additional clangd flags --- .vscode/settings.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to '.vscode/settings.json') diff --git a/.vscode/settings.json b/.vscode/settings.json index 08f9457..321f765 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,7 +4,11 @@ "clangd.arguments": [ "--compile-commands-dir=${workspaceFolder}/build", - "--query-driver=**/x86_64-pc-elf-g++" + "--query-driver=**/x86_64-pc-elf-g++", + "--completion-style=detailed", + "--background-index", + "--clang-tidy", + "--header-insertion=iwyu" ], "files.associations": { -- cgit v1.2.3 From dd2dc3ef9a5318a0f7c7c35be59759ab08adc3dc Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Fri, 20 Mar 2026 21:48:30 +0100 Subject: x86_64/cpu: implement basic interrupt handling --- .vscode/settings.json | 1 + 1 file changed, 1 insertion(+) (limited to '.vscode/settings.json') diff --git a/.vscode/settings.json b/.vscode/settings.json index 321f765..1ab19f2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -33,6 +33,7 @@ "crtp", "efer", "functors", + "idtr", "initializable", "interprocedural", "invlpg", -- cgit v1.2.3 From 754012dd458985a6a4953c99204c6651318892b2 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 23 Mar 2026 08:10:49 +0100 Subject: testing: enable build-host testing --- .vscode/settings.json | 1 + 1 file changed, 1 insertion(+) (limited to '.vscode/settings.json') diff --git a/.vscode/settings.json b/.vscode/settings.json index 1ab19f2..f9b075d 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,7 @@ { "cmake.useCMakePresets": "always", "cmake.options.statusBarVisibility": "visible", + "cmake.ctest.testExplorerIntegrationEnabled": false, "clangd.arguments": [ "--compile-commands-dir=${workspaceFolder}/build", -- cgit v1.2.3 From 48a2c33d205397adeaad385aebc1d1e008915b3e Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 23 Mar 2026 10:32:15 +0100 Subject: ci: enable test builds --- .vscode/settings.json | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to '.vscode/settings.json') diff --git a/.vscode/settings.json b/.vscode/settings.json index f9b075d..21f4885 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,7 +2,6 @@ "cmake.useCMakePresets": "always", "cmake.options.statusBarVisibility": "visible", "cmake.ctest.testExplorerIntegrationEnabled": false, - "clangd.arguments": [ "--compile-commands-dir=${workspaceFolder}/build", "--query-driver=**/x86_64-pc-elf-g++", @@ -11,16 +10,13 @@ "--clang-tidy", "--header-insertion=iwyu" ], - "files.associations": { "**/kstd/include/kstd/**": "cpp", }, - "[cpp]": { "editor.formatOnSave": true, "editor.tabSize": 2, }, - "[gas]": { "editor.rulers": [ 80 @@ -59,5 +55,15 @@ "teachos", "undelegated", "wrmsr" - ] + ], + "testMate.cpp.debug.configTemplate": { + "type": "cppdbg", + "MIMode": "gdb", + "program": "${exec}", + "args": "${argsArray}", + "cwd": "${cwd}", + "env": "${envObject}", + "environment": "${envObjArray}", + "sourceFileMap": "${sourceFileMapObj}" + } } \ No newline at end of file -- cgit v1.2.3 From e6733ef652d408ca907a866ad8d6ba87b95fe0e7 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 23 Mar 2026 13:07:30 +0100 Subject: ide: ensure clangd sees active compile commands --- .vscode/settings.json | 1 + 1 file changed, 1 insertion(+) (limited to '.vscode/settings.json') diff --git a/.vscode/settings.json b/.vscode/settings.json index 21f4885..a4f7aef 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,6 +2,7 @@ "cmake.useCMakePresets": "always", "cmake.options.statusBarVisibility": "visible", "cmake.ctest.testExplorerIntegrationEnabled": false, + "cmake.copyCompileCommands": "${workspaceFolder}/build/compile_commands.json", "clangd.arguments": [ "--compile-commands-dir=${workspaceFolder}/build", "--query-driver=**/x86_64-pc-elf-g++", -- cgit v1.2.3 From b51fd5e5087b3a6f34d53068c76a67eeda30ff21 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Wed, 25 Mar 2026 13:20:50 +0000 Subject: build: update llvm components in container --- .vscode/settings.json | 1 + 1 file changed, 1 insertion(+) (limited to '.vscode/settings.json') diff --git a/.vscode/settings.json b/.vscode/settings.json index a4f7aef..4271526 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,6 +3,7 @@ "cmake.options.statusBarVisibility": "visible", "cmake.ctest.testExplorerIntegrationEnabled": false, "cmake.copyCompileCommands": "${workspaceFolder}/build/compile_commands.json", + "clangd.path": "clangd", "clangd.arguments": [ "--compile-commands-dir=${workspaceFolder}/build", "--query-driver=**/x86_64-pc-elf-g++", -- cgit v1.2.3 From 3dcd14a0570fef3bcc68d7df42fe3ff4cd496f93 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 6 Apr 2026 14:47:37 +0200 Subject: kapi: hook ACPI initialization up to boot process --- .vscode/settings.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to '.vscode/settings.json') diff --git a/.vscode/settings.json b/.vscode/settings.json index 4271526..6ea3c79 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -32,6 +32,7 @@ "crtp", "efer", "functors", + "hhdm", "idtr", "initializable", "interprocedural", @@ -43,6 +44,7 @@ "malloc", "memcmp", "memset", + "mmio", "multiboot", "nodiscard", "nolintnextline", @@ -51,12 +53,14 @@ "raii", "rdmsr", "RSDP", + "rsdt", "rvalues", "stringview", "sysret", "teachos", "undelegated", - "wrmsr" + "wrmsr", + "xsdp" ], "testMate.cpp.debug.configTemplate": { "type": "cppdbg", -- cgit v1.2.3 From f456f1674d48932846eb7b5ec1df630ad67e7e3d Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 6 Apr 2026 17:24:36 +0200 Subject: kernel/acpi: discover local interrupt controllers --- .vscode/settings.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to '.vscode/settings.json') diff --git a/.vscode/settings.json b/.vscode/settings.json index 6ea3c79..bebda51 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -26,6 +26,7 @@ }, "cSpell.words": [ "acpi", + "APIC", "bugprone", "cppcoreguidelines", "crtc", @@ -41,6 +42,8 @@ "iwyu", "kapi", "kstd", + "lapic", + "madt", "malloc", "memcmp", "memset", @@ -60,7 +63,8 @@ "teachos", "undelegated", "wrmsr", - "xsdp" + "xsdp", + "xsdt" ], "testMate.cpp.debug.configTemplate": { "type": "cppdbg", -- cgit v1.2.3 From 6344a2a81b94a00aaaa987d0e0d40993ed581d5e Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Wed, 15 Apr 2026 16:19:00 +0200 Subject: acpi: reimplement the common table header --- .vscode/settings.json | 1 + 1 file changed, 1 insertion(+) (limited to '.vscode/settings.json') diff --git a/.vscode/settings.json b/.vscode/settings.json index bebda51..1a69637 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -32,6 +32,7 @@ "crtc", "crtp", "efer", + "FACS", "functors", "hhdm", "idtr", -- cgit v1.2.3 From f9dde928add359a1dff0db402dc1454e72aea633 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Thu, 16 Apr 2026 10:15:28 +0200 Subject: ide: enable file grouping --- .vscode/settings.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to '.vscode/settings.json') diff --git a/.vscode/settings.json b/.vscode/settings.json index 1a69637..80844ee 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -12,6 +12,10 @@ "--clang-tidy", "--header-insertion=iwyu" ], + "explorer.fileNesting.enabled": true, + "explorer.fileNesting.patterns": { + "*.hpp": "${capture}.cpp, ${capture}.test.cpp" + }, "files.associations": { "**/kstd/include/kstd/**": "cpp", }, @@ -76,5 +80,5 @@ "env": "${envObject}", "environment": "${envObjArray}", "sourceFileMap": "${sourceFileMapObj}" - } + }, } \ No newline at end of file -- cgit v1.2.3 From 1b964278762dde86b0b737bd9a34fec569339f54 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Thu, 16 Apr 2026 10:29:30 +0200 Subject: x86_64: use p1204 project layout --- .vscode/settings.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to '.vscode/settings.json') diff --git a/.vscode/settings.json b/.vscode/settings.json index 80844ee..79c4971 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -13,8 +13,9 @@ "--header-insertion=iwyu" ], "explorer.fileNesting.enabled": true, + "explorer.fileNesting.expand": false, "explorer.fileNesting.patterns": { - "*.hpp": "${capture}.cpp, ${capture}.test.cpp" + "*.hpp": "${capture}.cpp, ${capture}.test.cpp, ${capture}.S" }, "files.associations": { "**/kstd/include/kstd/**": "cpp", -- cgit v1.2.3 From e8904a65e49dea8ce2e1d58eaa3fb60c7cd3443e Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Sat, 2 May 2026 15:17:33 +0200 Subject: debug: load pretty printers in tests --- .vscode/settings.json | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to '.vscode/settings.json') diff --git a/.vscode/settings.json b/.vscode/settings.json index 79c4971..4a70d18 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -80,6 +80,17 @@ "cwd": "${cwd}", "env": "${envObject}", "environment": "${envObjArray}", - "sourceFileMap": "${sourceFileMapObj}" + "sourceFileMap": "${sourceFileMapObj}", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + }, + { + "description": "Load custom Python helpers", + "text": "-interpreter-exec console \"source ${workspaceFolder}/scripts/gdb/load.py\"" + } + ], }, } \ No newline at end of file -- cgit v1.2.3 From 3ab0a15fb6aba0ad9516da69589b9da8dbd63a8e Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Sat, 2 May 2026 17:12:21 +0200 Subject: libs: adopt p1204 layout for kstd --- .vscode/settings.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to '.vscode/settings.json') diff --git a/.vscode/settings.json b/.vscode/settings.json index 4a70d18..c8f9013 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -15,10 +15,11 @@ "explorer.fileNesting.enabled": true, "explorer.fileNesting.expand": false, "explorer.fileNesting.patterns": { - "*.hpp": "${capture}.cpp, ${capture}.test.cpp, ${capture}.S" + "*.hpp": "${capture}.cpp, ${capture}.test.cpp, ${capture}.S", + "*": "${capture}.cpp, ${capture}.test.cpp, ${capture}.S" }, "files.associations": { - "**/kstd/include/kstd/**": "cpp", + "**/kstd/kstd/**": "cpp", }, "[cpp]": { "editor.formatOnSave": true, -- cgit v1.2.3 From 1246e00478fb5ab2a357de17066fd8738395d9f1 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 4 May 2026 08:20:42 +0200 Subject: debug: split gdb modules --- .vscode/settings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.vscode/settings.json') diff --git a/.vscode/settings.json b/.vscode/settings.json index c8f9013..efe3bc7 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -90,7 +90,7 @@ }, { "description": "Load custom Python helpers", - "text": "-interpreter-exec console \"source ${workspaceFolder}/scripts/gdb/load.py\"" + "text": "-interpreter-exec console \"source ${workspaceFolder}/scripts/gdb/pretty_printers.py\"" } ], }, -- cgit v1.2.3 From d8670d8eeb55bc0ea347cfe4a9a27640fe4e4e7e Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 4 May 2026 19:40:01 +0200 Subject: debug: add multiboot2 information dump tool This patch introduces a new GDB tool `dump_mb2i` that dump the multiboot2 information provided by the bootloader. This tool can be invoked in the GDB console. For example in vscode: -exec dump_mb2i ((kapi::boot::information)bootstrap_information).mbi The tool expects the address of the loader provided MB2 information as its only argument. --- .vscode/settings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.vscode/settings.json') diff --git a/.vscode/settings.json b/.vscode/settings.json index efe3bc7..c8f9013 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -90,7 +90,7 @@ }, { "description": "Load custom Python helpers", - "text": "-interpreter-exec console \"source ${workspaceFolder}/scripts/gdb/pretty_printers.py\"" + "text": "-interpreter-exec console \"source ${workspaceFolder}/scripts/gdb/load.py\"" } ], }, -- cgit v1.2.3 From 3082340fa8ab3c7c0da5d2f9d321d2367d399b20 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Tue, 5 May 2026 12:35:53 +0000 Subject: ide: unset clangd path --- .vscode/settings.json | 1 - 1 file changed, 1 deletion(-) (limited to '.vscode/settings.json') diff --git a/.vscode/settings.json b/.vscode/settings.json index c8f9013..e71d64f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,7 +3,6 @@ "cmake.options.statusBarVisibility": "visible", "cmake.ctest.testExplorerIntegrationEnabled": false, "cmake.copyCompileCommands": "${workspaceFolder}/build/compile_commands.json", - "clangd.path": "clangd", "clangd.arguments": [ "--compile-commands-dir=${workspaceFolder}/build", "--query-driver=**/x86_64-pc-elf-g++", -- cgit v1.2.3 From 192843f9afd67ed7dbe5133e5bf0330384d7cdff Mon Sep 17 00:00:00 2001 From: Lukas Oesch Date: Sun, 10 May 2026 14:38:07 +0200 Subject: fix bht debugging --- .vscode/settings.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to '.vscode/settings.json') diff --git a/.vscode/settings.json b/.vscode/settings.json index e71d64f..cdc8176 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -88,8 +88,12 @@ "ignoreFailures": true }, { - "description": "Load custom Python helpers", - "text": "-interpreter-exec console \"source ${workspaceFolder}/scripts/gdb/load.py\"" + "description": "Load teachos python helpers", + "text": "source ${workspaceFolder}/scripts/gdb/teachos.py" + }, + { + "description": "Load toolchain python helpers", + "text": "source ${workspaceFolder}/scripts/gdb/toolchain.py" } ], }, -- cgit v1.2.3 From cd2b6a5297f7fc0428dca46ab56e3cc46a31d5d0 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Sat, 16 May 2026 09:38:08 +0000 Subject: ide: fix debugging --- .vscode/settings.json | 4 ---- 1 file changed, 4 deletions(-) (limited to '.vscode/settings.json') diff --git a/.vscode/settings.json b/.vscode/settings.json index cdc8176..d62742c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -90,10 +90,6 @@ { "description": "Load teachos python helpers", "text": "source ${workspaceFolder}/scripts/gdb/teachos.py" - }, - { - "description": "Load toolchain python helpers", - "text": "source ${workspaceFolder}/scripts/gdb/toolchain.py" } ], }, -- cgit v1.2.3