NetBSD/sys/arch/shark
thorpej bbef46a7e9 Some ARM32_PMAP_NEW-related cleanup:
* Define a new "MMU type", ARM_MMU_SA1.  While the SA-1's MMU is basically
  compatible with the generic, the SA-1 cache does not have a write-through
  mode, and it is useful to know have an indication of this.
* Add a new PMAP_NEEDS_PTE_SYNC indicator, and try to evaluate it at
  compile time.  We evaluate it like so:
  - If SA-1-style MMU is the only type configured -> 1
  - If SA-1-style MMU is not configured -> 0
  - Otherwise, defer to a run-time variable.
  If PMAP_NEEDS_PTE_SYNC might evaluate to true (SA-1 only or run-time
  check), then we also define PMAP_INCLUDE_PTE_SYNC so that e.g. assembly
  code can include the necessary run-time support.  PMAP_INCLUDE_PTE_SYNC
  largely replaces the ARM32_PMAP_NEEDS_PTE_SYNC manual setting Steve
  included with the original new pmap.
* In the new pmap, make pmap_pte_init_generic() check to see if the CPU
  has a write-back cache.  If so, init the PT cache mode to C=1,B=0 to get
  write-through mode.  Otherwise, init the PT cache mode to C=1,B=1.
* Add a new pmap_pte_init_arm8().  Old pmap, same as generic.  New pmap,
  sets page table cacheability to 0 (ARM8 has a write-back cache, but
  flushing it is quite expensive).
* In the new pmap, make pmap_pte_init_arm9() reset the PT cache mode to
  C=1,B=0, since the write-back check in generic gets it wrong for ARM9,
  since we use write-through mode all the time on ARM9 right now.  (What
  this really tells me is that the test for write-through cache is less
  than perfect, but we can fix that later.)
* Add a new pmap_pte_init_sa1().  Old pmap, same as generic.  New pmap,
  does generic initialization, then resets page table cache mode to
  C=1,B=1, since C=1,B=0 does not produce write-through on the SA-1.
2003-04-22 00:24:48 +00:00
..
compile Rework how KERNOBJDIR functions; now it's always determined with 2003-01-06 17:40:18 +00:00
conf Some ARM32_PMAP_NEW-related cleanup: 2003-04-22 00:24:48 +00:00
include Use PAGE_SIZE rather than NBPG. 2003-04-02 07:35:54 +00:00
isa Use PAGE_SIZE rather than NBPG. 2003-04-02 04:17:50 +00:00
ofw Enable ARM32_PMAP_NEW on NetBSD/shark. 2003-04-18 11:11:51 +00:00
shark Use PAGE_SIZE rather than NBPG. 2003-04-02 04:17:50 +00:00
stand Remove remaining uses of libsa/netif -- the "netif" structure was only 2003-03-13 15:36:06 +00:00
Makefile Rework how KERNOBJDIR functions; now it's always determined with 2003-01-06 17:40:18 +00:00