Skip to contentSkip to conversation

setup.S: A20 enable sequence (once again)

DISCUSSION Robert Kaiser 2 participants 2 messages Nov 6, 2000

lore
Share & tools
lore
#0 lore raw
Quoted 2 lines

This doesn't really work. Neither the fast A20 gate nor the KBC is guaranteed to have immediate effect (on most systems they won't.)

In that case, maybe I should do repeated calls to a20_check with a (not too big) retry count after the port 92 write ?

Problem is, it happens to work this way on all hardware I have access to, so I can't really reproduce such timing problems. Anyone ?

Quoted 2 lines

What's worse, once you have done an "out" to the KBC you need to finish the sequence. I need to think about this for a bit.

??? I'm not touching the KBC if the port 92 access was successful at enableing A20. If, however, A20 is still disabled, I'm doing the same KBC sequence as the original code, so there shouldn't be any incomplete KBC interactions (unless I mistyped something...).

Quoted 3 lines

(Arguably, what you're doing is running on completely nonstandard hardware, which may need a CONFIG_ option. However, if we can avoid it I guess it's better.)

That was exactly my intention :-)

----------------------------------------------------------------
Robert Kaiser email: [email protected]
SYSGO RTS GmbH
Am Pfaffenstein 14 phone: (49) 6136 9948-762
D-55270 Klein-Winternheim / Germany fax: (49) 6136 9948-10
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#1 lore raw
Followup to:  <00110620483000.11673@rob>
By author:    Robert Kaiser <[email protected]>
In newsgroup: linux.dev.kernel
Quoted 10 lines
Quoted 3 lines

This doesn't really work. Neither the fast A20 gate nor the KBC is guaranteed to have immediate effect (on most systems they won't.)

In that case, maybe I should do repeated calls to a20_check with a (not too big) retry count after the port 92 write ?

Problem is, it happens to work this way on all hardware I have access to, so I can't really reproduce such timing problems. Anyone ?

Quoted 8 lines
Quoted 2 lines

What's worse, once you have done an "out" to the KBC you need to finish the sequence. I need to think about this for a bit.

??? I'm not touching the KBC if the port 92 access was successful at enableing A20. If, however, A20 is still disabled, I'm doing the same KBC sequence as the original code, so there shouldn't be any incomplete KBC interactions (unless I mistyped something...).

The problem is that your test for A20 is faulty. Severely so. Anyway, I just sent you a patch which will terminate the first empty_8042 loop (while it's still safe) if it finds A20 now enabled.

-hpa

Signature · 7 lines
<[email protected]> at work, <[email protected]> in private!
"Unix gives you enough rope to shoot yourself in the foot."
http://www.zytor.com/~hpa/puzzle.txt
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/