]> git.ameliathe1st.gay Git - voyage-au-centre-des-fichiers.git/commitdiff
Made paging structs slightly more consistent
authorAmelia Coutard <eliottulio.coutard@gmail.com>
Mon, 11 Dec 2023 23:19:35 +0000 (00:19 +0100)
committerAmelia Coutard <eliottulio.coutard@gmail.com>
Mon, 11 Dec 2023 23:19:35 +0000 (00:19 +0100)
kernel/src/kernel.cpp
kernel/src/paging.hpp

index e37a9a494a11820612561feacdc9b320df308db6..857766a5a8d9a7e65eb2aebdf13b6f9b0471f7f5 100644 (file)
@@ -50,7 +50,7 @@ extern "C" void kmain(unsigned long magic, os::phys_ptr<const multiboot2::info_s
        for (std::size_t i = std::size_t(&_kernel_phys_start); i < std::size_t(&_kernel_phys_rw_start); ) {
                if (i % (1024 * 1024 * 1024) == 0 && i + 1024 * 1024 * 1024 < std::size_t(&_kernel_phys_rw_start)) {
                        os::paging::map_page<2, 3>(os::paging::global_PML4T, (os::paging::page<2>*)(0xFFFF'FFFF'8000'0000 + i), os::phys_ptr<os::paging::page<2>>(i),
-                               { .R_W = 0, .U_S = 0, .PWT = 0, .PCD = 0, .G = 1, .PAT = 0, .base_address = 0, .AVL_or_MPK = 0, .NX = 0 });
+                               { .R_W = 0, .U_S = 0, .PWT = 0, .PCD = 0, .G = 1, .PAT = 0, .base_address = 0, .NX = 0 });
                        i += 1024 * 1024 * 1024;
                } else if (i % (1024 * 1024 * 2) == 0 && i + 1024 * 1024 * 2 < std::size_t(&_kernel_phys_rw_start)) {
                        os::paging::map_page<1, 3>(os::paging::global_PML4T, (os::paging::page<1>*)(0xFFFF'FFFF'8000'0000 + i), os::phys_ptr<os::paging::page<1>>(i),
@@ -65,7 +65,7 @@ extern "C" void kmain(unsigned long magic, os::phys_ptr<const multiboot2::info_s
        for (std::size_t i = std::size_t(&_kernel_phys_rw_start); i < std::size_t(&_kernel_phys_end); ) {
                if (i % (1024 * 1024 * 1024) == 0 && i + 1024 * 1024 * 1024 < std::size_t(&_kernel_phys_rw_start)) {
                        os::paging::map_page<2, 3>(os::paging::global_PML4T, (os::paging::page<2>*)(0xFFFF'FFFF'8000'0000 + i), os::phys_ptr<os::paging::page<2>>(i),
-                               { .R_W = 1, .U_S = 0, .PWT = 0, .PCD = 0, .G = 1, .PAT = 0, .base_address = 0, .AVL_or_MPK = 0, .NX = 1 });
+                               { .R_W = 1, .U_S = 0, .PWT = 0, .PCD = 0, .G = 1, .PAT = 0, .base_address = 0, .NX = 1 });
                        i += 1024 * 1024 * 1024;
                } else if (i % (1024 * 1024 * 2) == 0 && i + 1024 * 1024 * 2 < std::size_t(&_kernel_phys_rw_start)) {
                        os::paging::map_page<1, 3>(os::paging::global_PML4T, (os::paging::page<1>*)(0xFFFF'FFFF'8000'0000 + i), os::phys_ptr<os::paging::page<1>>(i),
@@ -100,7 +100,7 @@ extern "C" void kmain(unsigned long magic, os::phys_ptr<const multiboot2::info_s
                                                        os::paging::global_PML4T,
                                                        (os::paging::page<2>*)(0xFFFF'8000'0000'0000 + j),
                                                        os::phys_ptr<os::paging::page<2>>(j),
-                                                       { .R_W = 1, .U_S = 0, .PWT = 0, .PCD = 0, .G = 1, .PAT = 0, .base_address = 0, .AVL_or_MPK = 0, .NX = 1 });
+                                                       { .R_W = 1, .U_S = 0, .PWT = 0, .PCD = 0, .G = 1, .PAT = 0, .base_address = 0, .NX = 1 });
                                                j += 1024 * 1024 * 1024;
                                        } else if (j % (1024 * 1024 * 2) == 0 && j + 1024 * 1024 * 2 < e) {
                                                os::paging::map_page<1, 3>(os::paging::global_PML4T,
index c30d2c3b5242f2fb56f682cbf620bf4a9dee5793..c6b78da9fd31338a4619d5ec13e6312c9e0c894e 100644 (file)
@@ -96,7 +96,7 @@ union {
                std::uint64_t reserved : 17 = 0;
                std::uint64_t base_address : 22;
                std::uint64_t AVL_high : 7 = 0;
-               std::uint64_t AVL_or_MPK : 4;
+               std::uint64_t AVL_or_MPK : 4 = 0;
                std::uint64_t NX : 1;
        } page;
 };