RealTek 8129/8139 chipset like I've been threatening. Update kernel
configs, userconfig.c, relnotes and sysinstall. No man page yet;
comming soon.
I consider this driver stable enough that I want to give it some
exposure in -current.
- Use the system headers method for Elf32/Elf64 symbol compatability
- get rid of the UPRINTF debugging.
- check the ELF header for compatability much more completely
- optimize the section mapper. Use the same direct VM interfaces that
imgact_aout.c and kern_exec.c use.
- Check the return codes from the vm_* functions better. Some return
KERN_* results, not an errno.
- prefault the page tables to reduce startup faults on page tables like
a.out does.
- reset the segment protection to zero for each loop, otherwise each
segment could get progressively more privs. (eg: if the first was
read/write/execute, and the second was meant to be read/execute, the
bug would make the second r/w/x too. In practice this was not a
problem because executables are normally laid out with text first.)
- Don't impose arbitary limits. Use the limits on headers imposed by
the need to fit them into one page.
- Remove unused switch() cases now that the verbose debugging is gone.
I've been using an earlier version of this for a month or so.
This sped up ELF exec speed a bit for me but I found it hard to get
consistant benchmarks when I tested it last (a few weeks ago).
I'm still bothered by the page read out of order caused by the
transition from data to bss. This which requires either part filling the
transition page or clearing the remainder.
Move the initialization before isa_configure() and npx, in case npx does
something to initialize the state of the emulator somehow.
I do not have any machines without a FPU so that I can test this with -
except an old 386sx motherboard in a box somewhere that might work...
Supply the moduledata handle rather than the event dispatcher function.
This should explain the panic on boot problem that's been discussed in
-current at the moment. Both machines had GNU_MATH_EMULATE.
breaks cross-builds. Just depend on ${.CURDIR}/../sys/conf/newvers.sh
existing.
Don't override the (correct) defaults for the depend, lint or tags target.
In LDIRS: fixed order-rot. Don't comment out dead networking directories;
remove them.
checkdpadd, lint, maninstall, objlink, regress and tags.
Removed bogus user target cleanobj. It is the non-recursive base of
the cleandir target, so it is not useful (or usable) here.
unused static inlines in headers without -O.
Fixed missing libraries in DPADD.
Use .PATH instead of a symlink farm.
Removed bogus dependency of util.c on statetext.h (only util.o depends
on it). Removed rule for building statetext.h. The dependency was used
to get statetext.h built, but statetext.h is a non-generated source file
so it doesn't need building. This fixes an annoying message for the null
build and use of `make' instead of ${MAKE} to do the null build.
Fixed some style bugs.
`make world' case, and only made a difference for the evil NOTOOLS case
of `make world' since games tools are installed in ${TOOLROOT}/usr/bin
if they are built, but the PR was for normal builds. This is fixed
in rev.1.14 of src/games/fortune/datfiles/Makefile.
PR: 7936
to the _end_ of $PATH before using tools that are normally in
/usr/games. I broke this in rev.1.9 by assuming that these tools
are in $PATH (as they are for `make world' unless NOTOOLS is set).
Revs.1.10-1.13 of this file had various wrong fixes. Rev.1.18
of src/Makefile.inc1 has an incomplete fix.
PR: 7936
Fixed comments about what to comment out to [not] install the
potentially offensive fortunes. This should be configured using
an ifdef.
Fixed missing dependencies of fortunes.dat on fortunes, etc.
Removed bogus dependency of `all' on source files.
Fixed some style bugs.
the boot.config settings are persistent, this seems to provide a
useful override capability, and should break only on broken
boot.config's.
Output a cosmetic newline if booting with no input.
a raw partition at a nonzero offset (EINVAL should have been EXDEV;
DIOCSDINFO was broken, and DIOCWDINFO was broken because it depended
on DIOCSDINFO).
A zero offset for the raw partition should probably be enforced in
setdisklabel(), and DIOCWDINFO should probably always be handled by
first calling setdisklabel() so that writedisklabel() doesn't need to
enforce it, but this has never been done; dsioctl() has a special
check. Changes in this commit are limited to dsioctl() to preserve
bug for bug compatibility in drivers that don't use the slice code
(notably the ccd driver, which allows setting a bogus label in
DIOCWDINFO and doesn't undo the setting when writedisklabel() fails).
Read boot.help before parsing boot.config. We were parsing
boot.config first, which could result in boot.help being read
from a different location (or not found), which would probably
just cause surprise, without being useful.