As we're starting to rely more and more on a modified hardware state,
it is really important to clean up on all exit paths.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
mov gs,dx
mov si,localboot_msg
call writestr
+ push ax
+ call cleanup_hardware
+ pop ax
cmp ax,-1
je .int18
mov si,localboot_msg
call writestr_early
; Restore the environment we were called with
+ call cleanup_hardware
lss sp,[InitStack]
pop gs
pop fs
; Set up segment registers and the Linux real-mode stack
; Note: ds == the real mode segment
;
+ call cleanup_hardware
+
cli
mov ax,ds
mov ss,ax