Created
August 25, 2019 19:43
-
-
Save vmlemon/f9a0b484a8d81fd16a08fd7d462f0aa3 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
_start: | |
/* Zero the BSS */ | |
LD_ADDR(r10, _start_bss) | |
LD_ADDR(r11, _end_bss) | |
subi r10, r10, 4 | |
subi r11, r11, 4 | |
LD_CONST(r6, KERNEL_OFFSET) | |
sub r10, r10, r6 | |
sub r11, r11, r6 | |
li r12, 0 | |
1: cmp 0, r10, r11 | |
beq 2f | |
stwu r12, 4(r10) | |
b 1b | |
2: | |
LD_LABEL(r10, __real_mode_jump) /* Load address of real-mode init */ | |
LD_CONST(r12, MSR_REAL_MODE) /* Get the real mode MSR setting and jump to 64-bit mode */ | |
sub r10, r10, r6 | |
mtsrr0 r10 /* Setup jump address */ | |
mtsrr1 r12 /* Enable read mode */ | |
rfid /* Context Changing Jump */ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment