Home | History | Annotate | Download | only in powerpc
History log of /src/sys/arch/powerpc/powerpc/ofw_machdep.c
RevisionDateAuthorComments
 1.36  12-Dec-2022  martin Move the last remaining kernel printf to ofprint.
 1.35  10-Dec-2022  martin Move some output to DEBUG-only state
 1.34  10-Dec-2022  martin Convert more kernel printfs that might happen very early (before kernel
console is usable) to ofprint.
 1.33  24-Nov-2022  macallan in ofprint() only append \r if the last character is \n
 1.32  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.31  12-Oct-2022  andvar fix few typos in comments.
 1.30  02-Mar-2021  thorpej - Add a boolean "ofwbootcons_suppress" that, when true, suppresses
ofwbootcons I/O (i.e. "doesn't call into OFW"). This allows
platform code to ensure that early console I/O doesn't occur in certain
critical sections.
- When printing the translations, put phys next to virt for easier
visual comparisons.
 1.29  20-Feb-2021  thorpej Query real-mode? at startup and cache the result.
 1.28  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.27  18-Feb-2021  thorpej Add an ofw_bootstrap() function, called during early bootstrap from
ofwinit() to perform additional early initialization in C code. Use
this to get the memory config while we're still running in the OpenFirmware
client environment, rather than waiting until we've started fiddling with
the system state.
 1.26  27-Jan-2021  thorpej There is not much point in of_compatible() returning -1 for "no match"
and >= 0 for "match". Just make it return 0 for "no match" and >0 for
"match" so it can be treated like a boolean expression.
 1.25  28-Feb-2014  matt branches: 1.25.42;
Use PRIx64
 1.24  12-Jun-2013  kiyohara branches: 1.24.2;
Fix lost avail memory over 256M.
 1.23  12-May-2013  macallan cleanup mem_regions:
- use different variables for / and /memory nodes
- remove redundant OF_finddevice("/")
- assume 32bit addresses/sizes in "available" on Apple hardware
 1.22  11-Apr-2013  macallan fix off-by-one
noticed by Phileas Fogg
 1.21  11-Apr-2013  macallan KNF nits
 1.20  01-Apr-2013  macallan deal with /memory "reg" property which may contain 64bit addresses on G5
 1.19  01-Feb-2012  matt branches: 1.19.6;
Use kmem instead of malloc. Remove unneeded <sys/malloc.h> includes.
 1.18  27-Mar-2008  phx branches: 1.18.38; 1.18.42;
SmartFirmware only reports the first 256MB as available.
Also use the remaining memory by looking at the "reg" property.
 1.17  04-Mar-2008  mrg insert a .WAIT between include and include/foo subdirs, so that
include/ is created before include/foo.

fixes -j builds on ofppc for me.
 1.16  05-Aug-2006  sanjayl branches: 1.16.34; 1.16.54; 1.16.58;
1st cut of Powermac G5 support (uses bridge mode).
 1.15  11-Dec-2005  christos branches: 1.15.4; 1.15.8;
merge ktrace-lwp.
 1.14  15-Jul-2003  lukem branches: 1.14.16;
__KERNEL_RCSID()
 1.13  18-Sep-2002  chs branches: 1.13.6;
remove all vesitages of dk_establish().
 1.12  06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.11  26-Aug-2001  matt branches: 1.11.2; 1.11.6; 1.11.14;
Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports. Make
other mpc6xx ports use it. Add evcnts for mpc6xx traps.
 1.10  22-Jul-2001  wiz memcpy -> memmove. Noted by Tsubai Masanari.
 1.9  22-Jul-2001  wiz bcopy -> memcpy, bzero -> memset, bcmp -> memcmp.
Reviewed by Matt Thomas, ok'd by Tsubai Masanari.
 1.8  10-Jun-2001  tsubai branches: 1.8.2;
Rename ofb_softc to ofbus_softc. (XXX Is this good name?)
 1.7  05-Dec-2000  mycroft branches: 1.7.2;
In mem_regions(), deal with the case of a run of consecutive holes.
Now the cube works with the memory in any order.
 1.6  24-Sep-2000  tsubai In mem_regions(), remove zero sized entry returned from OF.
Since this function uses size == 0 to delimiter, valid entries must not
contain 0 in size field.

G4 Cube should boot now. :-)
 1.5  23-May-2000  tsubai branches: 1.5.4;
Compile dk_* functions only when __BROKEN_DK_ESTABLISH is defined.
 1.4  24-Feb-1998  mycroft branches: 1.4.14;
