Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 1 Feb 2015 23:05:51 -0800
From:      Mark Millard <markmi@dsl-only.net>
To:        FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>
Subject:   powerpc64 10.1-RELEASE-p5 variant on PowerMac G5 Quad-Core: "DO-QUIESCE finished" notice displayed by openfirmware
Message-ID:  <8905A249-5E89-43B1-93C9-8F0CF36B3490@dsl-only.net>

next in thread | raw e-mail | index | archive | help
powerpc64 PowerMac G5 quad-core (with lots of RAM) with a =
10.1-RELEASE-p5 variant context (shown as booted from the SSD):

$ freebsd-version -ku; uname -a
10.1-RELEASE-p5
10.1-RELEASE-p5
FreeBSD FBSDG5M1 10.1-RELEASE-p5 FreeBSD 10.1-RELEASE-p5 #0 r277808M: =
Fri Jan 30 00:58:33 PST 2015     =
root@FBSDG5M1:/usr/obj/usr/home/markmi/src_10_1_releng/sys/GENERIC64vtsc =
 powerpc

I produced a bootable memorystick from this context. (See below.) I got =
a surprise when I booted the memory stick:

It put out a "DO-QUIESCE finished" notice (white background and black =
text) in the upper left corner of the screen during FreeBSD's boot =
sequence, after the screen was cleared to a black background. It was =
even after some FreeBSD text had been displayed (since I cause text to =
show up earlier than the default build). As far as I can tell =
10.1-RELEASE-p5 has no such message of its own. (But it does call to =
request the quiesce.) As far as I know this message has not historically =
shown up under usual forms of FreeBSD booting.

The message shows up every time I boot that memory stick (CMD-OPT-OF =
boot of G5 then "boot ud:2,\ppc\bootinfo,txt"). It does not show up for =
booting the 10.1-RELEASE-p5 variant from the SSD that the memory stick =
was make from. No FreeBSD boot I've ever done before showed this =
message.

It leaves me wondering if lack of the message is an indication of =
quiesce not completing.



How did I produce the memory stick?

Note: To use "make memstick" below successfully I first forced the =
existence of the /usr/obj/.../sys/GENERIC/... paths by adding a symbolic =
link to the real directory for my build:

$ ls -Fpal /usr/obj/usr/home/markmi/src_10_1_releng/sys/
total 40
drwxr-xr-x   4 root  wheel    512 Feb  1 20:17 ./
drwxr-xr-x  20 root  wheel    512 Jan 31 09:19 ../
lrwxr-xr-x   1 root  wheel     13 Feb  1 20:17 GENERIC64 -> =
GENERIC64vtsc
drwxr-xr-x   3 root  wheel  28672 Jan 30 00:59 GENERIC64vtsc/
drwxr-xr-x   8 root  wheel    512 Jan 31 07:50 boot/

With that in place I did:

$ cd ~markmi/src_10_1_releng/release/
$ make memstick
...
$ ls -Fpal *.img
-rw-r--r--  1 root  wheel  878282752 Feb  1 20:56 memstick.img
$ dd if=3Dmemstick.img of=3D/dev/da0 bs=3D10240 conv=3Dsync

(So the stick was already plugged in but no file system from it was =
mounted at the time.)

Note: after the above ~markmi/src_10_1_releng/... had gone from around =
2G Bytes to more like 4.6G Bytes. (I do not know about peak usage.)


Context details for the 10.1-RELEASE-p5 variant (not showing the ? =
(extra) files for svnlite status):

$ svnlite status ~markmi/src_10_1_releng/
M       /home/markmi/src_10_1_releng/sys/ddb/db_main.c
M       /home/markmi/src_10_1_releng/sys/ddb/db_script.c
M       /home/markmi/src_10_1_releng/sys/powerpc/ofw/ofw_machdep.c
M       /home/markmi/src_10_1_releng/sys/powerpc/ofw/ofwcall64.S
M       =
/home/markmi/src_10_1_releng/sys/powerpc/powermac/powermac_thermal.c

There is the extra file =
~markmi/src_10_1_releng/sys/powerpc/conf/GENERIC64vtsc that I used via =
KERNCONF=3DGENERIC64vtsc as well.

$ more /etc/make.conf
WRKDIRPREFIX=3D/usr/obj/portswork
WITH_DEBUG=3D
MALLOC_PRODUCTION=3D

$ more /etc/src.conf
#WITH_DEBUG_FILES=3D
#WITHOUT_CLANG=3D

$ more ~markmi/src_10_1_releng/sys/powerpc/conf/GENERIC64vtsc
include GENERIC64
ident   GENERIC64vtsc

nooptions       PS3                     #Sony Playstation 3              =
 HACK!!! to allow sc

options         DDB                     # HACK!!! to dump early crash =
info (but 11.0-CURRENT already has it)
options         GDB                     # HACK!!! ...
#options        KTR
#options        KTR_MASK=3DKTR_TRAP
#options        KTR_CPUMASK=3D0xF
#options        KTR_VERBOSE

# HACK!!! to allow sc for 2560x1440 display on Radeon X1950 that vt =
historically mishandled during booting
device          sc
#device          kbdmux         # HACK: already listed by vt
options         SC_OFWFB        # OFW frame buffer
options         SC_DFLT_FONT    # compile font in
makeoptions     SC_DFLT_FONT=3Dcp437


# Disable extra checking typically used for FreeBSD 11.0-CURRENT:
nooptions       DEADLKRES               #Enable the deadlock resolver
nooptions       INVARIANTS              #Enable calls of extra sanity =
checking
nooptions       INVARIANT_SUPPORT       #Extra sanity checks of internal =
structures, required by INVARIANTS
nooptions       WITNESS                 #Enable checks to detect =
deadlocks and cycles
nooptions       WITNESS_SKIPSPIN        #Don't run witness on spinlocks =
for speed
nooptions       MALLOC_DEBUG_MAXZONES   # Separate malloc(9) zones

(My 11.0-CURRENT and 10.1-STABLE variants use the same file contents as =
above, other than ofwcall64.S details for 11.0-CURRENT.)

$ more /boot/loader.conf
kernel=3D"kernel"
verbose_loading=3D"YES"
kern.vty=3Dvt

(I actually normally build and use kernel10.1RE but I happened to have =
reconstructed /boot/kernel to be 10.1-RELEASE-p5 based just before this =
experiment.)

=3D=3D=3D
Mark Millard
markmi at dsl-only.net




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8905A249-5E89-43B1-93C9-8F0CF36B3490>