1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-25 11:37:56 +00:00
freebsd/sys/alpha/include
John Baldwin 78a1485fd1 Fixes for alpha pmap on SMP machines:
- Create a private list of active pmaps rather than abusing the list of all
  processes when we need to look up pmaps.  The process list needs a sx lock
  and we can't be getting sx locks in the middle of cpu_switch()
  (pmap_activate() can call pmap_get_asn() from cpu_switch()).  Instead, we
  protect the list with a spinlock.  This also means the list is shorter
  since a pmap can be used by more than one process and we could (at least
  in thoery) dink with pmap's more than once, but now we only touch each
  pmap once when we have to update all of them.
- Wrap pmap_activate()'s code to get a new ASN in an explicit critical section
  so that when it is called while doing an exec() we can't get preempted.
- Replace splhigh() in pmap_growkernel() with a critical section to prevent
  preemption while we are adjusting the kernel page tables.
- Fixes abuse of PCPU_GET(), which doesn't return an L-value.
- Also adds some slight cleanups to the ASN handling by adding some macros
  instead of magic numbers in relation to the ASN and ASN generations.

Reviewed by:	dfr
2002-02-06 04:30:26 +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
alpha_cpu.h
ansi.h o Stop abusing MD headers with non-MD types. 2001-12-01 03:43:01 +00:00
asm.h Overhaul the per-CPU support a bit: 2001-12-11 23:33:44 +00:00
atomic.h Be conservative and always perform an mb after an atomic_cmpset operation. 2001-06-22 21:13:20 +00:00
bootinfo.h
bus_memio.h
bus_pio.h
bus.h
bwx.h
chipset.h
clock.h
clockvar.h
cpu.h KSE Milestone 2 2001-09-12 08:38:13 +00:00
cpuconf.h Use struct device * rather than device_t for (*pci_intr_route args), so 2001-06-11 18:19:44 +00:00
cpufunc.h Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
db_machdep.h Allow alpha kernels to compile again- make sure opt_ddb.h is included 2002-01-17 02:16:35 +00:00
elf.h Make MAXTSIZ, DFLDSIZ, MAXDSIZ, DFLSSIZ, MAXSSIZ, SGROWSIZ loader 2001-10-10 23:06:54 +00:00
endian.h o Remove some GCCisms in src/powerpc/include/endian.h. 2001-08-30 00:04:19 +00:00
exec.h
float.h
floatingpoint.h
fpu.h KSE Milestone 2 2001-09-12 08:38:13 +00:00
frame.h
ieee.h
ieeefp.h
in_cksum.h
inst.h
intr.h Introduce a standard name for the lock protecting an interrupt controller 2001-12-20 23:48:31 +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 [partially forced commit due to pilot error in earlier commit attempt] 2001-10-21 22:16:48 +00:00
mutex.h Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
pal.h
param.h Whitespace fixes. 2001-09-12 22:00:06 +00:00
pcb.h Overhaul the per-CPU support a bit: 2001-12-11 23:33:44 +00:00
pcpu.h Overhaul the per-CPU support a bit: 2001-12-11 23:33:44 +00:00
pmap.h Fixes for alpha pmap on SMP machines: 2002-02-06 04:30:26 +00:00
proc.h Overhaul the per-CPU support a bit: 2001-12-11 23:33:44 +00:00
profile.h
prom.h Detach the prom console when platform.cons_init is called. This seems 2001-10-26 16:13:47 +00:00
psl.h
pte.h
ptrace.h KSE Milestone 2 2001-09-12 08:38:13 +00:00
reg.h [partially forced commit due to pilot error in earlier commit attempt] 2001-10-21 22:16:48 +00:00
reloc.h
resource.h
rpb.h
setjmp.h
sgmap.h
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 Remove IPI_HALT to make way for a more correct fix for halts and restarts 2001-08-13 22:41:15 +00:00
stdarg.h
swiz.h
sysarch.h
types.h style(9) 2001-12-09 19:12:07 +00:00
ucontext.h Use a spare slot in the machine context to identify the context format 2002-01-10 02:36:30 +00:00
varargs.h
vmparam.h KSE Milestone 2 2001-09-12 08:38:13 +00:00