Bug #652
openautoport fails if board lacks SATA controller and unsupported PCI/USB (Apple MacBookPro 11,4 / Crystal Well)
0%
Description
This Haswell board comes with a Samsung PCIe AHCI SSD on a autoport Unsupported PCI device 8086:0d01 (Apple Slot) which is probably muxed with the Thunderbolt controller Unsupported PCI device 8086:0d05. There is also no native intel SATA controller available on this board.
Autoport log:
Making logs...
Running: lspci -nnvvvxxxx
Running: dmidecode
Running: acpidump
Running: inteltool -af
Running: ectool -pd
Running: superiotool -ade
PCH sound card is card1
Unsupported PCI device 8086:0d01 #pcie 16x 00:01.0 PCI bridge: Intel Corporation Crystal Well PCI Express x16 Controller (rev 08) #SSD
Unsupported PCI device 8086:0d05 #pcie 8x 00:01.1 PCI bridge: Intel Corporation Crystal Well PCI Express x8 Controller (rev 08) #TB
Unsupported PCI device 8086:0d0c #pcie 00:03.0 Audio device: Intel Corporation Crystal Well HD Audio Controller (rev 08)
panic: runtime error: index out of range [146] with length 0
goroutine 1 [running]:
main.lynxpoint.Scan({0x0, 0x0}, {{0xc00009f008, 0x14}, {0xc00009cfe0, 0x1a}, {0xc00009c98f, 0xa}, {0xc00009c9af, 0xe}, ...}, ...)
/home/neon/coreboot/util/autoport/lynxpoint.go:194 +0x248f
main.ScanRoot({{0xc00009f008, 0x14}, {0xc00009cfe0, 0x1a}, {0xc00009c98f, 0xa}, {0xc00009c9af, 0xe}, {0xc0001ca840, 0x28}, ...})
/home/neon/coreboot/util/autoport/root.go:28 +0x427
main.main()
/home/neon/coreboot/util/autoport/main.go:748 +0x6bb
Adding RegisterPCI(0x8086, 0x0d0c, GenericPCI{}) to line 141 in haswell.go within /* CPU HD Audio */ fixes the 8086:0d0c device not being Unsupported.
However I have no idea how to add those Unsupported PCIe 00:01.0 / 00:01.1 0d01 / 0d05 devices to the code, but I was able to remove the SATA detection which fails at line 194 sata_port_map...in lynxpoint.go by removing most SATA related *.go code.
After that autoport will progress but hang on USB not being correctly detected so I also hacked USB out of *.go files leaving me with half a build which doesn't build... The elephant in the room for this board support is probably adding coreboot memory init support for the soldered RAM config but first things first?
Digging further it seems that inteltool misses crucial regions, which may be the reason the PCIe and USB devices are unsupported detected?
============= MCHBAR ============
Error: Dumping MCHBAR on this northbridge is not (yet) supported.
Error: Unknown PCI id: 8086/0d04
============= EPBAR =============
Error: Dumping EPBAR on this northbridge is not (yet) supported.
============= DMIBAR ============
Error: Dumping DMIBAR on this northbridge is not (yet) supported.
========= PCIEXBAR ========
Error: Dumping PCIEXBAR on this northbridge is not (yet) supported.
With the added logs it is possible to test/build autoport on a other machine using:
./autoport --input_log=mbp114logs --coreboot_dir=../..
Files