[syslinux] Re: [Freedos-devel] re: Problem with FreeDOS + himem64 + PXELINUX + memdisk

Patrick J. LoPresti patl at users.sourceforge.net
Tue Jan 27 14:58:06 PST 2004


Eric Auer <eric at CoLi.Uni-SB.DE> writes:

> Hi Pat, your patches and/or MEMDISK have the problem that they do
> not DETECT which A20 setting styles work and which not!
> 
> - PS/2: port 92h -> or 2 to enable, and ~2 to disable A20
> - 8042: command d1 / port 60 ... here, too, ONLY bit 1 should be messed
>   with (or 2 / and ~2). It is important to do "wait until 8042 is ready"
>   and "wait until A20 actually switched". 8042 is slow!
> - BIOS: your BIOS call may or may not function, depending on the BIOS.
>
> So you should try PS/2 first. If this does not work, try BIOS. Finally,
> try 8042.

The BIOS authors know better than anybody how to handle the A20 gate
on their hardware.  So I think we should always try the BIOS first.

In other words, I think the order used by memdisk is correct: First
try BIOS, then 8042, then PS/2 (aka. 92h gate).

> Then keep using only the "tested and working" access method.  Some
> hardware has the A20 stuck to enabled, should not be a problem. Just
> display a warning.

The memdisk code handles this as well, I believe.  My intention was
basically to steal it (should be no problem since everything is GPL,
right?).

> Finally, MEMDISK hooks int 15.87?

No, but MEMDISK does invoke 15.87 and needs the A20 gate to be saved
and restored.

> And I do think that this is a SYSLINUX problem, so CCing them.

I'll let HPA respond to this part :-).

Anyway, I am willing to do this work.  Unless one of the FreeDOS folks
wants to step up to the plate?

 - Pat

P.S.  Is there any reason NOT to save/restore A20 around INT15/AH=87 ?




More information about the Syslinux mailing list