linux-stable/arch/arc/mm
Eugeniy Paltsev 705d1e7331 ARC: IOC: panic if kernel was started with previously enabled IOC
[ Upstream commit 3624379d90 ]

If IOC was already enabled (due to bootloader) it technically needs to
be reconfigured with aperture base,size corresponding to Linux memory map
which will certainly be different than uboot's. But disabling and
reenabling IOC when DMA might be potentially active is tricky business.
To avoid random memory issues later, just panic here and ask user to
upgrade bootloader to one which doesn't enable IOC

This was actually seen as issue on some of the HSDK board with a version
of uboot which enabled IOC. There were random issues later with starting
of X or peripherals etc.

Also while I'm at it, replace hardcoded bits in ARC_REG_IO_COH_PARTIAL
and ARC_REG_IO_COH_ENABLE registers by definitions.

Inspired by: https://lkml.org/lkml/2018/1/19/557
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-13 08:51:12 +01:00
..
cache.c ARC: IOC: panic if kernel was started with previously enabled IOC 2019-12-13 08:51:12 +01:00
dma.c ARC: don't check for HIGHMEM pages in arch_dma_alloc 2018-09-04 13:21:38 -07:00
extable.c ARC: uaccess: enable INLINE_COPY_{TO,FROM}_USER ... 2017-03-30 00:07:48 -04:00
fault.c ARC: mm: SIGSEGV userspace trying to access kernel virtual memory 2019-09-16 08:22:14 +02:00
highmem.c ARC: export kmap 2016-08-19 10:45:29 -07:00
init.c ARC: adjust memblock_reserve of kernel memory 2019-01-31 08:14:35 +01:00
ioremap.c ARCv2: Support dynamic peripheral address space in HS38 rel 3.0 cores 2016-09-30 14:48:17 -07:00
Makefile ARC: mm: HIGHMEM: kmap API implementation 2015-10-28 19:49:04 +05:30
mmap.c mm: larger stack guard gap, between vmas 2017-06-19 21:50:20 +08:00
tlb.c ARC: fix build warnings 2019-06-25 11:35:55 +08:00
tlbex.S ARC: [plat-eznps] Fix TLB Errata 2017-08-28 15:17:36 -07:00