• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Attempting to patch the SuperMac S900/Umax Pulsar's Open Firmware with "The Great Gazelle PCI Hack"

trag

Well-known member
@trag

If the Bandit supports 6 slots, why did they use a bridge at all? At least with two Bandits there are meant to be speed benefits somehow.

Because of Apple's firmware. I don't know exactly how it's set up, but I believe the slots on Bandit are explicitly enumerated in the firmware, rather than "discovered" by polling. I could be wrong, but I'm pretty sure that's the case.

Umax would have had to modify the firmware to put more slots on a single Bandit in the Mac architecture.
 

Arbee

Well-known member
The PCI 2.1 spec says each bus should have no more than 4 devices to keep various electrical characteristics reasonable for 33 MHz operation.
 

trag

Well-known member
On the 9600 and similar Macs, pci-probe-list is a 32 bit number that has the following format: bridge number: 7 6 5 4 3 pci2 pci1 vci0 PCI device number: ---- ---- ---- ---- ---- F E D B F E D B - E D B slot name: F2 E2 D2 C1 B1 A1 VCI This format does not allow changing the order in which slots are probed. The bridge number is the two bits 26,25 of the bridge device unit address:

This probably isn't helpful for the effort at hand, but....

The PCI Device Numbers (F, E, D) are which PCI Address line is tied to the IDSEL pin on each PCI slot. Presumably, it could be reordered by changing which address line is tied to the IDSEL for each slot. However, that would mess up the interrupt assignments, which seem to be hard in the firmware.

The bridge number on Bandit seems to be controlled by biasing pins 186 and 187 on Bandit to 5V or Gnd. Apparently, the 7200 uses a different bias pattern than either of the Bandits on the 9500/9600, suggesting that it occupies a different address on 7200 (0 or 6).
 

trag

Well-known member
The PCI 2.1 spec says each bus should have no more than 4 devices to keep various electrical characteristics reasonable for 33 MHz operation.

I may not have been reading the 2.1 spec, but what I remember is 4 PCI slots (interchangeable devices) or 10 fixed devices for signal integrity.

The Apple Network Server has a mix of slots and fixed devices (2 & 4 respectively) on the bus with six devices.
 

joevt

Well-known member
The bridge number on Bandit seems to be controlled by biasing pins 186 and 187 on Bandit to 5V or Gnd. Apparently, the 7200 uses a different bias pattern than either of the Bandits on the 9500/9600, suggesting that it occupies a different address on 7200 (0 or 6).
I'm not sure what this means. The bandit of the 7200 appears to be at bandit@F2000000, same as other Open Firmware 1.0.5 Macs, as far as I can tell (I don't have a 7200 though).
 

trag

Well-known member
I'm not sure what this means. The bandit of the 7200 appears to be at bandit@F2000000, same as other Open Firmware 1.0.5 Macs, as far as I can tell (I don't have a 7200 though).

Whether the Bandit is "seen" at F2000000 or F4000000 seems to be determined by how pins 186 and 187 on the Bandit are biased.

In other words, the Bandit's address changes as the bias on those pins is changed.

I think. Could be wildly wrong....

Because the PowerSurge architecture was originally designed to support up to four Bandits, presumably the other two combinations could also be valid, but one would needs support in the firmware.

Interesting about the 7200. When I checked pins, on the 7200, 186 and 187 were tied differently that either of the two Bandits on the 9500. But the 7200 does have a different bus controller, so perhaps that affects things. I would have expected the pins to just adjust what addresses the Bandit chip is "listening" to and so platform really shouldn't affect it.

So perhaps my hypothesis is wrong or incomplete.
 
Top