/*++ Copyright (c) 2014 Minoca Corp. All Rights Reserved Module Name: fwvol.c Abstract: This module implements support for the builtin UEFI firmware volume. Author: Chris Stevens 31-Dec-2014 Environment: Firmware --*/ // // ------------------------------------------------------------------- Includes // #include #include "rpifw.h" // // ---------------------------------------------------------------- Definitions // // // ------------------------------------------------------ Data Type Definitions // // // ----------------------------------------------- Internal Function Prototypes // // // -------------------------------------------------------------------- Globals // // // Objcopy adds these symbols surrounding the added file. // extern UINT8 _binary_rpifwv_start; extern UINT8 _binary_rpifwv_end; // // ------------------------------------------------------------------ Functions // EFI_STATUS EfiPlatformEnumerateFirmwareVolumes ( VOID ) /*++ Routine Description: This routine enumerates any firmware volumes the platform may have tucked away. The platform should load them into memory and call EfiCreateFirmwareVolume for each one. Arguments: None. Return Value: EFI Status code. --*/ { EFI_PHYSICAL_ADDRESS Base; UINTN Size; EFI_STATUS Status; Base = (EFI_PHYSICAL_ADDRESS)(UINTN)&_binary_rpifwv_start; Size = (UINTN)&_binary_rpifwv_end - (UINTN)&_binary_rpifwv_start; Status = EfiCreateFirmwareVolume(Base, Size, NULL, 0, NULL); return Status; } // // --------------------------------------------------------- Internal Functions //