This is quite baffling and I have tried the test over and over. If I boot the RC2 DVD then I get all four processor cores available and after install there is no way to boot the system unless I set the variable kern.smp.disabled=1 at the boot loader. The dmesg output from the DVD looks like so : ---<<BOOT>>--- Copyright (c) 1992-2018 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 12.0-RC2 r340839 GENERIC powerpc gcc version 4.2.1 20070831 patched [FreeBSD] VT(ofwfb): resolution 1280x1024 cpu0: IBM PowerPC 970MP revision 1.1, 2500.28 MHz cpu0: Features dc000000<PPC32,PPC64,ALTIVEC,FPU,MMU> cpu0: HID0 1511081<DEEPNAP,NAP,DPM,NHR,TBEN,ENATTN> real memory = 8541921280 (8146 MB) avail memory = 8152719360 (7775 MB) FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs arc4random: no preloaded entropy cache random: entropy device external interface kbd0 at kbdmux0 ofwbus0: <Open Firmware Device Tree> on nexus0 cpulist0: <Open Firmware CPU Group> on ofwbus0 cpu0: <Open Firmware CPU> on cpulist0 pcr0: <PPC 970 Power Control Register> on cpu0 cpu1: <Open Firmware CPU> on cpulist0 pcr1: <PPC 970 Power Control Register> on cpu1 cpu2: <Open Firmware CPU> on cpulist0 pcr2: <PPC 970 Power Control Register> on cpu2 cpu3: <Open Firmware CPU> on cpulist0 pcr3: <PPC 970 Power Control Register> on cpu3 powermac_nvram0: <Apple NVRAM> mem 0xfff04000-0xfff07fff on ofwbus0 powermac_nvram0: bank0 generation 452, bank1 generation 453 unin0: <Apple UniNorth System Controller> mem 0xf8000000-0xf8ffffff on ofwbus0 unin0: Version 66 iichb0: <Keywest I2C controller> mem 0xf8001000-0xf8001fff irq 0 on unin0 iicbus0: <OFW I2C bus> on iichb0 iic0: <I2C generic I/O> on iicbus0 ds17750: <Temp-Monitor DS1775> at addr 0x94 on iicbus0 ds16310: <Temp-Monitor DS1631> at addr 0x96 on iicbus0 max66900: <Temp-Monitor MAX6690> at addr 0x98 on iicbus0 max66901: <Temp-Monitor MAX6690> at addr 0x9c on iicbus0 htpic0: <OpenPIC Interrupt Controller> mem 0xf8040000-0xf807ffff on unin0 pcib0: <IBM CPC945 PCI Express Root> mem 0xf0000000-0xf1ffffff on ofwbus0 pci0: <OFW PCI bus> on pcib0 vgapci0: <VGA-compatible display> mem 0xa1000000-0xa1ffffff,0x90000000-0x9fffffff,0xa0000000-0xa0ffffff irq 3 at device 0.0 on pci0 vgapci0: Boot video device pcib1: <IBM CPC9X5 HyperTransport Tunnel> mem 0xf2000000-0xf47fffff,0xf8070000-0xf8070fff on ofwbus0 pcib1: 86 HT IRQs on device 7.0 pci1: <OFW PCI bus> on pcib1 pcib1: Enabling MSI window for HyperTransport slave at pci1:0:1:0 pcib2: <OFW PCI-PCI bridge> at device 1.0 on pci1 pci2: <OFW PCI bus> on pcib2 pcib3: <OFW PCI-PCI bridge> at device 2.0 on pci1 pci3: <OFW PCI bus> on pcib3 bge0: <Broadcom BCM5714 B3, ASIC rev. 0x008003> mem 0xfa530000-0xfa53ffff,0xfa520000-0xfa52ffff irq 66 at device 4.0 on pci3 bge0: CHIP ID 0x00008003; ASIC REV 0x08; CHIP REV 0x80; PCI-X 33 MHz miibus0: <MII bus> on bge0 brgphy0: <BCM5780 1000BASE-T media interface> PHY 1 on miibus0 brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto, auto-flow bge0: Ethernet address: 00:14:51:64:67:10 bge1: <Broadcom BCM5714 B3, ASIC rev. 0x008003> mem 0xfa510000-0xfa51ffff,0xfa500000-0xfa50ffff irq 67 at device 4.1 on pci3 bge1: CHIP ID 0x00008003; ASIC REV 0x08; CHIP REV 0x80; PCI-X 33 MHz miibus1: <MII bus> on bge1 brgphy1: <BCM5780 1000BASE-T media interface> PHY 1 on miibus1 brgphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto, auto-flow bge1: Ethernet address: 00:14:51:64:67:11 pcib4: <OFW PCI-PCI bridge> at device 3.0 on pci1 pci4: <OFW PCI bus> on pcib4 pcib5: <OFW PCI-PCI bridge> at device 4.0 on pci1 pci5: <OFW PCI bus> on pcib5 pcib6: <OFW PCI-PCI bridge> at device 5.0 on pci1 pci6: <OFW PCI bus> on pcib6 pcib7: <OFW PCI-PCI bridge> at device 6.0 on pci1 pci7: <OFW PCI bus> on pcib7 pcib8: <OFW PCI-PCI bridge> at device 7.0 on pci1 pci8: <OFW PCI bus> on pcib8 gem0: <Apple Shasta GMAC Ethernet> mem 0xfa200000-0xfa3fffff at device 15.0 on pci8 gem0: invalid MAC address device_attach: gem0 attach returned 6 pcib9: <OFW PCI-PCI bridge> at device 8.0 on pci1 pci9: <OFW PCI bus> on pcib9 macio0: <Shasta I/O Controller> mem 0x80000000-0x8007ffff at device 7.0 on pci9 macgpio0: <MacIO GPIO Controller> mem 0x50-0x8a on macio0 scc0: <Zilog Z8530 dual channel SCC> mem 0x13000-0x13fff,0x8400-0x84ff,0x8500-0x85ff,0x8600-0x86ff,0x8700-0x87ff irq 23,17,18,24,19,20 on macio0 uart0: <z8530, channel A> on scc0 uart1: <z8530, channel B> on scc0 iichb1: <Keywest I2C controller> mem 0x18000-0x18fff irq 27 on macio0 iicbus1: <OFW I2C bus> on iichb1 iic1: <I2C generic I/O> on iicbus1 onyx0: <Texas Instruments PCM3052 Audio Codec> at addr 0x8c on iicbus1 iicbus1: <unknown card> at addr 0x24 pcm0: <Apple I2S Audio Controller> mem 0x10000-0x10fff,0x8000-0x80ff,0x8100-0x81ff irq 28,11,12,30,15,16 on macio0 ohci0: <NEC uPD 9210 USB controller> mem 0x80082000-0x80082fff irq 70 at device 11.0 on pci9 usbus0 on ohci0 ohci1: <NEC uPD 9210 USB controller> mem 0x80081000-0x80081fff irq 70 at device 11.1 on pci9 usbus1 on ohci1 ehci0: <NEC uPD 72010x USB 2.0 controller> mem 0x80080000-0x800800ff irq 70 at device 11.2 on pci9 usbus2: EHCI version 1.0 usbus2 on ehci0 pcib10: <OFW PCI-PCI bridge> at device 9.0 on pci1 pci10: <OFW PCI bus> on pcib10 atapci0: <ServerWorks K2 SATA150 controller> mem 0xfa402000-0xfa403fff irq 10 at device 12.0 on pci10 pcib1: failed to reserve resource for pcib10 atapci0: 0x10 bytes of rid 0x20 res 4 failed (0, 0xffffffffffffffff). ata2: <ATA channel> at channel 0 on atapci0 ata3: <ATA channel> at channel 1 on atapci0 ata4: <ATA channel> at channel 2 on atapci0 ata5: <ATA channel> at channel 3 on atapci0 ata0: <Shasta Kauai ATA Controller> mem 0xfa404000-0xfa407fff irq 38,37 at device 13.0 on pci10 fwohci0: <1394 Open Host Controller Interface> mem 0xfa400000-0xfa400fff irq 39 at device 14.0 on pci10 fwohci0: OHCI version 1.0 (ROM=0) fwohci0: No. of Isochronous channels is 8. fwohci0: EUI64 00:11:24:ff:fe:e5:13:d0 fwohci0: invalid speed 7 (fixed to 3). fwohci0: Phy 1394a available S800, 3 ports. fwohci0: Link S800, max_rec 4096 bytes. firewire0: <IEEE1394(FireWire) bus> on fwohci0 fwe0: <Ethernet over FireWire> on firewire0 if_fwe0: Fake Ethernet address: 02:11:24:e5:13:d0 fwe0: Ethernet address: 02:11:24:e5:13:d0 sbp0: <SBP-2/SCSI over FireWire> on firewire0 fwohci0: Initiate bus reset fwohci0: fwohci_intr_core: BUS reset fwohci0: PhysicalUpperBound register is not implemented. Physical memory access is limited to the first 4GB fwohci0: PhysicalUpperBound = 0x00000000 fwohci0: fwohci_intr_core: node_id=0x00000001, SelfID Count=1, CYCLEMASTER mode smu0: <Apple System Management Unit> on ofwbus0 smu0: registered as a time-of-day clock, resolution 0.001000s iichb2: <SMU I2C controller> on smu0 iicbus2: <OFW I2C bus> on iichb2 iic2: <I2C generic I/O> on iicbus2 smusat0: <SMU Satellite Sensors> at addr 0xb0 on iicbus2 smusat1: <SMU Satellite Sensors> at addr 0xb2 on iicbus2 iicbus2: <unknown card> at addr 0xd4 iichb3: <SMU I2C controller> on smu0 iicbus3: <OFW I2C bus> on iichb3 iic3: <I2C generic I/O> on iicbus3 Timecounter "timebase" frequency 33333333 Hz quality 0 Event timer "decrementer" frequency 33333333 Hz quality 1000 Timecounters tick every 1.000 msec firewire0: 2 nodes, maxhop <= 1 cable IRM irm(1) (me) firewire0: bus manager 1 bge0: link state changed to DOWN max66900: 2 sensors detected. max66901: 2 sensors detected. usbus0: 12Mbps Full Speed USB v1.0 usbus1: 12Mbps Full Speed USB v1.0 ugen0.1: <NEC OHCI root HUB> at usbus0 uhub0: <NEC OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0 ugen1.1: <NEC OHCI root HUB> at usbus1 uhub1: <NEC OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1 usbus2: 480Mbps High Speed USB v2.0 ugen2.1: <NEC EHCI root HUB> at usbus2 uhub2: <NEC EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus2 uhub1: 2 ports with 2 removable, self powered uhub0: 3 ports with 3 removable, self powered uhub2: 5 ports with 5 removable, self powered ada0 at ata2 bus 0 scbus0 target 0 lun 0 ada0: <Hitachi HDS725050KLA360 K2ABC20A> ATA-7 SATA 1.x device ada0: Serial Number KRVN23ZAHA5DBD ada0: 150.000MB/s transfers (SATA 1.x, UDMA5, PIO 8192bytes) ada0: 476940MB (976773168 512 byte sectors) cd0 at ata0 bus 0 scbus4 target 0 lun 0 cd0: <HL-DT-ST DVD-RW GWA-4165B C006> Removable CD-ROM SCSI device cd0: Serial Number M0063NE3358 cd0: 66.700MB/s transfers (UDMA4, ATAPI 12bytes, PIO 65534bytes) cd0: 4482MB (2295104 2048 byte sectors) SMP: AP CPU #1 launched SMP: AP CPU #2 launched SMP: AP CPU #3 launched arc4random: no preloaded entropy cache Trying to mount root from cd9660:/dev/iso9660/12_0_RC2_POWERPC64_DVD [ro]... ugen1.2: <Lite-On Technology Corp. USB Multimedia Keyboard> at usbus1 ukbd0 on uhub1 ukbd0: <Lite-On Technology Corp. USB Multimedia Keyboard, class 0/0, rev 1.10/1.04, addr 2> on usbus1 kbd1 at ukbd0 uhid0 on uhub1 uhid0: <Lite-On Technology Corp. USB Multimedia Keyboard, class 0/0, rev 1.10/1.04, addr 2> on usbus1 random: unblocking device. arc4random: no preloaded entropy cache arc4random: no preloaded entropy cache lo0: link state changed to UP Note that all four processor cores are available when I boot the DVD but there seems to be no way to get the same result when I boot from the installed image. After install onto a clean disk ( wiped with dd form the bootable DVD ) the system only boots to a certain point wherein I see the disk information and then it halts or freezes. Fans roar to full maximum noise level and then the machine has to be powered off or unplugged. If I set kern.smp.disabled=1 then it boots normally thus : root@eris:~ # root@eris:~ # uname -aU FreeBSD eris 12.0-RC2 FreeBSD 12.0-RC2 r340839 GENERIC powerpc 1200086 root@eris:~ # uptime 8:29PM up 9 mins, 1 user, load averages: 0.55, 0.52, 0.33 root@eris:~ # root@eris:~ # getconf -a | grep "NPROC" getconf: sysconf: _POSIX_FILE_LOCKING: Invalid argument getconf: sysconf: _POSIX_THREAD_SPORADIC_SERVER: Invalid argument getconf: sysconf: _POSIX_TRACE_EVENT_FILTER: Invalid argument getconf: sysconf: _POSIX_TRACE_INHERIT: Invalid argument getconf: sysconf: _POSIX_TRACE_LOG: Invalid argument getconf: sysconf: _XOPEN_VERSION: Invalid argument NPROCESSORS_CONF: 1 NPROCESSORS_ONLN: 1 root@eris:~ # root@eris:~ # dmesg ---<<BOOT>>--- Copyright (c) 1992-2018 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 12.0-RC2 r340839 GENERIC powerpc gcc version 4.2.1 20070831 patched [FreeBSD] VT(ofwfb): resolution 1280x1024 cpu0: IBM PowerPC 970MP revision 1.1, 2500.30 MHz cpu0: Features dc000000<PPC32,PPC64,ALTIVEC,FPU,MMU> cpu0: HID0 1511081<DEEPNAP,NAP,DPM,NHR,TBEN,ENATTN> real memory = 8542404608 (8146 MB) avail memory = 8152752128 (7775 MB) random: unblocking device. random: entropy device external interface kbd0 at kbdmux0 ofwbus0: <Open Firmware Device Tree> on nexus0 cpulist0: <Open Firmware CPU Group> on ofwbus0 cpu0: <Open Firmware CPU> on cpulist0 pcr0: <PPC 970 Power Control Register> on cpu0 cpu1: <Open Firmware CPU> on cpulist0 pcr1: <PPC 970 Power Control Register> on cpu1 cpu2: <Open Firmware CPU> on cpulist0 pcr2: <PPC 970 Power Control Register> on cpu2 cpu3: <Open Firmware CPU> on cpulist0 pcr3: <PPC 970 Power Control Register> on cpu3 powermac_nvram0: <Apple NVRAM> mem 0xfff04000-0xfff07fff on ofwbus0 powermac_nvram0: bank0 generation 452, bank1 generation 453 unin0: <Apple UniNorth System Controller> mem 0xf8000000-0xf8ffffff on ofwbus0 unin0: Version 66 iichb0: <Keywest I2C controller> mem 0xf8001000-0xf8001fff irq 0 on unin0 iicbus0: <OFW I2C bus> on iichb0 iic0: <I2C generic I/O> on iicbus0 ds17750: <Temp-Monitor DS1775> at addr 0x94 on iicbus0 ds16310: <Temp-Monitor DS1631> at addr 0x96 on iicbus0 max66900: <Temp-Monitor MAX6690> at addr 0x98 on iicbus0 max66901: <Temp-Monitor MAX6690> at addr 0x9c on iicbus0 htpic0: <OpenPIC Interrupt Controller> mem 0xf8040000-0xf807ffff on unin0 pcib0: <IBM CPC945 PCI Express Root> mem 0xf0000000-0xf1ffffff on ofwbus0 pci0: <OFW PCI bus> on pcib0 vgapci0: <VGA-compatible display> mem 0xa1000000-0xa1ffffff,0x90000000-0x9fffffff,0xa0000000-0xa0ffffff irq 3 at device 0.0 on pci0 vgapci0: Boot video device pcib1: <IBM CPC9X5 HyperTransport Tunnel> mem 0xf2000000-0xf47fffff,0xf8070000-0xf8070fff on ofwbus0 pcib1: 86 HT IRQs on device 7.0 pci1: <OFW PCI bus> on pcib1 pcib1: Enabling MSI window for HyperTransport slave at pci1:0:1:0 pcib2: <OFW PCI-PCI bridge> at device 1.0 on pci1 pci2: <OFW PCI bus> on pcib2 pcib3: <OFW PCI-PCI bridge> at device 2.0 on pci1 pci3: <OFW PCI bus> on pcib3 bge0: <Broadcom BCM5714 B3, ASIC rev. 0x008003> mem 0xfa530000-0xfa53ffff,0xfa520000-0xfa52ffff irq 66 at device 4.0 on pci3 bge0: CHIP ID 0x00008003; ASIC REV 0x08; CHIP REV 0x80; PCI-X 33 MHz miibus0: <MII bus> on bge0 brgphy0: <BCM5780 1000BASE-T media interface> PHY 1 on miibus0 brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto, auto-flow bge0: Ethernet address: 00:14:51:64:67:10 bge1: <Broadcom BCM5714 B3, ASIC rev. 0x008003> mem 0xfa510000-0xfa51ffff,0xfa500000-0xfa50ffff irq 67 at device 4.1 on pci3 bge1: CHIP ID 0x00008003; ASIC REV 0x08; CHIP REV 0x80; PCI-X 33 MHz miibus1: <MII bus> on bge1 brgphy1: <BCM5780 1000BASE-T media interface> PHY 1 on miibus1 brgphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto, auto-flow bge1: Ethernet address: 00:14:51:64:67:11 pcib4: <OFW PCI-PCI bridge> at device 3.0 on pci1 pci4: <OFW PCI bus> on pcib4 pcib5: <OFW PCI-PCI bridge> at device 4.0 on pci1 pci5: <OFW PCI bus> on pcib5 pcib6: <OFW PCI-PCI bridge> at device 5.0 on pci1 pci6: <OFW PCI bus> on pcib6 pcib7: <OFW PCI-PCI bridge> at device 6.0 on pci1 pci7: <OFW PCI bus> on pcib7 pcib8: <OFW PCI-PCI bridge> at device 7.0 on pci1 pci8: <OFW PCI bus> on pcib8 gem0: <Apple Shasta GMAC Ethernet> mem 0xfa200000-0xfa3fffff at device 15.0 on pci8 gem0: invalid MAC address device_attach: gem0 attach returned 6 pcib9: <OFW PCI-PCI bridge> at device 8.0 on pci1 pci9: <OFW PCI bus> on pcib9 macio0: <Shasta I/O Controller> mem 0x80000000-0x8007ffff at device 7.0 on pci9 macgpio0: <MacIO GPIO Controller> mem 0x50-0x8a on macio0 scc0: <Zilog Z8530 dual channel SCC> mem 0x13000-0x13fff,0x8400-0x84ff,0x8500-0x85ff,0x8600-0x86ff,0x8700-0x87ff irq 23,17,18,24,19,20 on macio0 uart0: <z8530, channel A> on scc0 uart1: <z8530, channel B> on scc0 iichb1: <Keywest I2C controller> mem 0x18000-0x18fff irq 27 on macio0 iicbus1: <OFW I2C bus> on iichb1 iic1: <I2C generic I/O> on iicbus1 onyx0: <Texas Instruments PCM3052 Audio Codec> at addr 0x8c on iicbus1 iicbus1: <unknown card> at addr 0x24 pcm0: <Apple I2S Audio Controller> mem 0x10000-0x10fff,0x8000-0x80ff,0x8100-0x81ff irq 28,11,12,30,15,16 on macio0 ohci0: <NEC uPD 9210 USB controller> mem 0x80082000-0x80082fff irq 70 at device 11.0 on pci9 usbus0 on ohci0 ohci1: <NEC uPD 9210 USB controller> mem 0x80081000-0x80081fff irq 70 at device 11.1 on pci9 usbus1 on ohci1 ehci0: <NEC uPD 72010x USB 2.0 controller> mem 0x80080000-0x800800ff irq 70 at device 11.2 on pci9 usbus2: EHCI version 1.0 usbus2 on ehci0 pcib10: <OFW PCI-PCI bridge> at device 9.0 on pci1 pci10: <OFW PCI bus> on pcib10 atapci0: <ServerWorks K2 SATA150 controller> mem 0xfa402000-0xfa403fff irq 10 at device 12.0 on pci10 pcib1: failed to reserve resource for pcib10 atapci0: 0x10 bytes of rid 0x20 res 4 failed (0, 0xffffffffffffffff). ata2: <ATA channel> at channel 0 on atapci0 ata3: <ATA channel> at channel 1 on atapci0 ata4: <ATA channel> at channel 2 on atapci0 ata5: <ATA channel> at channel 3 on atapci0 ata0: <Shasta Kauai ATA Controller> mem 0xfa404000-0xfa407fff irq 38,37 at device 13.0 on pci10 fwohci0: <1394 Open Host Controller Interface> mem 0xfa400000-0xfa400fff irq 39 at device 14.0 on pci10 fwohci0: OHCI version 1.0 (ROM=0) fwohci0: No. of Isochronous channels is 8. fwohci0: EUI64 00:11:24:ff:fe:e5:13:d0 fwohci0: invalid speed 7 (fixed to 3). fwohci0: Phy 1394a available S800, 3 ports. fwohci0: Link S800, max_rec 4096 bytes. firewire0: <IEEE1394(FireWire) bus> on fwohci0 fwe0: <Ethernet over FireWire> on firewire0 if_fwe0: Fake Ethernet address: 02:11:24:e5:13:d0 fwe0: Ethernet address: 02:11:24:e5:13:d0 sbp0: <SBP-2/SCSI over FireWire> on firewire0 fwohci0: Initiate bus reset fwohci0: fwohci_intr_core: BUS reset fwohci0: PhysicalUpperBound register is not implemented. Physical memory access is limited to the first 4GB fwohci0: PhysicalUpperBound = 0x00000000 fwohci0: fwohci_intr_core: node_id=0x00000001, SelfID Count=1, CYCLEMASTER mode smu0: <Apple System Management Unit> on ofwbus0 smu0: registered as a time-of-day clock, resolution 0.001000s iichb2: <SMU I2C controller> on smu0 iicbus2: <OFW I2C bus> on iichb2 iic2: <I2C generic I/O> on iicbus2 smusat0: <SMU Satellite Sensors> at addr 0xb0 on iicbus2 smusat1: <SMU Satellite Sensors> at addr 0xb2 on iicbus2 iicbus2: <unknown card> at addr 0xd4 iichb3: <SMU I2C controller> on smu0 iicbus3: <OFW I2C bus> on iichb3 iic3: <I2C generic I/O> on iicbus3 Timecounter "timebase" frequency 33333333 Hz quality 0 Event timer "decrementer" frequency 33333333 Hz quality 1000 Timecounters tick every 1.000 msec firewire0: 2 nodes, maxhop <= 1 cable IRM irm(1) (me) firewire0: bus manager 1 bge0: link state changed to UP max66900: 2 sensors detected. max66901: 2 sensors detected. usbus0: 12Mbps Full Speed USB v1.0 usbus1: 12Mbps Full Speed USB v1.0 ugen0.1: <NEC OHCI root HUB> at usbus0 uhub0: <NEC OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0 ugen1.1: <NEC OHCI root HUB> at usbus1 uhub1: <NEC OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1 usbus2: 480Mbps High Speed USB v2.0 ugen2.1: <NEC EHCI root HUB> at usbus2 uhub2: <NEC EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus2 uhub1: 2 ports with 2 removable, self powered uhub0: 3 ports with 3 removable, self powered uhub2: 5 ports with 5 removable, self powered ada0 at ata2 bus 0 scbus0 target 0 lun 0 ada0: <Hitachi HDS725050KLA360 K2ABC20A> ATA-7 SATA 1.x device ada0: Serial Number KRVN23ZAHA5DBD ada0: 150.000MB/s transfers (SATA 1.x, UDMA5, PIO 8192bytes) ada0: 476940MB (976773168 512 byte sectors) Trying to mount root from ufs:/dev/ada0s3 [rw]... cd0 at ata0 bus 0 scbus4 target 0 lun 0 cd0: <HL-DT-ST DVD-RW GWA-4165B C006> Removable CD-ROM SCSI device cd0: Serial Number M0063NE3358 cd0: 66.700MB/s transfers (UDMA4, ATAPI 12bytes, PIO 65534bytes) cd0: 4482MB (2295104 2048 byte sectors) ugen1.2: <Lite-On Technology Corp. USB Multimedia Keyboard> at usbus1 ukbd0 on uhub1 ukbd0: <Lite-On Technology Corp. USB Multimedia Keyboard, class 0/0, rev 1.10/1.04, addr 2> on usbus1 kbd1 at ukbd0 uhid0 on uhub1 uhid0: <Lite-On Technology Corp. USB Multimedia Keyboard, class 0/0, rev 1.10/1.04, addr 2> on usbus1 lo0: link state changed to UP bge0: link state changed to DOWN bge0: link state changed to UP Security policy loaded: MAC/ntpd (mac_ntpd) module_register: cannot register gem/miibus from if_gem.ko; already loaded from kernel Module gem/miibus failed to register: 17 module_register: cannot register pci/gem from if_gem.ko; already loaded from kernel Module pci/gem failed to register: 17 root@eris:~ # Note this is a fresh install : root@eris:~ # root@eris:~ # last admsys pts/0 172.16.35.3 Tue Nov 27 20:28 still logged in boot time Tue Nov 27 20:21 utx.log begins Tue Nov 27 20:21:07 UTC 2018 root@eris:~ #
Seems to affect RC3 also and even the install dvd image won't allow more than a single cpu core to work.
This is a continuously moving target and there is no sense in talking about RC2 given that RC3 displays the same problem. I can say the bug is reported but I suspect there is no way to progress other than to start at current head and work backwards on changes done since RC1 which ran fine.
Well here is an update after talking with Justin Hibbits. The idea on the table was to try a boot with usefdt=1 which : ... forces the loader to generate a device tree from the openfirmware tree, and never call into open firmware from the kernel Sound reasonable. System boots and runs just fine : eris# eris# setenv LINES '43' eris# setenv COLUMNS '132' eris# setenv TERM vt100 eris# eris# uname -aU FreeBSD eris 12.0-RC3 FreeBSD 12.0-RC3 r341271 GENERIC powerpc 1200086 eris# uptime 9:07PM up 3 mins, 1 user, load averages: 0.14, 0.19, 0.08 eris# sysctl hw.ncpu hw.ncpu: 4 eris# getconf -a | grep 'NPROC' getconf: sysconf: _POSIX_FILE_LOCKING: Invalid argument getconf: sysconf: _POSIX_THREAD_SPORADIC_SERVER: Invalid argument getconf: sysconf: _POSIX_TRACE_EVENT_FILTER: Invalid argument getconf: sysconf: _POSIX_TRACE_INHERIT: Invalid argument getconf: sysconf: _POSIX_TRACE_LOG: Invalid argument getconf: sysconf: _XOPEN_VERSION: Invalid argument NPROCESSORS_CONF: 4 NPROCESSORS_ONLN: 4 eris# dmesg ---<<BOOT>>--- Copyright (c) 1992-2018 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 12.0-RC3 r341271 GENERIC powerpc gcc version 4.2.1 20070831 patched [FreeBSD] VT(ofwfb): resolution 1280x1024 Preloaded elf kernel "/boot/kernel/kernel" at 0x1be3000. Preloaded boot_entropy_cache "/boot/entropy" at 0x1be3ed8. cpu0: IBM PowerPC 970MP revision 1.1, 2500.38 MHz cpu0: Features dc000000<PPC32,PPC64,ALTIVEC,FPU,MMU> cpu0: HID0 1511081<DEEPNAP,NAP,DPM,NHR,TBEN,ENATTN> real memory = 8542404608 (8146 MB) available KVA = 34359590911 (32767 MB) Physical memory chunk(s): 0x0000000000025000 - 0x00000000000fffff, 897024 bytes (219 pages) 0x0000000001c61000 - 0x0000000002bfffff, 16379904 bytes (3999 pages) 0x000000000524e000 - 0x0000000007ffffff, 47915008 bytes (11698 pages) 0x0000000010000000 - 0x000000007f5effff, 1868496896 bytes (456176 pages) 0x0000000100000000 - 0x000000027490afff, 6250606592 bytes (1526027 pages) avail memory = 8152752128 (7775 MB) FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs cpu0: dev=ff89d680 (BSP) cpu1: dev=ff89eb70 cpu2: dev=ff89f248 cpu3: dev=ff89f920 random: read 3840 bytes from preloaded cache random: unblocking device. arc4random: read 32 bytes from preloaded cache VIMAGE (virtualized network stack) enabled ULE: setup cpu 0 ULE: setup cpu 1 ULE: setup cpu 2 ULE: setup cpu 3 snd_unit_init() u=0x00ff8000 [512] d=0x00007c00 [32] c=0x000003ff [1024] feeder_register: snd_unit=-1 snd_maxautovchans=16 latency=5 feeder_rate_min=1 feeder_rate_max=2016000 feeder_rate_round=25 firmware: 't5fw_cfg' version 0: 6030 bytes loaded at 0x114a270 firmware: 't5fw_cfg_uwire' version 0: 21942 bytes loaded at 0x114b9fe firmware: 't5fw' version 0: 651776 bytes loaded at 0x1150fb4 random: entropy device external interface firmware: 't6fw_cfg' version 0: 6047 bytes loaded at 0x11f01d0 firmware: 't6fw_cfg_uwire' version 0: 21908 bytes loaded at 0x11f196f firmware: 't6fw' version 0: 698368 bytes loaded at 0x11f6f03 firmware: 't4fw_cfg' version 0: 4651 bytes loaded at 0x10bc80c firmware: 't4fw_cfg_uwire' version 0: 21532 bytes loaded at 0x10bda37 firmware: 't4fw' version 0: 553984 bytes loaded at 0x10c2e53 firmware: 'isp_1040' version 1: 22944 bytes loaded at 0xe7c000 firmware: 'isp_1080' version 1: 31350 bytes loaded at 0xe819a0 firmware: 'isp_12160' version 1: 28050 bytes loaded at 0xe89416 firmware: 'isp_2100' version 1: 76770 bytes loaded at 0xe901a8 firmware: 'isp_2200' version 1: 84566 bytes loaded at 0xea2d8a firmware: 'isp_2300' version 1: 125252 bytes loaded at 0xeb77e0 firmware: 'isp_2322' version 1: 120814 bytes loaded at 0xed6124 firmware: 'isp_2400' version 1: 204396 bytes loaded at 0xef748c firmware: 'isp_2500' version 1: 218712 bytes loaded at 0xf380e0 nfslock: pseudo-device kbd0 at kbdmux0 mem: <memory> null: <full device, null device, zero device> openfirm: <Open Firmware control device> ofwbus0: <Open Firmware Device Tree> on nexus0 ofwbus0: Malformed reg property on <smu> cpulist0: <Open Firmware CPU Group> on ofwbus0 cpu0: <Open Firmware CPU> on cpulist0 cpu0: Nominal frequency 2500Mhz pcr0: <PPC 970 Power Control Register> on cpu0 cpu1: <Open Firmware CPU> on cpulist0 cpu1: Nominal frequency 2500Mhz pcr1: <PPC 970 Power Control Register> on cpu1 cpu2: <Open Firmware CPU> on cpulist0 cpu2: Nominal frequency 2500Mhz pcr2: <PPC 970 Power Control Register> on cpu2 cpu3: <Open Firmware CPU> on cpulist0 cpu3: Nominal frequency 2500Mhz pcr3: <PPC 970 Power Control Register> on cpu3 powermac_nvram0: <Apple NVRAM> mem 0xfff04000-0xfff07fff on ofwbus0 powermac_nvram0: bank0 generation 452, bank1 generation 453 unin0: <Apple UniNorth System Controller> mem 0xf8000000-0xf8ffffff on ofwbus0 unin0: Version 66 iichb0: <Keywest I2C controller> mem 0xf8001000-0xf8001fff irq 0 on unin0 unin mapdev: start f8001000, len 4095 iichb0: Revision: A2 iicbus0: <OFW I2C bus> on iichb0 iic0: <I2C generic I/O> on iicbus0 ds17750: <Temp-Monitor DS1775> at addr 0x94 on iicbus0 ds16310: <Temp-Monitor DS1631> at addr 0x96 on iicbus0 max66900: <Temp-Monitor MAX6690> at addr 0x98 on iicbus0 max66901: <Temp-Monitor MAX6690> at addr 0x9c on iicbus0 unin0: <dart, dart> mem 0xf8033000-0xf803bfff (no driver attached) htpic0: <OpenPIC Interrupt Controller> mem 0xf8040000-0xf807ffff on unin0 unin mapdev: start f8040000, len 262143 htpic0: Version 1.2, supports 4 CPUs and 124 irqs pcib0: <IBM CPC945 PCI Express Root> mem 0xf0000000-0xf1ffffff on ofwbus0 pci0: <OFW PCI bus> on pcib0 pci0: domain=0, physical bus=10 found-> vendor=0x10de, dev=0x0141, revid=0xa2 domain=0, bus=10, slot=0, func=0 class=03-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=0 powerspec 2 supports D0 D3 current D0 MSI supports 1 message, 64 bit map[10]: type Memory, range 32, base rxa1000000, size 24, enabled map[14]: type Prefetchable Memory, range 64, base rx90000000, size 28, enabled map[1c]: type Memory, range 64, base rxa0000000, size 24, enabled vgapci0: <VGA-compatible display> mem 0xa1000000-0xa1ffffff,0x90000000-0x9fffffff,0xa0000000-0xa0ffffff irq 3 at device 0.0 on pci0 vgapci0: Boot video device pcib1: <IBM CPC9X5 HyperTransport Tunnel> mem 0xf2000000-0xf47fffff,0xf8070000-0xf8070fff on ofwbus0 pcib1: 86 HT IRQs on device 7.0 pci1: <OFW PCI bus> on pcib1 pci1: domain=1, physical bus=0 pcib1: Enabling MSI window for HyperTransport slave at pci1:0:1:0 found-> vendor=0x1166, dev=0x0130, revid=0xa3 domain=1, bus=0, slot=1, func=0 class=06-04-00, hdrtype=0x01, mfdev=0 cmdreg=0x0107, statreg=0x0010, cachelnsz=0 (dwords) lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x1166, dev=0x0130, revid=0xa3 domain=1, bus=0, slot=2, func=0 class=06-04-00, hdrtype=0x01, mfdev=0 cmdreg=0x0107, statreg=0x0010, cachelnsz=0 (dwords) lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x1166, dev=0x0132, revid=0xa3 domain=1, bus=0, slot=3, func=0 class=06-04-00, hdrtype=0x01, mfdev=0 cmdreg=0x0107, statreg=0x0010, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x1166, dev=0x0132, revid=0xa3 domain=1, bus=0, slot=4, func=0 class=06-04-00, hdrtype=0x01, mfdev=0 cmdreg=0x0107, statreg=0x0010, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x1166, dev=0x0132, revid=0xa3 domain=1, bus=0, slot=5, func=0 class=06-04-00, hdrtype=0x01, mfdev=0 cmdreg=0x0107, statreg=0x0010, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x1166, dev=0x0132, revid=0xa3 domain=1, bus=0, slot=6, func=0 class=06-04-00, hdrtype=0x01, mfdev=0 cmdreg=0x0107, statreg=0x0010, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x106b, dev=0x0053, revid=0x00 domain=1, bus=0, slot=7, func=0 class=06-04-00, hdrtype=0x01, mfdev=0 cmdreg=0x0107, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x106b, dev=0x0054, revid=0x00 domain=1, bus=0, slot=8, func=0 class=06-04-00, hdrtype=0x01, mfdev=0 cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x106b, dev=0x0055, revid=0x00 domain=1, bus=0, slot=9, func=0 class=06-04-00, hdrtype=0x01, mfdev=0 cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) pcib2: <OFW PCI-PCI bridge> at device 1.0 on pci1 pcib2: domain 1 pcib2: secondary bus 4 pcib2: subordinate bus 4 pci2: <OFW PCI bus> on pcib2 pci2: domain=1, physical bus=4 pcib3: <OFW PCI-PCI bridge> at device 2.0 on pci1 pcib3: domain 1 pcib3: secondary bus 5 pcib3: subordinate bus 5 pcib3: memory decode 0xfa500000-0xfa5fffff pci3: <OFW PCI bus> on pcib3 pci3: domain=1, physical bus=5 found-> vendor=0x14e4, dev=0x166a, revid=0x03 domain=1, bus=5, slot=4, func=0 class=02-00-00, hdrtype=0x00, mfdev=1 cmdreg=0x0006, statreg=0x02b0, cachelnsz=16 (dwords) lattimer=0x10 (480 ns), mingnt=0x40 (16000 ns), maxlat=0x00 (0 ns) intpin=a, irq=0 powerspec 2 supports D0 D3 current D0 MSI supports 8 messages, 64 bit map[10]: type Memory, range 64, base rxfa530000, size 16, enabled pcib3: allocated memory range (0xfa530000-0xfa53ffff) for rid 10 of pci1:5:4:0 map[18]: type Memory, range 64, base rxfa520000, size 16, enabled pcib3: allocated memory range (0xfa520000-0xfa52ffff) for rid 18 of pci1:5:4:0 found-> vendor=0x14e4, dev=0x166a, revid=0x03 domain=1, bus=5, slot=4, func=1 class=02-00-00, hdrtype=0x00, mfdev=1 cmdreg=0x0006, statreg=0x02b0, cachelnsz=16 (dwords) lattimer=0x10 (480 ns), mingnt=0x40 (16000 ns), maxlat=0x00 (0 ns) intpin=b, irq=0 powerspec 2 supports D0 D3 current D0 MSI supports 8 messages, 64 bit map[10]: type Memory, range 64, base rxfa510000, size 16, enabled pcib3: allocated memory range (0xfa510000-0xfa51ffff) for rid 10 of pci1:5:4:1 map[18]: type Memory, range 64, base rxfa500000, size 16, enabled pcib3: allocated memory range (0xfa500000-0xfa50ffff) for rid 18 of pci1:5:4:1 bge0: <Broadcom BCM5714 B3, ASIC rev. 0x008003> mem 0xfa530000-0xfa53ffff,0xfa520000-0xfa52ffff irq 66 at device 4.0 on pci3 ofw_pci mapdev: start fa530000, len 65536 bge0: attempting to allocate 1 MSI vectors (8 supported) bge0: using IRQ 8 for MSI bge0: CHIP ID 0x00008003; ASIC REV 0x08; CHIP REV 0x80; PCI-X 33 MHz bge0: NVRAM lock timedout! miibus0: <MII bus> on bge0 brgphy0: <BCM5780 1000BASE-T media interface> PHY 1 on miibus0 brgphy0: OUI 0x001018, model 0x0035, rev. 0 brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto, auto-flow bge0: bpf attached bge0: Ethernet address: 00:14:51:64:67:10 bge1: <Broadcom BCM5714 B3, ASIC rev. 0x008003> mem 0xfa510000-0xfa51ffff,0xfa500000-0xfa50ffff irq 67 at device 4.1 on pci3 ofw_pci mapdev: start fa510000, len 65536 bge1: attempting to allocate 1 MSI vectors (8 supported) bge1: using IRQ 9 for MSI bge1: CHIP ID 0x00008003; ASIC REV 0x08; CHIP REV 0x80; PCI-X 33 MHz bge1: NVRAM lock timedout! miibus1: <MII bus> on bge1 brgphy1: <BCM5780 1000BASE-T media interface> PHY 1 on miibus1 brgphy1: OUI 0x001018, model 0x0035, rev. 0 brgphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto, auto-flow bge1: bpf attached bge1: Ethernet address: 00:14:51:64:67:11 pcib4: <OFW PCI-PCI bridge> at device 3.0 on pci1 pcib4: domain 1 pcib4: secondary bus 6 pcib4: subordinate bus 6 pci4: <OFW PCI bus> on pcib4 pci4: domain=1, physical bus=6 pcib5: <OFW PCI-PCI bridge> at device 4.0 on pci1 pcib5: domain 1 pcib5: secondary bus 7 pcib5: subordinate bus 7 pci5: <OFW PCI bus> on pcib5 pci5: domain=1, physical bus=7 pcib6: <OFW PCI-PCI bridge> at device 5.0 on pci1 pcib6: domain 1 pcib6: secondary bus 8 pcib6: subordinate bus 8 pci6: <OFW PCI bus> on pcib6 pci6: domain=1, physical bus=8 pcib7: <OFW PCI-PCI bridge> at device 6.0 on pci1 pcib7: domain 1 pcib7: secondary bus 9 pcib7: subordinate bus 9 pci7: <OFW PCI bus> on pcib7 pci7: domain=1, physical bus=9 pcib8: <OFW PCI-PCI bridge> at device 7.0 on pci1 pcib8: domain 1 pcib8: secondary bus 2 pcib8: subordinate bus 2 pcib8: memory decode 0xfa000000-0xfa3fffff pci8: <OFW PCI bus> on pcib8 pci8: domain=1, physical bus=2 found-> vendor=0x106b, dev=0x0051, revid=0x00 domain=1, bus=2, slot=15, func=0 class=02-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0004, statreg=0x84a0, cachelnsz=16 (dwords) lattimer=0x10 (480 ns), mingnt=0x40 (16000 ns), maxlat=0x40 (16000 ns) intpin=a, irq=255 map[10]: type Memory, range 32, base rxfa200000, size 21, memory disabled pcib8: allocated memory range (0xfa200000-0xfa3fffff) for rid 10 of pci1:2:15:0 gem0: <Apple Shasta GMAC Ethernet> mem 0xfa200000-0xfa3fffff at device 15.0 on pci8 pcib8: slot 15 INTA is routed to irq 4 ofw_pci mapdev: start fa200000, len 2097152 gem0: invalid MAC address device_attach: gem0 attach returned 6 pcib9: <OFW PCI-PCI bridge> at device 8.0 on pci1 pcib9: domain 1 pcib9: secondary bus 1 pcib9: subordinate bus 1 pcib9: memory decode 0x80000000-0x800fffff pci9: <OFW PCI bus> on pcib9 pci9: domain=1, physical bus=1 found-> vendor=0x106b, dev=0x004f, revid=0x00 domain=1, bus=1, slot=7, func=0 class=ff-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0200, cachelnsz=16 (dwords) lattimer=0x10 (480 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) map[10]: type Memory, range 32, base rx80000000, size 19, enabled pcib9: allocated memory range (0x80000000-0x8007ffff) for rid 10 of pci1:1:7:0 found-> vendor=0x1033, dev=0x0035, revid=0x43 domain=1, bus=1, slot=11, func=0 class=0c-03-10, hdrtype=0x00, mfdev=1 cmdreg=0x0000, statreg=0x0210, cachelnsz=16 (dwords) lattimer=0x10 (480 ns), mingnt=0x01 (250 ns), maxlat=0x2a (10500 ns) intpin=a, irq=0 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type Memory, range 32, base rx80082000, size 12, memory disabled pcib9: allocated memory range (0x80082000-0x80082fff) for rid 10 of pci1:1:11:0 found-> vendor=0x1033, dev=0x0035, revid=0x43 domain=1, bus=1, slot=11, func=1 class=0c-03-10, hdrtype=0x00, mfdev=0 cmdreg=0x0000, statreg=0x0210, cachelnsz=16 (dwords) lattimer=0x10 (480 ns), mingnt=0x01 (250 ns), maxlat=0x2a (10500 ns) intpin=b, irq=0 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type Memory, range 32, base rx80081000, size 12, memory disabled pcib9: allocated memory range (0x80081000-0x80081fff) for rid 10 of pci1:1:11:1 found-> vendor=0x1033, dev=0x00e0, revid=0x04 domain=1, bus=1, slot=11, func=2 class=0c-03-20, hdrtype=0x00, mfdev=0 cmdreg=0x0004, statreg=0x0210, cachelnsz=16 (dwords) lattimer=0x10 (480 ns), mingnt=0x10 (4000 ns), maxlat=0x22 (8500 ns) intpin=c, irq=0 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type Memory, range 32, base rx80080000, size 8, memory disabled pcib9: allocated memory range (0x80080000-0x800800ff) for rid 10 of pci1:1:11:2 macio0: <Shasta I/O Controller> mem 0x80000000-0x8007ffff at device 7.0 on pci9 ofw_pci mapdev: start 80000000, len 524288 macgpio0: <MacIO GPIO Controller> mem 0x50-0x8a on macio0 macgpio0: <gpio, smu-interrupt> gpio 13 irq 48 (no driver attached) macgpio0: <gpio, programmer-switch> gpio 12 irq 47 (no driver attached) macgpio0: <gpio, chip-fault> gpio 14 irq 49 (no driver attached) macgpio0: <gpio, slewing-done> gpio 56 irq 91 (no driver attached) macgpio0: <gpio, mlb-good> gpio 19 (no driver attached) macgpio0: <gpio, vdnap0> gpio 20 (no driver attached) macgpio0: <gpio, timebase-enable> gpio 38 irq 73 (no driver attached) macgpio0: <gpio, dig-hw-reset-c> gpio 9 (no driver attached) macgpio0: <gpio, codec-error-irq> gpio 50 irq 85 (no driver attached) macgpio0: <gpio, codec-clock-mux> gpio 49 (no driver attached) macgpio0: <gpio, linein-detect> gpio 42 irq 77 (no driver attached) scc0: <Zilog Z8530 dual channel SCC> mem 0x13000-0x13fff,0x8400-0x84ff,0x8500-0x85ff,0x8600-0x86ff,0x8700-0x87ff irq 23,17,18,24,19,20 on macio0 scc0: resetting hardware uart0: <z8530, channel A> on scc0 uart0: fast interrupt uart0: PPS capture mode: DCD uart1: <z8530, channel B> on scc0 uart1: fast interrupt uart1: PPS capture mode: DCD scc0: fast interrupt iichb1: <Keywest I2C controller> mem 0x18000-0x18fff irq 27 on macio0 iichb1: Revision: A1 iicbus1: <OFW I2C bus> on iichb1 iic1: <I2C generic I/O> on iicbus1 onyx0: <Texas Instruments PCM3052 Audio Codec> at addr 0x8c on iicbus1 iicbus1: <unknown card> at addr 0x24 pcm0: <Apple I2S Audio Controller> mem 0x10000-0x10fff,0x8000-0x80ff,0x8100-0x81ff irq 28,11,12,30,15,16 on macio0 ohci0: <NEC uPD 9210 USB controller> mem 0x80082000-0x80082fff irq 70 at device 11.0 on pci9 ofw_pci mapdev: start 80082000, len 4096 usbus0 on ohci0 ohci0: usbpf: Attached ohci1: <NEC uPD 9210 USB controller> mem 0x80081000-0x80081fff irq 70 at device 11.1 on pci9 ofw_pci mapdev: start 80081000, len 4096 usbus1 on ohci1 ohci1: usbpf: Attached ehci0: <NEC uPD 72010x USB 2.0 controller> mem 0x80080000-0x800800ff irq 70 at device 11.2 on pci9 ofw_pci mapdev: start 80080000, len 256 usbus2: EHCI version 1.0 usbus2 on ehci0 ehci0: usbpf: Attached pcib10: <OFW PCI-PCI bridge> at device 9.0 on pci1 pcib10: domain 1 pcib10: secondary bus 3 pcib10: subordinate bus 3 pcib10: memory decode 0xfa400000-0xfa4fffff pci10: <OFW PCI bus> on pcib10 pci10: domain=1, physical bus=3 found-> vendor=0x1166, dev=0x0240, revid=0x00 domain=1, bus=3, slot=12, func=0 class=01-01-8f, hdrtype=0x00, mfdev=1 cmdreg=0x0006, statreg=0x0220, cachelnsz=0 (dwords) lattimer=0x10 (480 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) map[10]: type I/O Port, range 32, base r, size 3, port disabled map[14]: type I/O Port, range 32, base r, size 2, port disabled map[18]: type I/O Port, range 32, base r, size 3, port disabled map[1c]: type I/O Port, range 32, base r, size 2, port disabled map[20]: type I/O Port, range 32, base r, size 4, port disabled map[24]: type Memory, range 32, base rxfa402000, size 13, enabled pcib10: allocated memory range (0xfa402000-0xfa403fff) for rid 24 of pci1:3:12:0 found-> vendor=0x106b, dev=0x0050, revid=0x00 domain=1, bus=3, slot=13, func=0 class=ff-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0004, statreg=0x8200, cachelnsz=16 (dwords) lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) map[10]: type Memory, range 32, base rxfa404000, size 14, memory disabled pcib10: allocated memory range (0xfa404000-0xfa407fff) for rid 10 of pci1:3:13:0 found-> vendor=0x106b, dev=0x0052, revid=0x00 domain=1, bus=3, slot=14, func=0 class=0c-00-10, hdrtype=0x00, mfdev=0 cmdreg=0x0000, statreg=0x0290, cachelnsz=16 (dwords) lattimer=0xf8 (7440 ns), mingnt=0x0c (3000 ns), maxlat=0x18 (6000 ns) intpin=a, irq=0 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type Memory, range 32, base rxfa400000, size 12, memory disabled pcib10: allocated memory range (0xfa400000-0xfa400fff) for rid 10 of pci1:3:14:0 atapci0: <ServerWorks K2 SATA150 controller> mem 0xfa402000-0xfa403fff irq 10 at device 12.0 on pci10 pcib1: failed to reserve resource for pcib10 pcib10: failed to allocate initial I/O port window (0-0xffffffff,0x10) atapci0: 0x10 bytes of rid 0x20 res 4 failed (0, 0xffffffffffffffff). ofw_pci mapdev: start fa402000, len 8192 ata2: <ATA channel> at channel 0 on atapci0 ata3: <ATA channel> at channel 1 on atapci0 ata4: <ATA channel> at channel 2 on atapci0 ata5: <ATA channel> at channel 3 on atapci0 ata0: <Shasta Kauai ATA Controller> mem 0xfa404000-0xfa407fff irq 38,37 at device 13.0 on pci10 ofw_pci mapdev: start fa404000, len 16384 fwohci0: vendor=106b, dev=52 fwohci0: vendor=106b, dev=52 fwohci0: <1394 Open Host Controller Interface> mem 0xfa400000-0xfa400fff irq 39 at device 14.0 on pci10 ofw_pci mapdev: start fa400000, len 4096 fwohci0: OHCI version 1.0 (ROM=0) fwohci0: No. of Isochronous channels is 8. fwohci0: EUI64 00:11:24:ff:fe:e5:13:d0 fwohci0: invalid speed 7 (fixed to 3). fwohci0: Phy 1394a available S800, 3 ports. fwohci0: Link S800, max_rec 4096 bytes. firewire0: <IEEE1394(FireWire) bus> on fwohci0 fwe0: <Ethernet over FireWire> on firewire0 if_fwe0: Fake Ethernet address: 02:11:24:e5:13:d0 fwe0: bpf attached fwe0: Ethernet address: 02:11:24:e5:13:d0 sbp0: <SBP-2/SCSI over FireWire> on firewire0 fwohci0: Initiate bus reset fwohci0: fwohci_intr_core: BUS reset fwohci0: PhysicalUpperBound register is not implemented. Physical memory access is limited to the first 4GB fwohci0: PhysicalUpperBound = 0x00000000 fwohci0: fwohci_intr_core: node_id=0x00000001, SelfID Count=1, CYCLEMASTER mode smu0: <Apple System Management Unit> on ofwbus0 smu0: Fan: DRIVE BAY A INTAKE type: 0 smu0: Fan: BACKSIDE type: 0 smu0: Fan: CPU A INTAKE type: 0 smu0: Fan: CPU B INTAKE type: 0 smu0: Fan: CPU A EXHAUST type: 0 smu0: Fan: CPU B EXHAUST type: 0 smu0: Fan: CPU A PUMP type: 0 smu0: Fan: EXPANSION SLOTS INTAKE type: 0 smu0: registered as a time-of-day clock, resolution 0.001000s iichb2: <SMU I2C controller> on smu0 iicbus2: <OFW I2C bus> on iichb2 iic2: <I2C generic I/O> on iicbus2 smusat0: <SMU Satellite Sensors> at addr 0xb0 on iicbus2 smusat1: <SMU Satellite Sensors> at addr 0xb2 on iicbus2 iicbus2: <unknown card> at addr 0xd4 iichb3: <SMU I2C controller> on smu0 iicbus3: <OFW I2C bus> on iichb3 iic3: <I2C generic I/O> on iicbus3 procfs registered Timecounter "timebase" frequency 33333333 Hz quality 0 Event timer "decrementer" frequency 33333333 Hz quality 1000 Timecounters tick every 1.000 msec vlan: initialized, using hash tables with chaining firewire0: 2 nodes, maxhop <= 1 cable IRM irm(1) (me) firewire0: bus manager 1 bge0: link state changed to UP usbus0: 12Mbps Full Speed USB v1.0 usbus1: 12Mbps Full Speed USB v1.0 lo0: bpf attached arc4random: read 32 bytes from preloaded cache arc4random: read 32 bytes from preloaded cache arc4random: read 32 bytes from preloaded cache tcp_init: net.inet.tcp.tcbhashsize auto tuned to 65536 max66900: 2 sensors detected. max66900: Sensors max66900: Location : BACKSIDE ID: 6 max66900: Location : KODIAK DIODE ID: 7 max66901: 2 sensors detected. max66901: Sensors max66901: Location : TUNNEL ID: 1 max66901: Location : TUNNEL HEATSINK ID: 2 ugen1.1: <NEC OHCI root HUB> at usbus1 uhub0: <NEC OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1 ugen0.1: <NEC OHCI root HUB> at usbus0 uhub1: <NEC OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0 usbus2: 480Mbps High Speed USB v2.0 ata2: hard reset ... ugen2.1: <NEC EHCI root HUB> at usbus2 uhub2: <NEC EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus2 ata2: SATA connect time=10ms status=00000113 ata2: reset tp1 mask=01 ostat0=50 ostat1=00 ata2: stat0=0x50 err=0x01 lsb=0x00 msb=0x00 ata2: reset tp2 stat0=50 stat1=00 devices=0x1 ata3: hard reset ... ata3: SATA connect time=0ms status=00000113 ata3: reset tp1 mask=01 ostat0=d0 ostat1=00 ata3: stat0=0x50 err=0x01 lsb=0x00 msb=0x00 ata3: reset tp2 stat0=50 stat1=00 devices=0x1 uhub0: 2 ports with 2 removable, self powered ata4: hard reset ... uhub1: 3 ports with 3 removable, self powered ata4: SATA connect timeout status=00000000 ata5: hard reset ... ata5: SATA connect timeout status=00000000 ata0: reset tp1 mask=03 ostat0=00 ostat1=00 ata0: stat0=0x00 err=0x01 lsb=0x14 msb=0xeb ata0: stat1=0x00 err=0x00 lsb=0x00 msb=0x00 ata0: reset tp2 stat0=00 stat1=00 devices=0x10000 pcm0: Mixer "vol": uhub2: 5 ports with 5 removable, self powered ada0 at ata2 bus 0 scbus0 target 0 lun 0 ada0: <Hitachi HDS725050KLA360 K2ABC20A> ATA-7 SATA 1.x device ada0: Serial Number KRVN23ZAHA5DBD ada0: 150.000MB/s transfers (SATA 1.x, UDMA5, PIO 8192bytes) ada0: 476940MB (976773168 512 byte sectors) GEOM: new disk cd0 GEOM: new disk ada0 ada1 at ata3 bus 0 scbus1 target 0 lun 0 ada1: <ST3250823AS 3.03> ATA-7 SATA 1.x device ada1: Serial Number 5ND1HQX1 ada1: 150.000MB/s transfers (SATA 1.x, UDMA5, PIO 8192bytes) ada1: 238475MB (488397168 512 byte sectors) pass0 at ata2 bus 0 scbus0 target 0 lun 0 pass0: <Hitachi HDS725050KLA360 K2ABC20A> ATA-7 SATA 1.x device pass0: Serial Number KRVN23ZAHA5DBD cd0 at ata0 bus 0 scbus4 target 0 lun 0 cd0: <HL-DT-ST DVD-RW GWA-4165B C006> Removable CD-ROM SCSI device cd0: Serial Number M0063NE3358 cd0: 66.700MB/s transfers (UDMA4, ATAPI 12bytes, PIO 65534bytes) cd0: 4482MB (2295104 2048 byte sectors) pass0: 150.000MB/s transfers (SATA 1.x, UDMA5, PIO 8192bytes) pass1 at ata3 bus 0 scbus1 target 0 lun 0 pass1: <ST3250823AS 3.03> ATA-7 SATA 1.x device pass1: Serial Number 5ND1HQX1 pass1: 150.000MB/s transfers (SATA 1.x, UDMA5, PIO 8192bytes) pass2 at ata0 bus 0 scbus4 target 0 lun 0 pass2: <HL-DT-ST DVD-RW GWA-4165B C006> Removable CD-ROM SCSI device pass2: Serial Number M0063NE3358 pass2: 66.700MB/s transfers (UDMA4, ATAPI 12bytes, PIO 65534bytes) ugen1.2: <Lite-On Technology Corp. USB Multimedia Keyboard> at usbus1 Adding CPU 0, hwref=ff89d680, awake=1 Waking up CPU 1 (dev=ff89eb70) Adding CPU 1, hwref=ff89eb70, awake=1 Waking up CPU 2 (dev=ff89f248) Adding CPU 2, hwref=ff89f248, awake=1 Waking up CPU 3 (dev=ff89f920) Adding CPU 3, hwref=ff89f920, awake=1 SMP: AP CPU #1 launched SMP: AP CPU #2 launched SMP: AP CPU #3 launched Trying to mount root from ufs:/dev/ada0s3 [rw]... ukbd0 on uhub0 ukbd0: <Lite-On Technology Corp. USB Multimedia Keyboard, class 0/0, rev 1.10/1.04, addr 2> on usbus1 kbd: new array size 4 kbd1 at ukbd0 kbd1: ukbd0, generic (0), config:0x0, flags:0x3d0000 uhid0 on uhub0 uhid0: <Lite-On Technology Corp. USB Multimedia Keyboard, class 0/0, rev 1.10/1.04, addr 2> on usbus1 GEOM: new disk ada1 smu0: providing initial system time start_init: trying /sbin/init lo0: link state changed to UP bge0: link state changed to DOWN bge0: link state changed to UP module_register: cannot register gem/miibus from if_gem.ko; already loaded from kernel Module gem/miibus failed to register: 17 module_register: cannot register pci/gem from if_gem.ko; already loaded from kernel Module pci/gem failed to register: 17 eris# eris# eris# dmesg > foo eris# diff foo /var/run/dmesg.boot 541,544d540 < module_register: cannot register gem/miibus from if_gem.ko; already loaded from kernel < Module gem/miibus failed to register: 17 < module_register: cannot register pci/gem from if_gem.ko; already loaded from kernel < Module pci/gem failed to register: 17 eris# I will try again without kern.smp.disabled and also without usefdt=1 and see what happens.
After speaking with Justin Hibbits we ran some tests with usefdt=1 and see the following panic : fatal kernel trap: exception = 0x300 (data storage interrupt) virtual address = 0x907ff7c0c0 dsisr = 0x40000000 srr0 = 0xc000000000a8c918 (0xa8c918) srr1 = 0x9000000000001032 current msr = 0x9000000000001032 lr = 0xc000000000a8c914 (0xa8c914) curthread = 0xc000000001626400 pid = 0, comm = swapper panic: data storage interrupt trap cpuid = 0 time = 1 KDB: stack backtrace: #0 0xc0000000006ef5a8 at .kdb_backtrace+0x88 #1 0xc000000000688528 at .vpanic+0x1b4 #2 0xc0000000006885f4 at .panic+0x38 #3 0xc000000000ab2a74 at .trap_fatal+0x25c #4 0xc000000000ab416c at .trap+0x15f0 #5 0xc000000000aa7cd8 at .powerpc_interrupt+0x234 Uptime: 1s
Created attachment 199800 [details] image of panic on screen this is the data on the screen which I then entered into this report.
If addr2line can be trusted here then : eris# addr2line -e /usr/lib/debug/boot/kernel/kernel.debug 0xa8c918 /usr/src/sys/powerpc/powermac/macgpio.c:356 347 void 348 macgpio_write(device_t dev, uint8_t val) 349 { 350 struct macgpio_softc *sc; 351 struct macgpio_devinfo *dinfo; 352 353 sc = device_get_softc(device_get_parent(dev)); 354 dinfo = device_get_ivars(dev); 355 356 if (dinfo->gpio_num < 0) 357 return; 358 359 bus_write_1(sc->sc_gpios,dinfo->gpio_num,val); 360 }
Some progress wherein working with Justin Hibbits we arrive at the notion that usefdt=1 will cause a panic repeatedly. We have seen that not specifying usefdt=1 may then force the requirement for kern.smp.disabled=1 in order to proceed. If neither usefdt=1 nor kern.smp.disabled=1 are specified then the system may "freeze" later in the boot process. We only concern ourselves with the usefdt=1 issue for the moment. It should be clearly stated that kern.smp.disabled=1 always results in a bootable and running system however usefdt=1 will always result in a panic thus far. The panic in r341455 on ppc64 is thus : smu0: <Apple System Management Unit> on ofwbus0 panic: nexus_setup_intr: NULL interrupt resource! cpuid = 0 time = 1 KDB: stack backtrace: 0xe000000000007820: at .kdb_backtrace+0x5c 0xe000000000007950: at .vpanic+0x1b4 0xe000000000007a10: at .panic+0x38 0xe000000000007aa0: at .nexus_setup_intr+0x58 0xe000000000007b50: at .bus_generic_setup_intr+0xc8 0xe000000000007c10: at .bus_generic_setup_intr+0xc8 0xe000000000007cd0: at .bus_generic_setup_intr+0xc8 0xe000000000007d90: at .pci_setup_intr+0x50 0xe000000000007e80: at .bus_generic_setup_intr+0xc8 0xe000000000007f40: at .bus_generic_setup_intr+0xc8 0xe000000000008000: at .pci_setup_intr+0x50 0xe0000000000080f0: at .bus_generic_setup_intr+0xc8 0xe0000000000081b0: at .bus_generic_setup_intr+0xc8 0xe000000000008270: at .pci_setup_intr+0xcc 0xe000000000008330: at .smu_attach+0xc4c 0xe000000000008530: at .device_attach+0x420 0xe000000000008610: at .device_probe_and_attach+0xb4 0xe0000000000086a0: at .bus_generic_new_pass+0x12c 0xe000000000008730: at .bus_generic_new_pass+0x114 0xe0000000000087c0: at .bus_generic_new_pass+0x114 0xe000000000008850: at .bus_set_pass+0xc4 0xe0000000000088e0: at .root_bus_configure+0x1c 0xe000000000008960: at .configure+0x14 0xe0000000000089e0: at .mi_startup+0x1f8 0xe000000000008a80: at btext+0xc4 KDB: enter: panic [ thread pid 0 tid 100000 ] Stopped at .kdb_enter+0x60: ld r2, r1, 0x28 r341455 sys/powerpc/powermac/macgpio.c was modified slightly to merely see some progress before the panic : *** sys/powerpc/powermac/macgpio.c.orig Tue Dec 4 05:04:42 2018 --- sys/powerpc/powermac/macgpio.c Tue Dec 4 22:52:22 2018 *************** *** 173,183 **** --- 173,185 ---- */ for (child = OF_child(root); child != 0; child = OF_peer(child)) { dinfo = malloc(sizeof(*dinfo), M_MACGPIO, M_WAITOK | M_ZERO); + device_printf(dev, "Trying child %x", child); if (ofw_bus_gen_setup_devinfo(&dinfo->mdi_obdinfo, child) != 0) { free(dinfo, M_MACGPIO); continue; } + printf("Now here at sys/powerpc/powermac/macgpio.c line 182\n"); if (OF_getencprop(child, "reg", &dinfo->gpio_num, sizeof(dinfo->gpio_num)) != sizeof(dinfo->gpio_num)) { *************** *** 215,220 **** --- 217,223 ---- continue; } device_set_ivars(cdev, dinfo); + printf("Set ivars in sys/powerpc/powermac/macgpio.c line 220\n"); } return (bus_generic_attach(dev)); However nothing new was seen and the panic was the exact same. The idea on the table is to sprinkle more debug output into macgpio.c and try to capture what really is the order of events. What really is the the sequence : 'macgpio0... on macio0' ... pci... smu... ? At this time we do not know. Therefore the r341508 kernel is being built with : *** sys/powerpc/powermac/macgpio.c.orig Tue Dec 4 23:52:41 2018 --- sys/powerpc/powermac/macgpio.c Wed Dec 5 11:30:34 2018 *************** *** 161,169 **** --- 161,172 ---- phandle_t root, child, iparent; device_t cdev; uint32_t irq; + printf("DEBUG : in %s at %d\n",__FILE__, __LINE__); sc = device_get_softc(dev); + printf("DEBUG : in %s at %d\nDEBUG : sc = %p and sc->sc_node = %p\n", __FILE__, __LINE__, sc, sc->sc_node); root = sc->sc_node = ofw_bus_get_node(dev); + printf("DEBUG : in %s at %d\nDEBUG : root = sc->sc_node = %p\n", __FILE__, __LINE__, root); sc->sc_gpios = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &sc->sc_gpios_rid, RF_ACTIVE); *************** *** 172,193 **** * Iterate through the sub-devices */ for (child = OF_child(root); child != 0; child = OF_peer(child)) { dinfo = malloc(sizeof(*dinfo), M_MACGPIO, M_WAITOK | M_ZERO); if (ofw_bus_gen_setup_devinfo(&dinfo->mdi_obdinfo, child) != 0) { free(dinfo, M_MACGPIO); continue; } if (OF_getencprop(child, "reg", &dinfo->gpio_num, sizeof(dinfo->gpio_num)) != sizeof(dinfo->gpio_num)) { /* * Some early GPIO controllers don't provide GPIO * numbers for GPIOs designed only to provide * interrupt resources. We should still allow these * to attach, but with caution. */ - dinfo->gpio_num = -1; } --- 175,200 ---- * Iterate through the sub-devices */ for (child = OF_child(root); child != 0; child = OF_peer(child)) { + printf("DEBUG : in %s at %d\nDEBUG : begin for",__FILE__, __LINE__); dinfo = malloc(sizeof(*dinfo), M_MACGPIO, M_WAITOK | M_ZERO); + device_printf(dev, "DEBUG : in %s at %d\nDEBUG : Trying child %x", __FILE__, __LINE__, child); if (ofw_bus_gen_setup_devinfo(&dinfo->mdi_obdinfo, child) != 0) { + printf("DEBUG : in %s at %d\n",__FILE__, __LINE__); free(dinfo, M_MACGPIO); continue; } + printf("DEBUG : in %s at %d\n",__FILE__, __LINE__); if (OF_getencprop(child, "reg", &dinfo->gpio_num, sizeof(dinfo->gpio_num)) != sizeof(dinfo->gpio_num)) { + printf("DEBUG : in %s at %d\n",__FILE__, __LINE__); /* * Some early GPIO controllers don't provide GPIO * numbers for GPIOs designed only to provide * interrupt resources. We should still allow these * to attach, but with caution. */ dinfo->gpio_num = -1; } *************** *** 195,213 **** if (OF_getencprop(child, "interrupts", &irq, sizeof(irq)) == sizeof(irq)) { OF_searchencprop(child, "interrupt-parent", &iparent, sizeof(iparent)); resource_list_add(&dinfo->mdi_resources, SYS_RES_IRQ, ! 0, MAP_IRQ(iparent, irq), MAP_IRQ(iparent, irq), ! 1); } /* Fix messed-up offsets */ ! if (dinfo->gpio_num > 0x50) dinfo->gpio_num -= 0x50; cdev = device_add_child(dev, NULL, -1); if (cdev == NULL) { device_printf(dev, "<%s>: device_add_child failed\n", dinfo->mdi_obdinfo.obd_name); ofw_bus_gen_destroy_devinfo(&dinfo->mdi_obdinfo); --- 202,224 ---- if (OF_getencprop(child, "interrupts", &irq, sizeof(irq)) == sizeof(irq)) { + printf("DEBUG : in %s at %d\n",__FILE__, __LINE__); OF_searchencprop(child, "interrupt-parent", &iparent, sizeof(iparent)); resource_list_add(&dinfo->mdi_resources, SYS_RES_IRQ, ! 0, MAP_IRQ(iparent, irq), ! MAP_IRQ(iparent, irq), 1); } /* Fix messed-up offsets */ ! if (dinfo->gpio_num > 0x50) { dinfo->gpio_num -= 0x50; + printf("DEBUG : in %s at %d\nDEBUG : dinfo->gpio_num tweaked back 0x50\n", __FILE__, __LINE__); + } cdev = device_add_child(dev, NULL, -1); if (cdev == NULL) { + printf("DEBUG : in %s at %d\nDEBUG : cdev == NULL\n", __FILE__, __LINE__); device_printf(dev, "<%s>: device_add_child failed\n", dinfo->mdi_obdinfo.obd_name); ofw_bus_gen_destroy_devinfo(&dinfo->mdi_obdinfo); *************** *** 215,222 **** continue; } device_set_ivars(cdev, dinfo); } ! return (bus_generic_attach(dev)); } --- 226,234 ---- continue; } device_set_ivars(cdev, dinfo); + printf("DEBUG : in %s at %d\nDEBUG : device_set_ivars(cdev, dinfo)\n",__FILE__, __LINE__); } ! printf("DEBUG : in %s at %d\nDEBUG : end for",__FILE__, __LINE__); return (bus_generic_attach(dev)); } Test results should be available shortly.
Minor correction .. printf ("%p",foo) has a snit if foo isn't a 64bit data element similar to a pointer thus : *** sys/powerpc/powermac/macgpio.c.orig Tue Dec 4 23:52:41 2018 --- sys/powerpc/powermac/macgpio.c Wed Dec 5 14:31:30 2018 *************** *** 161,169 **** --- 161,171 ---- phandle_t root, child, iparent; device_t cdev; uint32_t irq; + printf("DEBUG : in %s at %d\n",__FILE__, __LINE__); sc = device_get_softc(dev); root = sc->sc_node = ofw_bus_get_node(dev); + printf("DEBUG : in %s at %d\nDEBUG : root = sc->sc_node = %p\n", __FILE__, __LINE__, (void *)((uint64_t)root)); sc->sc_gpios = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &sc->sc_gpios_rid, RF_ACTIVE); Ugly but it works. I think phandle_t is a uint32_t and so a trivial %x could have done the job. Regardless we now know that the problem is not in macgpio.c and must move onwards to smu.
An extensive amount of debugging ensured for the day of 5th Dec 2018 with many debug tests for the sake of trying to track down this elusive interrupt issue. This included and attempt to insert a 20ms delay in the printf() function merely to see debug output on the console. That delay proved to be ineffective. However the item of interest was seen to be in sys/powerpc/powermac/macgpio.c around line 200 where OF_getencprop(child, "interrupts", &irq, sizeof(irq)) will return a ssize_t value that is compared to sizeof(irq) : *** sys/powerpc/powermac/macgpio.c_orig Thu Dec 6 09:27:11 2018 --- sys/powerpc/powermac/macgpio.c Thu Dec 6 10:07:07 2018 *************** *** 162,169 **** --- 162,173 ---- device_t cdev; uint32_t irq[2]; + printf("\nDEBUG : in %s at %d\n",__FILE__, __LINE__); + sc = device_get_softc(dev); root = sc->sc_node = ofw_bus_get_node(dev); + + printf("\nDEBUG : in %s at %d\n : root = sc->sc_node = %x\n", __FILE__, __LINE__, root); sc->sc_gpios = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &sc->sc_gpios_rid, RF_ACTIVE); *************** *** 172,186 **** --- 176,195 ---- * Iterate through the sub-devices */ for (child = OF_child(root); child != 0; child = OF_peer(child)) { + printf("\nDEBUG : in %s at %d\n : top of for loop in macgpio_attach()\n",__FILE__, __LINE__); dinfo = malloc(sizeof(*dinfo), M_MACGPIO, M_WAITOK | M_ZERO); + device_printf(dev, "DEBUG : in %s at %d\n : Trying child %x\n", __FILE__, __LINE__, child); if (ofw_bus_gen_setup_devinfo(&dinfo->mdi_obdinfo, child) != 0) { + printf("\nDEBUG : in %s at %d within macgpio_attach()\n",__FILE__, __LINE__); free(dinfo, M_MACGPIO); continue; } + printf("\nDEBUG : in %s at %d within macgpio_attach()\n",__FILE__, __LINE__); if (OF_getencprop(child, "reg", &dinfo->gpio_num, sizeof(dinfo->gpio_num)) != sizeof(dinfo->gpio_num)) { + printf("\nDEBUG : in %s at %d within macgpio_attach()\n",__FILE__, __LINE__); /* * Some early GPIO controllers don't provide GPIO * numbers for GPIOs designed only to provide *************** *** 193,200 **** resource_list_init(&dinfo->mdi_resources); ! if (OF_getencprop(child, "interrupts", irq, sizeof(irq)) == sizeof(irq)) { OF_searchencprop(child, "interrupt-parent", &iparent, sizeof(iparent)); resource_list_add(&dinfo->mdi_resources, SYS_RES_IRQ, --- 202,212 ---- resource_list_init(&dinfo->mdi_resources); ! /* bugid 233579 Dennis Clarke and Justin Hibbits * ! * change '==' to '>=' */ ! if (OF_getencprop(child, "interrupts", irq, sizeof(irq)) >= sizeof(irq)) { + printf("\nDEBUG : in %s at %d within macgpio_attach() with sizeof(irq) = %lx\n",__FILE__, __LINE__, sizeof(irq)); OF_searchencprop(child, "interrupt-parent", &iparent, sizeof(iparent)); resource_list_add(&dinfo->mdi_resources, SYS_RES_IRQ, *************** *** 203,210 **** } /* Fix messed-up offsets */ ! if (dinfo->gpio_num > 0x50) dinfo->gpio_num -= 0x50; cdev = device_add_child(dev, NULL, -1); if (cdev == NULL) { --- 215,224 ---- } /* Fix messed-up offsets */ ! if (dinfo->gpio_num > 0x50) { dinfo->gpio_num -= 0x50; + printf("\nDEBUG : in %s at %d within macgpio_attach()\n : dinfo->gpio_num tweaked back 0x50\n", __FILE__, __LINE__); + } cdev = device_add_child(dev, NULL, -1); if (cdev == NULL) { *************** *** 216,222 **** } device_set_ivars(cdev, dinfo); } ! return (bus_generic_attach(dev)); } --- 230,236 ---- } device_set_ivars(cdev, dinfo); } ! printf("\nDEBUG : in %s at %d within macgpio_attach()\n : end of for loop\n",__FILE__, __LINE__); return (bus_generic_attach(dev)); } *** sys/powerpc/powermac/smu.c_orig Thu Dec 6 09:27:10 2018 --- sys/powerpc/powermac/smu.c Thu Dec 6 10:19:14 2018 *************** *** 285,290 **** --- 285,292 ---- phandle_t node, child; uint8_t data[12]; + printf("\nDEBUG : in %s at %d within smu_attach()\n",__FILE__, __LINE__); + sc = device_get_softc(dev); mtx_init(&sc->sc_mtx, "smu", NULL, MTX_DEF); *************** *** 383,388 **** --- 385,396 ---- * Set up doorbell interrupt. */ sc->sc_doorbellirqid = 0; + printf("\nDEBUG : in %s at %d within smu_attach() checking smu_doorbell\n",__FILE__, __LINE__); + if(smu_doorbell==NULL){ + printf("\nDEBUG : in %s at %d within smu_attach() bork bork bork smu_doorbell is NULL!\n",__FILE__,__LINE__); + }else{ + printf("\nDEBUG : in %s at %d within smu_attach() where smu_doorbell is okay\n",__FILE__,__LINE__); + } sc->sc_doorbellirq = bus_alloc_resource_any(smu_doorbell, SYS_RES_IRQ, &sc->sc_doorbellirqid, RF_ACTIVE); bus_setup_intr(smu_doorbell, sc->sc_doorbellirq, *************** *** 638,643 **** --- 646,653 ---- { const char *name = ofw_bus_get_name(dev); + printf("\nDEBUG : in %s at %d within doorbell_probe()\n",__FILE__, __LINE__); + if (strcmp(name, "smu-doorbell") != 0) return (ENXIO); *************** *** 650,655 **** --- 660,666 ---- doorbell_attach(device_t dev) { smu_doorbell = dev; + printf("\nDEBUG : in %s at %d within doorbell_attach()\n",__FILE__, __LINE__); return (0); } *************** *** 999,1004 **** --- 1010,1016 ---- int i, j; sc = device_get_softc(dev); + printf("\nDEBUG : in %s at %d within smu_attach_fans()\n",__FILE__, __LINE__); /* Get the number of fans. */ sc->sc_nfans = smu_count_fans(dev); *************** *** 1181,1186 **** --- 1193,1200 ---- phandle_t child; char type[32]; int i; + + printf("\nDEBUG : in %s at %d within smu_attach_sensors()\n",__FILE__, __LINE__); sc = device_get_softc(dev); sc->sc_nsensors = 0; Multiple debug boots with : debug.rman_debug=1 debug.verbose_sysinit=1 usefdt=1 kern.smp.disabled=1 From dmesg we see : considering [0x80000000, 0x8007ffff] truncated region: [0x80000000, 0x8007ffff]; size 0x80000 (requested 0x80000) candidate region: [0x80000000, 0x8007ffff], size 0x80000 candidate region is entire chunk pcib2: allocated memory range (0x80000000-0x8007ffff) for rid 10 of pci0:1:7:0 macio0: <Shasta I/O Controller> mem 0x80000000-0x8007ffff at device 7.0 on pci2 ofw_pci mapdev: start 80000000, len 524288 rman_manage_region: <MacIO Device Memory> request: start 0, end 0x7ffff macgpio0: <MacIO GPIO Controller> mem 0x50-0x8a on macio0 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 165 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 170 : root = sc->sc_node = 63e8 rman_reserve_resource_bound: <MacIO Device Memory> request: [0x50, 0x8b], length 0x3b, flags 0, device macgpio0 rman_reserve_resource_bound: trying 0x7ffff <0x50,0x3a> considering [0, 0x7ffff] truncated region: [0x50, 0x8b]; size 0x3c (requested 0x3b) candidate region: [0x50, 0x8b], size 0x3c splitting region in three parts: [0, 0x4f]; [0x50, 0x8a]; [0x8b, 0x7ffff] DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 179 : top of for loop in macgpio_attach() macgpio0: DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 181 : Trying child 6488 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 188 within macgpio_attach() DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 209 within macgpio_attach() with sizeof(irq) = 8 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 179 : top of for loop in macgpio_attach() macgpio0: DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 181 : Trying child 6544 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 188 within macgpio_attach() DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 209 within macgpio_attach() with sizeof(irq) = 8 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 179 : top of for loop in macgpio_attach() macgpio0: DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 181 : Trying child 662c DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 188 within macgpio_attach() DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 209 within macgpio_attach() with sizeof(irq) = 8 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 179 : top of for loop in macgpio_attach() macgpio0: DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 181 : Trying child 6714 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 188 within macgpio_attach() DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 209 within macgpio_attach() with sizeof(irq) = 8 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 179 : top of for loop in macgpio_attach() macgpio0: DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 181 : Trying child 67c4 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 188 within macgpio_attach() DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 209 within macgpio_attach() with sizeof(irq) = 8 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 179 : top of for loop in macgpio_attach() macgpio0: DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 181 : Trying child 6884 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 188 within macgpio_attach() DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 209 within macgpio_attach() with sizeof(irq) = 8 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 179 : top of for loop in macgpio_attach() macgpio0: DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 181 : Trying child 6974 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 188 within macgpio_attach() DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 209 within macgpio_attach() with sizeof(irq) = 8 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 179 : top of for loop in macgpio_attach() macgpio0: DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 181 : Trying child 6a38 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 188 within macgpio_attach() DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 209 within macgpio_attach() with sizeof(irq) = 8 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 179 : top of for loop in macgpio_attach() macgpio0: DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 181 : Trying child 6b24 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 188 within macgpio_attach() DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 209 within macgpio_attach() with sizeof(irq) = 8 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 179 : top of for loop in macgpio_attach() macgpio0: DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 181 : Trying child 6be4 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 188 within macgpio_attach() DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 209 within macgpio_attach() with sizeof(irq) = 8 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 179 : top of for loop in macgpio_attach() macgpio0: DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 181 : Trying child 6c94 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 188 within macgpio_attach() DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 209 within macgpio_attach() with sizeof(irq) = 8 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 179 : top of for loop in macgpio_attach() macgpio0: DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 181 : Trying child 6d7c DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 188 within macgpio_attach() DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 209 within macgpio_attach() with sizeof(irq) = 8 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 179 : top of for loop in macgpio_attach() macgpio0: DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 181 : Trying child 6e48 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 188 within macgpio_attach() DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 209 within macgpio_attach() with sizeof(irq) = 8 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 179 : top of for loop in macgpio_attach() macgpio0: DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 181 : Trying child 6ed8 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 188 within macgpio_attach() DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 209 within macgpio_attach() with sizeof(irq) = 8 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 179 : top of for loop in macgpio_attach() macgpio0: DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 181 : Trying child 6fbc DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 188 within macgpio_attach() DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 209 within macgpio_attach() with sizeof(irq) = 8 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 179 : top of for loop in macgpio_attach() macgpio0: DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 181 : Trying child 7098 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 188 within macgpio_attach() DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 209 within macgpio_attach() with sizeof(irq) = 8 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 179 : top of for loop in macgpio_attach() macgpio0: DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 181 : Trying child 7184 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 188 within macgpio_attach() DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 209 within macgpio_attach() with sizeof(irq) = 8 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 179 : top of for loop in macgpio_attach() macgpio0: DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 181 : Trying child 7268 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 188 within macgpio_attach() DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 209 within macgpio_attach() with sizeof(irq) = 8 DEBUG : in /usr/src/head/sys/powerpc/powermac/macgpio.c at 233 within macgpio_attach() : end of for loop pcib3: <OFW PCI-PCI bridge> at device 7.0 on pci0 rman_reserve_resource_bound: <PCI Non Prefetchable Memory> request: [0xfa000000, 0xfa3fffff], length 0x400000, flags 0, device pcib3 rman_reserve_resource_bound: trying 0x800fffff <0xfa000000,0x3fffff> rman_reserve_resource_bound: tried 0x800fffff <0xfa000000,0x3fffff> considering [0xfa000000, 0xfa3fffff] truncated region: [0xfa000000, 0xfa3fffff]; size 0x400000 (requested 0x400000) candidate region: [0xfa000000, 0xfa3fffff], size 0x400000 candidate region is entire chunk rman_manage_region: <pcib3 memory window> request: start 0xfa000000, end 0xfa3fffff pcib3: domain 0 pcib3: secondary bus 2 pcib3: subordinate bus 2 pcib3: memory decode 0xfa000000-0xfa3fffff pci3: <OFW PCI bus> on pcib3 pci3: domain=0, physical bus=2 found-> vendor=0x106b, dev=0x0051, revid=0x00 domain=0, bus=2, slot=15, func=0 class=02-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0004, statreg=0x84a0, cachelnsz=16 (dwords) lattimer=0x10 (480 ns), mingnt=0x40 (16000 ns), maxlat=0x40 (16000 ns) intpin=a, irq=255 map[10]: type Memory, range 32, base rxfa200000, size 21, memory disabled rman_reserve_resource_bound: <pcib3 memory window> request: [0xfa200000, 0xfa3fffff], length 0x200000, flags 5400, device (null) rman_reserve_resource_bound: trying 0xfa3fffff <0xfa200000,0x1fffff> considering [0xfa000000, 0xfa3fffff] truncated region: [0xfa200000, 0xfa3fffff]; size 0x200000 (requested 0x200000) candidate region: [0xfa200000, 0xfa3fffff], size 0x200000 allocating at the end pcib3: allocated memory range (0xfa200000-0xfa3fffff) for rid 10 of pci0:2:15:0 pcib4: <OFW PCI-PCI bridge> at device 6.0 on pci0 pcib4: domain 0 pcib4: secondary bus 9 pcib4: subordinate bus 9 pci4: <OFW PCI bus> on pcib4 pci4: domain=0, physical bus=9 pcib5: <OFW PCI-PCI bridge> at device 5.0 on pci0 pcib5: domain 0 pcib5: secondary bus 8 pcib5: subordinate bus 8 pci5: <OFW PCI bus> on pcib5 pci5: domain=0, physical bus=8 pcib6: <OFW PCI-PCI bridge> at device 4.0 on pci0 pcib6: domain 0 pcib6: secondary bus 7 pcib6: subordinate bus 7 pci6: <OFW PCI bus> on pcib6 pci6: domain=0, physical bus=7 pcib7: <OFW PCI-PCI bridge> at device 3.0 on pci0 pcib7: domain 0 pcib7: secondary bus 6 pcib7: subordinate bus 6 pci7: <OFW PCI bus> on pcib7 pci7: domain=0, physical bus=6 pcib8: <OFW PCI-PCI bridge> at device 2.0 on pci0 rman_reserve_resource_bound: <PCI Non Prefetchable Memory> request: [0xfa500000, 0xfa5fffff], length 0x100000, flags 0, device pcib8 rman_reserve_resource_bound: trying 0x800fffff <0xfa500000,0xfffff> rman_reserve_resource_bound: tried 0x800fffff <0xfa500000,0xfffff> rman_reserve_resource_bound: tried 0xfa3fffff <0xfa500000,0xfffff> rman_reserve_resource_bound: tried 0xfa4fffff <0xfa500000,0xfffff> considering [0xfa500000, 0xfa5fffff] truncated region: [0xfa500000, 0xfa5fffff]; size 0x100000 (requested 0x100000) candidate region: [0xfa500000, 0xfa5fffff], size 0x100000 candidate region is entire chunk rman_manage_region: <pcib8 memory window> request: start 0xfa500000, end 0xfa5fffff pcib8: domain 0 pcib8: secondary bus 5 pcib8: subordinate bus 5 pcib8: memory decode 0xfa500000-0xfa5fffff pci8: <OFW PCI bus> on pcib8 pci8: domain=0, physical bus=5 found-> vendor=0x14e4, dev=0x166a, revid=0x03 domain=0, bus=5, slot=4, func=1 class=02-00-00, hdrtype=0x00, mfdev=1 cmdreg=0x0006, statreg=0x02b0, cachelnsz=16 (dwords) lattimer=0x10 (480 ns), mingnt=0x40 (16000 ns), maxlat=0x00 (0 ns) intpin=b, irq=0 powerspec 2 supports D0 D3 current D0 MSI supports 8 messages, 64 bit map[10]: type Memory, range 64, base rxfa510000, size 16, enabled rman_reserve_resource_bound: <pcib8 memory window> request: [0xfa510000, 0xfa51ffff], length 0x10000, flags 4000, device (null) rman_reserve_resource_bound: trying 0xfa5fffff <0xfa510000,0xffff> considering [0xfa500000, 0xfa5fffff] truncated region: [0xfa510000, 0xfa51ffff]; size 0x10000 (requested 0x10000) candidate region: [0xfa510000, 0xfa51ffff], size 0x10000 splitting region in three parts: [0xfa500000, 0xfa50ffff]; [0xfa510000, 0xfa51ffff]; [0xfa520000, 0xfa5fffff] pcib8: allocated memory range (0xfa510000-0xfa51ffff) for rid 10 of pci0:5:4:1 map[18]: type Memory, range 64, base rxfa500000, size 16, enabled rman_reserve_resource_bound: <pcib8 memory window> request: [0xfa500000, 0xfa50ffff], length 0x10000, flags 4000, device (null) rman_reserve_resource_bound: trying 0xfa50ffff <0xfa500000,0xffff> considering [0xfa500000, 0xfa50ffff] truncated region: [0xfa500000, 0xfa50ffff]; size 0x10000 (requested 0x10000) candidate region: [0xfa500000, 0xfa50ffff], size 0x10000 candidate region is entire chunk pcib8: allocated memory range (0xfa500000-0xfa50ffff) for rid 18 of pci0:5:4:1 found-> vendor=0x14e4, dev=0x166a, revid=0x03 domain=0, bus=5, slot=4, func=0 class=02-00-00, hdrtype=0x00, mfdev=1 cmdreg=0x0006, statreg=0x02b0, cachelnsz=16 (dwords) lattimer=0x10 (480 ns), mingnt=0x40 (16000 ns), maxlat=0x00 (0 ns) intpin=a, irq=0 powerspec 2 supports D0 D3 current D0 MSI supports 8 messages, 64 bit map[10]: type Memory, range 64, base rxfa530000, size 16, enabled rman_reserve_resource_bound: <pcib8 memory window> request: [0xfa530000, 0xfa53ffff], length 0x10000, flags 4000, device (null) rman_reserve_resource_bound: trying 0xfa50ffff <0xfa530000,0xffff> rman_reserve_resource_bound: tried 0xfa50ffff <0xfa530000,0xffff> rman_reserve_resource_bound: tried 0xfa51ffff <0xfa530000,0xffff> considering [0xfa520000, 0xfa5fffff] truncated region: [0xfa530000, 0xfa53ffff]; size 0x10000 (requested 0x10000) candidate region: [0xfa530000, 0xfa53ffff], size 0x10000 splitting region in three parts: [0xfa520000, 0xfa52ffff]; [0xfa530000, 0xfa53ffff]; [0xfa540000, 0xfa5fffff] pcib8: allocated memory range (0xfa530000-0xfa53ffff) for rid 10 of pci0:5:4:0 map[18]: type Memory, range 64, base rxfa520000, size 16, enabled rman_reserve_resource_bound: <pcib8 memory window> request: [0xfa520000, 0xfa52ffff], length 0x10000, flags 4000, device (null) rman_reserve_resource_bound: trying 0xfa50ffff <0xfa520000,0xffff> rman_reserve_resource_bound: tried 0xfa50ffff <0xfa520000,0xffff> rman_reserve_resource_bound: tried 0xfa51ffff <0xfa520000,0xffff> considering [0xfa520000, 0xfa52ffff] truncated region: [0xfa520000, 0xfa52ffff]; size 0x10000 (requested 0x10000) candidate region: [0xfa520000, 0xfa52ffff], size 0x10000 candidate region is entire chunk pcib8: allocated memory range (0xfa520000-0xfa52ffff) for rid 18 of pci0:5:4:0 pcib9: <OFW PCI-PCI bridge> at device 1.0 on pci0 pcib9: domain 0 pcib9: secondary bus 4 pcib9: subordinate bus 4 pci9: <OFW PCI bus> on pcib9 pci9: domain=0, physical bus=4 pcib10: <IBM CPC945 PCI Express Root> mem 0xf0000000-0xf1ffffff on ofwbus0 rman_manage_region: <PCI Non Prefetchable Memory> request: start 0xf1000000, end 0xf1ffffff rman_manage_region: <PCI I/O Ports> request: start 0, end 0x7fffff rman_manage_region: <PCI Non Prefetchable Memory> request: start 0x90000000, end 0x9fffffff rman_manage_region: <PCI Non Prefetchable Memory> request: start 0xa0000000, end 0xafffffff pci10: <OFW PCI bus> on pcib10 pci10: domain=10, physical bus=10 found-> vendor=0x10de, dev=0x0141, revid=0xa2 domain=10, bus=10, slot=0, func=0 class=03-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=0 powerspec 2 supports D0 D3 current D0 MSI supports 1 message, 64 bit map[10]: type Memory, range 32, base rxa1000000, size 24, enabled rman_reserve_resource_bound: <PCI Non Prefetchable Memory> request: [0xa1000000, 0xa1ffffff], length 0x1000000, flags 6000, device (null) rman_reserve_resource_bound: trying 0xafffffff <0xa1000000,0xffffff> considering [0x90000000, 0xafffffff] truncated region: [0xa1000000, 0xa1ffffff]; size 0x1000000 (requested 0x1000000) candidate region: [0xa1000000, 0xa1ffffff], size 0x1000000 splitting region in three parts: [0x90000000, 0xa0ffffff]; [0xa1000000, 0xa1ffffff]; [0xa2000000, 0xafffffff] map[14]: type Prefetchable Memory, range 64, base rx90000000, size 28, enabled rman_reserve_resource_bound: <PCI Non Prefetchable Memory> request: [0x90000000, 0x9fffffff], length 0x10000000, flags 7040, device (null) rman_reserve_resource_bound: trying 0xa0ffffff <0x90000000,0xfffffff> considering [0x90000000, 0xa0ffffff] truncated region: [0x90000000, 0x9fffffff]; size 0x10000000 (requested 0x10000000) candidate region: [0x90000000, 0x9fffffff], size 0x10000000 allocating from the beginning map[1c]: type Memory, range 64, base rxa0000000, size 24, enabled rman_reserve_resource_bound: <PCI Non Prefetchable Memory> request: [0xa0000000, 0xa0ffffff], length 0x1000000, flags 6000, device (null) rman_reserve_resource_bound: trying 0x9fffffff <0xa0000000,0xffffff> rman_reserve_resource_bound: tried 0x9fffffff <0xa0000000,0xffffff> considering [0xa0000000, 0xa0ffffff] truncated region: [0xa0000000, 0xa0ffffff]; size 0x1000000 (requested 0x1000000) candidate region: [0xa0000000, 0xa0ffffff], size 0x1000000 candidate region is entire chunk unin0: <Apple UniNorth System Controller> mem 0xf8000000-0xf8ffffff on ofwbus0 rman_manage_region: <UniNorth Device Memory> request: start 0xf8000000, end 0xf8ffffff unin0: Version 66 htpic0: <OpenPIC Interrupt Controller> mem 0xf8040000-0xf807ffff on unin0 rman_reserve_resource_bound: <UniNorth Device Memory> request: [0xf8040000, 0xf807ffff], length 0x3ffff, flags 0, device htpic0 rman_reserve_resource_bound: trying 0xf8ffffff <0xf8040000,0x3fffe> considering [0xf8000000, 0xf8ffffff] truncated region: [0xf8040000, 0xf807ffff]; size 0x40000 (requested 0x3ffff) candidate region: [0xf8040000, 0xf807ffff], size 0x40000 splitting region in three parts: [0xf8000000, 0xf803ffff]; [0xf8040000, 0xf807fffe]; [0xf807ffff, 0xf8ffffff] unin mapdev: start f8040000, len 262143 htpic0: Version 1.2, supports 4 CPUs and 124 irqs DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 649 within doorbell_probe() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 649 within doorbell_probe() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 649 within doorbell_probe() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 649 within doorbell_probe() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 649 within doorbell_probe() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 649 within doorbell_probe() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 649 within doorbell_probe() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 649 within doorbell_probe() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 649 within doorbell_probe() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 649 within doorbell_probe() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 649 within doorbell_probe() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 649 within doorbell_probe() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 649 within doorbell_probe() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 649 within doorbell_probe() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 649 within doorbell_probe() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 649 within doorbell_probe() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 649 within doorbell_probe() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 649 within doorbell_probe() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 663 within doorbell_attach() smu0: <Apple System Management Unit> on ofwbus0 DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 288 within smu_attach() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 1013 within smu_attach_fans() smu0: Fan: EXPANSION SLOTS INTAKE type: 0 smu0: Fan: CPU A PUMP type: 0 smu0: Fan: CPU B EXHAUST type: 0 smu0: Fan: CPU A EXHAUST type: 0 smu0: Fan: CPU B INTAKE type: 0 smu0: Fan: CPU A INTAKE type: 0 smu0: Fan: BACKSIDE type: 0 smu0: Fan: DRIVE BAY A INTAKE type: 0 DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 1197 within smu_attach_sensors() DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 388 within smu_attach() checking smu_doorbell DEBUG : in /usr/src/head/sys/powerpc/powermac/smu.c at 392 within smu_attach() where smu_doorbell is okay see attached file dmesg_r341623.boot System boots normally but with no functional network.
Created attachment 199892 [details] dmesg.boot file after boot with r341623 and mods detailed in report dmesg.boot file after boot with r341623 and mods detailed in report Note interrupt details from sys/powerpc/powermac/macgpio.c at lines 176 onwards
At this time with r341455 and upwards to r341623 and also r341705 the option for flattened device tree ( usefdt=1 ) causes no issues with the possible exception that network devices have failed. However that will be tracked in a separate bug report. See bugid 233863. At this time the panic related to usefdt=1 has been suitably addressed and the details are written up by Justin Hibbits : https://svnweb.freebsd.org/base?view=revision&revision=341614 Dennis Clarke
(In reply to Dennis Clarke from comment #11) Just an FYI about my from-source builds based on devel/powerpc64-xtoolchain-gcc and the reverted-to-before /usr/src/sys/powerpc/include/vmparam.h -r334498 . I jumped from -r340287 to -r341766 . It booted fine as smp. I tried booting with "set usefdt=1" and the ethernet connection moved to the other plugin position. It also booted fine as smp. [I have occasional access to a G5 Quad Core (system total count) again.]
(In reply to Mark Millard from comment #12) (PowerMac G5 "4 core" (system total) context, with 16 GiByte of RAM.) I tested head -r341836 using usefdt=1 mode based on a build the modern /usr/src/sys/powerpc/include/vmparam.h (but still smp enabled) and the results of repeated boot attempts were mixed: many boot failures but some boot successes. In some cases it took dozens of attempts to get a success. I also had some example of a bunch of successful boots in a row. The failures were: stopping during the "Waking up CPU" sequence where, other than for CPU 0, "Adding CPU" messages did not show up and and at least one "Waking up CPU" did not show up before the boot hung up. But each hang up at least one did show before the hang-up. Note: No panics occurred, just hang ups. Side note on the shutdown isde of things: There is also a shutdown issue of some the buf*maeomon* shutdowns timing out instead of reporting "done". Which timeout varies. But this specific point is also true of using the older VM_MAX_KERNEL_ADDRESS value: just the usefdt=1 use seems sufficient for this to be an issue. The combination of the old VM_MAX_KERNEL_ADDRESS and not using usefdt mode dos not show this behavior in my testing.
re : stopping during the "Waking up CPU". I see the exact same behavior here on a PMacG5_11,2 unit. Let's just call them G511,2 for short. Again, I feel strongly that this is historical computing with the side effect that the G511,2 can be had on eBay and everywhere cheaply. So the user base is out there. That alone justifies my interest. That and the embedded space with is a whole other kettle of fish. I will see if I can get a build going with head whatever that is today and try a few more experiments but using a mixture of : debug.rman_debug=1 debug.verbose_sysinit=1 usefdt=1 kern.smp.disabled=1 I check in via irc and this may be worth looking at further but without a decent serial console the process is, as you know, a miserable process. -- Dennis Clarke RISC-V/SPARC/PPC/ARM/CISC UNIX and Linux spoken GreyBeard and suspenders optional
(In reply to Mark Millard from comment #13) I forgot to mention a few possibly-important context points: I tried debug kernsls and non-debug kernsls that I had built. usefdt mode did not mix well with unload/load/boot and related sequences. So the tests in question were for without switching kernels from the loader prompt: just booting the default kernel path. The builds were via powerpc64-xtoolchain-gcc related build tools.
(In reply to Dennis Clarke from comment #14) If you are also no longer seeing panics for usefdt=1 mode, the this specific bugzilla id should possibly be closed as overcome by events as of at least (say) -r341836 --or its description should be changed to reference more current behavior of a later version. (Close is probably the right answer in my view.) (My current context make even monitoring irc problematical. It will be some time before I'm back to doing that.)
Feel free to close this as "more or less fixed" and then we can move onwards.
(In reply to Dennis Clarke from comment #17) I can not close something you submitted, only what I have submitted myself.
Justin Hibbits and Dennis Clarke state the panic no longer happens. Other things happen. -- Dennis Clarke RISC-V/SPARC/PPC/ARM/CISC UNIX and Linux spoken GreyBeard and suspenders optional
Merely an update that this problem has returned with r350103. Seen by myself and Francis Little. See : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239245#c49 Dennis Clarke