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) Fix support for the powerstack E1. This machine needs to use the 8259
directly, and cannot use the prep interrupt vector register. Place a
quirk entry in the table for the machine.
2) Add a new com0_vreset boot image. The vreset code only works on a few
machines, and breaks others like the 7025-F40. Its only limitedly useful
when used with the com0, so just make it an optional image the user can
install by hand if they want.
3) Bump the bootloader to 1.8 with the above change.
ntp on my 7248, however, my 7043-140 is still a bit flaky. I suspect the
only way to fix the 7043 is going to be writing a timecounter driver for
the 8254 present on these machines. Either way, this makes some of the
machines better, and the other machines are still about the same as they
were before, so it's a net gain for the port.
1) Rewrite vreset.c completely. Saves about 1k, and now it sets the
screen up much better. Previously the resulting video mode looked bad on
my CRT, and my LCD wouldn't even recognize it as a valid mode. Now it
looks reasonably good and my LCD can talk to it.
2) Call vga_reset unconditionally in the setup process to fix the onboard
VGA. If you have a VGA and use the serial console, this will allow you
to still use the VGA device for getty/wscons. Tested on a 7248 with VGA
and a 7043 without VGA.
3) Change filesystem.c to use nullfs rather than ufs and cd9660. We
don't actually need an fs at all, but it would take a major rewrite to
get rid of them completely. This saves about 6KB on the bootloader.
4) Bump version to 1.7.
set the makefile to build the bootloader without the DB_MONITOR stuff by
default, as it is primarily for debugging. Reduces bootloader size by
about 8k.
It now handles three different cases:
1) if you have an old disk.. it reads the partition table, and writes the new
image with that.
2) if you are doing a new install, you can build an image w/o the table that
can be dd'd to any PReP boot partition.
3) it works the old way for making netboot or floppy images
Additionally, it now includes libz, and automatically compresses the
kernel image, rather than requiring an external step.
tool compiles on non-NetBSD now.
Note: We're not actually using BFD, just two header files that are
more conveniently laid out than our native header. There is no GPL
infection from using the BFD headers.
* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h
* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.
These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).