On Sat, 3 Mar 2001, Philipp Rumpf wrote:
> > Well, from reading the source, I don't see how this can break APM... What am I
> > missing?
>
> apm_bios_call must not be called with two identical pointers for
> two different registers.
>
OK, my bad... By replacing the call I made with this:
u32 dummy, a, b, c, d;
if (apm_bios_call(APM_FUNC_IDLE, 0, 0, &dummy, &a, &b, &c, &d))
return 0;
then the situation is back to "normal"...
Just one more thing though: in apm_bios_call_simple():
[...]
APM_DO_SAVE_SEGS;
{
int cx, dx, si;
[...]
Aren't cx, dx and si really meant to be u32?
-- Francis Galiegue, fg@mandrakesoft.com - Normand et fier de l'être "Programming is a race between programmers, who try and make more and more idiot-proof software, and universe, which produces more and more remarkable idiots. Until now, universe leads the race" -- R. Cook- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Wed Mar 07 2001 - 21:00:15 EST