freebsd-nq/sys
Marcel Moolenaar dbb95048da Add cpu_flush_dcache() for use after non-DMA based I/O so that a
possible future I-cache coherency operation can succeed. On ARM
for example the L1 cache can be (is) virtually mapped, which
means that any I/O that uses temporary mappings will not see the
I-cache made coherent. On ia64 a similar behaviour has been
observed. By flushing the D-cache, execution of binaries backed
by md(4) and/or NFS work reliably.
For Book-E (powerpc), execution over NFS exhibits SIGILL once in
a while as well, though cpu_flush_dcache() hasn't been implemented
yet.

Doing an explicit D-cache flush as part of the non-DMA based I/O
read operation eliminates the need to do it as part of the
I-cache coherency operation itself and as such avoids pessimizing
the DMA-based I/O read operations for which D-cache are already
flushed/invalidated. It also allows future optimizations whereby
the bcopy() followed by the D-cache flush can be integrated in a
single operation, which could be implemented using on-chips DMA
engines, by-passing the D-cache altogether.
2009-05-18 18:37:18 +00:00
..
amd64 Add cpu_flush_dcache() for use after non-DMA based I/O so that a 2009-05-18 18:37:18 +00:00
arm Add cpu_flush_dcache() for use after non-DMA based I/O so that a 2009-05-18 18:37:18 +00:00
boot Improve the accf_dns_load description. 2009-05-17 10:58:50 +00:00
bsm Merge OpenBSM 1.1 from OpenBSM vendor branch to head. 2009-04-19 16:17:13 +00:00
cam Remove dead code. 2009-05-12 16:38:32 +00:00
cddl set createtxg prop name 2009-05-17 04:04:25 +00:00
compat Implement MSG_CMSG_CLOEXEC flag for linux_recvmsg(). 2009-05-18 04:07:46 +00:00
conf MFi386: revision 192050 2009-05-14 16:01:29 +00:00
contrib tbr_timeout() is a timer driven function[1]. While the previous commit 2009-05-18 01:05:09 +00:00
crypto identify routine takes driver_t *, not device_t *. 2009-02-05 19:30:28 +00:00
ddb Prefer prototypes to k&r definitions. 2009-03-09 13:32:19 +00:00
dev Add cpu_flush_dcache() for use after non-DMA based I/O so that a 2009-05-18 18:37:18 +00:00
fs Fix the acquisition of local locks via VOP_ADVLOCK() by the 2009-05-17 19:33:48 +00:00
gdb
geom Check return value of gctl_get_asciiparam(). 2009-05-12 16:59:50 +00:00
gnu Remove empty files and do nto try to build them. 2009-05-18 17:20:24 +00:00
i386 Add cpu_flush_dcache() for use after non-DMA based I/O so that a 2009-05-18 18:37:18 +00:00
ia64 Add cpu_flush_dcache() for use after non-DMA based I/O so that a 2009-05-18 18:37:18 +00:00
isa Rename statclock_disable variable to atrtcclock_disable that it actually is, 2009-05-03 17:47:21 +00:00
kern Binding interrupts to a CPU consists of two parts: setting up CPU 2009-05-18 14:02:55 +00:00
kgssapi
legacy/dev Garbage collect legacy upgt driver now that it is available in the new 2009-05-13 17:11:25 +00:00
libkern Add memmove() to the kernel, making the kernel compile with Clang. 2009-02-28 16:21:25 +00:00
mips Add cpu_flush_dcache() for use after non-DMA based I/O so that a 2009-05-18 18:37:18 +00:00
modules Remove empty files and do nto try to build them. 2009-05-18 17:20:24 +00:00
net add bpf_track eventhandler for monitoring bpf taps attached/detached 2009-05-18 17:18:40 +00:00
net80211 add missing type for SYSCTL_PROC items; w/o a type you can view the value 2009-05-14 16:25:57 +00:00
netatalk Lock interface address list lock around ifaddr inserts and deletes 2009-04-19 22:01:38 +00:00
netgraph Fix copy-paste bug in NGM_NETFLOW_SETCONFIG argument size verification. 2009-05-13 02:26:34 +00:00
netinet Unbreak options VIMAGE builds, in a followup to r192011 which did not 2009-05-17 20:53:10 +00:00
netinet6 Add two missing INIT_VNET_INET6(curvnet) to make VIMAGE kernels happier. 2009-05-18 17:48:46 +00:00
netipsec Change the curvnet variable from a global const struct vnet *, 2009-05-05 10:56:12 +00:00
netipx Make the SPX code use its own copies of insque()/remque(). 2009-04-26 21:03:27 +00:00
netnatm Remove IFF_NEEDSGIANT, a compatibility infrastructure introduced 2009-03-15 14:21:05 +00:00
netncp
netsmb
nfs Add cpu_flush_dcache() for use after non-DMA based I/O so that a 2009-05-18 18:37:18 +00:00
nfs4client Remove the thread argument from the FSD (File-System Dependent) parts of 2009-05-11 15:33:26 +00:00
nfsclient Eliminate unnecessary clearing of the page's dirty mask from various 2009-05-15 04:33:35 +00:00
nfsserver Remove the thread argument from the FSD (File-System Dependent) parts of 2009-05-11 15:33:26 +00:00
nlm Do not embed struct ucred into larger netcred parent structures. 2009-05-09 18:09:17 +00:00
opencrypto Fix return type for detach routine (should be int) 2009-02-05 17:43:12 +00:00
pc98 Add cpu_flush_dcache() for use after non-DMA based I/O so that a 2009-05-18 18:37:18 +00:00
pci For RTL8139C+ controllers, have controller handle padding short 2009-04-20 07:13:04 +00:00
powerpc Add cpu_flush_dcache() for use after non-DMA based I/O so that a 2009-05-18 18:37:18 +00:00
rpc Added a field to the SVCXPRT structure that the nfsv4 server can 2009-04-16 16:26:35 +00:00
security Remove the thread argument from the FSD (File-System Dependent) parts of 2009-05-11 15:33:26 +00:00
sparc64 Add cpu_flush_dcache() for use after non-DMA based I/O so that a 2009-05-18 18:37:18 +00:00
sun4v Add cpu_flush_dcache() for use after non-DMA based I/O so that a 2009-05-18 18:37:18 +00:00
sys Add cpu_flush_dcache() for use after non-DMA based I/O so that a 2009-05-18 18:37:18 +00:00
tools Add SDT DTrace probes for VFS vnode operations in the vfs:vop 2009-03-29 03:30:15 +00:00
ufs Introduce vfs_bio_set_valid() and use it from ffs_realloccg(). This 2009-05-17 20:26:00 +00:00
vm Eliminate a pointless call to pmap_clear_reference() from vm_pageout_scan(). 2009-05-17 20:40:41 +00:00
xdr Add memmove() to the kernel, making the kernel compile with Clang. 2009-02-28 16:21:25 +00:00
xen Fix the Xen build for i386 PV mode. 2009-04-01 17:06:28 +00:00
Makefile Removal pccard directory requires removing it from the list of things 2009-02-15 18:19:24 +00:00