The 'el' command displays the current exception level of the processor
on the aarch64 architecture.

This information is needed to analyze problems in the EFI subsystem.

Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de>
---
 cmd/Kconfig  |  7 +++++++
 cmd/Makefile |  1 +
 cmd/el.c     | 25 +++++++++++++++++++++++++
 3 files changed, 33 insertions(+)
 create mode 100644 cmd/el.c

diff --git a/cmd/Kconfig b/cmd/Kconfig
index 7ed3c9c3b3..cfad07432e 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -1373,6 +1373,13 @@ config CMD_DISPLAY
          displayed on a simple board-specific display. Implement
          display_putc() to use it.
 
+config CMD_EL
+       bool "el - display processor exception level"
+       depends on ARM64
+       help
+         Enable the 'el' command which displays the exception level of the
+         processor.
+
 config CMD_LED
        bool "led"
        default y if LED
diff --git a/cmd/Makefile b/cmd/Makefile
index d9cdaf6064..63e3afd56b 100644
--- a/cmd/Makefile
+++ b/cmd/Makefile
@@ -47,6 +47,7 @@ endif
 obj-$(CONFIG_CMD_DISPLAY) += display.o
 obj-$(CONFIG_CMD_DTIMG) += dtimg.o
 obj-$(CONFIG_CMD_ECHO) += echo.o
+obj-$(CONFIG_CMD_EL) += el.o
 obj-$(CONFIG_ENV_IS_IN_EEPROM) += eeprom.o
 obj-$(CONFIG_CMD_EEPROM) += eeprom.o
 obj-$(CONFIG_EFI_STUB) += efi.o
diff --git a/cmd/el.c b/cmd/el.c
new file mode 100644
index 0000000000..57081c36f2
--- /dev/null
+++ b/cmd/el.c
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * The 'el' command prints the current exception level
+ *
+ * Copyright (c) 2018, Heinrich Schuchardt <xypron.g...@gmx.de>
+ */
+#include <common.h>
+#include <command.h>
+#include <asm/system.h>
+
+static int do_el(cmd_tbl_t *cmdtp, int flag, int argc,
+                char * const argv[])
+{
+       printf("processor exception level: EL%d\n", current_el());
+       return CMD_RET_SUCCESS;
+}
+
+#ifdef CONFIG_SYS_LONGHELP
+static char el_help_text[] = "";
+#endif
+
+U_BOOT_CMD_COMPLETE
+       (el, 2, 0, do_el,
+        "display processor exception level",
+        el_help_text, NULL);
-- 
2.19.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to