-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, On Jun 15, 2009, at 1:38 PM, Matthias Drochner wrote:
[pkgsrc/libpciaccess/patch-ac] macallan%netbsd.org@localhost said:That reads the legacy VGA ROM and is indeed PC specific. Other archs will have to find its bus address from the ROM BAR, hope it's valid, enable it, map it etc.I've found a reference for the concern I expressed in the commit msg: PCI spec rev. 3.0 ch. 6.2.5.2 says:In order to minimize the number of address decoders needed, a device may share a decoder between the Expansion ROM Base Address register and other Base Address registers.When expansion ROM decode is enabled, the decoder is used for accessesto the expansion ROM and device independent software must not access the device through any other Base Address registers.This means reading the ROM of an active device is somewhat hairy -- would be better to use the firmware's copy if possible.
That hurts. Any idea if that's true for PCI 2.1 as well?So we'd have to copy the ROM in the kernel in order to make sure nobody messes with device registers while it's enabled. Or attach a device which allows to read ROMs and takes the necessary precautions while doing so. But then userland would have to match /dev/ rom<whatever> against whatever it uses to talk to the rest of the device. Sounds kind of awkward.
have fun Michael -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (Darwin) iQEVAwUBSjakecpnzkX8Yg2nAQIx5wf/fFSGETFR0jR12Q8h6IbGMsqhs6ywtHDm SvOj9yJ3K/d8Smx3rIYhLDKAms+qjLh5q6F5fSAsQQhCzx/yhLFDg3U1K8FjvZOd f7Y1Tnb0vY4LeFlWkQYx0hSz0tiJGM2MYWieXY33dWiNlwdVD1uiwerMA0gQbnV1 I9Sk77OphpsvsHEOnZUmDGuEe51dsFwapJ0WQG1Q950nU9Mge+LUR1fQoa4hjU6r 0EFLDSX5FQQAH3doYnzGhsHmOvqkv1Gmv4F1M8xznT6fo0lnydteQUFNK/Z8T62S 2cUTeOw6gdTkgteArAOHeHJhy3mPgwiXAihflxJDWBiI861LyMfd6Q== =d1lp -----END PGP SIGNATURE-----