linux_dsm_epyc7002/arch/arm64/mm
Will Deacon 9c413e25d9 arm64: debug: clear mdscr_el1 instead of taking the OS lock
During boot, we take the debug OS lock before interrupts are enabled.
This is required to prevent clearing of PSTATE.D on the interrupt entry
path, which could result in spurious debug exceptions before we've got
round to resetting things like the hardware breakpoints registers to a
sane state.

A problem with this approach is that taking the OS lock prevents an
external JTAG debugger from debugging the system, which is especially
irritating during boot, where JTAG debugging can be most useful.

This patch clears mdscr_el1 rather than taking the lock, clearing the
MDE and KDE bits and preventing self-hosted hardware debug exceptions
from occurring.

Tested-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: stable@vger.kernel.org
2013-05-13 11:44:56 +01:00
..
cache.S arm64: Cache maintenance routines 2012-09-17 13:42:00 +01:00
context.c arm64: Process management 2012-09-17 13:41:58 +01:00
copypage.c arm64: MMU fault handling and page table management 2012-09-17 13:41:57 +01:00
dma-mapping.c arm64: Call swiotlb_init() instead of swiotlb_init_with_default_size() 2012-10-08 16:02:09 +01:00
extable.c arm64: MMU fault handling and page table management 2012-09-17 13:41:57 +01:00
fault.c arm64: Ignore the 'write' ESR flag on cache maintenance faults 2013-05-08 10:33:16 +01:00
flush.c arm64: Convert empty flush_cache_{mm,page} functions to static inline 2012-11-23 18:15:32 +00:00
init.c mm/ARM: use common help functions to free reserved pages 2013-04-29 15:54:29 -07:00
ioremap.c arm64: Device specific operations 2012-09-17 13:42:04 +01:00
Makefile arm64: Build infrastructure 2012-09-17 13:42:21 +01:00
mm.h arm64: Call swiotlb_init() instead of swiotlb_init_with_default_size() 2012-10-08 16:02:09 +01:00
mmap.c arm64: MMU fault handling and page table management 2012-09-17 13:41:57 +01:00
mmu.c sparse-vmemmap: specify vmemmap population range in bytes 2013-04-29 15:54:35 -07:00
pgd.c arm64: MMU fault handling and page table management 2012-09-17 13:41:57 +01:00
proc-macros.S arm64: Assembly macros and definitions 2012-09-17 10:24:44 +01:00
proc.S arm64: debug: clear mdscr_el1 instead of taking the OS lock 2013-05-13 11:44:56 +01:00
tlb.S arm64: TLB maintenance functionality 2012-09-17 13:42:01 +01:00