u-boot/arch
Marek Vasut fbb0de088b mips: cache: Bulletproof the code against cornercases
This patch makes sure that the flush/invalidate_dcache_range() functions
can handle corner-case calls like this -- invalidate_dcache_range(0, 0, 0);
This call is valid and is happily produced by USB EHCI code for example.
The expected behavior of the cache function(s) in this case is that they
will do no operation, since the size is zero.

The current implementation though has a problem where such invocation will
result in a hard CPU hang. This is because under such conditions, where the
start_addr = 0 and stop = 0, the addr = 0 and aend = 0xffffffe0 . The loop
will then try to iterate over the entire address space, which in itself is
wrong. But iterating over the entire address space might also hit some odd
address which will cause bus hang. The later happens on the Atheros MIPS.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Hans de Goede <hdegoede@redhat.com>
2016-02-01 22:13:24 +01:00
..
arc Fix board init code to respect the C runtime environment 2016-01-13 21:05:17 -05:00
arm Merge git://git.denx.de/u-boot-dm 2016-01-29 13:47:38 -05:00
avr32 avr32: Use the generic bitops headers 2015-11-05 10:52:31 -05:00
blackfin Move console definitions into a new console.h file 2015-11-19 20:27:50 -07:00
m68k m68k: M54418TWR: drop board/freescale/m54418twr/config.mk 2016-01-20 10:19:34 -05:00
microblaze microblaze: Remove empty file - cpu.c 2016-01-27 15:55:53 +01:00
mips mips: cache: Bulletproof the code against cornercases 2016-02-01 22:13:24 +01:00
nds32 nds32: Fix compile error. 2016-01-21 10:41:43 +08:00
nios2 Fix board init code to respect the C runtime environment 2016-01-13 21:05:17 -05:00
openrisc openrisc: Fix build errors 2016-01-25 10:40:01 -05:00
powerpc Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq 2016-01-27 15:05:36 -05:00
sandbox dm: video: test: Add tests for the video uclass 2016-01-20 19:10:16 -07:00
sh Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
sparc sparc: Remove non-generic board init files: board.c, time.c 2015-12-03 13:15:50 +02:00
x86 x86: Correct spi node alias 2016-01-28 13:53:30 +08:00
.gitignore .gitignore: drop include/asm/proc from ignore pattern 2014-06-19 11:18:54 -04:00
Kconfig MIPS: add initial infrastructure for device-tree files 2016-01-16 21:06:45 +01:00