summaryrefslogtreecommitdiffstats
path: root/etc/login.conf
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2013-01-27 20:28:14 +0000
committerian <ian@FreeBSD.org>2013-01-27 20:28:14 +0000
commit616879d813b9d3b51f945a8cc99ef1b569914658 (patch)
tree5482fd0c9170647e83f60d9134eb5f68a092c8b9 /etc/login.conf
parent351c1f2f285769e4e015c935093a7b1febb9ea13 (diff)
downloadFreeBSD-src-616879d813b9d3b51f945a8cc99ef1b569914658.zip
FreeBSD-src-616879d813b9d3b51f945a8cc99ef1b569914658.tar.gz
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)
Diffstat (limited to 'etc/login.conf')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud