aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm53xx/files/arch
Commit message (Collapse)AuthorAgeFilesLines
* bcm53xx: update copy of ASM entry flushing whole D-cacheRafał Miłecki2016-08-191-15/+29
| | | | | | | | | | | Previous version was based on code from kernel 2.6.22 with Broadcom two trivial modifications. This updates the copy to the version from current kernel and refreshes the patch. This was tested for regressions on Netgear R6250 (BCM4708A0), D-Link DIR-885L (BCM4709C0) and Tenda AC9 (BCM47189B0). Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: switch back to standalone ASM entry flushing cacheRafał Miłecki2016-08-191-0/+67
Over a year ago in a commit ac96a1665ac7 ("bcm53xx: update Disable MMU and Dcache during decompression") we switched to Florian's patch for workarounding CFE bug. The main difference was using a part of existing __armv7_mmu_cache_flush instead of implementing flushing separately. This worked well for Northstar devices but doesn't work for BCM53573 as these devices simply don't start booting with Florian's patch. It's because of the ldmfd ASM instruction in the __armv7_mmu_cache_flush. So this commit switches back to using standalone implementation. This time instead of copying Broadcom's copy of cache-v7.S, we just make a copy of the original file on our own. Unfortunately we can't cross-dir compile cache-v7.S from ../../mm/ as that one also adds __INITDATA with define_cache_functions v7 which would just trigger > Error: unrecognized/unsupported machine ID (r1 = 0x0000007f). The only real change Broadcom did in copied .S file was modifying mcr instruction to use c6 instead of c14. It isn't clear to me if we really need it, but let's use it for now. By the way we also update commit message of the [PATCH] ARM: BCM5301X: Disable MMU and Dcache during decompression This makes kernel booting on BCM53573 successfully. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>