minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
expressions is a GNU C extension; mark as such them with __extension__ to
suppress portability warnings. Addresses kern/3562 and misc/6185, as suggested
by Dave Sainty <dave@dtsp.co.nz>.
- returned EOPNOTSUPP rather than -1.
- no check for negative offset.
many of these fix potential security problems in these drivers.
XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
paddr_t (*d_mmap) __P((dev_t, off_t, int));
by someone!
- cpu_set_kpc() now takes void *arg third argument, passed to the
entry point.
- cpu_fork() allows parent to be non-curproc iff parent is proc0.
When forking non-curproc, assume its state has already been saved.
- Adjust various pieces of machine-dependent code to account of all of this.
-sys/lib/libkern builds as library per default (as it was documented all
the time)
-ports able to LKM set "KERN_AS=obj" explicitely in their Makefiles
(for now; should depend on actual "option LKM" or -better- functions
included for LKM use should be pulled in by a stub)
-always link libcompat before libkern - libkern stuff can be referred to
by libcompat, but not the other way
struct scsipi_adapter; they were not used.
Add a scsipi_ioctl entry point to struct scsipi_adapter. This will be
used to issue ioctl commands to the host adapters.
Inspired by PR #6090, from Matt Jacob.
u-area in machine-dependent code. Instead, call exit2() to schedule
the reaper to free them for us, once it is safe to do so (i.e. we are
no longer running on the dead proc's vmspace and stack).
address on 2 architectures anyhow. Also, move the definition of the `label_t'
type inside _KERNEL protection, since it is specific to the in-kernel
setjmp()/longjmp() implementations.
as with user-land programs, include files are installed by each directory
in the tree that has includes to install. (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.) The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change. Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
disksubr.c: kill register, use explicit types (egcs).
kgdb_machdep.c: There is no pmap_pte in pmap.new.c, use kvtopte.
locore.s: PTmap, PTD and PTDpde are not used with pmap.new.c.
machdep.c: remove unused reference to panicstr (egcs).
Some pmap.new.c changes.
vm_machdep.c: Change i386_btop to ns532_btop in pmap.new.c code.
a HAVE_GCC28 check-variable that can now be used to add other gcc-2.8
flags in cases where they may be useful, or to remove gcc 2.7.2 "bug
workaround" flags.)
locore.s:
- cpu_switch "returns" to proc_trampoline after cpu_fork. cpu_switch is
called with an argument, remove it from the stack when not compiled
with -DMRTD.
- use KENTRY instead of ENTRY for all functions called from C.
- when calling C code, don't clean up the stack when compiled with -DMRTD.
- need to split fusubail into fubail and subail, because fu and su
take different number of arguments.
machdep.c:
- set sf_p when dumping
- new function do_softclock (that just calls softclock) because softclock
doesn't take an argument.
mainbus.c:
- establish softclock interrupt to call do_softclock
trap.c:
- trap() and syscall() allways use std C calling conventions.
- need to split fusubail into fubail and subail, because fu and su
take different number of arguments.
- make child_return take only one argument like the other functions
"called" via cpu_set_kpc.
vm_machdep.c:
- set sf_p in cpu_fork.