X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/04f32c3e67120f8498cdcf7926bab88e4e405258..ebb55b7e5f0b8f31328950ec383b77b208ffbb64:/lunaix-os/arch/x86/boot/x86_64/kremap64.c diff --git a/lunaix-os/arch/x86/boot/x86_64/kremap64.c b/lunaix-os/arch/x86/boot/x86_64/kremap64.c index ee9d298..bf3bb33 100644 --- a/lunaix-os/arch/x86/boot/x86_64/kremap64.c +++ b/lunaix-os/arch/x86/boot/x86_64/kremap64.c @@ -178,9 +178,12 @@ ptr_t boot_text remap_kernel() { ptr_t kmap_pa = to_kphysical(&kpt); - for (size_t i = 0; i < sizeof(kpt); i++) { - ((u8_t*)kmap_pa)[i] = 0; - } + + asm volatile("movq %1, %%rdi\n" + "rep stosb\n" ::"c"(sizeof(kpt)), + "r"(kmap_pa), + "a"(0) + : "rdi", "memory"); do_remap();