summaryrefslogtreecommitdiff
path: root/bootother.S
diff options
context:
space:
mode:
standardize various * conventions
Diffstat (limited to 'bootother.S')
-rw-r--r--bootother.S22
1 files changed, 11 insertions, 11 deletions
diff --git a/bootother.S b/bootother.S
index e4cbd67..c5ab0bf 100644
--- a/bootother.S
+++ b/bootother.S
@@ -1,5 +1,5 @@
#include "asm.h"
-
+
/*
* Start an Application Processor. This must be placed on a 4KB boundary
* somewhere in the 1st MB of conventional memory (APBOOTSTRAP). However,
@@ -13,7 +13,7 @@
* mp.c causes each non-boot CPU in turn to jump to start.
* mp.c puts the correct %esp in start-4, and the place to jump
* to in start-8.
- *
+ *
*/
.set PROT_MODE_CSEG,0x8 # code segment selector
@@ -34,8 +34,8 @@ start:
# Set up the stack pointer, growing downward from 0x7000-8.
movw $start-8,%sp # Stack Pointer
-
-#### Switch from real to protected mode
+
+#### Switch from real to protected mode
#### The descriptors in our GDT allow all physical memory to be accessed.
#### Furthermore, the descriptors have base addresses of 0, so that the
#### segment translation is a NOP, ie. virtual addresses are identical to
@@ -44,11 +44,11 @@ start:
#### that it is running directly on physical memory with no translation.
#### This initial NOP-translation setup is required by the processor
#### to ensure that the transition to protected mode occurs smoothly.
-
+
lgdt gdtdesc # load GDT -- mandatory in protected mode
movl %cr0, %eax # turn on protected mode
- orl $CR0_PE_ON, %eax #
- movl %eax, %cr0 #
+ orl $CR0_PE_ON, %eax #
+ movl %eax, %cr0 #
### CPU magic: jump to relocation, flush prefetch queue, and reload %cs
### Has the effect of just jmp to the next instruction, but simultaneous
### loads CS with $PROT_MODE_CSEG.
@@ -56,7 +56,7 @@ start:
#### we are in 32-bit protected mode (hence the .code32)
.code32
-protcseg:
+protcseg:
# Set up the protected-mode data segment registers
movw $PROT_MODE_DSEG, %ax # Our data segment selector
movw %ax, %ds # -> DS: Data Segment
@@ -67,14 +67,14 @@ protcseg:
movl start-8, %eax
movl start-4, %esp
- jmp *%eax
-
+ jmp *%eax
+
.p2align 2 # force 4 byte alignment
gdt:
SEG_NULLASM # null seg
SEG_ASM(STA_X|STA_R, 0x0, 0xffffffff) # code seg
SEG_ASM(STA_W, 0x0, 0xffffffff) # data seg
-
+
gdtdesc:
.word 0x17 # sizeof(gdt) - 1
.long gdt # address gdt