Catch up with changes in dev/ofw. Add mainbus.
 1.3  16-Apr-1997  thorpej Fix some bogons in boot path parsing code.
 1.2  31-Jan-1997  thorpej Find the root device in a much more sane way. Also, remove all of the
code that determines the root file system type. This is now done in
machine-independent code, much differently.
 1.1  30-Sep-1996  ws branches: 1.1.2;
PowerPC port
 1.1.2.1  14-Jan-1997  thorpej Snapshot of work-in-progress, committed to private branch.

These changes implement machine-independent root device and file system
selection. Notable features:

- All ports behave in a consistent manner regarding root
device selection.
- No more "options GENERIC"; all kernels have the ability
to boot with RB_ASKNAME to select root device and file system
type.
- Root file system type can be wildcarded; a machine-independent
function will try all possible file systems for the selected
root device until one succeeds.
- If the root file system fails to mount, the operator will
be given the chance to select a new root device and file
system type, rather than having the machine simply panic.
- nfs_mountroot() no longer panics if any part of the NFS
mount process fails; it now returns an error, giving the
operator a chance to recover.
- New, more consistent, config(8) grammar. The constructs:

config netbsd swap generic
config netbsd root on nfs

have been replaced with:

config netbsd root on ? type ?
config netbsd root on ? type nfs

Additionally, the operator may select or wildcard root file
system type in the kernel configuration file:

config netbsd root on cd0a type cd9660

config(8) now requires that a "root" specification be
made. "root" may be wired down or wildcarded. "swap" and
"dump" specifications are optional, and follow previous
semantics.

- config(8) has a new "file-system" keyword, used to configure
file systems into the kernel. Eventually, this will be used
to generate the default vfssw[].

- "options NFSCLIENT" is obsolete, and is replaced by
"file-system NFS". "options NFSSERVER" still exists, since
NFS server support is independent of the NFS file system
client.

- sys/arch/<foo>/<foo>/swapgeneric.c is no longer used, and
will be removed; all information is now generated by config(8).

As of this commit, all ports except arm32 have been updated to use
the new setroot(). Only SPARC, i386, and Alpha ports have been
tested at this time. Port masters should test these changes on their
ports, and report any problems back to me.

More changes are on their way, including RB_ASKNAME support in
nfs_mountroot() (to prompt for server address and path) and, potentially,
the ability to select rarp/bootparam or bootp in nfs_mountroot().
 1.4.14.2  08-Dec-2000  bouyer Sync with HEAD.
 1.4.14.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.5.4.2  13-Dec-2000  he Pull up revision 1.7 (requested by mycroft):
Make memory probing work correctly with the DIMMs in any order.
 1.5.4.1  18-Oct-2000  tv Pullup 1.6 [tsubai]:
In mem_regions(), remove zero sized entry returned from OF.
Since this function uses size == 0 to delimiter, valid entries must not
contain 0 in size field.
 1.7.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.8.2.3  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.8.2.2  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.8.2.1  03-Aug-2001  lukem update to -current
 1.11.14.1  17-May-2002  gehenna Replace the access to devsw table and the hard-coded major with devsw API.
 1.11.6.3  18-Oct-2002  nathanw Catch up to -current.
 1.11.6.2  17-Sep-2002  nathanw Catch up to -current.
 1.11.6.1  26-Aug-2001  nathanw file ofw_machdep.c was added on branch nathanw_sa on 2002-09-17 21:17:09 +0000
 1.11.2.1  10-Oct-2001  fvdl Convert all remaining devices.
 1.13.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.13.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.13.6.1  03-Aug-2004  skrll Sync with HEAD
 1.14.16.2  17-Mar-2008  yamt sync with head.
 1.14.16.1  30-Dec-2006  yamt sync with head.
 1.15.8.1  11-Aug-2006  yamt sync with head
 1.15.4.1  09-Sep-2006  rpaulo sync with head
 1.16.58.1  03-Apr-2008  mjf Sync with HEAD.
 1.16.54.1  24-Mar-2008  keiichi sync with head.
 1.16.34.1  23-Mar-2008  matt sync with HEAD
 1.18.42.1  18-Feb-2012  mrg merge to -current.
 1.18.38.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.18.38.1  17-Apr-2012  yamt sync with head
 1.19.6.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.19.6.1  23-Jun-2013  tls resync from head
 1.24.2.1  18-May-2014  rmind sync with head
 1.25.42.1  03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed