diff options
author | Marvin Borner | 2019-10-31 17:47:40 +0100 |
---|---|---|
committer | GitHub | 2019-10-31 17:47:40 +0100 |
commit | c7e755cb843593db1eedb26c5c24932bbe743745 (patch) | |
tree | ad14da17e6d0d883e68cc6eacc99ae522036dda8 /src/kernel/boot.asm | |
parent | fd4f0a11126a20e75d72f8f2e6d418598fd5f37d (diff) | |
parent | 40a214f3c69a3d7da8c2f9bed5038dfa0ab72d4b (diff) |
Merged pull request usermode
Added usermode
Diffstat (limited to 'src/kernel/boot.asm')
-rw-r--r-- | src/kernel/boot.asm | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/kernel/boot.asm b/src/kernel/boot.asm index d533307..2501ed9 100644 --- a/src/kernel/boot.asm +++ b/src/kernel/boot.asm @@ -30,8 +30,13 @@ mboot: dd start ; Endless loop +extern kernel_main stublet: - extern kernel_main + ; Load multiboot information + push esp + push ebx + + cli call kernel_main jmp $ @@ -45,6 +50,24 @@ stublet: %include "src/kernel/interact.asm" +global switch_to_user +extern test_user +switch_to_user: + sti + mov ax, 0x23 + mov ds, ax + mov es, ax + mov fs, ax + mov gs, ax + + mov eax, esp + push 0x23 + push eax + pushf + push 0x1B + push test_user + iret + ; Store the stack SECTION .bss resb 0x2000 ; Reserve 8KiB |