]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/Library/PlatformBootManagerLib/QemuKernel.c
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / OvmfPkg / Library / PlatformBootManagerLib / QemuKernel.c
CommitLineData
30541881
RN
1/** @file\r
2\r
3 Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
b26f0cf9 4 SPDX-License-Identifier: BSD-2-Clause-Patent\r
30541881
RN
5\r
6**/\r
7\r
8#include <Uefi.h>\r
9\r
10#include <Library/BaseLib.h>\r
11#include <Library/DebugLib.h>\r
859b5544 12#include <Library/QemuLoadImageLib.h>\r
0a0566d5 13#include <Library/ReportStatusCodeLib.h>\r
30541881
RN
14#include <Library/UefiLib.h>\r
15\r
30541881
RN
16EFI_STATUS\r
17TryRunningQemuKernel (\r
18 VOID\r
19 )\r
20{\r
ac0a286f
MK
21 EFI_STATUS Status;\r
22 EFI_HANDLE KernelImageHandle;\r
30541881 23\r
859b5544 24 Status = QemuLoadKernelImage (&KernelImageHandle);\r
30541881 25 if (EFI_ERROR (Status)) {\r
859b5544 26 return Status;\r
30541881
RN
27 }\r
28\r
29 //\r
30 // Signal the EVT_SIGNAL_READY_TO_BOOT event\r
31 //\r
ac0a286f 32 EfiSignalEventReadyToBoot ();\r
30541881 33\r
ac0a286f
MK
34 REPORT_STATUS_CODE (\r
35 EFI_PROGRESS_CODE,\r
36 (EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_DXE_BS_PC_READY_TO_BOOT_EVENT)\r
37 );\r
0a0566d5 38\r
859b5544
AB
39 //\r
40 // Start the image.\r
41 //\r
42 Status = QemuStartKernelImage (&KernelImageHandle);\r
43 if (EFI_ERROR (Status)) {\r
ac0a286f
MK
44 DEBUG ((\r
45 DEBUG_ERROR,\r
46 "%a: QemuStartKernelImage(): %r\n",\r
47 __FUNCTION__,\r
48 Status\r
49 ));\r
30541881
RN
50 }\r
51\r
859b5544
AB
52 QemuUnloadKernelImage (KernelImageHandle);\r
53\r
30541881
RN
54 return Status;\r
55}\r