mirror of https://github.com/E-Almqvist/eOS
parent
0e6ae465ad
commit
56c8319850
@ -1,7 +0,0 @@ |
||||
; EQUs |
||||
%include "bootloader/equ/bios.asm" |
||||
|
||||
; SRs |
||||
%include "bootloader/bios/convert.asm" |
||||
%include "bootloader/bios/print.asm" |
||||
%include "bootloader/bios/disk.asm" |
@ -1,37 +0,0 @@ |
||||
; Utils |
||||
%include "bootloader/equ/vga.asm" |
||||
%include "bootloader/pm/vga/print.asm" |
||||
|
||||
; GDT & switching to PM |
||||
%include "bootloader/pm/gdt.asm" ; GDT defined here |
||||
|
||||
; Switching to PM |
||||
[bits 16] |
||||
pm_preinit: |
||||
cli ; Switch interupts |
||||
|
||||
lgdt [gdt_descriptor] ; Tell the CPU about the GDT |
||||
|
||||
mov eax, cr0 ; Set first bit of the CR0 register |
||||
or eax, 0x1 ; to 1 |
||||
mov cr0, eax ; Update the control register |
||||
|
||||
; Initialize PM |
||||
jmp GDT_CODE_SEG:pm_init |
||||
|
||||
[bits 32] |
||||
; Init registers & stack when in PM |
||||
pm_init: |
||||
mov ax, GDT_DATA_SEG ; Point the segment registers to GDT_DATA_SEG |
||||
; Segment registers |
||||
mov ds, ax |
||||
mov ss, ax |
||||
mov es, ax |
||||
mov fs, ax |
||||
mov gs, ax |
||||
|
||||
mov ebp, 0x900000 ; Update the stack pointer |
||||
mov esp, ebp |
||||
|
||||
call BEGIN_PM |
||||
|
Loading…
Reference in new issue