1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-23 16:01:42 +00:00
freebsd/sys
Ian Lepore 32c7ac38ed Fix off-by-one errors in low-level arm9 and arm10 cache maintenance routines.
In all the routines that loop through a range of virtual addresses, the loop
is controlled by subtracting the cache line size from the total length of the
request.  After the subtract, a 'bpl' instruction was used, which branches if
the result of the subtraction is zero or greater, but we need to exit the
loop when the count hits zero.  Thus, all the bpl instructions in those loops
have been changed to 'bhi' (branch if greater than zero).

In addition, the two routines that walk through the cache using set-and-index
were correct, but confusing.  The loop control for those has been simplified,
just so that it's easier to see by examination that the code is correct.

Routines for other arm architectures and generations still have the bpl
instruction, but compensate for the off-by-one situation by decrementing
the count register by one before entering the loop.

PR:		arm/174461
Approved by:	cognet (mentor)
2013-01-27 20:28:14 +00:00
..
amd64 Always allow access to the sysenter cs/esp/eip MSRs since they 2013-01-25 21:38:31 +00:00
arm Fix off-by-one errors in low-level arm9 and arm10 cache maintenance routines. 2013-01-27 20:28:14 +00:00
boot Add support for the GlobalScale Technologies DreamPlug computer. 2013-01-27 01:17:37 +00:00
bsm
cam Sanitize the element descriptor string before using it as a device name. 2013-01-24 17:28:39 +00:00
cddl spa_generate_rootconf: add support for old vdev labels 2013-01-26 10:34:17 +00:00
compat Arithmetic on pointers takes into account the size of the type. Properly cast the pointer to avoid incorrect pointer scaling. 2013-01-25 14:40:54 +00:00
conf Don't build the kernel with Thumb interworking as we don't support Thumb. 2013-01-23 07:27:38 +00:00
contrib Fix another build breakage for ia64. 2013-01-21 21:26:42 +00:00
crypto
ddb
dev Fix regression issue after r244500 and r244503: 2013-01-27 18:01:03 +00:00
fs Be conservative and do not try to consume more bytes than was 2013-01-27 09:34:25 +00:00
gdb
geom g_mirror: g_getattr() failure should not be fatal 2013-01-26 10:50:04 +00:00
gnu/fs
i386 Don't assume that all Linux TCP-level socket options are identical to 2013-01-23 21:44:48 +00:00
ia64 Remove firewire devices missed in r244992. 2013-01-04 15:29:50 +00:00
isa
kern - Move large functions m_getjcl() and m_get2() to kern/uipc_mbuf.c 2013-01-24 09:29:41 +00:00
kgssapi Piete.Brooks at cl.cam.ac.uk reported via email a crash which was 2012-12-18 00:25:48 +00:00
libkern Add __aeabi_ulcmp to allow building of the LINT kernel. 2013-01-23 09:18:18 +00:00
mips Clean some 'svn:executable' properties in the tree. 2013-01-26 22:08:21 +00:00
modules Clean some 'svn:executable' properties in the tree. 2013-01-26 22:08:21 +00:00
net Move lle_event to if_llatbl.h 2013-01-25 23:58:21 +00:00
net80211 Initial cut at making IBSS support 802.11n aware. 2013-01-26 00:37:54 +00:00
netatalk
netgraph Use DEVMETHOD_END, as suggested by hselasky@. 2012-12-26 19:14:21 +00:00
netinet Add checks for SO_NO_OFFLOAD in a couple of places that I missed earlier 2013-01-26 01:41:42 +00:00
netinet6 Generate lle_event in the IPv6 neighbor discovery code too. 2013-01-26 00:05:22 +00:00
netipsec
netipx
netnatm
netncp
netpfil In netpfil/pf: 2012-12-28 09:19:49 +00:00
netsmb
nfs Remove the unused nfs_curusec(). 2013-01-17 19:03:24 +00:00
nfsclient Further cleanups to use of timestamps in NFS: 2013-01-25 15:25:24 +00:00
nfsserver Use vfs_timestamp() to set file timestamps rather than invoking 2013-01-18 18:43:38 +00:00
nlm
ofed
opencrypto
pc98 MFi386: Make similar changes that were made to atkbdc in r245315. 2013-01-11 23:42:24 +00:00
pci Add D-Link DFE-520TX rev C1. 2013-01-16 01:30:46 +00:00
powerpc Enable the UFS quotas for big-iron GENERIC kernels. 2013-01-03 19:03:41 +00:00
rpc
security Implement the zonename token for jailed processes. If 2013-01-17 21:02:53 +00:00
sparc64 Revert the part of r239864 which removed obtaining the SMP mutex around 2013-01-23 22:52:20 +00:00
sys In mbuf(9) API length is always integer. Thus, cast mbuf length 2013-01-25 11:52:56 +00:00
teken
tools Fix build on ARM (and probably other platforms) 2012-12-28 06:52:53 +00:00
ufs Add flags argument to vfs_write_resume() and remove 2013-01-11 06:08:32 +00:00
vm - Get rid of unused function vmspace_wired_count(). 2013-01-14 12:12:56 +00:00
x86 Don't attempt to use clflush on the local APIC register window. Various 2013-01-17 21:32:25 +00:00
xdr
xen
Makefile