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) +{ +}