Seems to be a good link...
But it's a really bad world - there is no ultimate source of that stuff. You need to find datasheets of controllers ( if You know the type) to find out the register-offsets. Sometimes You can find register-offsets and -meanings in papers published by commitees, which are interested in a certain stuff as PCI, ATA, SCSI...
And You need to test it very carefully! In every doc I found there where some needed things not or badly documented.
A second run is to find out the base-adresses in the AT-PC. Since the PCI-bus is in use, some of the traditional I/O-adresses are mapped by BIOS as known. But the base-adresses of newer devices (i.e.USB) without tradition can only be found by reading the PCI-configuration-space at runtime. You then need a cross-reference of function-numbers to vendors.
I wrote an OS mainly for the purpose of testing drivercode in its natural environment. And I found already a lot of those well hidden adresses - keyboard, interrupt-controller, FD, HD...
You can find the well commented NASM-code on my homepage:
www.rcfriz.de
But a lot more is desirable!
I hope to find what i miss in the linux- and Xdriver-sources. If You can find something i couldn't find - please share and contact me at
[email protected]
If You contact me, I could send You some papers and docs, I do not mention yet in my source (AGP,PCI,Parallel)...