diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2019-07-24 10:05:06 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2019-07-24 10:21:46 +0200 |
commit | c476b5c67199b44523084b7639a4ff52f437156b (patch) | |
tree | d7dcf0422e39bd4f0d15b2c11d4155f677e2ce9a /entry.S | |
parent | 35e3627d3a252b3b5ff57439f27f3d86a3741c67 (diff) | |
download | qboot-c476b5c67199b44523084b7639a4ff52f437156b.zip qboot-c476b5c67199b44523084b7639a4ff52f437156b.tar.gz qboot-c476b5c67199b44523084b7639a4ff52f437156b.tar.bz2 |
clear CF on entry to BIOS handlers
This simplifies the success case, which never has to manipulate
the carry flag.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'entry.S')
-rw-r--r-- | entry.S | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -58,7 +58,7 @@ ENTRY(bios_intfake) * interrupt handler succeeded and then treat the return values in * registers as valid data. */ - orl $X86_EFLAGS_CF, 0x4(%esp) + orb $X86_EFLAGS_CF, 0x4(%esp) IRET ENTRY_END(bios_intfake) @@ -67,6 +67,7 @@ ENTRY_END(bios_intfake) * int 10 - video - service */ ENTRY(bios_int10) + andb $~X86_EFLAGS_CF, 0x4(%esp) SAVE_BIOSREGS movl %esp, %eax @@ -76,13 +77,11 @@ ENTRY(bios_int10) RESTORE_BIOSREGS - /* Clear CF to indicate success. */ - andl $~X86_EFLAGS_CF, 0x4(%esp) - IRET ENTRY_END(bios_int10) ENTRY(bios_int15) + andb $~X86_EFLAGS_CF, 0x4(%esp) SAVE_BIOSREGS movl %esp, %eax |