diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-06-01 10:40:39 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-06-02 16:30:20 +0200 |
| commit | 86170be29f6cb72b29865db0975de09bec89f854 (patch) | |
| tree | 60982298e3db1f5e025892d6043bf1176a8ab9d9 | |
| parent | dc9bd3b44cbbd0235a176f05c27eb15ff31f5e09 (diff) | |
| download | kernel-86170be29f6cb72b29865db0975de09bec89f854.tar.xz kernel-86170be29f6cb72b29865db0975de09bec89f854.zip | |
kernel/vfs: rename type descriptor section
| -rw-r--r-- | arch/x86_64/scripts/kernel.ld | 6 | ||||
| -rw-r--r-- | kernel/src/filesystem/devfs/filesystem.cpp | 2 | ||||
| -rw-r--r-- | kernel/src/filesystem/ext2/filesystem.cpp | 2 | ||||
| -rw-r--r-- | kernel/src/filesystem/vfs.cpp | 6 |
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()); |
