1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-17 10:26:15 +00:00
freebsd/sys
Jason A. Harmening 713841afb2 Add two new pmap functions:
vm_offset_t pmap_quick_enter_page(vm_page_t m)
void pmap_quick_remove_page(vm_offset_t kva)

These will create and destroy a temporary, CPU-local KVA mapping of a specified page.

Guarantees:
--Will not sleep and will not fail.
--Safe to call under a non-sleepable lock or from an ithread

Restrictions:
--Not guaranteed to be safe to call from an interrupt filter or under a spin mutex on all platforms
--Current implementation does not guarantee more than one page of mapping space across all platforms. MI code should not make nested calls to pmap_quick_enter_page.
--MI code should not perform locking while holding onto a mapping created by pmap_quick_enter_page

The idea is to use this in busdma, for bounce buffer copies as well as virtually-indexed cache maintenance on mips and arm.

NOTE: the non-i386, non-amd64 implementations of these functions still need review and testing.

Reviewed by:	kib
Approved by:	kib (mentor)
Differential Revision:	http://reviews.freebsd.org/D3013
2015-08-04 19:46:13 +00:00
..
amd64 Add two new pmap functions: 2015-08-04 19:46:13 +00:00
arm Add two new pmap functions: 2015-08-04 19:46:13 +00:00
arm64 Add two new pmap functions: 2015-08-04 19:46:13 +00:00
boot Fix a problem which made loader(8) load non-kld files twice. 2015-08-03 16:27:36 +00:00
bsm
cam Refactor unmapped buffer address handling. 2015-07-23 19:13:41 +00:00
cddl Remove a couple of unused fields from the FBT probe struct. 2015-08-03 17:39:36 +00:00
compat Let the CloudABI futex code use umtx_keys. 2015-08-04 06:02:03 +00:00
conf Load the stack in stack_save and stack_save_td. This uses the generalised 2015-07-31 15:32:32 +00:00
contrib Import Annapurna Labs Alpine HAL to sys/contrib/ 2015-07-28 14:20:33 +00:00
crypto const'ify an arg that we don't update... 2015-07-29 23:37:15 +00:00
ddb Various changes to the registers displayed in DDB for x86. 2015-07-22 01:09:02 +00:00
dev A misplaced #endif in ixgbe_ioctl() causes interface MTU to become 2015-08-03 16:39:25 +00:00
fs This patch fixes a problem where, if the NFSv4 server has a previous 2015-07-29 23:06:30 +00:00
gdb
geom Fix panic triggered by code like this: 2015-08-04 10:40:08 +00:00
gnu
i386 Add two new pmap functions: 2015-08-04 19:46:13 +00:00
isa
kern Copy the fencing of the algorithm to do lock-less update and reading 2015-08-04 12:33:51 +00:00
kgssapi
libkern Remove checks for __ARM_EABI__, we only build for EABI now. 2015-07-09 21:02:40 +00:00
mips Add two new pmap functions: 2015-08-04 19:46:13 +00:00
modules Build if_stf(4) module only when both INET and INET6 support are enabled. 2015-07-30 10:26:43 +00:00
net Remove the mtx_sleep() from the kqueue f_event filter. 2015-08-03 22:14:45 +00:00
net80211
netgraph * Address review (and add a bit myself). 2015-07-12 18:14:38 +00:00
netinet The mbuf parameter to ip_output_pfil() must be an output parameter since 2015-08-03 17:47:02 +00:00
netinet6 Decompose TCP INP_INFO lock to increase short-lived TCP connections scalability: 2015-08-03 12:13:54 +00:00
netipsec Make IPsec work with AES-GCM and AES-ICM (aka CTR) in OCF... IPsec 2015-08-04 17:47:11 +00:00
netnatm
netpfil Reduce overhead of ipfw's me6 opcode. 2015-07-29 10:53:42 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed Avoid calling into the random subsystem before it is initialized. 2015-08-04 09:45:10 +00:00
opencrypto Make IPsec work with AES-GCM and AES-ICM (aka CTR) in OCF... IPsec 2015-08-04 17:47:11 +00:00
pc98 Spell crypto correctly. 2015-07-14 10:47:56 +00:00
powerpc Add two new pmap functions: 2015-08-04 19:46:13 +00:00
rpc Remove useless acquire semantic from the atomic_add operation before 2015-07-28 06:58:10 +00:00
security
sparc64 Add two new pmap functions: 2015-08-04 19:46:13 +00:00
sys Add missing const keyword to function parameter. 2015-08-03 21:11:33 +00:00
teken
tools
ufs - Make 'struct buf *buf' private to vfs_bio.c. Having a global variable 2015-07-29 02:26:57 +00:00
vm Add two new pmap functions: 2015-08-04 19:46:13 +00:00
x86 Fix style(9) bugs. 2015-08-04 18:59:54 +00:00
xdr
xen Add support for Xen blkif indirect segment I/Os. This makes it possible for 2015-07-30 03:50:01 +00:00
Makefile