← Back to team overview

sslug-teknik team mailing list archive

Re: Skrivning til port 80

 

In <C100B861742BD11185A90060979AC20C171E3C@xxxxxxxxxxxxxxxxxxx> Niels Maretti <Maretti@xxxxxxxxx> writes:

[hardware der ikke kan lide at man skriver på I/O port 0x80]

>Iflg. Linux I/O port programming mini-HOWTO kan jeg 
>undgå skrivningen til port 0x80 ved at definere 
>SLOW_IO_BY_JUMPING før inkludering af <asm/io.h>.

>Kan jeg sikre mig dette ved at genoversætte kernen og 
>moduler med -DSLOW_IO_BY_JUMPING ?

Ja, det burde virke. Jeg ved dog ikke hvor meget den del
af kernen er blevet testet - port 0x80 bruges netop, fordi der
ikke er nogen som har set noget hardware, der bruger denne port.

>Har jeg andre muligheder for at undgå problemet med 
>skrivning til port 0x80?

Du kan jo ændre i /usr/src/linux/include/asm-i386/io.h hvor
de makroer er defineret, som laver denne skrivning til port
0x80. Formålet med at bruge porten er udelukkende at lave et
delay som er konstant (uafhængigt af eventuelle CPU optimeringer
af jumps osv) - til det formål bruges så en I/O instruktion 
til en ubrugt port. Hvis du har et andet bud på en I/O port
som *ikke* er i brug, så kan du jo ændre __SLOW_DOWN_IO
makroen til at bruge den anden port.

-- 
Henrik Storner     | "Software engineering is a race between engineers 
<storner@xxxxxxxx> |  who try to create foolproof software and the 
                   |  universe which is trying to create bigger fools.
                   |  So far, the universe is winning..."


References