]> git.proxmox.com Git - mirror_edk2.git/blob - EdkModulePkg/Universal/StatusCode/RuntimeDxe/Ia32/Ia32StatusCode.c
d2e1009b7f4120162412739dae4698654fb64c2b
[mirror_edk2.git] / EdkModulePkg / Universal / StatusCode / RuntimeDxe / Ia32 / Ia32StatusCode.c
1 /*++
2
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 Ia32StatusCode.c
15
16 Abstract:
17
18 Installs the ReportStatusCode runtime service.
19
20 --*/
21
22 #include "StatusCode.h"
23
24 //
25 //
26 //
27 EFI_HANDLE gStatusCodeHandle = NULL;
28
29 const EFI_STATUS_CODE_PROTOCOL gStatusCodeInstance = {
30 StatusCodeReportStatusCode
31 };
32
33 //
34 // Define the driver entry point
35 //
36 EFI_STATUS
37 EFIAPI
38 InstallStatusCode (
39 IN EFI_HANDLE ImageHandle,
40 IN EFI_SYSTEM_TABLE *SystemTable
41 )
42 /*++
43
44 Routine Description:
45
46 Install the ReportStatusCode runtime service.
47
48 Arguments:
49
50 ImageHandle Image handle of the loaded driver
51 SystemTable Pointer to the System Table
52
53 Returns:
54
55 EFI_SUCCESS The function always returns success.
56
57 --*/
58 {
59 EFI_STATUS Status;
60
61 //
62 // Initialize RT status code
63 //
64 InitializeStatusCode (ImageHandle, SystemTable);
65
66 Status = gBS->InstallMultipleProtocolInterfaces (
67 &gStatusCodeHandle,
68 &gEfiStatusCodeRuntimeProtocolGuid,
69 &gStatusCodeInstance,
70 NULL
71 );
72 ASSERT_EFI_ERROR (Status);
73
74 return Status;
75 }