qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [PATCH] extboot: properly set int 0x13 return value


From: Avi Kivity
Subject: [Qemu-devel] Re: [PATCH] extboot: properly set int 0x13 return value
Date: Tue, 02 Dec 2008 14:12:58 +0200
User-agent: Thunderbird 2.0.0.18 (X11/20081119)

Glauber Costa wrote:
Callers of int 0x13 usually rely on the carry flag being
clear/set to indicate the status of the interrupt execution.

However, our current code clear or set the flags register,
which is totally useless. Whichever value it has, will
be overwritten by the flags value _before_ the interrupt, due to
the iret instruction.

This fixes a bug that prevents slackware (and possibly win2k, untested)
to boot.


Applied, thanks.

-.macro clc
-       push %ax
-       pushf
-       pop %ax
-       and $(~FLAGS_CF), %ax
-       push %ax
-       popf
-       pop %ax

Anthony, any reason you did not use the 'clc' instruction instead of a macro?

--
error compiling committee.c: too many arguments to function





reply via email to

[Prev in Thread] Current Thread [Next in Thread]