X-Git-Url: https://git.librecmc.org/?p=oweals%2Fu-boot.git;a=blobdiff_plain;f=arch%2Farm%2Flib%2Finterrupts_64.c;h=5299489013760b72d2a2664d02a74783aed1e2c3;hp=0bfdb8d93d256656d8fc2f5969d51fec56c47ef3;hb=c27178ba3649f539c9f1890ea147f4c5415f63b5;hpb=88d5ab3d67c7507160792991e99bda9fff34d106 diff --git a/arch/arm/lib/interrupts_64.c b/arch/arm/lib/interrupts_64.c index 0bfdb8d93d..5299489013 100644 --- a/arch/arm/lib/interrupts_64.c +++ b/arch/arm/lib/interrupts_64.c @@ -5,6 +5,8 @@ */ #include +#include +#include #include #include @@ -12,6 +14,8 @@ DECLARE_GLOBAL_DATA_PTR; int interrupt_init(void) { + enable_interrupts(); + return 0; } @@ -30,6 +34,17 @@ static void show_efi_loaded_images(struct pt_regs *regs) efi_print_image_infos((void *)regs->elr); } +static void dump_instr(struct pt_regs *regs) +{ + u32 *addr = (u32 *)(regs->elr & ~3UL); + int i; + + printf("Code: "); + for (i = -4; i < 1; i++) + printf(i == 0 ? "(%08x) " : "%08x ", addr[i]); + printf("\n"); +} + void show_regs(struct pt_regs *regs) { int i; @@ -44,6 +59,7 @@ void show_regs(struct pt_regs *regs) printf("x%-2d: %016lx x%-2d: %016lx\n", i, regs->regs[i], i+1, regs->regs[i+1]); printf("\n"); + dump_instr(regs); } /*