[Bug 233863] r345425 on PowerMac G5 may require kern.smp.disabled=1 and must set usefdt=1 which causes net interface reorder

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Apr 23 16:38:42 UTC 2019


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233863

--- Comment #28 from Mark Millard <marklmi26-fbsd at yahoo.com> ---
(In reply to Mark Millard from comment #26)

More iMag G3 (MPC750) notes . . .

In the non-debug kernel __mtx_lock_flags was inlined
and that code normally leads to __mtx_lock_sleep not
being called in the failures.

My machine check and data store interrupt notes were not
meant to imply debug always gets one or that non-debug
always gets the other.

The following seems to have eliminated the machine check
type of error, turning them all into data storage interrupts
so far:

Index: /usr/src/sys/powerpc/aim/trap_subr32.S
===================================================================
--- /usr/src/sys/powerpc/aim/trap_subr32.S      (revision 345758)
+++ /usr/src/sys/powerpc/aim/trap_subr32.S      (working copy)
@@ -68,7 +68,7 @@
        lwzu    sr,PM_SR(pmap); \
        RESTORE_SRS(pmap,sr) \
        /* Restore SR 12 */ \
-       lwz     sr,12*4(pmap);  mtsr    12,sr
+       lwz     sr,12*4(pmap);  mtsr    12,sr; isync

/*
 * Kernel SRs are loaded directly from kernel_pmap_
@@ -799,6 +799,7 @@
        mfmsr   %r3
        andi.   %r3,%r3,~PSL_EE at l
        mtmsr   %r3
+       isync
/* Test AST pending: */
        lwz     %r5,FRAME_SRR1+8(%r1)
        mtcr    %r5

But the general failures remain. The above (or something
like it) may be necessary but is not sufficient.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ppc mailing list