MKSOFTFLOAT=yes). The main purpose of this feature is to let NetBSD work
in machines with the 68040LC chip (those that have the FPU bug).
All the work has been done by Bruce O'Neel <edoneel AT sdf.lonestar.org>,
with some very minor changes by me; the patches were being posted to the
port-mac68k mailing list. It has been tested for a long time by several
users, including me.
I have just verified that regular releases, as well as soft-float ones,
continue to build.
There have been no objections to this patch since I asked for them in July
in the port-mac68k list.
Fix tx queue (slist can be corrupted when tx interrupts hit within tx_encap.
Lower interrupt moderation timer to (improves performance).
Improve chip identification. (from linux sk98lin driver).
Keep tx queue running by kicking the tx bmu repeatedly.
Because we no longer return an error message when no disklabel was found
the scsipi/cd.c code took the label we generated. The problem is that the
readdisklabel code was clearing the partition information, which included
the default partition information setup by the cd.c code. Previously when
no disklabel was found we returned an error, which caused the cd.c code to
generate a new default label which included an a partition.
According to the man page for readdisklabel:
Unspecified fields in lp should be set to zero
Therefore we have no reason to clear the partition info, as it's already
clear or contains useful default partition info.
This means if we don't find a label on disk, the default label is left as
is. I would expect the driver to have setup a much more sensible default
label than we could fake at this level.
Also don't hard code the number of partitions to the maximum. This better
matches other platforms (i386)
Instead of trying to identify all the .o files that make each target rely
on the targets own Makefile having a program.ro target that will compile
all the objects and link them into a single relocatable.
Rename each program's 'main' to '_crunched_<prog>_stub' instead of compiling
a small piece of C.
The old behaviour can be forced by specifying -O, and is also done if the
config file specifies 'objs' or 'objpaths'.
As well as simplifying the logic, this means you only get a single 'prog.ro
is up to date' message for each program during the build.
the list of symbols to be renamed.
Rename symbols to <symbol>$$from%%<prog> (not _$$hide$$<prog>.cro$$<symbol>)
so that gdb reports the symbol name instead of "_" (the $$ is treated as a
C++ name mangle and nothing after it is output by default).
This should fix PR's 26564 and 26809.
This allows CD installs on cats to work, as a cdxa partition is now
faked, so sysinst can mount it.
This does go against changes made for PR 21408, as it will cause the error
cd0: no disk label
to appear when running disklabel cd0.
Really readdisklabel's API should be updated to allow better error returns,
such that the driver can choose to fake the label, if readdisklabel didn't
find one.
Implement a dns (hesiod) backend which tries a grplist hesiod lookup.
Convert back to using getgrent() similar to rev 1.15, instead of
using the private _getgrent_user() from getgrent.c.
Some devices do not transfer data with proper way on status phase
and it causes bus error in spc_datain_pio() which uses auto xfer
via DREG register on weird x68k hardware.