linux/arch/m68k
Greg Ungerer 465bc917d1 m68knommu: fix overwriting of bits in ColdFire V3 cache control
[ Upstream commit bdee0e793c ]

The Cache Control Register (CACR) of the ColdFire V3 has bits that
control high level caching functions, and also enable/disable the use
of the alternate stack pointer register (the EUSP bit) to provide
separate supervisor and user stack pointer registers. The code as
it is today will blindly clear the EUSP bit on cache actions like
invalidation. So it is broken for this case - and that will result
in failed booting (interrupt entry and exit processing will be
completely hosed).

This only affects ColdFire V3 parts that support the alternate stack
register (like the 5329 for example) - generally speaking new parts do,
older parts don't. It has no impact on ColdFire V3 parts with the single
stack pointer, like the 5307 for example.

Fix the cache bit defines used, so they maintain the EUSP bit when
carrying out cache actions through the CACR register.

Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-08-26 10:31:01 +02:00
..
68000 m68k: Fix off-by-one calendar month 2018-05-22 10:31:50 +02:00
amiga m68k: Call timer_interrupt() with interrupts disabled 2020-01-27 14:51:23 +01:00
apollo m68k: Remove unused set_clock_mmss() helpers 2018-07-29 10:48:18 +02:00
atari m68k: Call timer_interrupt() with interrupts disabled 2020-01-27 14:51:23 +01:00
bvme6000 m68k: Call timer_interrupt() with interrupts disabled 2020-01-27 14:51:23 +01:00
coldfire m68k/PCI: Fix a memory leak in an error handling path 2020-06-25 15:32:50 +02:00
configs scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled 2020-07-22 09:32:04 +02:00
emu net: Remove usage of net_device last_rx member 2017-01-18 17:22:49 -05:00
fpsp040 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hp300 m68k: Call timer_interrupt() with interrupts disabled 2020-01-27 14:51:23 +01:00
ifpsp060 scripts/spelling.txt: add regsiter -> register spelling mistake 2017-05-08 17:15:13 -07:00
include m68knommu: fix overwriting of bits in ColdFire V3 cache control 2020-08-26 10:31:01 +02:00
kernel m68k: nommu: register start of the memory with memblock 2020-07-22 09:32:01 +02:00
lib License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mac m68k: mac: Fix IOP status/control register writes 2020-08-19 08:14:49 +02:00
math-emu m68k: Assorted spelling fixes 2016-07-03 14:05:28 +02:00
mm m68k: mm: fix node memblock init 2020-07-22 09:32:01 +02:00
mvme16x m68k: Call timer_interrupt() with interrupts disabled 2020-01-27 14:51:23 +01:00
mvme147 m68k: Call timer_interrupt() with interrupts disabled 2020-01-27 14:51:23 +01:00
q40 m68k: Call timer_interrupt() with interrupts disabled 2020-01-27 14:51:23 +01:00
sun3 m68k: Call timer_interrupt() with interrupts disabled 2020-01-27 14:51:23 +01:00
sun3x m68k: Call timer_interrupt() with interrupts disabled 2020-01-27 14:51:23 +01:00
tools/amiga License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
install.sh
Kconfig Consolidation of Kconfig files by Christoph Hellwig. 2018-08-15 13:05:12 -07:00
Kconfig.bus m68k: allow ColdFire PCI bus on MMU and non-MMU configuration 2018-05-28 09:45:27 +10:00
Kconfig.cpu m68k: allow ColdFire m5441x parts to run with MMU enabled 2017-11-06 08:25:20 +10:00
Kconfig.debug Kconfig: consolidate the "Kernel hacking" menu 2018-08-02 08:06:48 +09:00
Kconfig.devices License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig.machine m68k: add Sysam stmark2 open board support 2017-11-07 13:27:38 +10:00
Makefile m68k: Add -ffreestanding to CFLAGS 2019-03-23 20:10:00 +01:00