hm, das macht es auch nicht grad einfacher
Mir fallen spontan folgende Funktionen ein, die ein Treiber benötigt:
* besondere Speicherallokationen: zB. Speicher unter 1MB, 16MB, 4GB ( und evtl. dann auch noch physikalisch kontinuierlich) Der Treiber sollte auch die Möglichkeit haben die physikalische Adresse herauszufinden
* I/O Ports reservieren (mit den nötigen Rechten, also IOPL oder TSS I/O Permission Bitmap), benutzen & freigeben
* ein Standardinterface zu anderen Treibern oder in den kernel eingebaute Funktionen um,
* den DMA Controller dazu zu bringen einen Transfer zu machen (wird zB gebraucht für floppy)
* den PCI Konfigurationsraum zu lesen/schreiben (kann man natürlich auch abstrakter machen)