summaryrefslogtreecommitdiff
path: root/bootasm.S
diff options
context:
space:
mode:
authorFrans Kaashoek <[email protected]>2010-08-26 08:03:18 -0400
committerFrans Kaashoek <[email protected]>2010-08-26 08:03:18 -0400
commitd55b2fac074ac23e30c337014f40ae2156b31b60 (patch)
treebb9885972bf8929e7957f9ea512a8befaf06b11c /bootasm.S
parentd87f51c5a1c5e7a2a3ba111b1052a297f4f96fb0 (diff)
parent789b508d538e6faf635e49f268a4f1f9e9b65f05 (diff)
downloadxv6-labs-d55b2fac074ac23e30c337014f40ae2156b31b60.tar.gz
xv6-labs-d55b2fac074ac23e30c337014f40ae2156b31b60.tar.bz2
xv6-labs-d55b2fac074ac23e30c337014f40ae2156b31b60.zip
Merge commit 'origin/page' into page
Diffstat (limited to 'bootasm.S')
-rw-r--r--bootasm.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/bootasm.S b/bootasm.S
index f6af255..56175ce 100644
--- a/bootasm.S
+++ b/bootasm.S
@@ -51,8 +51,10 @@ seta20.2:
orl $CR0_PE, %eax
movl %eax, %cr0
- # Jump to next instruction, but in 32-bit code segment.
- # Switches processor into 32-bit mode.
+ # This ljmp is how you load the CS (Code Segment) register.
+ # SEG_ASM produces segment descriptors with the 32-bit mode
+ # flag set (the D flag), so addresses and word operands will
+ # default to 32 bits after this jump.
ljmp $(SEG_KCODE<<3), $start32
.code32 # Assemble for 32-bit mode