linux_dsm_epyc7002/arch/arm64
Dave P Martin 9fb7410f95 arm64/BUG: Use BRK instruction for generic BUG traps
Currently, the minimal default BUG() implementation from asm-
generic is used for arm64.

This patch uses the BRK software breakpoint instruction to generate
a trap instead, similarly to most other arches, with the generic
BUG code generating the dmesg boilerplate.

This allows bug metadata to be moved to a separate table and
reduces the amount of inline code at BUG and WARN sites.  This also
avoids clobbering any registers before they can be dumped.

To mitigate the size of the bug table further, this patch makes
use of the existing infrastructure for encoding addresses within
the bug table as 32-bit offsets instead of absolute pointers.
(Note that this limits the kernel size to 2GB.)

Traps are registered at arch_initcall time for aarch64, but BUG
has minimal real dependencies and it is desirable to be able to
generate bug splats as early as possible.  This patch redirects
all debug exceptions caused by BRK directly to bug_handler() until
the full debug exception support has been initialised.

Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2015-07-27 11:08:42 +01:00
..
boot arm64: enable more compressed Image formats 2015-07-27 11:08:39 +01:00
configs arm64: defconfig: Add Ceva ahci to the defconfig 2015-07-06 17:22:59 +01:00
crypto Merge branch 'mvebu/drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc 2015-06-19 22:07:07 +08:00
include arm64/BUG: Use BRK instruction for generic BUG traps 2015-07-27 11:08:42 +01:00
kernel arm64/BUG: Use BRK instruction for generic BUG traps 2015-07-27 11:08:42 +01:00
kvm arm64: kvm: Adopt new alternative assembler macros 2015-07-27 11:08:40 +01:00
lib arm64: kernel: Add support for Privileged Access Never 2015-07-27 11:08:41 +01:00
mm arm64/BUG: Use BRK instruction for generic BUG traps 2015-07-27 11:08:42 +01:00
net arm64: bpf: fix endianness conversion bugs 2015-06-26 14:15:39 +01:00
xen arm: xen: implement multicall hypercall support. 2014-04-24 13:09:46 +01:00
Kconfig arm64/BUG: Use BRK instruction for generic BUG traps 2015-07-27 11:08:42 +01:00
Kconfig.debug coresight: moving to new "hwtracing" directory 2015-04-03 16:17:04 +02:00
Makefile arm64: enable more compressed Image formats 2015-07-27 11:08:39 +01:00