freebsd-nq/sys/alpha/include
Mark Murray 5855006767 Add a consistent API to a feature that most modern CPUs have; a fast
counter register in-CPU.

This is to be used as a fast "timer", where linearity is more important
than time, and multiple lines in the linearity caused by multiple CPUs
in an SMP machine is not a problem.

This adds no code whatsoever to the FreeBSD kernel until it is actually
used, and then as a single-instruction inline routine (except for the
80386 and 80486 where it is some more inline code around nanotime(9).

Reviewed by:	bde, kris, jhb
2000-11-21 19:55:21 +00:00
..
pc Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
_limits.h Adjust comments 2000-10-24 10:49:56 +00:00
alpha_cpu.h Implement inline assembler wrappers for PALcode calls and for alpha 1999-11-29 19:57:51 +00:00
ansi.h Convert all users of fldoff() to offsetof(). fldoff() is bad 2000-10-27 11:45:49 +00:00
asm.h Fix problems booting large kernels on alphas. The symptom is that the kernel 2000-10-16 20:15:43 +00:00
atomic.h Only use 1 set of memory barrier operations with the atomic_*_{acq,rel}_ptr 2000-10-25 00:15:21 +00:00
bootinfo.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
bus_memio.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
bus_pio.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
bus.h Axe the barrier_{read,write,rw}() helper functions as this method of 2000-10-20 06:45:48 +00:00
bwx.h * Completely rewrite the alpha busspace to hide the implementation from 2000-08-28 21:48:13 +00:00
chipset.h * Completely rewrite the alpha busspace to hide the implementation from 2000-08-28 21:48:13 +00:00
clock.h Move DELAY() from <machine/clock.h> to <sys/systm.h> 2000-10-15 09:51:49 +00:00
clockvar.h Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
console.h Make programs which still #include <machine/{mouse,console}.h> fail 2000-11-20 22:00:25 +00:00
cpu.h Add a consistent API to a feature that most modern CPUs have; a fast 2000-11-21 19:55:21 +00:00
cpuconf.h - Heavyweight interrupt threads on the alpha for device I/O interrupts. 2000-10-05 23:09:57 +00:00
cpufunc.h Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
db_machdep.h Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
elf.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
endian.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
exec.h Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
float.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
floatingpoint.h Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
fpu.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
frame.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
globaldata.h Add the 'witness_spin_check' per-CPU variable. 2000-11-15 21:58:02 +00:00
globals.h Add the 'witness_spin_check' per-CPU variable. 2000-11-15 21:58:02 +00:00
ieee.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ieeefp.h Finish moving all IEEE fp types to be the same on all arch's. 2000-05-10 19:41:40 +00:00
in_cksum.h Make in_cksum() a macro call to in_cksum_skip(), since it provides the 2000-05-06 18:18:32 +00:00
inst.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
intr.h - Modify alpha_setup_intr() to take interrupt handler flags as an additional 2000-11-01 18:40:02 +00:00
intrcnt.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
ioctl_bt848.h Merge from i386: Add MSP ioctl 2000-10-27 07:07:24 +00:00
ioctl_fd.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
ioctl_meteor.h Add include files to alpha/include directory. 2000-04-15 08:07:56 +00:00
ipl.h - Overhaul the software interrupt code to use interrupt threads for each 2000-10-25 05:19:40 +00:00
limits.h Adjust comments 2000-10-24 10:49:56 +00:00
lock.h Move MAXCPU from machine/smp.h to machine/param.h to fix breakage 2000-09-23 12:18:06 +00:00
md_var.h - Overhaul the software interrupt code to use interrupt threads for each 2000-10-25 05:19:40 +00:00
mouse.h Make programs which still #include <machine/{mouse,console}.h> fail 2000-11-20 22:00:25 +00:00
mutex.h Fix all the interrupt enabled/disabled assertions which were backwards. 2000-11-15 19:45:10 +00:00
pal.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
param.h Fix CMSG and ALIGN macro usage. 2000-11-08 16:59:25 +00:00
pcb.h Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
pcpu.h Add the 'witness_spin_check' per-CPU variable. 2000-11-15 21:58:02 +00:00
pmap.h Move MAXCPU from machine/smp.h to machine/param.h to fix breakage 2000-09-23 12:18:06 +00:00
proc.h Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
profile.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
prom.h Alpha 8200: Add prototype from promcnattach. 2000-03-18 08:00:51 +00:00
psl.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
pte.h Zap some latent problems hidden by differences between KERNEL and _KERNEL. 1999-11-22 15:14:56 +00:00
ptrace.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
reg.h Remove offensive language. 2000-06-25 09:30:53 +00:00
reloc.h Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
resource.h * Implement bus_set/get/delete_resource for pci. 1999-10-14 21:38:33 +00:00
rpb.h Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
setjmp.h Work around a bug by adding struct tags. gcc-2.95 apparently gets the 2000-10-06 11:53:32 +00:00
sgmap.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
sigframe.h sigset_t change (part 3 of 5) 1999-09-29 15:06:27 +00:00
signal.h Make MINSIGSTKSZ machine dependent, and have the sigaltstack 2000-11-09 08:25:48 +00:00
smp.h Catch up to moving headers: 2000-10-20 07:58:15 +00:00
stdarg.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
swiz.h * Completely rewrite the alpha busspace to hide the implementation from 2000-08-28 21:48:13 +00:00
sysarch.h The kernel side of per-process unaligned access control (printing, fixing & 2000-01-16 07:07:33 +00:00
types.h - Remove the inthand2_t type and use the equivalent driver_intr_t type from 2000-09-13 18:33:25 +00:00
ucontext.h Don't include <machine/frame.h>. 1999-10-08 09:09:13 +00:00
varargs.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vmparam.h Make sysv-style shared memory tuneable params fully runtime adjustable 2000-03-30 07:17:05 +00:00