mirror of
https://github.com/Fennix-Project/Kernel.git
synced 2025-05-28 23:44:35 +00:00
Added "Loading..." text at boot
This commit is contained in:
parent
3620ad914d
commit
8f108466fa
@ -31,42 +31,52 @@ extern _kernel_end
|
|||||||
global _start
|
global _start
|
||||||
|
|
||||||
_start:
|
_start:
|
||||||
mov esp, STACK_TOP - KERNEL_VIRTUAL_BASE
|
mov word [0xb8000], 0x074C ; L
|
||||||
mov edi, BOOT_PAGE_TBL0 - KERNEL_VIRTUAL_BASE
|
mov word [0xb8002], 0x076F ; o
|
||||||
mov esi, 0
|
mov word [0xb8004], 0x0761 ; a
|
||||||
mov ecx, 2048 - 301
|
mov word [0xb8006], 0x0764 ; d
|
||||||
|
mov word [0xb8008], 0x0769 ; i
|
||||||
|
mov word [0xb800a], 0x076E ; n
|
||||||
|
mov word [0xb800c], 0x0767 ; g
|
||||||
|
mov word [0xb800e], 0x072E ; .
|
||||||
|
mov word [0xb8010], 0x072E ; .
|
||||||
|
mov word [0xb8012], 0x072E ; .
|
||||||
|
mov esp, STACK_TOP - KERNEL_VIRTUAL_BASE
|
||||||
|
mov edi, BOOT_PAGE_TBL0 - KERNEL_VIRTUAL_BASE
|
||||||
|
mov esi, 0
|
||||||
|
mov ecx, 2048 - 301
|
||||||
.PagingLoop:
|
.PagingLoop:
|
||||||
cmp esi, _kernel_start - KERNEL_VIRTUAL_BASE
|
cmp esi, _kernel_start - KERNEL_VIRTUAL_BASE
|
||||||
jl .LoopInside
|
jl .LoopInside
|
||||||
cmp esi, _kernel_end - KERNEL_VIRTUAL_BASE
|
cmp esi, _kernel_end - KERNEL_VIRTUAL_BASE
|
||||||
jge .LoopEnd
|
jge .LoopEnd
|
||||||
mov eax, esi
|
mov eax, esi
|
||||||
or eax, 3
|
or eax, 3
|
||||||
mov [edi], eax
|
mov [edi], eax
|
||||||
.LoopInside:
|
.LoopInside:
|
||||||
add esi, 4096
|
add esi, 4096
|
||||||
add edi, 4
|
add edi, 4
|
||||||
loop .PagingLoop
|
loop .PagingLoop
|
||||||
.LoopEnd:
|
.LoopEnd:
|
||||||
push ebx
|
push ebx
|
||||||
mov dword [BOOT_PAGE_DIR0 - KERNEL_VIRTUAL_BASE + (000 * 4)], (BOOT_PAGE_TBL0 - KERNEL_VIRTUAL_BASE + 3)
|
mov dword [BOOT_PAGE_DIR0 - KERNEL_VIRTUAL_BASE + (000 * 4)], (BOOT_PAGE_TBL0 - KERNEL_VIRTUAL_BASE + 3)
|
||||||
mov dword [BOOT_PAGE_DIR0 - KERNEL_VIRTUAL_BASE + (001 * 4)], (BOOT_PAGE_TBL1 - KERNEL_VIRTUAL_BASE + 3)
|
mov dword [BOOT_PAGE_DIR0 - KERNEL_VIRTUAL_BASE + (001 * 4)], (BOOT_PAGE_TBL1 - KERNEL_VIRTUAL_BASE + 3)
|
||||||
mov dword [BOOT_PAGE_DIR0 - KERNEL_VIRTUAL_BASE + (896 * 4)], (BOOT_PAGE_TBL0 - KERNEL_VIRTUAL_BASE + 3)
|
mov dword [BOOT_PAGE_DIR0 - KERNEL_VIRTUAL_BASE + (896 * 4)], (BOOT_PAGE_TBL0 - KERNEL_VIRTUAL_BASE + 3)
|
||||||
mov dword [BOOT_PAGE_DIR0 - KERNEL_VIRTUAL_BASE + (897 * 4)], (BOOT_PAGE_TBL1 - KERNEL_VIRTUAL_BASE + 3)
|
mov dword [BOOT_PAGE_DIR0 - KERNEL_VIRTUAL_BASE + (897 * 4)], (BOOT_PAGE_TBL1 - KERNEL_VIRTUAL_BASE + 3)
|
||||||
mov ecx, BOOT_PAGE_DIR0 - KERNEL_VIRTUAL_BASE
|
mov ecx, BOOT_PAGE_DIR0 - KERNEL_VIRTUAL_BASE
|
||||||
mov cr3, ecx
|
mov cr3, ecx
|
||||||
mov ecx, cr0
|
mov ecx, cr0
|
||||||
or ecx, 0x80010000
|
or ecx, 0x80010000
|
||||||
mov cr0, ecx
|
mov cr0, ecx
|
||||||
add esp, KERNEL_VIRTUAL_BASE
|
add esp, KERNEL_VIRTUAL_BASE
|
||||||
mov eax, CallKernelMain
|
mov eax, CallKernelMain
|
||||||
jmp eax
|
jmp eax
|
||||||
|
|
||||||
section .text
|
section .text
|
||||||
CallKernelMain:
|
CallKernelMain:
|
||||||
push ebx
|
push ebx
|
||||||
call x32Entry
|
call x32Entry
|
||||||
cli
|
cli
|
||||||
.hang:
|
.hang:
|
||||||
hlt
|
hlt
|
||||||
jmp .hang
|
jmp .hang
|
||||||
|
Loading…
x
Reference in New Issue
Block a user