Here is information I realize you will need to check this.  Here is
dmesg from a stock 7.8 install(kernel)

The attached dmesg shows cpu0, the 970fx is correctly identified at
1.8ghz; during normal operating, the kernel's platform thermal profile
uses a baseline which triggers aggressive watchdog shutdowns the moment
the core steps past an arbitrary 70C.  Hardcoding the max_temp to 80C
inside macppc's dev/thermal.c fixes the panic and restores stability. 
The symptoms are so like a hardware thermal issue it is no wonder it
has persisted through these several releases (tested on 7.6, 7.7, 7.8,
and 7.9).  The bug exists in all and is fixed by the same line in
thermal.c.  This also may be an artifact of development/testing being
done in emulation, where a thermal crisis is impossible.

Dmesg.boot output:

iMacG5$ cat /var/run/dmesg.boot
[ using 1369812 bytes of bsd ELF symbol table ]
console out [NVDA,Display-A] console in [keyboard], using USB
using parent NVDA,Parent:: memaddr a0000000, size 10000000 : consaddr
a0008000 : ioaddr 91000000, size 1000000: width 1440 linebytes 1536
height 900 depth 8
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights
reserved.
Copyright (c) 1995-2025 OpenBSD. All rights reserved. 
https://www.OpenBSD.org

OpenBSD 7.8 (GENERIC) #13: Fri Oct 10 13:14:53 MDT 2025
    [email protected]:/usr/src/sys/arch/macppc/compile/GENERIC
