diff options
| author | Matteo Gmür <matteo.gmuer1@ost.ch> | 2024-10-15 08:45:29 +0000 |
|---|---|---|
| committer | Matteo Gmür <matteo.gmuer1@ost.ch> | 2024-10-15 08:45:29 +0000 |
| commit | 11f9c91e602bd0231e6bc402418dedf445e47402 (patch) | |
| tree | b86125270e9d18bc63b1cdb7c711c82d1b714e6f /arch/x86_64/src/kernel | |
| parent | 03d3dec4807d6adcfc5e21bd13992014900b4eac (diff) | |
| download | teachos-11f9c91e602bd0231e6bc402418dedf445e47402.tar.xz teachos-11f9c91e602bd0231e6bc402418dedf445e47402.zip | |
Adding enum flags
Diffstat (limited to 'arch/x86_64/src/kernel')
| -rw-r--r-- | arch/x86_64/src/kernel/main.cpp | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/arch/x86_64/src/kernel/main.cpp b/arch/x86_64/src/kernel/main.cpp index c8981a8..12498d0 100644 --- a/arch/x86_64/src/kernel/main.cpp +++ b/arch/x86_64/src/kernel/main.cpp @@ -48,21 +48,27 @@ namespace teachos::arch::kernel for (auto section = begin; section != end; ++section) { - bool const writable = section->flags.writable(); - bool const occupies_memory = section->flags.occupies_memory(); - bool const is_executable = section->flags.is_executable(); - bool const contains_duplicate_data = section->flags.contains_duplicate_data(); - bool const contains_strings = section->flags.contains_strings(); - bool const section_header_info_is_section_header_table_index = - section->flags.section_header_info_is_section_header_table_index(); - bool const preserve_ordering_after_combination = section->flags.preserve_ordering_after_combination(); - bool const requires_special_os_processing = section->flags.requires_special_os_processing(); - bool const is_section_group_member = section->flags.is_section_group_member(); - bool const holds_thread_local_data = section->flags.holds_thread_local_data(); - bool const is_compressed = section->flags.is_compressed(); - bool const has_special_ordering_requirements = section->flags.has_special_ordering_requirements(); + bool const writable = section->flags.contains_flags(arch::memory::elf_section_flags::WRITABLE); + bool const occupies_memory = section->flags.contains_flags(arch::memory::elf_section_flags::OCCUPIES_MEMORY); + bool const is_executable = section->flags.contains_flags(arch::memory::elf_section_flags::EXECUTABLE_CODE); + bool const contains_duplicate_data = + section->flags.contains_flags(arch::memory::elf_section_flags::DUPLICATE_DATA); + bool const contains_strings = section->flags.contains_flags(arch::memory::elf_section_flags::CONTAINS_STRING); + bool const section_header_info_is_section_header_table_index = section->flags.contains_flags( + arch::memory::elf_section_flags::SECTION_HEADER_INFO_IS_SECTION_HEADER_TABLE_INDEX); + bool const preserve_ordering_after_combination = + section->flags.contains_flags(arch::memory::elf_section_flags::PRESERVE_ORDERING_AFTER_COMBINATION); + bool const requires_special_os_processing = + section->flags.contains_flags(arch::memory::elf_section_flags::REQUIRES_SPECIAL_OS_PROCESSING); + bool const is_section_group_member = + section->flags.contains_flags(arch::memory::elf_section_flags::SECTION_GROUP_MEMBER); + bool const holds_thread_local_data = + section->flags.contains_flags(arch::memory::elf_section_flags::HOLDS_THREAD_LOCAL_DATA); + bool const is_compressed = section->flags.contains_flags(arch::memory::elf_section_flags::COMPRESSED); + bool const has_special_ordering_requirements = + section->flags.contains_flags(arch::memory::elf_section_flags::SPECIAL_ORDERING_REQUIREMENTS); bool const is_excluded_unless_referenced_or_allocated = - section->flags.is_excluded_unless_referenced_or_allocated(); + section->flags.contains_flags(arch::memory::elf_section_flags::EXCLUDED_UNLESS_REFERENCED_OR_ALLOCATED); if (writable && occupies_memory && is_executable && contains_duplicate_data && contains_strings && section_header_info_is_section_header_table_index && preserve_ordering_after_combination && |
