diff options
author | marcel <marcel@FreeBSD.org> | 2003-04-22 01:48:43 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2003-04-22 01:48:43 +0000 |
commit | bbf5306d5f9c1d8bdeb772e78f14c2b586537ca6 (patch) | |
tree | a75aed5589f05d7eee03c498e98551d29ccbc8fb /sys/ia64/include/pmap.h | |
parent | eea2b01ecc9290198c033df5726fece0029096cb (diff) | |
download | FreeBSD-src-bbf5306d5f9c1d8bdeb772e78f14c2b586537ca6.zip FreeBSD-src-bbf5306d5f9c1d8bdeb772e78f14c2b586537ca6.tar.gz |
Don't use the tpa instruction to implement pmap_kextract. The tpa
instruction requires that a translation is present in the TC. This
may trigger a TLB miss and a subsequent call to vm_fault().
This implementation is deliberately non-inline for debugging and
profiling purposes. Partial or full inlining should eventually be
done.
Valuable insights by: jake
Diffstat (limited to 'sys/ia64/include/pmap.h')
-rw-r--r-- | sys/ia64/include/pmap.h | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/sys/ia64/include/pmap.h b/sys/ia64/include/pmap.h index 2644899..4ee712d 100644 --- a/sys/ia64/include/pmap.h +++ b/sys/ia64/include/pmap.h @@ -59,14 +59,6 @@ #endif #define MAXKPT (PAGE_SIZE/sizeof(vm_offset_t)) -/* - * Routine: pmap_kextract - * Function: - * Extract the physical page address associated - * kernel virtual address. - */ -#define pmap_kextract ia64_tpa - #define vtophys(va) pmap_kextract(((vm_offset_t) (va))) #endif /* _KERNEL */ @@ -127,6 +119,7 @@ extern vm_offset_t virtual_end; vm_offset_t pmap_steal_memory(vm_size_t); void pmap_bootstrap(void); void pmap_kenter(vm_offset_t va, vm_offset_t pa); +vm_paddr_t pmap_kextract(vm_offset_t va); void pmap_kremove(vm_offset_t); void pmap_setdevram(unsigned long long basea, vm_offset_t sizea); int pmap_uses_prom_console(void); |