summaryrefslogtreecommitdiff
path: root/core/diskstart.inc
diff options
context:
space:
mode:
Diffstat (limited to 'core/diskstart.inc')
-rw-r--r--core/diskstart.inc8
1 files changed, 7 insertions, 1 deletions
diff --git a/core/diskstart.inc b/core/diskstart.inc
index c3881eab..53229223 100644
--- a/core/diskstart.inc
+++ b/core/diskstart.inc
@@ -503,6 +503,7 @@ ldlinux_ent:
;
jmp 0:.next
.next:
+ sti ; In case of broken INT 13h BIOSes
;
; Tell the user we got this far
@@ -609,11 +610,16 @@ writestr_early:
ret
+;
; getlinsecsr: save registers, call getlinsec, restore registers
+; Save/restore the flags, too, especially IF.
;
-getlinsecsr: pushad
+getlinsecsr:
+ pushfd
+ pushad
call getlinsec
popad
+ popfd
ret
;