1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-19 10:53:58 +00:00
freebsd/sys
Ian Lepore b07d0cbce3 Add cpu_l2cache_drain_writebuf(), use it to implement generic_bs_barrier().
On modern ARM SoCs the L2 cache controller sits between the CPU and the
AXI bus, and most on-chip memory-mapped devices are on the AXI bus.  We
map the device registers using the 'Device' memory attribute, which means
the memory is not cached, but writes to it are buffered.  Ensuring that a
write has made it all the way to a device may require that the L2
controller take some action.

There is currently only one implementation of the new function, for the
PL310 cache controller.  It invokes a function that the controller
manual calls "cache sync" but it actually has nothing to do with cache at
all, it triggers a drain of all pending store buffer writes and it blocks
until they complete.

The sheeva and xscale L2 controllers (which predate the concept of Device
memory) don't seem to have a corresponding function.  It appears that the
standard armv5 drain_writebuf function includes draining all the way
through the L2 controller.
2014-05-11 04:24:57 +00:00
..
amd64 Virtual machine halt detection is turned on by default. Allow it to be 2014-05-05 16:19:24 +00:00
arm Add cpu_l2cache_drain_writebuf(), use it to implement generic_bs_barrier(). 2014-05-11 04:24:57 +00:00
boot Adjust the register layout to allow for 64bit registers in the 2014-05-09 12:59:38 +00:00
bsm
cam Provide better descriptions for 'struct ctl_scsiio' fields; based mostly 2014-05-04 15:35:04 +00:00
cddl Import George Wilson's change for Illumos #4730: 2014-05-06 19:03:04 +00:00
compat
conf bitrotted compat cruft removal: 2014-05-10 16:39:15 +00:00
contrib Add Atheros AR1111 support to the HAL. 2014-05-05 07:58:05 +00:00
crypto
ddb
dev Port over mmap routine from syscons. This lets X11 work on PowerPC with vt. 2014-05-11 02:16:08 +00:00
fs After r254627, the deupdate() started writing the directory entries to 2014-05-03 16:11:55 +00:00
gdb
geom It is safe to allow shrinking, when aligned size is bigger than current. 2014-05-07 11:18:27 +00:00
gnu
i386 Disable ACPI and P4TCC throttling by default, following discussion on 2014-05-04 16:38:21 +00:00
ia64 Bring in the mpr(4) driver for LSI's MPT3 12Gb SAS controllers. 2014-05-02 20:25:09 +00:00
isa
kern Add in support to optionally pin the swi threads. 2014-05-10 00:53:36 +00:00
kgssapi
libkern
mips Do not configure all pins as outputs as this can lead to short circuits when 2014-05-10 13:16:04 +00:00
modules Make the hardware memory and instruction barrier functions work on armv4 2014-05-11 00:43:06 +00:00
net Rename rt_msg1() to more handy rtsock_msg_mbuf(). 2014-05-08 13:54:57 +00:00
net80211
netgraph
netinet Whitespace change. 2014-05-10 08:48:04 +00:00
netinet6 Pass radix head ptr along with rte to rtexpunge(). 2014-05-03 16:28:54 +00:00
netipsec
netnatm
netpfil
netsmb
nfs
nfsclient
nfsserver
nlm
ofed Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
opencrypto
pc98 lindev(4): finish the partial commit in r265212 2014-05-02 07:14:22 +00:00
pci
powerpc Use vt(4) by default on 32-bit PowerPC now that it is fully functional and 2014-05-11 02:18:17 +00:00
rpc Properly free resources in case of error. 2014-05-02 20:45:55 +00:00
security
sparc64 Bring in the mpr(4) driver for LSI's MPT3 12Gb SAS controllers. 2014-05-02 20:25:09 +00:00
sys Spell raccdt in a more conventional way in a comment. 2014-05-06 10:53:51 +00:00
teken
tools Fix logic error. <blush> 2014-04-30 20:52:38 +00:00
ufs Due to reasons unknown at this time, the system can be forced to write 2014-05-06 20:40:16 +00:00
vm About 9% of the pmap_protect() calls being performed by vm_map_copy_entry() 2014-05-10 19:47:00 +00:00
x86
xdr
xen
Makefile Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00