Re: Regression in 4.11 - PowerPC crashes on boot, bisected to commit 5657933dbb6e

From: Larry Finger
Date: Mon Mar 06 2017 - 14:48:17 EST


On 03/06/2017 12:02 PM, Bart Van Assche wrote:
On Thu, 2017-03-02 at 16:14 +1100, Benjamin Herrenschmidt wrote:
On Wed, 2017-03-01 at 21:26 -0600, Larry Finger wrote:
My Powerbook G4 Aluminum generates a fatal splat early in the boot process, just
after identifying the driver for the disk. Unfortunately, it turns off almost
immediately, thus I cannot report the message. After this bug has been
triggered, the system clock has been reset to Dec. 31, 1969. I assume this is a
side effect of an uncontrolled DMA operation.

This problem has been bisected to commit 5657933dbb6e ("treewide: Move dma_ops
from struct dev_archdata into struct device").

Side effect of a crash during boot... the PMU gets upset when we crash while
there's a request in flight, that's probably what is happening.

As to why that commit is broken, I don't have time to look into it right now,
maybe next week of nobody beats me to it.

The results of my attempts so far to create a PPC VM:
* I have not found a CPU / architecture / CD bus type / combination for which the
Gentoo installation CD was able to recognize the boot medium
(http://distfiles.gentoo.org/releases/ppc/autobuilds/20140713/install-powerpc-minimal-20140713.iso).
* Same problem with the openSUSE Leap CD: apparently that software does not recognize
the qemu SCSI CD
(http://mirror.datto.com/opensuse/ports/ppc/distribution/leap/42.2/iso/openSUSE-Leap-42.2-NET-ppc64le-Build0156-Media.iso).
* openSUSE Tumbleweed recognizes the qemu SCSI CD. After it has loaded the installation
software however it displays an message reporting that an error occurred during
installation and displays a menu. Making a selection from that menu is not possible
because the only key from the keyboard it recognizes is "Enter"
(http://mirror.datto.com/opensuse/ports/ppc/tumbleweed/iso/openSUSE-Tumbleweed-DVD-ppc64-Snapshot20170303-Media.iso).

Does anyone have a suggestion for how to proceed?

I was able to create a PPC emulation with debian-8.7.1-powerpc-CD-1.iso following the instructions in https://gmplib.org/~tege/qemu.html. My only problem was that "-net tap" fails and I did not find any way to get networking working.

After looking at the screen through a number of crashes, I have determined that the top entry in the traceback comes from dmam_alloc_coherent(). I have not been able to see the offset to determine which BUG_ON call in that routine is being triggered.

I tried to modify panic() to see if I could keep the screen on longer after the failure, but no joy so far.

Larry