Home | History | Annotate | Download | only in oea
History log of /src/sys/arch/powerpc/oea/ofw_consinit.c
RevisionDateAuthorComments
 1.27  06-Dec-2022  macallan convert more seriously early output to ofprint
regular console output needs more of the kernel in working order now, and this
stuff happ0ens long before the banner
 1.26  24-Nov-2022  macallan move ofprint() to powerpc/ofw_machdep.c and make it official
now that console output uses locks it needs more of the kernel to function, so
for now use direct OF calls for earliest debug output
 1.25  13-Feb-2022  martin PR port-macppc/56091: on G5 macs we currently can not easily make
early serial console work, so keep the OF based "failsafe" console
but note that we would like to switch over.
Once zs attaches, use the new device mapping and do a belated init
of the zs console globals, and then switch over to real zs based
serial console.
 1.24  05-Mar-2021  thorpej Separate probing for the console device and initializing it, so that
ofwoea_initppc() can have more control over which of those steps are
performed during initialization. Probing happens before setting up
the exception vectors, initializing happens after.
 1.23  19-Feb-2021  thorpej Fix the previously differently.
 1.22  19-Feb-2021  thorpej Avoid an unused variable warning for the not-building-macppc case.
 1.21  19-Feb-2021  thorpej Revert unintended change.
 1.20  19-Feb-2021  thorpej Shuffle around a couple of things that aren't particularly OEA-specific:

- Early bootstrap console initialization moves to ofw_machdep.c, and
is called a bit earlier, from ofw_bootstrap().

- Decoding the "translations" property from /chosen/mmu is specified
in the general OpenFirmware PowerPC bindings, and is not specific to
any particular PowerPC flavor. It's now decoded a bit earlier in
ofw_bootstrap().

The *interpretation* of the mode field of a translation is, however,
implementation-specific, so that remains in ofwoea_machdep.c.
 1.19  06-Jul-2020  rin branches: 1.19.2;
Style and cosmetic changes. No binary changes intended.
 1.18  15-Apr-2020  rin When boot up with auto-boot? == true, some systems do not provide stdout
if the normal output is screen.

Open screen explicitly as stdout in this case, both for ofwboot and kernel,
which fixes problems with auto-boot? == true for Mac mini G4:

- messages from ofwboot do not appear
- kernel freeze during early boot stage

Taken from OpenBSD:
http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/arch/macppc/macppc/ofw_machdep.c#rev1.3
http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/arch/macppc/stand/Locore.c#rev1.3

XXX
pullup to netbsd-9 and -8
 1.17  14-Feb-2016  dholland branches: 1.17.10; 1.17.18; 1.17.22; 1.17.28;
Add missing va_end, from David Binderman in PR 50798.
 1.16  12-May-2013  macallan branches: 1.16.10;
move console_node and console_instance to ofw_consinit.c where they're
actually used
 1.15  29-Oct-2012  chs fix compile problems (for POWERMAC_G5).
 1.14  13-Oct-2012  jdc Adapt to the changed signature of pckbc_cnattach().
 1.13  17-Jul-2011  joerg branches: 1.13.2; 1.13.12;
Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.12  01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.11  14-Nov-2010  uebayasi prop/proplib.h is indirectly used here, include it.

XXX What is the conclusion about direct vs. indirect #include from headers?
 1.10  14-Mar-2010  kiyohara branches: 1.10.2;
Fix isa(4) support for ofw.
ofw not initialized bus_space for isa(4).
It tested on ofppc(PegasosII).
 1.9  10-Mar-2010  kiyohara Remove white-spaces.
 1.8  25-Sep-2008  macallan branches: 1.8.14;
If we have to guess wether the console keyboard is USB or ADB check if the
PMU actually has ADB support.
 1.7  28-Apr-2008  martin branches: 1.7.2; 1.7.6;
Remove clause 3 and 4 from TNF licenses
 1.6  26-Nov-2007  garbled branches: 1.6.14; 1.6.16; 1.6.18;
Apply a set of patches from Frank Wille to make the genfb attachment work
better on ofppc. In doing so, we also move a few functions around in
macppc and the generic ofw powerpc stuff to allow better sharing of code.
Also, introduce a model_init function.

move ofb_cons.c from macppc/dev to powerpc/oea and rename it to rascons.
This gets rid of some naming confusion, and makes it OFW-MI rather than
macppc specific.
 1.5  10-Nov-2007  macallan unbork the initial console for macppc
ofb_cnattach() has nothing to do with ofb (anymore) - it's simply a dumb
rasops console we use until a real wsdisplay driver attaches, therefore
it needs to be #if NWSDISPLAY > 0, not NOFB > 0
Should probably be renamed to avoid future confusion.
 1.4  05-Nov-2007  garbled branches: 1.4.2; 1.4.4;
Lots of small changes for ofppc:

