Re: Failed attempt to boot a (non-debug) head -r339076 on an old PowerMac G5 "Quad Core" (built via devel/powerpc64-gcc): Waking up CPU 1

Mark Millard via freebsd-ppc <[email protected]>
Newsgroups gmane.os.freebsd.devel.ppc
Message-ID <[email protected]>
On 2018-Oct-9, at 1:40 PM, Michael Tuexen <tuexen at fh-muenster.de> wrote:

>> On 9. Oct 2018, at 22:35, Mark Millard <marklmi at yahoo.com> wrote:
>> 
>> [Reverting head -r334498 in my head -r339076 context was enough to get
>> the G5 so-called "Quad Core" to boot just fine as a variant of
>> -r339076 .]
>> 
>> On 2018-Oct-9, at 12:54 PM, Mark Millard <marklmi at yahoo.com> wrote:
>> 
>>> On 2018-Oct-9, at 8:20 AM, Mark Millard <marklmi at yahoo.com> wrote:
>>> 
>>>> [The stable/head mix seems to be a wrong idea: 11.2 gets past
>>>> the SMP: messages just fine on the so-called G5 "Quad Core".]
>>>> 
>>>> On 2018-Oct-8, at 5:14 PM, Mark Millard <marklmi at yahoo.com> wrote:
>>>> 
>>>>> On 2018-Oct-8, at 1:27 PM, Justin Hibbits <chmeeedalf at gmail.com> wrote:
>>>>> 
>>>>>>> . . .
>>>>>> 
>>>>>> It would be helpful to know the last known-good SVN revision, both for
>>>>>> Head and 11.x, as well as the oldest failing one.  Since my G5 bit the
>>>>>> dust, I can't check locally.
>>>>> 
>>>> . . .
>>> 
>>> There are examples of head's kernels that sometimes
>>> fail to get to the "SMP:" messages and sometimes work
>>> for getting there (and beyond). So:
>>> 
>>> My reporting any example failure is a solid indicator
>>> of the "does not reach "SMP:" problem in that build.
>>> (All tries reached the waking message on at least cpu
>>> 1.)
>>> 
>>> My reporting "worked" for a revision might be a
>>> misclassification. (This makes for a messier
>>> "binary-like search".)
>>> 
>>> That said, the summary of the later detail is:
>>> 
>>> head -r334494 kernel worked
>>> head -r334528 kernel failed
>>> 
>>> (There is nothing between those for:
>>> 
>>> https://artifact.ci.freebsd.org/snapshot/head/r*/powerpc/powerpc64/kernel.txz
>>> 
>>> so getting a smaller range requires builds.
>>> I've not attempted that.)
>>> 
>>> The only machine-dependent powerpc64 change between
>>> those 2 that I see is:
>>> 
>>> Author: jhibbits
>>> Date: Fri Jun  1 21:37:20 2018
>>> New Revision: 334498
>>> URL: 
>>> https://svnweb.freebsd.org/changeset/base/334498
>>> 
>>> 
>>> Log:
>>> Increase powerpc64 KVA from ~7.25GB to 32GB
>>> . . .
>>> 
>>> . . .
>> 
>> In my -r339076 build context I reverted -r334498, did a
>> buildkernel, installed it, and rebooted into -r339076.
>> 
>> The result booted just fine.
>> 
>> It does appear that, for head, -r334498 makes the difference
>> for some reason.
> Are you saying that head with reverting r334498 runs stable with SMP?
> 

So far no problems. I'll later be doing more extensive activity, such
as buildworld buildkernel and poudriere-based port builds. So the
quality of evidence will improve and I'll report on how it went.

BUT: I'm running a build based on devel/powerpc64-gcc having done
the buildworld buildkernel (WITHOUT_LIB32= specified). It was an
amd64->powerpc64 cross-build as well. No gcc 4.2.1 in use or
present. The powerpc64 build has clang as cc (even though clang
messes up buildworld buildkernel if used). So, it is not a match
to an official build.

For reference, my experimental status has some
other /usr/src differences from head -r339076 as
well:

# svnlite status /usr/src/ | sort
?       /usr/src/sys/amd64/conf/GENERIC-DBG
?       /usr/src/sys/amd64/conf/GENERIC-NODBG
?       /usr/src/sys/arm/conf/GENERIC-DBG
?       /usr/src/sys/arm/conf/GENERIC-NODBG
?       /usr/src/sys/arm64/conf/GENERIC-DBG
?       /usr/src/sys/arm64/conf/GENERIC-NODBG
?       /usr/src/sys/powerpc/conf/GENERIC64vtsc-DBG
?       /usr/src/sys/powerpc/conf/GENERIC64vtsc-NODBG
?       /usr/src/sys/powerpc/conf/GENERICvtsc-DBG
?       /usr/src/sys/powerpc/conf/GENERICvtsc-NODBG
M       /usr/src/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M       /usr/src/contrib/llvm/tools/lld/ELF/Arch/PPC64.cpp
M       /usr/src/crypto/openssl/crypto/armcap.c
M       /usr/src/lib/libkvm/kvm_powerpc.c
M       /usr/src/lib/libkvm/kvm_private.c
M       /usr/src/release/Makefile.vm
M       /usr/src/release/scripts/mk-vmimage.sh
M       /usr/src/release/tools/vmimage.subr
M       /usr/src/secure/lib/libcrypto/Makefile
M       /usr/src/stand/defs.mk
M       /usr/src/stand/powerpc/boot1.chrp/Makefile
M       /usr/src/stand/powerpc/kboot/Makefile
M       /usr/src/sys/arm/allwinner/aw_mmc.c
M       /usr/src/sys/arm64/arm64/identcpu.c
M       /usr/src/sys/conf/kmod.mk
M       /usr/src/sys/conf/ldscript.powerpc
M       /usr/src/sys/ddb/db_main.c
M       /usr/src/sys/ddb/db_script.c
M       /usr/src/sys/dev/mmc/mmc.c
M       /usr/src/sys/dev/mmc/mmcreg.h
M       /usr/src/sys/dev/mmc/mmcsd.c
M       /usr/src/sys/kern/subr_pcpu.c
M       /usr/src/sys/powerpc/aim/mmu_oea64.c
M       /usr/src/sys/powerpc/include/vmparam.h
M       /usr/src/sys/powerpc/ofw/ofw_machdep.c
M       /usr/src/sys/powerpc/powerpc/interrupt.c
M       /usr/src/sys/powerpc/powerpc/mp_machdep.c
M       /usr/src/sys/powerpc/powerpc/trap.c
M       /usr/src/sys/sys/buf.h
M       /usr/src/sys/vm/swap_pager.c
M       /usr/src/sys/vm/vm_page.c
M       /usr/src/sys/vm/vm_pageout.c
M       /usr/src/usr.bin/top/machine.c

Some of this is for 32-bit powerpc, some for powerpc64,
some for aarch64, some for armv7. A few files just have
extra validation/diagnostic code from when a problem
was being investigated.

The GENERIC*-DBG and GENERIC*-NODBG files include the
matching GENERIC* and then modify some debug-status
definitions. For powerpc and powerpc64 they also build
in:

device          filemon
device          geom_label

(This is tied to doing experiments with problematical
clang based buildworld buildkernel results where kld_load
crashes the system.)

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ppc
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.