timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.
The old timeout()/untimeout() API has been removed from the kernel.
#defines in asm.h to use them, and convert code which needs to use C labels
to use _C_LABEL as well. (I can't see any reason why the label vs. function
differentiation shouldn't be GC'd; i only added uses of _C_LABEL.) This
should help if this port is converted to use ELF, and was checked by
compiling all kernels in arm32/conf (with some driver removals and some
MI header fixups re: common blocks) with an arm-linux ELF toolchain.
- 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!
Fix code indenting.
Removed a load of unnecessary includes.
Removed unnecessary prototypes and variables.
Removed dead variables debug_flags and cpu_cache.
Removed some unnecessary cache syncs.
Only sync the first 64 bytes after setting up the vectors.
Removed all the boot argument checking code and instead call the
generic ARM boot argument checking code parse_mi_bootargs() in machdep.c
Use the get_bootconf_option() function to check for the shark specific
quiet and noquiet options.
a change marked XXX, where gcc -Wall pointed out a bit of the original
code that looked wrong. The jury's still out on whether or not it was
really wrong, but it looked _very_ suspicious.)
Reference Design NetBSD source code, obtained from the pages under
http://www.research.digital.com/SRC/iag . Some of this code (badly)
needs to be cleaned up, and as-is it doesn't compile. However, getting
it in the tree is a start.