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>
diff --git a/code16.c b/code16.c
index cfcf50a..2fd7ef9 100644
--- a/code16.c
+++ b/code16.c
@@ -69,9 +69,6 @@
 	regs->ecx	= sizeof(struct e820entry);
 	regs->ebx	= ++ndx;
 
-	/* Clear CF to indicate success.  */
-	regs->eflags	&= ~X86_EFLAGS_CF;
-
 	if (ndx >= map_size)
 		regs->ebx	= 0;	/* end of map */
 }
diff --git a/entry.S b/entry.S
index 9a9454a..ecd5fae 100644
--- a/entry.S
+++ b/entry.S
@@ -58,7 +58,7 @@
 	 * 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 @@
  * int 10 - video - service
  */
 ENTRY(bios_int10)
+	andb	$~X86_EFLAGS_CF, 0x4(%esp)
 	SAVE_BIOSREGS
 
 	movl		%esp, %eax
@@ -76,13 +77,11 @@
 
 	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