- fix _C_LABEL so that it actually works.
- make __RENAME use _C_LABEL.
- fix __RENAME so that it expects an unquoted argument.
- fix __indr_reference and __warn_references so that they
supply their own final semicolon.
- define __warn_references to nothing if not GNU C (required
by the way it's used).
The __warn_references semicolon change has to be made
so that __warn_references can be defined into nothing.
(A ; all by itself isn't a great idea.) The __indr_reference
change was made for consistency.
This is due to the problem of the @ character being a single character
comment in the asm assembler. The '#' character has now been chosen
instead for future versions of GCC and GAS so lets conform now.
- Most changes are comment cleanups.
_ iomd.h is no longer an exported header.
- Added intr.h for MI interrupt definitions.
- Added definitions for ARM8 cpu.
- Added bus dma support.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
different ARM CPUS with different cache architectures for example to be
supported in a single kernel.
- All CPU/MMU/TLB specific functions are now held as function
pointers in a cpu_functions structure defined in machine/cpufunc.h
All coproc 15 accesses, TLB flushing, cache cleaning/flushing
and abort correction functions are now defined in this structure.
- cpufuncs is a global structure that is setup during initarm()
that holds all the function pointers for the booted CPU.
- A global variable 'cputype' now defines the probed cputype.
- All the existing functions for manipulating CPU specific features
have been replaced with macros defined in machine/cpufunc.h
that will call the appropriate function in the cpu_functions
structure.
- CPU functions are provided for selected CPU types (config options)
and the appropriate cpu_functions structure is chosen during
booting, based on the probed CPU type.
- All the required functions for existing CPU types (ARM6, ARM7 and
SA110) have been implemented.
cgd's alpha implementation. Bus tags now point to a structure of
function pointers to bus space routines rather than being an index to
one of several I/O methods making it simpler and more efficient in
handling many different busses and mapping schemes.
on indirect-config busses a (permanent) softc that they could share
between 'match' and 'attach' routines:
Define __BROKEN_INDIRECT_CONFIG so that old autoconfiguration
interfaces are used, until drivers are converted to use the new
interfaces (actually, converted back to use the _older_ interfaces)
which prohibit indirect configuration devices from receiving a softc
in their match routine that they can share with their attach routine.