u-boot/arch
Heinrich Schuchardt 57bbf44de6 arm64: print instructions leading to exception
If an exception occurs in a loaded image and the relocation offset is
unknown, it is helpful to know the instructions pointed to by the
program counter. This patch adds the missing output.

A possible output is:
    Code: 910c4021 aa1303e0 f9400662 d63f0040 (e7f7defb)

The parentheses indicate the instruction causing the exception.

The output can be disassembled using scripts/decodecode:

echo 'Code: 90000360 9100b800 94002782 17ffff8f (e7f7defb)' | \
  ARCH=arm64 scripts/decodecode

Code: 90000360 9100b800 94002782 17ffff8f (e7f7defb)
All code
========
   0:   90000360    adrp    x0, 0x6c000
   4:   9100b800    add     x0, x0, #0x2e
   8:   94002782    bl      0x9e10
   c:   17ffff8f    b       0xfffffffffffffe48
  10:*  e7f7defb    .inst   0xe7f7defb ; undefined <-- trapping instruction

Code starting with the faulting instruction
===========================================
   0:   e7f7defb    .inst   0xe7f7defb ; undefined

We already have implemented the same for armv7.

For testing command 'exception undefined' can be used.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-10-11 15:33:27 -04:00
..
arc NET: DW: fix regression for ARC boards 2019-10-07 13:23:49 -04:00
arm arm64: print instructions leading to exception 2019-10-11 15:33:27 -04:00
m68k env: Drop environment.h header file where not needed 2019-08-11 16:43:41 -04:00
microblaze microblaze: Setup initrd_high and fdt_high at run time 2019-10-08 09:55:11 +02:00
mips env: Move env_init() to env.h 2019-08-11 16:43:41 -04:00
nds32 env: Drop environment.h header file where not needed 2019-08-11 16:43:41 -04:00
nios2 .gitignore: move *.dtb and *.dtb.S patterns to the top-level .gitignore 2018-06-18 14:43:12 -04:00
powerpc MPC8548: dts: Added PCIe DT node 2019-08-28 13:47:47 +05:30
riscv riscv: cache: use CCTL to flush d-cache 2019-09-03 09:31:03 +08:00
sandbox sandbox: pci: Create a new sandbox_pci_read_bar() function 2019-10-08 13:57:48 +08:00
sh sh: r2dplus: Fix missing PCI range 2019-09-14 21:28:55 +02:00
x86 x86: Use mtrr_commit() with FSP2 2019-10-08 13:57:49 +08:00
xtensa env: Move env_get() to env.h 2019-08-11 16:43:41 -04:00
.gitignore
Kconfig sh: r2dplus: Enable OF control 2019-09-02 17:38:43 +02:00