diff options
author | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2020-11-12 00:29:58 +0100 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2020-12-13 07:58:17 -0700 |
commit | 04cc7914f2697cdc43b1cd5e0d7ab73893327966 (patch) | |
tree | f3d09f1bb14bfafa937bb70e0ac8d6641ac9df70 /lib | |
parent | 3a5ec0357868b384d43af93d8a20e4c85b00586c (diff) | |
download | u-boot-04cc7914f2697cdc43b1cd5e0d7ab73893327966.tar.gz |
efi_selftest: implement exception test for sandbox
Provide a unit test that causes an illegal instruction to occur.
The test can be run with the following commands:
=> setenv efi_selftest exception
=> bootefi selftest
This might be the output:
Executing 'exception'
EFI application triggers exception.
Illegal instruction
pc = 0x1444d016, pc_reloc = 0xffffaa078e8dd016
UEFI image [0x0000000000000000:0xffffffffffffffff] '/\selftest'
UEFI image [0x000000001444b000:0x0000000014451fff] pc=0x2016 '/bug.efi'
Resetting ...
It would tell us that the exception was triggered by an instruction
0x2016 bytes after the load address of the binary with filename /bug.efi.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/efi_selftest/efi_selftest_miniapp_exception.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/efi_selftest/efi_selftest_miniapp_exception.c b/lib/efi_selftest/efi_selftest_miniapp_exception.c index 63c63d75f12..59b7e5100ad 100644 --- a/lib/efi_selftest/efi_selftest_miniapp_exception.c +++ b/lib/efi_selftest/efi_selftest_miniapp_exception.c @@ -33,6 +33,8 @@ efi_status_t EFIAPI efi_main(efi_handle_t handle, asm volatile (".word 0xe7f7defb\n"); #elif defined(CONFIG_RISCV) asm volatile (".word 0xffffffff\n"); +#elif defined(CONFIG_SANDBOX) + asm volatile (".word 0xffffffff\n"); #elif defined(CONFIG_X86) asm volatile (".word 0xffff\n"); #endif |