1234567891011121314151617181920212223242526272829303132333435363738394041 |
- // SPDX-License-Identifier: GPL-2.0+
- /*
- * efi_selftest_miniapp_return
- *
- * Copyright (c) 2019 Heinrich Schuchardt
- *
- * This EFI application triggers an exception.
- */
- #include <common.h>
- #include <efi_api.h>
- /*
- * Entry point of the EFI application.
- *
- * @handle handle of the loaded image
- * @systable system table
- * @return status code
- */
- efi_status_t EFIAPI efi_main(efi_handle_t handle,
- struct efi_system_table *systable)
- {
- struct efi_simple_text_output_protocol *con_out = systable->con_out;
- con_out->output_string(con_out,
- L"EFI application triggers exception.\n");
- #if defined(CONFIG_ARM)
- /*
- * 0xe7f...f. is undefined in ARM mode
- * 0xde.. is undefined in Thumb mode
- */
- asm volatile (".word 0xe7f7defb\n");
- #elif defined(CONFIG_RISCV)
- asm volatile (".word 0xffffffff\n");
- #elif defined(CONFIG_X86)
- asm volatile (".word 0xffff\n");
- #endif
- con_out->output_string(con_out, L"Exception not triggered.\n");
- return EFI_ABORTED;
- }
|