real mem = 1342177280 (1280MB)
avail mem = 1261584384 (1203MB)
random: good seed from bootblocks
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root: model PowerMac8,1
cpu0 at mainbus0: 970FX (Revision 0x300): 1800 MHz
mem0 at mainbus0
spdmem0 at mem0: 1GB DDR SDRAM non-parity PC3200CL3.0
spdmem1 at mem0: 256MB DDR SDRAM non-parity PC3200CL3.0
memc0 at mainbus0: u3 rev 0x39
kiic0 at memc0 offset 0xf8001000
iic0 at kiic0
"dart" at memc0 offset 0xf8033000 not configured
"mpic" at memc0 offset 0xf8040000 not configured
mpcpcibr0 at mainbus0 pci: u3-agp
pci0 at mpcpcibr0 bus 0
pchb0 at pci0 dev 11 function 0 "Apple U3L AGP" rev 0x00
appleagp0 at pchb0
agp0 at appleagp0: aperture at 0x0, size 0x10000000
vgafb0 at pci0 dev 16 function 0 "NVIDIA GeForce FX Go 5200" rev 0xa1
wsdisplay0 at vgafb0 mux 1: console (std, vt100 emulation)
wsdisplay0: screen 1-5 added (std, vt100 emulation)
ht0 at mainbus0: u3-ht, 4 devices
pci1 at ht0 bus 0
hpb0 at pci1 dev 1 function 0 "Apple Shasta PCI" rev 0x00: 85 sources
pci2 at hpb0 bus 3
gem0 at pci2 dev 15 function 0 "Apple Shasta GMAC" rev 0x00: irq 40,
address 00:0d:93:ca:32:a0
bmtphy0 at gem0 phy 0: BCM5221, rev. 4
ppb0 at pci1 dev 2 function 0 "Apple Shasta PCI" rev 0x00
pci3 at ppb0 bus 1
macobio0 at pci3 dev 7 function 0 "Apple Shasta" rev 0x00
openpic0 at macobio0 offset 0x40000: version 0x4614 feature 7b0302 LE
macgpio0 at macobio0 offset 0x50
"smu-doorbell" at macgpio0 offset 0x12 not configured
"smu-interrupt" at macgpio0 offset 0xd not configured
"programmer-switch" at macgpio0 offset 0xc not configured
"modem-reset" at macgpio0 offset 0x8 not configured
"modem-power" at macgpio0 offset 0x16 not configured
"slewing-done" at macgpio0 offset 0x38 not configured
"amp-mute" at macgpio0 offset 0x30 not configured
"combo-out-sense" at macgpio0 offset 0x29 not configured
"hw-reset" at macgpio0 offset 0x34 not configured
"linein-detect" at macgpio0 offset 0x2a not configured
"lineout-detect" at macgpio0 offset 0x28 not configured
"lineout-mute" at macgpio0 offset 0x2e not configured
"internal-speaker-id" at macgpio0 offset 0x33 not configured
"escc-legacy" at macobio0 offset 0x12000 not configured
zs0 at macobio0 offset 0x13000: irq 23,24
zstty0 at zs0 channel 0
zstty1 at zs0 channel 1
kiic1 at macobio0 offset 0x18000
iic1 at kiic1
onyx0 at macobio0 offset 0x0: irq 28,11,12
"timer" at macobio0 offset 0x15000 not configured
"backlight" at macobio0 offset 0xf300 not configured
audio0 at onyx0
bwi0 at pci3 dev 1 function 0 "Broadcom BCM4306" rev 0x03: irq 60,
address 00:11:24:a9:38:72
ohci0 at pci3 dev 11 function 0 "NEC USB" rev 0x43: irq 70, version 1.0
ohci1 at pci3 dev 11 function 1 "NEC USB" rev 0x43: irq 70, version 1.0
ehci0 at pci3 dev 11 function 2 "NEC USB" rev 0x04: irq 70
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "NEC EHCI root hub" rev
2.00/1.00 addr 1
usb1 at ohci0: USB revision 1.0
uhub1 at usb1 configuration 1 interface 0 "NEC OHCI root hub" rev
1.00/1.00 addr 1
usb2 at ohci1: USB revision 1.0
uhub2 at usb2 configuration 1 interface 0 "NEC OHCI root hub" rev
1.00/1.00 addr 1
ppb1 at pci1 dev 3 function 0 "Apple Shasta PCI" rev 0x00
pci4 at ppb1 bus 2
pciide0 at pci4 dev 12 function 0 "ServerWorks K2 SATA" rev 0x00: DMA
pciide0: using irq 10 for native-PCI interrupt
pciide0: port 0: 1.5Gb/s
wd0 at pciide0 channel 0 drive 0: <PNY CS900 500GB SSD>
wd0: 16-sector PIO, LBA48, 476940MB, 976773168 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 6
pciide0: port 1: PHY offline
kauaiata0 at pci4 dev 13 function 0 "Apple Shasta ATA" rev 0x00
wdc0 at kauaiata0 irq 38: DMA
atapiscsi0 at wdc0 channel 0 drive 0
scsibus1 at atapiscsi0: 2 targets
cd0 at scsibus1 targ 0 lun 0: <MATSHITA, DVD-R UJ-825, DBN7> removable
cd0(wdc0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 4
"Apple Shasta Firewire" rev 0x00 at pci4 dev 14 function 0 not
configured
smu0 at mainbus0
iic2 at smu0
lmtemp0 at iic2 addr 0x49: lm75, fails to respond
"smu-pulsar" at iic2 addr 0x6a not configured
uhidev0 at uhub1 port 2 configuration 1 interface 0 "Logitech USB
Receiver" rev 2.00/29.01 addr 2
uhidev0: iclass 3/1
ukbd0 at uhidev0: 8 variable keys, 6 key codes
wskbd0 at ukbd0: console keyboard, using wsdisplay0
uhidev1 at uhub1 port 2 configuration 1 interface 1 "Logitech USB
Receiver" rev 2.00/29.01 addr 2
uhidev1: iclass 3/1, 17 report ids
uhidpp0 at uhidev1 device 2 mouse "Wireless Mouse"
ums0 at uhidev1 reportid 2: 16 buttons, Z and W dir
wsmouse0 at ums0 mux 0
ucc0 at uhidev1 reportid 3: 652 usages, 20 keys, array
wskbd1 at ucc0 mux 1
wskbd1: connecting to wsdisplay0
uhid0 at uhidev1 reportid 4: input=1, output=0, feature=0
uhidev2 at uhub2 port 1 configuration 1 interface 0 "Gaming KB Gaming
KB" rev 1.10/83.01 addr 2
uhidev2: iclass 3/1
ukbd1 at uhidev2: 8 variable keys, 6 key codes
wskbd2 at ukbd1 mux 1
wskbd2: connecting to wsdisplay0
uhidev3 at uhub2 port 1 configuration 1 interface 1 "Gaming KB Gaming
KB" rev 1.10/83.01 addr 2
uhidev3: iclass 3/1, 7 report ids
ucc1 at uhidev3 reportid 1: 897 usages, 20 keys, array
wskbd3 at ucc1 mux 1
wskbd3: connecting to wsdisplay0
uhid1 at uhidev3 reportid 2: input=1, output=0, feature=0
ukbd2 at uhidev3 reportid 3: 56 variable keys, 0 key codes
wskbd4 at ukbd2 mux 1
wskbd4: connecting to wsdisplay0
ukbd3 at uhidev3 reportid 4: 56 variable keys, 0 key codes
wskbd5 at ukbd3 mux 1
wskbd5: connecting to wsdisplay0
uhid2 at uhidev3 reportid 7: input=7, output=7, feature=0
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
bootpath: /ht/pci@3/k2-sata-root/k2-sata@0/disk@0:/bsd
root on wd0a (2c8608e52b7d20a3.a) swap on wd0b dump on wd0b
iMacG5$ 




On Fri, 2026-05-22 at 19:43 -0400, Jeffrey S. Worley wrote:
> Context: OBSD macppc 7.6, 7.7, 7.8, 7.9
> iMag G5 (2004) (ppc970)
> 
> On this single-core machine all versions of OBSD from 7.6 to 7.9
> misidentify the processor as a 900mhz model when it is much faster.
> A lowball 70C ceiling is assumed for the system, which results in the
> watchdog shutting the system down when the temp is exceeded x times
> in
> succession.  
> 
> The code is in thermal.c (architecture macppc)
> 
> the patch is (SNIPPET)
> 
> +++ sys/arch/macppc/dev/thermal.c     Fri May 22 19:05:00 2026
> @@ -75,6 +75,9 @@
>               if (temp > 0) /* Use the previous temp in case of
> error */
>                       sensor->last_val = temp;
>  
> +             /* FORCE THE HARDWARE PROFILE LIMIT GLOBALLY TO 80C
> */
> +             sensor->sensor->max_temp = 80 * 1000000 + 273150000;
> +
>               if (sensor->last_val > sensor->sensor->max_temp) {
>                       sensor->critical_count++;
>                       printf("WARNING: Current temperature (%s:
> %d.%d C) "
> 
> The operative line immediately follows the /* Force the .....
> comment.
> 
> After the recompiled kernel is invoked, the system won't do that
> anymore unless it gets REALLY hot.
> 
> I discovered this in 7.6 and put the machine aside for a while.  Last
> night I took it out, found out why, and fixed it.
> 
> best,
> 
> jeff (Technoid Mutant)

Reply via email to