From 5457af42024e7170e8e98e49b0f285cb502b6286 Mon Sep 17 00:00:00 2001 From: mintsuki Date: Sat, 26 Sep 2020 00:28:36 +0200 Subject: [PATCH] Minor fixes to Linux and Chainloading protocols --- limine.bin | Bin 32768 -> 32768 bytes stage2/protos/chainload.c | 7 ++++++- stage2/protos/linux.c | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/limine.bin b/limine.bin index 130db29febbca0f5a8538dd78ba960604fc468b7..852d6db74ac5c89e7443ed61937a76908a1134d9 100644 GIT binary patch delta 20358 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 delta 20357 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 diff --git a/stage2/protos/chainload.c b/stage2/protos/chainload.c index f4ee639d..d36e98c9 100644 --- a/stage2/protos/chainload.c +++ b/stage2/protos/chainload.c @@ -10,7 +10,8 @@ __attribute__((section(".realmode"), used)) static void spinup(uint8_t drive) { asm volatile ( - // Jump to real mode + "cld\n\t" + "jmp 0x08:1f\n\t" "1: .code16\n\t" "mov ax, 0x10\n\t" @@ -30,9 +31,13 @@ static void spinup(uint8_t drive) { "mov fs, ax\n\t" "mov gs, ax\n\t" "mov ss, ax\n\t" + + "sti\n\t" + "push 0\n\t" "push 0x7c00\n\t" "retf\n\t" + ".code32\n\t" : : "d" (drive) diff --git a/stage2/protos/linux.c b/stage2/protos/linux.c index 4babd397..48470b2e 100644 --- a/stage2/protos/linux.c +++ b/stage2/protos/linux.c @@ -15,7 +15,6 @@ __attribute__((section(".realmode"), used)) static void spinup(uint16_t real_mode_code_seg, uint16_t kernel_entry_seg) { asm volatile ( - "cli\n\t" "cld\n\t" "jmp 0x08:1f\n\t" @@ -36,8 +35,9 @@ static void spinup(uint16_t real_mode_code_seg, uint16_t kernel_entry_seg) { "mov fs, bx\n\t" "mov gs, bx\n\t" "mov ss, bx\n\t" + "mov esp, 0xfdf0\n\t" - "mov sp, 0xfdf0\n\t" + "sti\n\t" "push cx\n\t" "push 0\n\t"