>this could probably use the HURD direct to pci backend, and some /dev/mem.
An excellent suggestion, which saved me a lot of effort. The new x86_pci libpciaccess backend appears to work perfectly on Linux 2.4 on x86. I can't confirm yet that this libpciaccess change is the only thing needed to make current X.org work on Linux 2.4, as I am still working through other problems building and configuring a server, but the log shows that the server is finding the PCI video controller and talking to it to get monitor information. For anyone reading this in archives, here are the details of what I did: In current (7.6) X.org, built for Linux, libpciaccess uses sysfs to access PCI device information, via a backend called linux_sysfs. When built for GNU Hurd, it instead uses x86 in and out instructions, using a backend called x86_pci. x86_pci is new in 7.6 -- 7.5 can't run on Hurd. Though x86_pci is used only for Hurd, the code is designed to work additionally on anything that uses GNU libc, such as Linux. It has conditional compilation to handle the non-Hurd glibc case, and in that case uses iopl(), outb(), etc. to execute raw I/O instructions. I made a one line change to C code and a one line change to the make file to make libpciaccess use x86_pci instead of linux_sysfs when built for Linux. That seems to be all that's needed. Note that this works on Linux 2.4 on x86, not Linux 2.4 in general. A /proc/bus/pci or pciutils libpci approach would presumably work on all Linux 2.4. -- Bryan Henderson San Jose, California _______________________________________________ [email protected]: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.freedesktop.org/mailman/listinfo/xorg Your subscription address: [email protected]
