freebsd-nq/sys/arm
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
..
allwinner Fix method of naming compatible string to follow 2013-01-25 07:21:22 +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
at91 Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
broadcom/bcm2835 Enable syscons framebuffer support for bcm2835. It makes possible to run Xorg 2013-01-13 22:05:46 +00:00
compile
conf Remove the remaining references to the now-obsolete sheevaplug config files, 2013-01-27 20:10:29 +00:00
econa Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
include Eliminate the need for an intermediate array of indices into the arrays of 2013-01-19 00:50:12 +00:00
lpc Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
mv Add a default do-nothing implementation of fdt_pci_devmap() using a weak alias, 2013-01-27 00:39:02 +00:00
s3c2xx0 Create a common set_stackptrs in sys/arm/machdep.c. 2012-09-22 06:41:56 +00:00
sa11x0 Create a common set_stackptrs in sys/arm/machdep.c. 2012-09-22 06:41:56 +00:00
tegra Merge the FDT versions of initarm. 2012-11-03 22:39:07 +00:00
ti Clarify the error messages for unrecognized pins and muxtypes. 2013-01-19 17:12:23 +00:00
versatile Fix background color calculation 2013-01-05 21:05:16 +00:00
xscale Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00