forked from KolibriOS/kolibrios
shutdown code now correctly handles >128 Kb file kernel.mnt
git-svn-id: svn://kolibrios.org@681 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
d59aaca0fa
commit
a3ee7f3740
@ -233,19 +233,25 @@ restart_kernel_4000:
|
|||||||
cli
|
cli
|
||||||
|
|
||||||
push ds
|
push ds
|
||||||
pop es
|
pop es
|
||||||
mov cx, 0x8000
|
mov cx, 0x8000
|
||||||
push cx
|
push cx
|
||||||
mov ds, cx
|
push 0x7000
|
||||||
xor si, si
|
pop ds
|
||||||
xor di, di
|
xor si, si
|
||||||
rep movsw
|
xor di, di
|
||||||
push 0x9000
|
rep movsw
|
||||||
pop ds
|
pop cx
|
||||||
|
mov ds, cx
|
||||||
push 0x2000
|
push 0x2000
|
||||||
pop es
|
pop es
|
||||||
pop cx
|
rep movsw
|
||||||
rep movsw
|
push 0x9000
|
||||||
|
pop ds
|
||||||
|
push 0x3000
|
||||||
|
pop es
|
||||||
|
mov cx, 0xE000/2
|
||||||
|
rep movsw
|
||||||
|
|
||||||
wbinvd ; write and invalidate cache
|
wbinvd ; write and invalidate cache
|
||||||
|
|
||||||
|
@ -5203,12 +5203,12 @@ system_shutdown: ; shut down the system
|
|||||||
yes_shutdown_param:
|
yes_shutdown_param:
|
||||||
cli
|
cli
|
||||||
|
|
||||||
mov eax, kernel_file ; load kernel.mnt to 0x8000:0
|
mov eax, kernel_file ; load kernel.mnt to 0x7000:0
|
||||||
push 12
|
push 12
|
||||||
pop esi
|
pop esi
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
or ecx,-1
|
or ecx,-1
|
||||||
mov edx, OS_BASE+0x80000
|
mov edx, OS_BASE+0x70000
|
||||||
call fileread
|
call fileread
|
||||||
|
|
||||||
mov esi, restart_kernel_4000+OS_BASE+0x10000 ; move kernel re-starter to 0x4000:0
|
mov esi, restart_kernel_4000+OS_BASE+0x10000 ; move kernel re-starter to 0x4000:0
|
||||||
|
Loading…
Reference in New Issue
Block a user