SunFire x4275
John Baldwin
jhb at freebsd.org
Mon Jul 13 15:32:36 UTC 2009
On Wednesday 08 July 2009 12:51:33 pm Jesse Kempf wrote:
> Hi,
> We recently got in a SunFire x4275, one of Sun's new Nehalem boxes. The
> full server architecture whitepaper is here:
> https://www.sun.com/offers/details/X4x70_server_architecture.html
> (requires registration).
>
> The upshot of the system is that there are a pair of "intelligent"
> risers in the machine, which take a x8 PCIe link and mux it to a pair of
> x8 PCIe links. Sun uses the IDT PES24T6G2 PCIe switch to do the muxing.
>
> FreeBSD, when it boots, can't see past the risers. This holds for both
> 7.2p1 and 8-CURRENT. It can see the IDT PCIe switches, and if a PCIe
> card is moved off the intelligent riser, to the one dumb riser in the
> machine, the card can be seen. Interestingly, when I boot FreeBSD with
> ACPI turned off, all the devices past the risers can be seen, but device
> attachment fails spectacularly.
>
> I've tried setting debug.acpi.disabled for individual subsystems that
> make sense, and have not been able to come up with a combination that
> allows the system to boot as well as see past the risers. From what I
> understand, this is not too surprising.
>
> When I say "can't see past the risers", I mean:
>
> pcib9: <ACPI PCI-PCI bridge> at device 0.0 on pci25
> pcib9: domain 0
> pcib9: secondary bus 26
> pcib9: subordinate bus 38
> pcib9: I/O decode 0x8000-0x9fff
> pcib9: memory decode 0xfaa00000-0xfabfffff
> pcib9: no prefetched decode
> device_attach: pcib9 attach returned 6
Hmm, I would add printfs to each failing return() in the attach methods of
sys/dev/acpica/acpi_pcib_pci.c to see where it is failing.
I bet you are failing on this:
/*
* Don't attach if we're not really there.
*
* XXX: This isn't entirely correct since we may be a PCI bus
* on a hot-plug docking station, etc.
*/
if (!acpi_DeviceIsPresent(dev))
return_VALUE(ENXIO);
I'm guessing both bridges are returning not present via _STA?
--
John Baldwin
More information about the freebsd-acpi
mailing list