blob: 2ffdd65b759c73ba332fdec1a50b634c69e7f78e [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Heinrich Schuchardte3cde3a2018-01-19 19:01:05 +01002/*
3 * efi_selftest_miniapp_exit
4 *
5 * Copyright (c) 2018 Heinrich Schuchardt
6 *
Heinrich Schuchardte3cde3a2018-01-19 19:01:05 +01007 * This EFI application is run by the StartImage selftest.
8 * It uses the Exit boot service to return.
9 */
10
11#include <common.h>
12#include <efi_api.h>
13
14/*
15 * Entry point of the EFI application.
16 *
17 * @handle handle of the loaded image
18 * @systable system table
19 * @return status code
20 */
21efi_status_t EFIAPI efi_main(efi_handle_t handle,
22 struct efi_system_table *systable)
23{
24 struct efi_simple_text_output_protocol *con_out = systable->con_out;
25
Heinrich Schuchardt4795aa72018-01-21 20:30:57 +000026 con_out->output_string(con_out, L"EFI application calling Exit\n");
Heinrich Schuchardte3cde3a2018-01-19 19:01:05 +010027
28 /* The return value is checked by the calling test */
29 systable->boottime->exit(handle, EFI_UNSUPPORTED, 0, NULL);
30
31 /*
32 * This statement should not be reached.
33 * To enable testing use a different return value.
34 */
35 return EFI_SUCCESS;
36}