summaryrefslogtreecommitdiffstats
path: root/sys/boot/pc98/btx
diff options
context:
space:
mode:
authorkato <kato@FreeBSD.org>2000-01-29 13:48:36 +0000
committerkato <kato@FreeBSD.org>2000-01-29 13:48:36 +0000
commitac9d6cb3b433941fdf04ea203953ff89671aba48 (patch)
tree421693af4cd31a3114ce108e693020115a5a4732 /sys/boot/pc98/btx
parent5d39ea311ba6eccba67d38226f3825f97f4fb376 (diff)
downloadFreeBSD-src-ac9d6cb3b433941fdf04ea203953ff89671aba48.zip
FreeBSD-src-ac9d6cb3b433941fdf04ea203953ff89671aba48.tar.gz
Synced with sys/boot/i386/btx/btx/btx.s rev 1.14.
Diffstat (limited to 'sys/boot/pc98/btx')
-rw-r--r--sys/boot/pc98/btx/btx/btx.S4
-rw-r--r--sys/boot/pc98/btx/btx/btx.s4
2 files changed, 6 insertions, 2 deletions
diff --git a/sys/boot/pc98/btx/btx/btx.S b/sys/boot/pc98/btx/btx/btx.S
index 944c1aa..5858dda 100644
--- a/sys/boot/pc98/btx/btx/btx.S
+++ b/sys/boot/pc98/btx/btx/btx.S
@@ -264,11 +264,11 @@ init.9: pushb $0x0 # general
#
exit: cli # Disable interrupts
movl $MEM_ESP0,%esp # Clear stack
-ifdef(`PAGING',`
#
# Turn off paging.
#
movl %cr0,%eax # Get CR0
+ifdef(`PAGING',`
andl $~0x80000000,%eax # Disable
movl %eax,%cr0 # paging
')
@@ -900,11 +900,13 @@ intx30: cmpl $SYS_EXEC,%eax # Exec system call?
movl $MEM_USR,%eax # User base address
addl 0xc(%esp,1),%eax # Change to user
leal 0x4(%eax),%esp # stack
+ifdef(`PAGING',`
movl %cr0,%eax # Turn
andl $~0x80000000,%eax # off
movl %eax,%cr0 # paging
xorl %eax,%eax # Flush
movl %eax,%cr3 # TLB
+')
popl %eax # Call
call *%eax # program
intx30.1: incb %ss:btx_hdr+0x7 # Flag reboot
diff --git a/sys/boot/pc98/btx/btx/btx.s b/sys/boot/pc98/btx/btx/btx.s
index 944c1aa..5858dda 100644
--- a/sys/boot/pc98/btx/btx/btx.s
+++ b/sys/boot/pc98/btx/btx/btx.s
@@ -264,11 +264,11 @@ init.9: pushb $0x0 # general
#
exit: cli # Disable interrupts
movl $MEM_ESP0,%esp # Clear stack
-ifdef(`PAGING',`
#
# Turn off paging.
#
movl %cr0,%eax # Get CR0
+ifdef(`PAGING',`
andl $~0x80000000,%eax # Disable
movl %eax,%cr0 # paging
')
@@ -900,11 +900,13 @@ intx30: cmpl $SYS_EXEC,%eax # Exec system call?
movl $MEM_USR,%eax # User base address
addl 0xc(%esp,1),%eax # Change to user
leal 0x4(%eax),%esp # stack
+ifdef(`PAGING',`
movl %cr0,%eax # Turn
andl $~0x80000000,%eax # off
movl %eax,%cr0 # paging
xorl %eax,%eax # Flush
movl %eax,%cr3 # TLB
+')
popl %eax # Call
call *%eax # program
intx30.1: incb %ss:btx_hdr+0x7 # Flag reboot
OpenPOWER on IntegriCloud