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
WS Updated by Walter Sonius 1 day ago ยท Edited
Will try adding 0d0X Desktop/Mobile/Server to inteltool.c/h memory.c and pcie.e and see if that is enough to make ./inteltool and or autoport progress.
Update:
The inteltool with 0c0X replaced with 0d0X does build and does log the missing BAR regions not sure if it is correct.
After commenting SATA from lynxpoint.go at line 194, the autoport scripts now stops because this MacBookPro11,4 doesn't ship with PCIe USB device 00:1a.0 nor 00:1d.0 only 00:14.0. Commenting lines 215/225 won't make it skip.
When removing from lynxpoint.go the whole USB EHCI block lines 291-361 and adding a var nPorts uint to the USB3 XHCI block at old line 369 autoport finishes, see autoport_result_inteltool_cw_0d0X.zip!