rendered paste bodyKrnRebootSystem:
;lidt [bogus_idt_desc]
.not_ready:
in al, 64h
and al, 2
jnz .not_ready
mov al, 0FEh
out 64h, al
.halt:
hlt
jmp .halt
KrnShutdownSystem:
;mov eax, cr0
;and eax, 7FFFFFFEh
;mov cr0, eax
cli
mov ax, 0Fh
out 70h, al ;;cmos address register
out 0EDh, ax ;;; for an I/O delay
mov ax, 5
out 71h, al ;;cmos memory register
mov word [467h], (.realmodeexec - 10000h)
mov word [469h], 1000h
call KrnRebootSystem
[BITS 16]
.realmodeexec:
mov ax, 4201h
int 15h
.halt:
hlt
jmp .halt
[BITS 32]