diff options
author | jhb <jhb@FreeBSD.org> | 2000-05-27 06:25:35 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2000-05-27 06:25:35 +0000 |
commit | a8972b65e2a16b1a4df1afd5333920446a9886d0 (patch) | |
tree | cafaf89a6b2088f3416d61895e2452d6b8956597 /sys/i386 | |
parent | 2bfcae8790ac122982b9434190b8c80c29455161 (diff) | |
download | FreeBSD-src-a8972b65e2a16b1a4df1afd5333920446a9886d0.zip FreeBSD-src-a8972b65e2a16b1a4df1afd5333920446a9886d0.tar.gz |
- Remove unnecessary 'data32' and 'addr32' prefixes and #define's.
- Go ahead and use 'lgdt' again instead of hand-assembling the instruction.
During testing this code worked fine. If for some reason a 32-bit offset
is needed, 'lgdtl' should be used instead of reverting to manual machine
code.
Tested by: peter
Diffstat (limited to 'sys/i386')
-rw-r--r-- | sys/i386/i386/mpboot.s | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/sys/i386/i386/mpboot.s b/sys/i386/i386/mpboot.s index 9eb2d7c..ac24c66 100644 --- a/sys/i386/i386/mpboot.s +++ b/sys/i386/i386/mpboot.s @@ -156,9 +156,6 @@ NON_GPROF_ENTRY(wait_ap) * 1Meg. -jackv */ -#define data32 .byte 0x66 -#define addr32 .byte 0x67 - .data ALIGN_DATA /* just to be sure */ @@ -186,17 +183,11 @@ NON_GPROF_ENTRY(bootMP) mov $(boot_stk-_bootMP), %esp /* Now load the global descriptor table */ - addr32 - data32 - /* XXX: sigh: lgdt MP_GDTptr-_bootMP GAS BUG! */ - .byte 0x0f, 0x01, 0x15 /* XXX hand assemble! */ - .long MP_GDTptr-_bootMP /* XXX hand assemble! */ + lgdt MP_GDTptr-_bootMP /* Enable protected mode */ - data32 movl %cr0, %eax orl $CR0_PE, %eax - data32 movl %eax, %cr0 /* |