svn commit: r243359 - head/sys/arm/arm
Olivier Houchard
cognet at FreeBSD.org
Wed Nov 21 01:38:41 UTC 2012
Author: cognet
Date: Wed Nov 21 01:38:40 2012
New Revision: 243359
URL: http://svnweb.freebsd.org/changeset/base/243359
Log:
Make sure the address starts on a cache line boundary.
Modified:
head/sys/arm/arm/pl310.c
Modified: head/sys/arm/arm/pl310.c
==============================================================================
--- head/sys/arm/arm/pl310.c Wed Nov 21 01:01:19 2012 (r243358)
+++ head/sys/arm/arm/pl310.c Wed Nov 21 01:38:40 2012 (r243359)
@@ -180,9 +180,13 @@ static void
pl310_wbinv_range(vm_paddr_t start, vm_size_t size)
{
+ if (start & g_l2cache_align_mask) {
+ size += start & g_l2cache_align_mask;
+ start &= ~g_l2cache_align_mask;
+ }
if (size & g_l2cache_align_mask) {
size &= ~g_l2cache_align_mask;
- size += g_l2cache_line_size;
+ size += g_l2cache_line_size;
}
#if 1
@@ -217,6 +221,10 @@ static void
pl310_wb_range(vm_paddr_t start, vm_size_t size)
{
+ if (start & g_l2cache_align_mask) {
+ size += start & g_l2cache_align_mask;
+ start &= ~g_l2cache_align_mask;
+ }
if (size & g_l2cache_align_mask) {
size &= ~g_l2cache_align_mask;
size += g_l2cache_line_size;
@@ -235,6 +243,10 @@ static void
pl310_inv_range(vm_paddr_t start, vm_size_t size)
{
+ if (start & g_l2cache_align_mask) {
+ size += start & g_l2cache_align_mask;
+ start &= ~g_l2cache_align_mask;
+ }
if (size & g_l2cache_align_mask) {
size &= ~g_l2cache_align_mask;
size += g_l2cache_line_size;
More information about the svn-src-head
mailing list