Module Name:    src
Committed By:   jmcneill
Date:           Sat Nov 28 14:02:09 UTC 2020

Modified Files:
        src/sys/stand/efiboot: boot.c efiboot_machdep.h
        src/sys/stand/efiboot/bootaa64: efibootaa64.c
        src/sys/stand/efiboot/bootarm: efibootarm.c

Log Message:
Add a hook for MD specific info to print in the "ver" command. Use this
to print the value of the current execution level in bootaa64.


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 src/sys/stand/efiboot/boot.c
cvs rdiff -u -r1.2 -r1.3 src/sys/stand/efiboot/efiboot_machdep.h
cvs rdiff -u -r1.2 -r1.3 src/sys/stand/efiboot/bootaa64/efibootaa64.c
cvs rdiff -u -r1.2 -r1.3 src/sys/stand/efiboot/bootarm/efibootarm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/stand/efiboot/boot.c
diff -u src/sys/stand/efiboot/boot.c:1.28 src/sys/stand/efiboot/boot.c:1.29
--- src/sys/stand/efiboot/boot.c:1.28	Sun Oct 11 14:03:33 2020
+++ src/sys/stand/efiboot/boot.c	Sat Nov 28 14:02:09 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: boot.c,v 1.28 2020/10/11 14:03:33 jmcneill Exp $	*/
+/*	$NetBSD: boot.c,v 1.29 2020/11/28 14:02:09 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 2016 Kimihiro Nonaka <non...@netbsd.org>
@@ -347,6 +347,7 @@ command_version(char *arg)
 	efi_fdt_show();
 	efi_acpi_show();
 	efi_rng_show();
+	efi_md_show();
 }
 
 void

Index: src/sys/stand/efiboot/efiboot_machdep.h
diff -u src/sys/stand/efiboot/efiboot_machdep.h:1.2 src/sys/stand/efiboot/efiboot_machdep.h:1.3
--- src/sys/stand/efiboot/efiboot_machdep.h:1.2	Fri Sep  7 17:30:32 2018
+++ src/sys/stand/efiboot/efiboot_machdep.h	Sat Nov 28 14:02:09 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: efiboot_machdep.h,v 1.2 2018/09/07 17:30:32 jmcneill Exp $ */
+/* $NetBSD: efiboot_machdep.h,v 1.3 2020/11/28 14:02:09 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2018 Jared McNeill <jmcne...@invisible.ca>
@@ -32,3 +32,4 @@
 
 void efi_dcache_flush(u_long, u_long);
 void efi_boot_kernel(u_long[]);
+void efi_md_show(void);

Index: src/sys/stand/efiboot/bootaa64/efibootaa64.c
diff -u src/sys/stand/efiboot/bootaa64/efibootaa64.c:1.2 src/sys/stand/efiboot/bootaa64/efibootaa64.c:1.3
--- src/sys/stand/efiboot/bootaa64/efibootaa64.c:1.2	Fri Sep  7 17:30:32 2018
+++ src/sys/stand/efiboot/bootaa64/efibootaa64.c	Sat Nov 28 14:02:09 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: efibootaa64.c,v 1.2 2018/09/07 17:30:32 jmcneill Exp $	*/
+/*	$NetBSD: efibootaa64.c,v 1.3 2020/11/28 14:02:09 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 2016 Kimihiro Nonaka <non...@netbsd.org>
@@ -60,3 +60,20 @@ efi_boot_kernel(u_long marks[MARK_MAX])
 
 	aarch64_exec_kernel((paddr_t)marks[MARK_ENTRY], (paddr_t)efi_fdt_data());
 }
+
+/*
+ * Returns the current exception level.
+ */
+static u_int
+efi_aarch64_current_el(void)
+{
+	uint64_t el;
+	__asm __volatile ("mrs %0, CurrentEL" : "=r" (el));
+	return (el >> 2) & 0x3;
+}
+
+void
+efi_md_show(void)
+{
+	printf("Current Exception Level: EL%u\n", efi_aarch64_current_el());
+}

Index: src/sys/stand/efiboot/bootarm/efibootarm.c
diff -u src/sys/stand/efiboot/bootarm/efibootarm.c:1.2 src/sys/stand/efiboot/bootarm/efibootarm.c:1.3
--- src/sys/stand/efiboot/bootarm/efibootarm.c:1.2	Sat Mar 30 17:41:13 2019
+++ src/sys/stand/efiboot/bootarm/efibootarm.c	Sat Nov 28 14:02:09 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: efibootarm.c,v 1.2 2019/03/30 17:41:13 jmcneill Exp $ */
+/* $NetBSD: efibootarm.c,v 1.3 2020/11/28 14:02:09 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2019 Jared McNeill <jmcne...@invisible.ca>
@@ -58,3 +58,8 @@ efi_boot_kernel(u_long marks[MARK_MAX])
 
 	armv7_exec_kernel((register_t)marks[MARK_ENTRY], (register_t)efi_fdt_data());
 }
+
+void
+efi_md_show(void)
+{
+}

Reply via email to