VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FwBlockServiceSmm.c@ 105381

Last change on this file since 105381 was 99404, checked in by vboxsync, 20 months ago

Devices/EFI/FirmwareNew: Update to edk2-stable202302 and make it build, bugref:4643

  • Property svn:eol-style set to native
File size: 1.8 KB
Line 
1/**@file
2 Functions related to the Firmware Volume Block service whose
3 implementation is specific to the SMM driver build.
4
5 Copyright (C) 2015, Red Hat, Inc.
6 Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
7
8 SPDX-License-Identifier: BSD-2-Clause-Patent
9**/
10
11#include <Library/DebugLib.h>
12#include <Library/PcdLib.h>
13#include <Library/SmmServicesTableLib.h>
14#include <Protocol/DevicePath.h>
15#include <Protocol/SmmFirmwareVolumeBlock.h>
16
17#include "FwBlockService.h"
18
19VOID
20InstallProtocolInterfaces (
21 IN EFI_FW_VOL_BLOCK_DEVICE *FvbDevice
22 )
23{
24 EFI_HANDLE FvbHandle;
25 EFI_STATUS Status;
26
27 ASSERT (FeaturePcdGet (PcdSmmSmramRequire));
28
29 //
30 // There is no SMM service that can install multiple protocols in the SMM
31 // protocol database in one go.
32 //
33 // The SMM Firmware Volume Block protocol structure is the same as the
34 // Firmware Volume Block protocol structure.
35 //
36 FvbHandle = NULL;
37 DEBUG ((DEBUG_INFO, "Installing QEMU flash SMM FVB\n"));
38 Status = gSmst->SmmInstallProtocolInterface (
39 &FvbHandle,
40 &gEfiSmmFirmwareVolumeBlockProtocolGuid,
41 EFI_NATIVE_INTERFACE,
42 &FvbDevice->FwVolBlockInstance
43 );
44 ASSERT_EFI_ERROR (Status);
45
46 Status = gSmst->SmmInstallProtocolInterface (
47 &FvbHandle,
48 &gEfiDevicePathProtocolGuid,
49 EFI_NATIVE_INTERFACE,
50 FvbDevice->DevicePath
51 );
52 ASSERT_EFI_ERROR (Status);
53}
54
55VOID
56InstallVirtualAddressChangeHandler (
57 VOID
58 )
59{
60 //
61 // Nothing.
62 //
63}
64
65EFI_STATUS
66MarkIoMemoryRangeForRuntimeAccess (
67 IN EFI_PHYSICAL_ADDRESS BaseAddress,
68 IN UINTN Length
69 )
70{
71 //
72 // Nothing
73 //
74
75 return EFI_SUCCESS;
76}
77
78VOID
79SetPcdFlashNvStorageBaseAddresses (
80 VOID
81 )
82{
83 //
84 // Do nothing.
85 //
86}
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette