TencentOS-kernel/arch
Greg Ungerer 8180f645e8 m68knommu: fix overwriting of bits in ColdFire V3 cache control
[ Upstream commit bdee0e793cea10c516ff48bf3ebb4ef1820a116b ]

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>
2021-03-16 16:34:32 +08:00
..
alpha scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled 2021-03-16 16:31:54 +08:00
arc ARC: elf: use right ELF_ARCH 2021-03-16 16:31:39 +08:00
arm ARM: 8992/1: Fix unwind_frame for clang-built kernels 2021-03-16 16:33:54 +08:00
arm64 arm64: dts: marvell: espressobin: add ethernet alias 2021-03-16 16:34:23 +08:00
c6x Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
csky csky: Fixup abiv2 syscall_trace break a4 & a5 2021-03-16 16:28:56 +08:00
h8300 Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
hexagon hexagon: define ioremap_uc 2021-03-16 16:27:29 +08:00
ia64 scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled 2021-03-16 16:31:54 +08:00
m68k m68knommu: fix overwriting of bits in ColdFire V3 cache control 2021-03-16 16:34:32 +08:00
microblaze Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
mips MIPS: Fix unable to reserve memory for Crash kernel 2021-03-16 16:34:32 +08:00
nds32 Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
nios2 Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
openrisc openrisc: Fix oops caused when dumping stack 2021-03-16 16:34:18 +08:00
parisc parisc: Implement __smp_store_release and __smp_load_acquire barriers 2021-03-16 16:33:54 +08:00
powerpc pseries: Fix 64 bit logical memory block panic 2021-03-16 16:34:09 +08:00
riscv RISC-V: Set maximum number of mapped pages correctly 2021-03-16 16:32:57 +08:00
s390 s390/gmap: improve THP splitting 2021-03-16 16:33:57 +08:00
sh sh: landisk: Add missing initialization of sh_io_port_base 2021-03-16 16:34:22 +08:00
sparc scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled 2021-03-16 16:31:54 +08:00
um um: ensure `make ARCH=um mrproper` removes arch/$(SUBARCH)/include/generated/ 2021-03-16 16:27:11 +08:00
unicore32 Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
x86 x86/boot: kbuild: allow readelf executable to be specified 2021-03-16 16:34:24 +08:00
xtensa xtensa: fix xtensa_pmu_setup prototype 2021-03-16 16:34:03 +08:00
.gitignore Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Kconfig Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00