diff options
author | H. Peter Anvin <hpa@zytor.com> | 2009-09-04 15:46:43 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-09-04 15:46:43 -0700 |
commit | 517edd4527b9b4bd33aa18c8c6edecf20a9a992f (patch) | |
tree | 24790cca39a65715fe5ecd6fb3fd78c16916b2a7 /core | |
parent | b6ea8c8a8bc482ea2fadd1826f25e62cabb81e57 (diff) | |
download | syslinux-517edd4527b9b4bd33aa18c8c6edecf20a9a992f.tar.gz |
core: add missing calls to cleanup_hardwaresyslinux-3.83-pre10
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>
Diffstat (limited to 'core')
-rw-r--r-- | core/localboot.inc | 3 | ||||
-rw-r--r-- | core/pxelinux.asm | 1 | ||||
-rw-r--r-- | core/runkernel.inc | 2 |
3 files changed, 6 insertions, 0 deletions
diff --git a/core/localboot.inc b/core/localboot.inc index ae54737a..6709b3b4 100644 --- a/core/localboot.inc +++ b/core/localboot.inc @@ -31,6 +31,9 @@ local_boot: mov gs,dx mov si,localboot_msg call writestr + push ax + call cleanup_hardware + pop ax cmp ax,-1 je .int18 diff --git a/core/pxelinux.asm b/core/pxelinux.asm index b2745146..2fb0e08e 100644 --- a/core/pxelinux.asm +++ b/core/pxelinux.asm @@ -864,6 +864,7 @@ local_boot: mov si,localboot_msg call writestr_early ; Restore the environment we were called with + call cleanup_hardware lss sp,[InitStack] pop gs pop fs diff --git a/core/runkernel.inc b/core/runkernel.inc index 8bfc8b8d..ac00342c 100644 --- a/core/runkernel.inc +++ b/core/runkernel.inc @@ -461,6 +461,8 @@ run_linux_kernel: ; 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 |