From 3a7a596299580a3fd7d8b61f3ec34a3c0bfc5a3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matteo=20Gm=C3=BCr?= Date: Mon, 9 Jun 2025 11:40:02 +0000 Subject: Add constexpr to create segment descriptor --- .../segment_descriptor_table/global_descriptor_table.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'arch/x86_64/src/context_switching') diff --git a/arch/x86_64/src/context_switching/segment_descriptor_table/global_descriptor_table.cpp b/arch/x86_64/src/context_switching/segment_descriptor_table/global_descriptor_table.cpp index d692e51..bbcee31 100644 --- a/arch/x86_64/src/context_switching/segment_descriptor_table/global_descriptor_table.cpp +++ b/arch/x86_64/src/context_switching/segment_descriptor_table/global_descriptor_table.cpp @@ -12,9 +12,9 @@ namespace teachos::arch::context_switching::segment_descriptor_table auto create_segment_descriptor(segment_descriptor_type segment_descriptor_type, access_byte access_level) -> segment_descriptor_base { - uint64_t const base = 0x0; - std::bitset<20U> const limit{0xFFFFF}; - gdt_flags flags{gdt_flags::GRANULARITY, limit}; + uint64_t constexpr BASE = 0x0; + std::bitset<20U> constexpr LIMIT{0xFFFFF}; + gdt_flags flags{gdt_flags::GRANULARITY, LIMIT}; access_level |= access_byte::PRESENT | access_byte::CODE_OR_DATA_SEGMENT; if (segment_descriptor_type == segment_descriptor_type::CODE_SEGMENT) @@ -27,13 +27,13 @@ namespace teachos::arch::context_switching::segment_descriptor_table access_level |= access_byte::WRITABLE; } - segment_descriptor_base const segment_descriptor_base{access_level, flags, base, limit}; + segment_descriptor_base const segment_descriptor_base{access_level, flags, BASE, LIMIT}; return segment_descriptor_base; } auto create_tss_descriptor(task_state_segment * tss) -> segment_descriptor_extension { - constexpr uint64_t TSS_LIMIT = sizeof(task_state_segment) - 1; + uint64_t constexpr TSS_LIMIT = sizeof(task_state_segment) - 1; access_byte const tss_access_byte{access_byte::PRESENT | access_byte::DESCRIPTOR_LEVEL_KERNEL | access_byte::TASK_STATE_SEGMENT_AVAILABLE}; gdt_flags const tss_gdt_flags{0U, TSS_LIMIT}; -- cgit v1.2.3