Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 6239 → Rev 6240

/kernel/branches/Kolibri-acpi/boot/shutdown.inc
15,7 → 15,14
 
use32
become_real:
xor ebx, ebx
xor edx, edx
xor ecx, ecx
xor esi, esi
xor edi, edi
xor ebp, ebp
cli
ltr bx
lgdt [realmode_gdt-OS_BASE]
jmp 8:@f
use16
34,9 → 41,10
pr_mode_exit:
 
; setup stack
mov ax, 0x3000
mov ax, (TMP_STACK_TOP and 0xF0000) shr 4
mov ss, ax
mov esp, 0x0EC00
mov esp, TMP_STACK_TOP and 0xFFFF
 
; setup ds
push cs
pop ds
173,31 → 181,41
 
mov ax, 0x0003 ; set text mode for screen
int 0x10
jmp 0x4000:0000
jmp 0x5000:0000
 
restart_kernel_4000:
restart_kernel_5001:
cli
 
push ds
pop es
mov cx, 0x8000
push cx
xor si, si
xor di, di
 
push 0x7100
pop ds
xor si, si
xor di, di
rep movsw
pop cx
mov ds, cx
mov cx, 0x4000
rep movsd
 
push 0x8100
pop ds
push 0x2000
pop es
rep movsw
push 0x9000
mov cx, 0x4000
rep movsd
 
push 0x9100
pop ds
push 0x3000
pop es
mov cx, 0xE000/2
rep movsw
mov cx, 0x4000
rep movsd
xchg bx, bx
push 0xA100
pop ds
push 0x4000
pop es
mov cx, 0x800
rep movsd
 
wbinvd ; write and invalidate cache