[Bug 292494] powerpc64: booting qemu + mac99 results in crash (kernel DSI write trap) after panic: witness_save: witness_cold
Date: Sun, 18 Jan 2026 02:54:37 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292494
--- Comment #2 from Adrian Chadd <adrian@freebsd.org> ---
ok, I had to cross the startup to direct map path, which required loading the
symbols into gdb in two places:
(kgdb) add-symbol-file
../freebsd-obj-ppc64/data/1/adrian/freebsd/freebsd-src-ppc64/powerpc.powerpc64/sys/GENERIC64/kernel.debug
0xc000000000101000
and here's where I've gotten it just before it craps out:
```
(kgdb) bt
#0 ofw_sprg_prepare ()
at
/home/adrian/work/freebsd/head/freebsd-src-ppc64/sys/powerpc/ofw/ofw_machdep.c:135
f
#1 openfirmware_core (args=0x1c0ea30 <ofw_real_map.emergency_buffer+8>)
at
/home/adrian/work/freebsd/head/freebsd-src-ppc64/sys/powerpc/ofw/ofw_machdep.c:719
#2 0xc000000000e46b34 in ofw_real_peer (ofw=<optimized out>, node=<optimized
out>)
at
/home/adrian/work/freebsd/head/freebsd-src-ppc64/sys/powerpc/ofw/ofw_real.c:452
#3 0xc00000000058dc20 in OFW_PEER (_ofw=0xc00000000193dd28, _node=26467624) at
./ofw_if.h:59
#4 OF_peer (node=0)
at
/home/adrian/work/freebsd/head/freebsd-src-ppc64/sys/dev/ofw/openfirm.c:336
#5 0xc000000000e57d88 in powermac_smp_first_cpu (plat=<optimized out>,
cpuref=0xc00800000000c8a0)
at
/home/adrian/work/freebsd/head/freebsd-src-ppc64/sys/powerpc/powermac/platform_powermac.c:269
#6 0xc000000000e8126c in PLATFORM_SMP_FIRST_CPU (_plat=0xc000000001d188d8,
_cpuref=<optimized out>) at ./platform_if.h:176
#7 platform_smp_first_cpu (cpu=0xc00800000000c8a0)
at
/home/adrian/work/freebsd/head/freebsd-src-ppc64/sys/powerpc/powerpc/platform.c:271
#8 0xc000000000e7bf44 in cpu_mp_setmaxid ()
at
/home/adrian/work/freebsd/head/freebsd-src-ppc64/sys/powerpc/powerpc/mp_machdep.c:122
#9 0xc00000000091c24c in mp_setmaxid (dummy=<optimized out>)
at /home/adrian/work/freebsd/head/freebsd-src-ppc64/sys/kern/subr_smp.c:138
o
#10 0xc0000000007e3904 in mi_startup ()
at
/home/adrian/work/freebsd/head/freebsd-src-ppc64/sys/kern/init_main.c:316
#11 0xc000000000101608 in __start ()
at
/home/adrian/work/freebsd/head/freebsd-src-ppc64/sys/powerpc/aim/locore64.S:201
(kgdb) step
129 __asm __volatile("mtsprg1 %0\n\t"
(kgdb)
openfirmware_core (args=0x1c0ea30 <ofw_real_map.emergency_buffer+8>)
at
/home/adrian/work/freebsd/head/freebsd-src-ppc64/sys/powerpc/ofw/ofw_machdep.c:722
f
722 ofw_save_trap_vec(save_trap_of);
(kgdb)
ofw_save_trap_vec (save_trap_vec=<optimized out>)
f
at
/home/adrian/work/freebsd/head/freebsd-src-ppc64/sys/powerpc/ofw/ofw_machdep.c:94
94 if (!ofw_real_mode || !hw_direct_map)
(kgdb)
f
openfirmware_core (args=<optimized out>)
at
/home/adrian/work/freebsd/head/freebsd-src-ppc64/sys/powerpc/ofw/ofw_machdep.c:737
737 result = ofwcall(args);
(kgdb)
Program received signal SIGINT, Interrupt.
ofwfb_bitblt_bitmap (vd=<optimized out>, vw=<optimized out>,
pattern=0xc0000000017b251a "00",
mask=0x0, width=<optimized out>, height=<optimized out>, x=<optimized out>,
y=<optimized out>, fg=0 '\000', bg=228 '\344')
at
/home/adrian/work/freebsd/head/freebsd-src-ppc64/sys/dev/vt/hw/ofwfb/ofwfb.c:218
218 b <<= 1;
```
So it looks like it does the ofwcall() and gets an exception in there.
--
You are receiving this mail because:
You are the assignee for the bug.