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

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to