summaryrefslogtreecommitdiff
path: root/asm/mp.asm
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2018-09-03 00:07:20 +0200
committerMiguel <m.i@gmx.at>2018-09-03 00:07:20 +0200
commit38b1273c7e3a52ae929f36fe07e29bc68ef95102 (patch)
tree16734c1c190825159f6ca9696d9c5cfb04e89c8f /asm/mp.asm
parentfd5a9b87e47bc072aa63fcaf5735232a37338303 (diff)
clean filenames etc
Diffstat (limited to 'asm/mp.asm')
-rw-r--r--asm/mp.asm89
1 files changed, 0 insertions, 89 deletions
diff --git a/asm/mp.asm b/asm/mp.asm
deleted file mode 100644
index f0eb9c0..0000000
--- a/asm/mp.asm
+++ /dev/null
@@ -1,89 +0,0 @@
-global smp_start
-extern smp_main
-; master boot record for application processors
-;[org 0x7000]
-smp_start:
-[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:
- hlt
- jmp boot_32_pm
-
- ;mov eax, 1 ; semaphore
- ;xchg eax, [LLOCK]
- ;cmp eax,1
- ;hlt
- ;je $
- ;jmp $ ; loop forever here
-
- ;call [0x8010] ;kernel_ap ;jump into our Kernel!
- call smp_main
-
- 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