freebsd-skq/sys/ia64/include
Matthew Dillon d74ac6819b Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt
disablement assumptions in kern_fork.c by adding another API call,
cpu_critical_fork_exit().  Cleanup the td_savecrit field by moving it
from MI to MD.  Temporarily move cpu_critical*() from <arch>/include/cpufunc.h
to <arch>/<arch>/critical.c (stage-2 will clean this up).

Implement interrupt deferral for i386 that allows interrupts to remain
enabled inside critical sections.  This also fixes an IPI interlock bug,
and requires uses of icu_lock to be enclosed in a true interrupt disablement.

This is the stage-1 commit.  Stage-2 will occur after stage-1 has stabilized,
and will move cpu_critical*() into its own header file(s) + other things.
This commit may break non-i386 architectures in trivial ways.  This should
be temporary.

Reviewed by:	core
Approved by:	core
2002-03-27 05:39:23 +00:00
..
pc
_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 Get the guarding right. The IA-64 has a different organization for this 2002-03-26 02:59:00 +00:00
asm.h o Revert previous commit in asm.h. There's no need to undefine 2002-03-27 02:20:09 +00:00
atomic.h Implement atomic_{set,clear,add,subtract}_{acq_,rel_,}_ptr() 2000-10-25 00:16:38 +00:00
bootinfo.h Use some (now) spare space for passing through a pointer to the FPSWA 2001-11-19 07:07:09 +00:00
bus_memio.h
bus_pio.h
bus.h Add the following functions/macros to support byte order conversions and 2002-02-27 17:16:18 +00:00
clock.h Remove __P. 2002-03-20 23:30:31 +00:00
clockvar.h Don't pretend the argument to clockattach is a device - it isn't. 2001-10-04 15:28:27 +00:00
cpu.h Remove __P. 2002-03-20 23:30:31 +00:00
cpufunc.h Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt 2002-03-27 05:39:23 +00:00
db_machdep.h Fix some -Wunused warnings by "using" a macro argument 2002-03-12 00:19:14 +00:00
efi.h Initial cut at calling the EFI-provided FPSWA (Floating Point Software 2001-11-19 07:25:42 +00:00
elf.h The size of the ELF hash table changed from 64 bits in the prototype 2001-10-29 10:20:19 +00:00
endian.h o Don't require long long support in bswap64() functions. 2002-03-09 21:02:16 +00:00
exec.h
float.h Assume round-to-nearest mode for floating point. 2001-10-06 15:57:22 +00:00
floatingpoint.h
fpu.h
frame.h * Various fixes to breakage introduced by the atomic and mutex reorgs. 2000-10-24 19:54:38 +00:00
ia64_cpu.h Add ia64_sync_i(), ia64_get_tpr() and ia64_set_tpr(). 2002-03-14 12:29:55 +00:00
ieee.h
ieeefp.h Implement <machine/ieeefp.h> 2001-11-03 15:51:14 +00:00
in_cksum.h
inst.h Shift the code which packs and unpacks instruction bundles out of DDB 2001-10-18 16:20:04 +00:00
intr.h Wire up most of the interrupt handling infrastructure. Not sure it works 2001-10-05 10:30:09 +00:00
intrcnt.h Clean up the code exporting interrupt statistics via sysctl a bit: 2001-06-01 13:23:28 +00:00
ioctl_bt848.h
ioctl_meteor.h
limits.h o Add new header <sys/stdint.h>. 2001-11-02 18:05:43 +00:00
md_var.h Remove __P. 2002-03-20 23:30:31 +00:00
mutex.h Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
nexusvar.h Start hooking up devices. 2001-09-29 11:11:18 +00:00
pal.h Add define for the PIB default address and include a reference to 2001-10-21 05:52:54 +00:00
param.h KSE Milestone 2 2001-09-12 08:38:13 +00:00
pcb.h Add a field to hold the current pmap of a thread. 2002-03-14 19:19:49 +00:00
pci_cfgreg.h Start hooking up devices. 2001-09-29 11:11:18 +00:00
pcpu.h Remove unused MD fields (pc_pending_ipis, pc_next_asn and 2001-12-30 09:39:41 +00:00
pmap.h Remove __P. 2002-03-20 23:30:31 +00:00
proc.h Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt 2002-03-27 05:39:23 +00:00
profile.h Change critical_t to register_t for intr_disable/restore. 2002-03-21 09:50:11 +00:00
pte.h Define PS and VE fields of region register correctly. 2001-11-09 13:07:44 +00:00
ptrace.h Move the definition of PT_[GS]ET{,DB,FP}REGS from the MD ptrace.h to the 2002-03-16 00:25:53 +00:00
reg.h Remove __P. 2002-03-20 23:30:31 +00:00
reloc.h
resource.h
rse.h * Factor out common code for manipulating the RSE backing store. 2001-10-29 12:04:23 +00:00
sal.h o Do not parse the MADT as a side-effect in AcpiOsGetRootPointer, 2001-10-29 02:16:02 +00:00
sapicreg.h Wire up most of the interrupt handling infrastructure. Not sure it works 2001-10-05 10:30:09 +00:00
sapicvar.h Add debug code to print SAPIC registers. 2002-03-14 10:17:08 +00:00
setjmp.h Reserve space for signal state. 2001-10-20 15:19:43 +00:00
sigframe.h style(9) the structure definitions. 2001-09-05 01:36:46 +00:00
signal.h style(9) the structure definitions. 2001-09-05 01:36:46 +00:00
smp.h Cleanup the IPIs. 2001-12-30 09:41:29 +00:00
stdarg.h
sysarch.h
types.h style(9) 2001-12-09 19:12:07 +00:00
ucontext.h * Various fixes to breakage introduced by the atomic and mutex reorgs. 2000-10-24 19:54:38 +00:00
unwind.h * Factor out common code for manipulating the RSE backing store. 2001-10-29 12:04:23 +00:00
varargs.h
vmparam.h Believe it or not, I ran into the 32MB stack size limit using a natively 2002-03-19 11:07:09 +00:00