freebsd-skq/sys/alpha
jhb 156f4c8aea 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
..
alpha Fixes for alpha pmap on SMP machines: 2002-02-06 04:30:26 +00:00
compile
conf Enable UFS_DIRHASH in the GENERIC kernel. 2001-12-14 16:27:11 +00:00
include Fixes for alpha pmap on SMP machines: 2002-02-06 04:30:26 +00:00
isa Use the new resource_list_print_type() function. 2001-12-21 21:54:56 +00:00
linux Regenerated file from previous commit to syscalls.master 2002-01-23 22:47:47 +00:00
mcbus Introduce a standard name for the lock protecting an interrupt controller 2001-12-20 23:48:31 +00:00
osf1 Replace ffind_* with fget calls. 2002-01-14 00:13:45 +00:00
pci Introduce a standard name for the lock protecting an interrupt controller 2001-12-20 23:48:31 +00:00
tc
tlsb Introduce a standard name for the lock protecting an interrupt controller 2001-12-20 23:48:31 +00:00
Makefile