Date: Tue, 18 Oct 2016 17:30:56 -0700 From: Mark Millard <markmi@dsl-only.net> To: Nathan Whitehorn <nwhitehorn@freebsd.org> Cc: FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>, Krzysztof Parzyszek <kristof@swissmail.org>, "Jukka A. Ukkonen" <jau789@gmail.com> Subject: Re: svn commit: r302214 - head/sys/powerpc/aim ["set usefdt=1" test fails on PowerMac G5 "Quad Core"] Message-ID: <FCF39018-C195-4166-B0E7-61FF068AEEA2@dsl-only.net> In-Reply-To: <A4F120A6-73B0-49F6-BBF5-509E4A1A85D8@dsl-only.net> References: <B2997643-4FB3-43AF-8942-61E6E4DB2ACF@dsl-only.net> <A4F120A6-73B0-49F6-BBF5-509E4A1A85D8@dsl-only.net>
index | next in thread | previous in thread | raw e-mail
[I've finally got a access to the powerpc's and powerpc64's, at least for a little bit. But other things may take much of my time.] Nathan Whitehorn nwhitehorn at freebsd.org wrote on Sun Jun 26 23:38:36 UTC 2016 [back in 11-CURRENT days]: >> . . . >>> Author: nwhitehorn >>> Date: Sun Jun 26 18:43:42 2016 >>> New Revision: 302214 >>> URL: >>> https://svnweb.freebsd.org/changeset/base/302214 >>> >>> >>> Log: >>> Enter 64-bit mode as early as possible in the 64-bit PowerPC boot sequence. >>> Most of the effect of setting MSR[SF] is that the CPU will stop ignoring >>> the high 32 bits of registers containing addresses in load/store >>> instructions. As such, the kernel was setting it only when it began to >>> need access to high memory. MSR[SF] also affects the operation of some >>> conditional instructions, however, and so setting it at late times could >>> subtly break code at very early times. This fixes use of the FDT mode in >>> loader, and FDT boot more generally, on 64-bit PowerPC systems. >>> >>> Hardware provided by: IBM LTC >>> Approved by: re (kib) >>> >>> Modified: >>> head/sys/powerpc/aim/aim_machdep.c >>> head/sys/powerpc/aim/locore64.S >> . . . > > . . . > > One thing it would be great to have some testing on after this change is > the FDT layer in loader. If you set usefdt=1 from the loader prompt, > loader will distill the OF device tree into an FDT and then stop Open > Firmware completely before transferring control to FreeBSD. This should > avoid any possible problems accessing Open Firmware from the kernel, as > well as making boot a little faster. > -Nathan I updated the old 2016-June-1 SSD contents to head's -r302214 and did buildworld and buildkernel and installed them, but with my PowerMac G5 boot-hack still present. This was to be the first test if things went well for "set usefdst=1". They did not so no tests without the hack were made. A normal boot works fine for -r203214 but use of "set usefdt=1" before "boot" fails. A hand transcribed report of the visible "set usefdt=1" results are: > Ok set usefdt=1 > Ok boot > Booting... > Error -2 adding node /ht@0,f2000000/pci@8/macio@7/i2c@18000/i2c-bus@0 (i2c-bus@0), skipping > > kernel entry at 0x100120 > Invalid memory access at %SRR0: 00000000.00100120 %SRR1: 10000000.00083030 It then reports the Apple model and firmware version and and some other Apple text and gets stuck. (Power switch time.) Note: I've not updated /usr/ports so the modern binutils poewrpc64 issue is not involved: > #svnlite info /usr/ports/ | grep "Re[lv]" > Relative URL: ^/head > Revision: 415874 > Last Changed Rev: 415874 > # uname -apKU > FreeBSD FBSDG5C0 11.0-ALPHA5 FreeBSD 11.0-ALPHA5 #40 r302214M: Tue Oct 18 06:11:02 PDT 2016 root@FBSDG5C0:/usr/obj/xtoolchain/powerpc.powerpc64/usr/src/sys/GENERIC64vtsc-NODEBUG powerpc powerpc64 1100120 1100120 devel/powrepc64-gcc was used to do the system builds and it is a libc++ based build. > # svnlite info /usr/src/ | grep "Re[lv]" > Relative URL: ^/head > Revision: 302214 > Last Changed Rev: 302214 > # svnlite status /usr/src > ? /usr/src/.snap > M /usr/src/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp > M /usr/src/lib/csu/powerpc64/Makefile > ? /usr/src/restoresymtable > ? /usr/src/sys/arm/conf/RPI2-NODBG > M /usr/src/sys/boot/ofw/Makefile.inc > M /usr/src/sys/boot/powerpc/Makefile > M /usr/src/sys/boot/powerpc/Makefile.inc > M /usr/src/sys/boot/uboot/Makefile.inc > M /usr/src/sys/conf/Makefile.powerpc > M /usr/src/sys/conf/kern.mk > M /usr/src/sys/conf/kmod.mk > ? /usr/src/sys/powerpc/conf/GENERIC64-NODBG > ? /usr/src/sys/powerpc/conf/GENERIC64vtsc > ? /usr/src/sys/powerpc/conf/GENERIC64vtsc-NODEBUG > ? /usr/src/sys/powerpc/conf/GENERICvtsc > ? /usr/src/sys/powerpc/conf/GENERICvtsc-NODEBUG > M /usr/src/sys/powerpc/ofw/ofw_machdep.c > M /usr/src/sys/powerpc/powerpc/exec_machdep.c === Mark Millard markmi at dsl-only.nethome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FCF39018-C195-4166-B0E7-61FF068AEEA2>
