mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-15 10:17:20 +00:00
Synced with sys/boot/i386/btx/btx/btx.s rev 1.14.
This commit is contained in:
parent
23111c4144
commit
0219f40756
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=56813
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user