VirtualBox

Ignore:
Timestamp:
Mar 12, 2019 12:40:12 PM (6 years ago)
Author:
vboxsync
Message:

EFI: First step in UDK2018 merge. Does not build yet.

Location:
trunk/src/VBox/Devices/EFI/FirmwareNew
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/FirmwareNew

  • trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FwBlockService.h

    r58466 r77662  
    11/**@file
    22
    3 Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
    4 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
     3  Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
    84
    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.
     5  This program and the accompanying materials are licensed and made available
     6  under the terms and conditions of the BSD License which accompanies this
     7  distribution.  The full text of the license may be found at
     8  http://opensource.org/licenses/bsd-license.php
    119
    12 Module Name:
     10  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
    1312
    14   FwBlockService.h
     13  Module Name:
    1514
    16 Abstract:
     15    FwBlockService.h
    1716
    18   Firmware volume block driver for Intel Firmware Hub (FWH) device
     17  Abstract:
     18
     19    Firmware volume block driver for Intel Firmware Hub (FWH) device
    1920
    2021**/
     
    2324#define _FW_BLOCK_SERVICE_H
    2425
    25 //
    26 // BugBug: Add documentation here for data structure!!!!
    27 //
    28 #define FVB_PHYSICAL  0
    29 #define FVB_VIRTUAL   1
    30 
    3126typedef struct {
    32   EFI_LOCK                    FvbDevLock;
    33   UINTN                       FvBase[2];
     27  UINTN                       FvBase;
    3428  UINTN                       NumOfBlocks;
    3529  EFI_FIRMWARE_VOLUME_HEADER  VolumeHeader;
     
    3832typedef struct {
    3933  UINT32              NumFv;
    40   EFI_FW_VOL_INSTANCE *FvInstance[2];
    41   UINT8               *FvbScratchSpace[2];
     34  EFI_FW_VOL_INSTANCE *FvInstance;
    4235} ESAL_FWB_GLOBAL;
     36
     37extern ESAL_FWB_GLOBAL *mFvbModuleGlobal;
    4338
    4439//
    4540// Fvb Protocol instance data
    4641//
    47 #define FVB_DEVICE_FROM_THIS(a)         CR (a, EFI_FW_VOL_BLOCK_DEVICE, FwVolBlockInstance, FVB_DEVICE_SIGNATURE)
    48 #define FVB_EXTEND_DEVICE_FROM_THIS(a)  CR (a, EFI_FW_VOL_BLOCK_DEVICE, FvbExtension, FVB_DEVICE_SIGNATURE)
     42#define FVB_DEVICE_FROM_THIS(a) CR (a, EFI_FW_VOL_BLOCK_DEVICE, \
     43                                  FwVolBlockInstance, FVB_DEVICE_SIGNATURE)
     44
     45#define FVB_EXTEND_DEVICE_FROM_THIS(a) CR (a, EFI_FW_VOL_BLOCK_DEVICE, \
     46                                         FvbExtension, FVB_DEVICE_SIGNATURE)
     47
    4948#define FVB_DEVICE_SIGNATURE            SIGNATURE_32 ('F', 'V', 'B', 'N')
    5049
     
    7675  IN UINTN                                Instance,
    7776  IN OUT EFI_FVB_ATTRIBUTES_2             *Attributes,
    78   IN ESAL_FWB_GLOBAL                      *Global,
    79   IN BOOLEAN                              Virtual
     77  IN ESAL_FWB_GLOBAL                      *Global
    8078  );
    8179
     
    8482  IN UINTN                                Instance,
    8583  OUT EFI_FVB_ATTRIBUTES_2                *Attributes,
    86   IN ESAL_FWB_GLOBAL                      *Global,
    87   IN BOOLEAN                              Virtual
     84  IN ESAL_FWB_GLOBAL                      *Global
    8885  );
    8986
     
    9289  IN UINTN                                Instance,
    9390  OUT EFI_PHYSICAL_ADDRESS                *Address,
    94   IN ESAL_FWB_GLOBAL                      *Global,
    95   IN BOOLEAN                              Virtual
     91  IN ESAL_FWB_GLOBAL                      *Global
    9692  );
    9793
     
    118114  OUT UINTN                               *LbaLength,
    119115  OUT UINTN                               *NumOfBlocks,
    120   IN  ESAL_FWB_GLOBAL                     *Global,
    121   IN  BOOLEAN                             Virtual
     116  IN  ESAL_FWB_GLOBAL                     *Global
    122117  );
    123118
     
    182177  );
    183178
     179//
     180// The following functions have different implementations dependent on the
     181// module type chosen for building this driver.
     182//
     183VOID
     184InstallProtocolInterfaces (
     185  IN EFI_FW_VOL_BLOCK_DEVICE *FvbDevice
     186  );
     187
     188VOID
     189InstallVirtualAddressChangeHandler (
     190  VOID
     191  );
    184192#endif
Note: See TracChangeset for help on using the changeset viewer.

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