* Li-Ta Lo ollie@lanl.gov [040324 17:18]:
In the config file, you can now specify the device doing the hard reset, instead of copy+write the reset code for every new mainboard:
default HARD_RESET_BUS=1 default HARD_RESET_DEVICE=5 default HARD_RESET_FUNCTION=0
These macros are K8 specific, should we add AMDK8 in front of it ?
Sounds reasonable. If we can be sure there will not be other platforms with wandering devices on the bus.
The Tyan boards currently assume the 8111 reset logic is available at following positions on the PCI bus:
s2850 1:2.0 s2880 1:4.0 s2881 1:4.0 s2882 1:4.0 s2885 3:4.0 s4880 1:4.0
How do you actually determine this ? And how is this been programmed in LinuxBIOS ?
This was a hardcoded value in each occurence of reset.c:hard_reset(). The device location was put into the PCI_DEV( bus, dev, fn ) macro which is defined in the same file. The actual value was determined by looking at the debug output of each of the ports. The actual bus/device/function number can change depending on the order of the bus mapping, iirc. Changes to that part of the code made it necessary to change all of those files. If there is a small and elegant way of finding the ISA bridge: Advanced Micro Devices [AMD] AMD-8111 LPC device on the fly, we could get rid of the config macros all together. This would definitely be the best solution, since it lowers efforts to port LinuxBIOS to a new motherboard.
Stefan