Bug 233579

Summary: ppc64 r341455 will panic on boot with usefdt=1
Product: Base System Reporter: Dennis Clarke <dclarke>
Component: confAssignee: freebsd-ppc (Nobody) <ppc>
Status: Closed FIXED    
Severity: Affects Only Me CC: marklmi26-fbsd
Priority: ---    
Version: CURRENT   
Hardware: powerpc   
OS: Any   
Attachments:
Description Flags
image of panic on screen
none
dmesg.boot file after boot with r341623 and mods detailed in report none

Description Dennis Clarke 2018-11-27 20:40:44 UTC
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:~ #
Comment 1 Dennis Clarke 2018-12-01 21:04:43 UTC
Seems to affect RC3 also and even the install dvd image won't allow
 more than a single cpu core to work.
Comment 2 Dennis Clarke 2018-12-02 19:12:54 UTC
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.
Comment 3 Dennis Clarke 2018-12-02 21:20:59 UTC
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.
Comment 4 Dennis Clarke 2018-12-03 18:58:24 UTC
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
Comment 5 Dennis Clarke 2018-12-03 18:59:35 UTC
Created attachment 199800 [details]
image of panic on screen

this is the data on the screen which I then entered into this report.
Comment 6 Dennis Clarke 2018-12-03 22:42:13 UTC
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  }
Comment 7 Dennis Clarke 2018-12-05 12:43:33 UTC
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.
Comment 8 Dennis Clarke 2018-12-05 16:13:18 UTC
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.
Comment 9 Dennis Clarke 2018-12-06 13:24:20 UTC
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.
Comment 10 Dennis Clarke 2018-12-06 13:26:05 UTC
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
Comment 11 Dennis Clarke 2018-12-08 05:43:13 UTC
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
Comment 12 Mark Millard 2018-12-10 04:24:41 UTC
(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.]
Comment 13 Mark Millard 2019-02-07 21:48:47 UTC
(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.
Comment 14 Dennis Clarke 2019-02-07 21:56:21 UTC
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
Comment 15 Mark Millard 2019-02-07 22:08:05 UTC
(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.
Comment 16 Mark Millard 2019-02-07 22:29:47 UTC
(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.)
Comment 17 Dennis Clarke 2019-02-07 22:36:56 UTC
Feel free to close this as "more or less fixed" and then we can move onwards.
Comment 18 Mark Millard 2019-02-07 22:49:31 UTC
(In reply to Dennis Clarke from comment #17)

I can not close something you submitted, only what I have submitted
myself.
Comment 19 Dennis Clarke 2019-02-07 22:54:52 UTC
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
Comment 20 Dennis Clarke 2019-07-21 01:41:21 UTC
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