freebsd-dev/sys/sparc64/include
Thomas Moestl 90ce56c287 Add the following functions/macros to support byte order conversions and
device drivers for bus system with other endinesses than the CPU (using
interfaces compatible to NetBSD):

- bwap16() and bswap32(). These have optimized implementations on some
  architectures; for those that don't, there exist generic implementations.
- macros to convert from a certain byte order to host byte order and vice
  versa, using a naming scheme like le16toh(), htole16().
  These are implemented using the bswap functions.
- stream bus space access functions, which do not perform a byte order
  conversion (while the normal access functions would if the bus endianess
  differs from the CPU endianess).

htons(), htonl(), ntohs() and ntohl() are implemented using the new
functions above for kernel usage. None of the above interfaces is currently
exported to user land.

Make use of the new functions in a few places where local implementations
of the same functionality existed.

Reviewed by:	mike, bde
Tested on alpha by:	mike
2002-02-27 17:16:18 +00:00
..
_inttypes.h o Add new header <sys/stdint.h>. 2001-11-02 18:05:43 +00:00
_limits.h o Add new header <sys/stdint.h>. 2001-11-02 18:05:43 +00:00
ansi.h Resurrect one of the easiest changes from my big include files roll-up 2002-02-15 22:15:39 +00:00
asi.h Add asis for the upa config reg, which contains the hardware cpu id, and 2002-01-08 04:29:50 +00:00
asm.h Define __ASM__ so that libc will know not to define C things. 2002-01-01 21:21:05 +00:00
asmacros.h Update comments and defines to reflect that normal and alternate g6 point 2002-01-08 04:34:20 +00:00
atomic.h Use ASI_P instead of ASI_N if _KERNEL isn't defined so that these 2001-12-29 06:48:43 +00:00
bus_common.h Add support for the counter-timer which is included in the Sun U2S and 2002-02-13 16:16:36 +00:00
bus_memio.h Add bus_space and busdma support for sparc64. 2001-11-09 20:05:53 +00:00
bus_pio.h Add bus_space and busdma support for sparc64. 2001-11-09 20:05:53 +00:00
bus.h Clean up bus space debugging support; change sparc64_bus_mem_map() to 2002-02-13 15:51:57 +00:00
cache.h Use stxa_sync() when accessing the diagnostic registers to invalidate 2002-02-13 16:20:38 +00:00
ccr.h Add definitions for the number of bits in the icc and xcc fields 2001-12-29 06:50:25 +00:00
clock.h The author isn't a [UC] Regents. Correct the copyright language. 2001-08-09 02:09:34 +00:00
cpu.h Define CKLF_PC in terms of TRAPF_PC. 2002-01-08 04:36:53 +00:00
cpufunc.h Add a few new functions/macros: intr_disable() and intr_restore() to 2002-02-13 15:40:05 +00:00
db_machdep.h 1. Remove kdbframe. Bad idea. 2001-11-18 03:41:12 +00:00
elf.h Implement elf_reloc. This makes klds work. 2001-10-27 07:09:40 +00:00
endian.h Add the following functions/macros to support byte order conversions and 2002-02-27 17:16:18 +00:00
exec.h The author isn't a [UC] Regents. Correct the copyright language. 2001-08-09 02:09:34 +00:00
float.h Add kernel headers needed to build libc. Some are bogus and/or just enough 2001-11-18 17:56:46 +00:00
floatingpoint.h Add this FreeBSD standard header. 2002-02-10 14:27:20 +00:00
fp.h Change fpblock to be an array of ints instead longs. 2001-12-29 06:53:19 +00:00
frame.h Add a macro for shift of an integer (1 << shift == sizeof). Move the pointer 2002-02-27 00:21:04 +00:00
fsr.h 1. Split fp.h into fp.h and fsr.h so that the latter can be included 2001-11-18 04:00:22 +00:00
idprom.h Add a structure defintion for the id prom contents. 2001-11-18 20:50:11 +00:00
ieee.h Add kernel headers needed to build libc. Some are bogus and/or just enough 2001-11-18 17:56:46 +00:00
ieeefp.h Standardize idempotentcy ifdefs. 2001-11-18 20:30:16 +00:00
in_cksum.h Add optimized implementations of in_cksum_skip() and related functions 2001-11-06 20:05:01 +00:00
instr.h Adapt for used by upcoming fp emulation code. 2001-12-29 08:55:56 +00:00
intr_machdep.h Avoid crashing in early boot when WITNESS is enabled by moving the 2002-02-13 16:36:44 +00:00
iommureg.h Add a delta missed in the last iommu.c commit. This unbreaks the sparc64 2002-02-15 14:48:54 +00:00
iommuvar.h Merge r1.42 of iommu.c and r1.9 of iommuvar.h from NetBSD (this adds 2002-02-13 15:59:17 +00:00
ktr.h Remove an unused macro arg. 2001-10-20 15:57:39 +00:00
limits.h o Add new header <sys/stdint.h>. 2001-11-02 18:05:43 +00:00
lsu.h Add definitions for bits in condition code register and the load store 2001-08-20 23:34:46 +00:00
md_var.h Make cpu_identify take the value of the ver register and cpuid as arguments 2002-02-27 06:05:50 +00:00
metadata.h Add metadata types for dtlb and itlb data, and number of slots used. 2002-02-23 17:43:44 +00:00
mutex.h Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
nexusvar.h Correct the defintion of struct ofw_upa_regs, and use it instead of 2002-01-02 18:27:13 +00:00
ofw_bus.h Add some OpenFirmware bus support code and definitions. 2001-11-09 20:10:55 +00:00
ofw_machdep.h Add some OpenFirmware bus support code and definitions. 2001-11-09 20:10:55 +00:00
ofw_nexus.h Correct the defintion of struct ofw_upa_regs, and use it instead of 2002-01-02 18:27:13 +00:00
ofw_upa.h Correct the defintion of struct ofw_upa_regs, and use it instead of 2002-01-02 18:27:13 +00:00
param.h Parameterize the number of pages to allocate for the per-cpu area on 2002-02-27 06:08:13 +00:00
pcb.h Remove pcb_y. It has moved to trapframe. 2001-12-29 07:00:30 +00:00
pcpu.h Add a md field to pcpu for the upa module id. 2002-01-08 04:40:13 +00:00
pmap.h Convert pmap.pm_context to an array of contexts indexed by cpuid. This 2002-02-26 06:57:30 +00:00
proc.h Implement user trap delivery as specified by the sparc abi. This provides 2002-01-01 20:56:28 +00:00
profile.h Add kernel headers needed to build libc. Some are bogus and/or just enough 2001-11-18 17:56:46 +00:00
pstate.h Define PSTATE_MM_MASK in terms of PSTATE_MM_SIZE. 2001-12-29 07:01:34 +00:00
ptrace.h Define basic macros required by GDB. 2002-02-26 21:49:46 +00:00
pv.h Implement pv entries as separate structures from the ttes, like other 2001-12-29 08:17:16 +00:00
reg.h Add fprs to struct fpreg. 2001-12-29 07:02:12 +00:00
reloc.h Add kernel headers needed to build libc. Some are bogus and/or just enough 2001-11-18 17:56:46 +00:00
resource.h
setjmp.h jmpbuf is no longer a ucontext_t since it does not need to be passed 2001-12-29 07:03:09 +00:00
sigframe.h Implement signals. 2001-09-03 22:41:40 +00:00
signal.h Don't use types that require other headers. 2001-09-30 18:52:17 +00:00
smp.h Include intr_machdep.h only for !LOCORE. 2002-02-23 18:41:34 +00:00
stdarg.h
sysarch.h Implement sysarch(SPARC_UTRAP_INSTALL). 2002-01-01 20:57:51 +00:00
tick.h Add code to program the tick register and to setup its interrupt handler. 2001-08-10 04:49:33 +00:00
tlb.h Modify the tte format to not include the tlb context number and to store the 2002-02-25 04:56:50 +00:00
trap.h Add a panic stack, which is used as a known good stack when there is 2002-01-01 20:26:46 +00:00
tsb.h Minimal testing has shown that a 4 page tsb is a nice sweet spot for current 2002-02-27 06:18:02 +00:00
tstate.h Add definitions for TSTATE_MM_* and TSTATE_{I,X}CC_*. 2001-12-29 07:11:00 +00:00
tte.h Modify the tte format to not include the tlb context number and to store the 2002-02-25 04:56:50 +00:00
types.h style(9) 2001-12-09 19:12:07 +00:00
ucontext.h 1. Remove bootinfo and just pass loader metadata to the kernel. 2001-11-18 03:02:53 +00:00
upa.h Add macros to extract the UPA module id from the UPA config register. 2002-02-23 19:54:34 +00:00
utrap.h Add a define for the fp restore soft trap type. 2002-01-01 21:19:46 +00:00
varargs.h Standardize idempotentcy ifdefs. 2001-11-18 20:30:16 +00:00
ver.h Define constants for the CPU implementation id; export the dectected id 2002-02-13 15:47:12 +00:00
vmparam.h Add comments as to why VM_MAXUSER_ADDRESS is magic (abitrary). 2001-12-29 08:25:43 +00:00
watch.h Add code for supporting hardware watch points. 2001-08-20 23:50:08 +00:00
wstate.h Implement a nested window state. This avoids attempting to spill a user 2002-02-25 18:37:17 +00:00