aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-06-01 10:40:39 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-06-02 16:30:20 +0200
commit86170be29f6cb72b29865db0975de09bec89f854 (patch)
tree60982298e3db1f5e025892d6043bf1176a8ab9d9
parentdc9bd3b44cbbd0235a176f05c27eb15ff31f5e09 (diff)
downloadkernel-86170be29f6cb72b29865db0975de09bec89f854.tar.xz
kernel-86170be29f6cb72b29865db0975de09bec89f854.zip
kernel/vfs: rename type descriptor section
-rw-r--r--arch/x86_64/scripts/kernel.ld6
-rw-r--r--kernel/src/filesystem/devfs/filesystem.cpp2
-rw-r--r--kernel/src/filesystem/ext2/filesystem.cpp2
-rw-r--r--kernel/src/filesystem/vfs.cpp6
4 files changed, 8 insertions, 8 deletions
diff --git a/arch/x86_64/scripts/kernel.ld b/arch/x86_64/scripts/kernel.ld
index 388c46e..a1d8a65 100644
--- a/arch/x86_64/scripts/kernel.ld
+++ b/arch/x86_64/scripts/kernel.ld
@@ -74,9 +74,9 @@ SECTIONS
*(.rodata*)
. = ALIGN(8);
- PROVIDE(__vfs_type_descriptors_begin = .);
- KEEP(*(.vfs_type_descriptors*));
- PROVIDE(__vfs_type_descriptors_end = .);
+ PROVIDE(__start_vfs_type_descriptors = .);
+ KEEP(*(vfs_type_descriptors));
+ PROVIDE(__stop_vfs_type_descriptors = .);
} :kernel_rodata
.kernel_data ALIGN(4K) : AT (ADDR (.kernel_data) - TEACHOS_VMA)
diff --git a/kernel/src/filesystem/devfs/filesystem.cpp b/kernel/src/filesystem/devfs/filesystem.cpp
index c61a3d0..1aaa0d1 100644
--- a/kernel/src/filesystem/devfs/filesystem.cpp
+++ b/kernel/src/filesystem/devfs/filesystem.cpp
@@ -34,7 +34,7 @@ namespace kernel::filesystem::devfs
}
} const constinit type_instance{};
- [[gnu::section(".vfs_type_descriptors"), gnu::used]]
+ [[gnu::section("vfs_type_descriptors"), gnu::used]]
auto const * const type_descriptor_pointer = static_cast<kernel::filesystem::type const *>(&type_instance);
auto filesystem::mount(kstd::shared_ptr<kernel::filesystem::inode> const &) -> operation_result
diff --git a/kernel/src/filesystem/ext2/filesystem.cpp b/kernel/src/filesystem/ext2/filesystem.cpp
index 6959653..7b5d2d7 100644
--- a/kernel/src/filesystem/ext2/filesystem.cpp
+++ b/kernel/src/filesystem/ext2/filesystem.cpp
@@ -38,7 +38,7 @@ namespace kernel::filesystem::ext2
}
} const constinit type_instance{};
- [[gnu::section(".vfs_type_descriptors"), gnu::used]]
+ [[gnu::section("vfs_type_descriptors"), gnu::used]]
auto const * const type_descriptor_pointer = static_cast<kernel::filesystem::type const *>(&type_instance);
auto filesystem::mount(kstd::shared_ptr<kernel::filesystem::inode> const & backing_inode) -> operation_result
diff --git a/kernel/src/filesystem/vfs.cpp b/kernel/src/filesystem/vfs.cpp
index d22c74b..c297210 100644
--- a/kernel/src/filesystem/vfs.cpp
+++ b/kernel/src/filesystem/vfs.cpp
@@ -27,8 +27,8 @@
extern "C"
{
- extern kernel::filesystem::type const * const __vfs_type_descriptors_begin;
- extern kernel::filesystem::type const * const __vfs_type_descriptors_end;
+ extern kernel::filesystem::type const * const __start_vfs_type_descriptors;
+ extern kernel::filesystem::type const * const __stop_vfs_type_descriptors;
}
namespace
@@ -51,7 +51,7 @@ namespace kernel::filesystem
auto vfs::init_internal() -> void
{
- auto type_descriptors = std::span{&__vfs_type_descriptors_begin, &__vfs_type_descriptors_end} |
+ auto type_descriptors = std::span{&__start_vfs_type_descriptors, &__stop_vfs_type_descriptors} |
std::views::filter([](auto p) { return p != nullptr; });
std::ranges::for_each(type_descriptors, [](auto descriptor) {
kstd::println("[OS] registering filesystem '{}'", descriptor->name());