diff options
| author | Miguel <m.i@gmx.at> | 2018-08-31 11:49:07 +0200 |
|---|---|---|
| committer | Miguel <m.i@gmx.at> | 2018-08-31 11:49:07 +0200 |
| commit | 47d7e8e4527c663dd1a0c04a4ea5624589464895 (patch) | |
| tree | d6d5ef82f1089a9ab058b27c427c1463db0fae60 /mp/mp.asm | |
| parent | 4404fa9b3d98646f942e32146722a9d0a68edc13 (diff) | |
various improvmenets
* added debugging symbols to nasm output
* started implementing an unified interrupt interface
* moved smp entry point to kernel image!
Diffstat (limited to 'mp/mp.asm')
| -rw-r--r-- | mp/mp.asm | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/mp/mp.asm b/mp/mp.asm deleted file mode 100644 index 740a1a0..0000000 --- a/mp/mp.asm +++ /dev/null @@ -1,84 +0,0 @@ -; master boot record for application processors - -[org 0x7000] -[bits 16] - - - - cli ;switch off interrupts! - lgdt [gdt_descriptor] ;load descriptor table! - - ;switch on 32-bit protected mode - mov eax, cr0 - or eax,0x1 - mov cr0, eax - - jmp 0x8:init_pm - -[bits 32] - - -LLOCK: dd 0 - -init_pm: - - mov ax, 0x10 - mov ds, ax - mov ss, ax - mov es, ax - mov fs, ax - mov gs, ax - - mov ebp, 0x8000 - mov esp, ebp - - call boot_32_pm ;continue booting in 32-bit protected mode - -boot_32_pm: - - mov eax, 1 ; semaphore - xchg eax, [LLOCK] - cmp eax,1 - je $ - - call [0x8010] ;kernel_ap ;jump into our Kernel! - jmp $ ; should never be reached - - -gdt_start: - -gdt_null: ;null descriptor (2 x 4 bytes) - dd 0x0 - dd 0x0 - -gdt_code: - ; flags: - ; present: 1 / privilege: 00 / type: 1 - ; code: 1 / conforming: 0 / readable: 1 / accessed: 0 - ; granularity: 1 / 16-bit default: 1 / 64-bit seg: 0 / AVL: 0 - dw 0xffff ;limit - dw 0x0 ;base - db 0x0 ;base - db 10011010b ;flags - db 11001111b ;flags & seg.limit - db 0x0 ;base - -gdt_data: - ; flags: - ; code: 0 / expand down: 0 / writable: 1 / accessed: 0 - dw 0xffff - dw 0x0 - db 0x0 - db 10010010b - db 11001111b - db 0x0 - -gdt_end: - -gdt_descriptor: - dw gdt_end-gdt_start-1 - dd gdt_start - -CODE_SEG equ gdt_code - gdt_start -DATA_SEG equ gdt_data - gdt_start - |