Remove the ofb driver. I'm not interested in trying to make this work.
It should be replaced with the genfb driver, which I have added,
commented out because that driver needs work before it will function on
ofppc. (it's too panic-happy, and ofppc needs a working autoconf.c)

Change the way we do isa_inb/outb. The new way is a slightly nastier
hack, but won't run afoul of the other isa drivers as much.

Fix ofw_consinit.c to remove the dependency on ofb.
 1.3  04-Nov-2007  garbled Get rid of the ofppc use of the ofbus completely, for the last time.

Write a complete OF boot console into ofw_consinit.c and rewire a bunch
of the ifdef logic in that file to use it when appropriate on both macppc
and ofppc. Get rid of the attempt to wire up the serial console early,
as that is extremely difficult on ofppc. Yank all the console code out
of ofppc/machdep.c. (This is a boot console only, not a full blown
console like ofcons.c)

Delete all the ofbus references out of the config files, and pull in
dev/ofw/openfirmio.c and dev/ofw/ofw_subr.c directly rather than pulling
in files.ofw. It might be worth going back and adding a files.ofw-nobus
to that directory to allow pulling in the openfirmware driver without
pulling in the whole ofbus mess.

Change rtas driver to connect directly to mainbus, like the PCI bus nodes do.
 1.2  17-Oct-2007  garbled branches: 1.2.2; 1.2.4;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.1  06-Jun-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10;
file ofw_consinit.c was initially added on branch ppcoea-renovation.
 1.1.10.2  13-Nov-2007  bouyer Sync with HEAD
 1.1.10.1  25-Oct-2007  bouyer Sync with HEAD.
 1.1.8.1  18-Oct-2007  yamt sync with head.
 1.1.6.5  27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.1.6.4  11-Nov-2007  joerg Sync with HEAD.
 1.1.6.3  06-Nov-2007  joerg Sync with HEAD.
 1.1.6.2  04-Nov-2007  jmcneill Sync with HEAD.
 1.1.6.1  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.1.2.3  21-Jun-2007  garbled Protect the 16550 serial console code with a NISA > 0.
 1.1.2.2  14-Jun-2007  macallan add a missing return in ofwoea_bootstrap_console() - now we get past ofb
initialization and hang a little later
 1.1.2.1  06-Jun-2007  garbled Add new routines which should be common between macppc and ofppc. Not
used by either port yet.
 1.2.4.4  07-Dec-2007  yamt sync with head
 1.2.4.3  15-Nov-2007  yamt sync with head.
 1.2.4.2  27-Oct-2007  yamt sync with head.
 1.2.4.1  17-Oct-2007  yamt file ofw_consinit.c was added on branch yamt-lazymbuf on 2007-10-27 11:27:54 +0000
 1.2.2.4  03-Dec-2007  ad Sync with HEAD.
 1.2.2.3  03-Dec-2007  ad Sync with HEAD.
 1.2.2.2  23-Oct-2007  ad Sync with head.
 1.2.2.1  17-Oct-2007  ad file ofw_consinit.c was added on branch vmlocking on 2007-10-23 20:36:09 +0000
 1.4.4.3  09-Jan-2008  matt sync with HEAD
 1.4.4.2  06-Nov-2007  matt sync with HEAD
 1.4.4.1  05-Nov-2007  matt file ofw_consinit.c was added on branch matt-armv6 on 2007-11-06 23:20:45 +0000
 1.4.2.2  08-Dec-2007  mjf Sync with HEAD.
 1.4.2.1  19-Nov-2007  mjf Sync with HEAD.
 1.6.18.3  11-Aug-2010  yamt sync with head.
 1.6.18.2  04-May-2009  yamt sync with head.
 1.6.18.1  16-May-2008  yamt sync with head.
 1.6.16.1  18-May-2008  yamt sync with head.
 1.6.14.2  28-Sep-2008  mjf Sync with HEAD.
 1.6.14.1  02-Jun-2008  mjf Sync with HEAD.
 1.7.6.1  19-Oct-2008  haad Sync with HEAD.
 1.7.2.1  10-Oct-2008  skrll Sync with HEAD.
 1.8.14.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.10.2.1  05-Mar-2011  rmind sync with head
 1.13.12.3  03-Dec-2017  jdolecek update from HEAD
 1.13.12.2  23-Jun-2013  tls resync from head
 1.13.12.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.13.2.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.13.2.1  30-Oct-2012  yamt sync with head
 1.16.10.1  19-Mar-2016  skrll Sync with HEAD
 1.17.28.1  20-Apr-2020  bouyer Sync with HEAD
 1.17.22.1  21-Apr-2020  martin Pull up following revision(s) (requested by rin in ticket #837):

sys/arch/macppc/stand/ofwboot/Locore.c: revision 1.34
sys/arch/powerpc/oea/ofw_consinit.c: revision 1.18

When boot up with auto-boot? == true, some systems do not provide stdout
if the normal output is screen.

Open screen explicitly as stdout in this case, both for ofwboot and kernel,
which fixes problems with auto-boot? == true for Mac mini G4:
- messages from ofwboot do not appear
- kernel freeze during early boot stage

Taken from OpenBSD:
http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/arch/macppc/macppc/ofw_machdep.c#rev1.3
http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/arch/macppc/stand/Locore.c#rev1.3

XXX
pullup to netbsd-9 and -8
 1.17.18.1  21-Apr-2020  martin Sync with HEAD
 1.17.10.1  21-Apr-2020  martin Pull up following revision(s) (requested by rin in ticket #1533):

sys/arch/macppc/stand/ofwboot/Locore.c: revision 1.34 (via patch)
sys/arch/powerpc/oea/ofw_consinit.c: revision 1.18

When boot up with auto-boot? == true, some systems do not provide stdout
if the normal output is screen.

Open screen explicitly as stdout in this case, both for ofwboot and kernel,
which fixes problems with auto-boot? == true for Mac mini G4:
- messages from ofwboot do not appear
- kernel freeze during early boot stage

Taken from OpenBSD:
http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/arch/macppc/macppc/ofw_machdep.c#rev1.3
http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/arch/macppc/stand/Locore.c#rev1.3

XXX
pullup to netbsd-9 and -8
 1.19.2.1  03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed