summaryrefslogtreecommitdiff
path: root/OvmfPkg/Library/NvVarsFileLib
diff options
context:
space:
mode:
authorGuo Mang <mang.guo@intel.com>2017-04-27 11:38:23 +0800
committerGuo Mang <mang.guo@intel.com>2017-04-27 13:02:47 +0800
commit6eb5ba855628a90a3f628891cfc036b4c3ae8ca9 (patch)
tree964eed89861efe38a1ea0bafec011e7583fe19c0 /OvmfPkg/Library/NvVarsFileLib
parentae94f4ca8df0115788240e5c180436df24ad6370 (diff)
downloadedk2-platforms-6eb5ba855628a90a3f628891cfc036b4c3ae8ca9.tar.xz
OvmfPkg: Remove unused Package
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Guo Mang <mang.guo@intel.com>
Diffstat (limited to 'OvmfPkg/Library/NvVarsFileLib')
-rw-r--r--OvmfPkg/Library/NvVarsFileLib/FsAccess.c514
-rw-r--r--OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.c83
-rw-r--r--OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.h61
-rw-r--r--OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.inf60
4 files changed, 0 insertions, 718 deletions
diff --git a/OvmfPkg/Library/NvVarsFileLib/FsAccess.c b/OvmfPkg/Library/NvVarsFileLib/FsAccess.c
deleted file mode 100644
index cd0bfff2c4..0000000000
--- a/OvmfPkg/Library/NvVarsFileLib/FsAccess.c
+++ /dev/null
@@ -1,514 +0,0 @@
-/** @file
- File System Access for NvVarsFileLib
-
- Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-
-#include "NvVarsFileLib.h"
-
-#include <Library/BaseMemoryLib.h>
-#include <Library/DebugLib.h>
-#include <Library/MemoryAllocationLib.h>
-
-
-/**
- Open the NvVars file for reading or writing
-
- @param[in] FsHandle - Handle for a gEfiSimpleFileSystemProtocolGuid instance
- @param[in] ReadingFile - TRUE: open the file for reading. FALSE: writing
- @param[out] NvVarsFile - If EFI_SUCCESS is returned, then this is updated
- with the opened NvVars file.
-
- @return EFI_SUCCESS if the file was opened
-
-**/
-EFI_STATUS
-GetNvVarsFile (
- IN EFI_HANDLE FsHandle,
- IN BOOLEAN ReadingFile,
- OUT EFI_FILE_HANDLE *NvVarsFile
- )
-{
- EFI_STATUS Status;
- EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *Fs;
- EFI_FILE_HANDLE Root;
-
- //
- // Get the FileSystem protocol on that handle
- //
- Status = gBS->HandleProtocol (
- FsHandle,
- &gEfiSimpleFileSystemProtocolGuid,
- (VOID **)&Fs
- );
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- //
- // Get the volume (the root directory)
- //
- Status = Fs->OpenVolume (Fs, &Root);
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- //
- // Attempt to open the NvVars file in the root directory
- //
- Status = Root->Open (
- Root,
- NvVarsFile,
- L"NvVars",
- ReadingFile ?
- EFI_FILE_MODE_READ :
- (
- EFI_FILE_MODE_CREATE |
- EFI_FILE_MODE_READ |
- EFI_FILE_MODE_WRITE
- ),
- 0
- );
-
- return Status;
-}
-
-
-/**
- Open the NvVars file for reading or writing
-
- @param[in] File - The file to inspect
- @param[out] Exists - Returns whether the file exists
- @param[out] Size - Returns the size of the file
- (0 if the file does not exist)
-
-**/
-VOID
-NvVarsFileReadCheckup (
- IN EFI_FILE_HANDLE File,
- OUT BOOLEAN *Exists,
- OUT UINTN *Size
- )
-{
- EFI_FILE_INFO *FileInfo;
-
- *Exists = FALSE;
- *Size = 0;
-
- FileInfo = FileHandleGetInfo (File);
- if (FileInfo == NULL) {
- return;
- }
-
- if ((FileInfo->Attribute & EFI_FILE_DIRECTORY) != 0) {
- FreePool (FileInfo);
- return;
- }
-
- *Exists = TRUE;
- *Size = (UINTN) FileInfo->FileSize;
-
- FreePool (FileInfo);
-}
-
-
-/**
- Open the NvVars file for reading or writing
-
- @param[in] File - The file to inspect
- @param[out] Exists - Returns whether the file exists
- @param[out] Size - Returns the size of the file
- (0 if the file does not exist)
-
-**/
-EFI_STATUS
-FileHandleEmpty (
- IN EFI_FILE_HANDLE File
- )
-{
- EFI_STATUS Status;
- EFI_FILE_INFO *FileInfo;
-
- //
- // Retrieve the FileInfo structure
- //
- FileInfo = FileHandleGetInfo (File);
- if (FileInfo == NULL) {
- return EFI_INVALID_PARAMETER;
- }
-
- //
- // If the path is a directory, then return an error
- //
- if ((FileInfo->Attribute & EFI_FILE_DIRECTORY) != 0) {
- FreePool (FileInfo);
- return EFI_INVALID_PARAMETER;
- }
-
- //
- // If the file size is already 0, then it is empty, so
- // we can return success.
- //
- if (FileInfo->FileSize == 0) {
- FreePool (FileInfo);
- return EFI_SUCCESS;
- }
-
- //
- // Set the file size to 0.
- //
- FileInfo->FileSize = 0;
- Status = FileHandleSetInfo (File, FileInfo);
-
- FreePool (FileInfo);
-
- return Status;
-}
-
-
-/**
- Reads a file to a newly allocated buffer
-
- @param[in] File - The file to read
- @param[in] ReadSize - The size of data to read from the file
-
- @return Pointer to buffer allocated to hold the file
- contents. NULL if an error occurred.
-
-**/
-VOID*
-FileHandleReadToNewBuffer (
- IN EFI_FILE_HANDLE FileHandle,
- IN UINTN ReadSize
- )
-{
- EFI_STATUS Status;
- UINTN ActualReadSize;
- VOID *FileContents;
-
- ActualReadSize = ReadSize;
- FileContents = AllocatePool (ReadSize);
- if (FileContents != NULL) {
- Status = FileHandleRead (
- FileHandle,
- &ReadSize,
- FileContents
- );
- if (EFI_ERROR (Status) || (ActualReadSize != ReadSize)) {
- FreePool (FileContents);
- return NULL;
- }
- }
-
- return FileContents;
-}
-
-
-/**
- Reads the contents of the NvVars file on the file system
-
- @param[in] FsHandle - Handle for a gEfiSimpleFileSystemProtocolGuid instance
-
- @return EFI_STATUS based on the success or failure of the file read
-
-**/
-EFI_STATUS
-ReadNvVarsFile (
- IN EFI_HANDLE FsHandle
- )
-{
- EFI_STATUS Status;
- EFI_FILE_HANDLE File;
- UINTN FileSize;
- BOOLEAN FileExists;
- VOID *FileContents;
- EFI_HANDLE SerializedVariables;
-
- Status = GetNvVarsFile (FsHandle, TRUE, &File);
- if (EFI_ERROR (Status)) {
- DEBUG ((EFI_D_INFO, "FsAccess.c: Could not open NV Variables file on this file system\n"));
- return Status;
- }
-
- NvVarsFileReadCheckup (File, &FileExists, &FileSize);
- if (FileSize == 0) {
- FileHandleClose (File);
- return EFI_UNSUPPORTED;
- }
-
- FileContents = FileHandleReadToNewBuffer (File, FileSize);
- if (FileContents == NULL) {
- FileHandleClose (File);
- return EFI_UNSUPPORTED;
- }
-
- DEBUG ((
- EFI_D_INFO,
- "FsAccess.c: Read %Lu bytes from NV Variables file\n",
- (UINT64)FileSize
- ));
-
- Status = SerializeVariablesNewInstanceFromBuffer (
- &SerializedVariables,
- FileContents,
- FileSize
- );
- if (!RETURN_ERROR (Status)) {
- Status = SerializeVariablesSetSerializedVariables (SerializedVariables);
- }
-
- FreePool (FileContents);
- FileHandleClose (File);
-
- return Status;
-}
-
-
-/**
- Writes a variable to indicate that the NV variables
- have been loaded from the file system.
-
-**/
-STATIC
-VOID
-SetNvVarsVariable (
- VOID
- )
-{
- BOOLEAN VarData;
- UINTN Size;
-
- //
- // Write a variable to indicate we've already loaded the
- // variable data. If it is found, we skip the loading on
- // subsequent attempts.
- //
- Size = sizeof (VarData);
- VarData = TRUE;
- gRT->SetVariable (
- L"NvVars",
- &gEfiSimpleFileSystemProtocolGuid,
- EFI_VARIABLE_NON_VOLATILE |
- EFI_VARIABLE_BOOTSERVICE_ACCESS |
- EFI_VARIABLE_RUNTIME_ACCESS,
- Size,
- (VOID*) &VarData
- );
-}
-
-
-/**
- Loads the non-volatile variables from the NvVars file on the
- given file system.
-
- @param[in] FsHandle - Handle for a gEfiSimpleFileSystemProtocolGuid instance
-
- @return EFI_STATUS based on the success or failure of load operation
-
-**/
-EFI_STATUS
-LoadNvVarsFromFs (
- EFI_HANDLE FsHandle
- )
-{
- EFI_STATUS Status;
- BOOLEAN VarData;
- UINTN Size;
-
- DEBUG ((EFI_D_INFO, "FsAccess.c: LoadNvVarsFromFs\n"));
-
- //
- // We write a variable to indicate we've already loaded the
- // variable data. If it is found, we skip the loading.
- //
- // This is relevant if the non-volatile variable have been
- // able to survive a reboot operation. In that case, we don't
- // want to re-load the file as it would overwrite newer changes
- // made to the variables.
- //
- Size = sizeof (VarData);
- VarData = TRUE;
- Status = gRT->GetVariable (
- L"NvVars",
- &gEfiSimpleFileSystemProtocolGuid,
- NULL,
- &Size,
- (VOID*) &VarData
- );
- if (Status == EFI_SUCCESS) {
- DEBUG ((EFI_D_INFO, "NV Variables were already loaded\n"));
- return EFI_ALREADY_STARTED;
- }
-
- //
- // Attempt to restore the variables from the NvVars file.
- //
- Status = ReadNvVarsFile (FsHandle);
- if (EFI_ERROR (Status)) {
- DEBUG ((EFI_D_INFO, "Error while restoring NV variable data\n"));
- return Status;
- }
-
- //
- // Write a variable to indicate we've already loaded the
- // variable data. If it is found, we skip the loading on
- // subsequent attempts.
- //
- SetNvVarsVariable();
-
- DEBUG ((
- EFI_D_INFO,
- "FsAccess.c: Read NV Variables file (size=%Lu)\n",
- (UINT64)Size
- ));
-
- return Status;
-}
-
-
-STATIC
-RETURN_STATUS
-EFIAPI
-IterateVariablesCallbackAddAllNvVariables (
- IN VOID *Context,
- IN CHAR16 *VariableName,
- IN EFI_GUID *VendorGuid,
- IN UINT32 Attributes,
- IN UINTN DataSize,
- IN VOID *Data
- )
-{
- EFI_HANDLE Instance;
-
- Instance = (EFI_HANDLE) Context;
-
- //
- // Only save non-volatile variables
- //
- if ((Attributes & EFI_VARIABLE_NON_VOLATILE) == 0) {
- return RETURN_SUCCESS;
- }
-
- return SerializeVariablesAddVariable (
- Instance,
- VariableName,
- VendorGuid,
- Attributes,
- DataSize,
- Data
- );
-}
-
-
-/**
- Saves the non-volatile variables into the NvVars file on the
- given file system.
-
- @param[in] FsHandle - Handle for a gEfiSimpleFileSystemProtocolGuid instance
-
- @return EFI_STATUS based on the success or failure of load operation
-
-**/
-EFI_STATUS
-SaveNvVarsToFs (
- EFI_HANDLE FsHandle
- )
-{
- EFI_STATUS Status;
- EFI_FILE_HANDLE File;
- UINTN WriteSize;
- UINTN VariableDataSize;
- VOID *VariableData;
- EFI_HANDLE SerializedVariables;
-
- SerializedVariables = NULL;
-
- Status = SerializeVariablesNewInstance (&SerializedVariables);
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- Status = SerializeVariablesIterateSystemVariables (
- IterateVariablesCallbackAddAllNvVariables,
- (VOID*) SerializedVariables
- );
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- VariableData = NULL;
- VariableDataSize = 0;
- Status = SerializeVariablesToBuffer (
- SerializedVariables,
- NULL,
- &VariableDataSize
- );
- if (Status == RETURN_BUFFER_TOO_SMALL) {
- VariableData = AllocatePool (VariableDataSize);
- if (VariableData == NULL) {
- Status = EFI_OUT_OF_RESOURCES;
- } else {
- Status = SerializeVariablesToBuffer (
- SerializedVariables,
- VariableData,
- &VariableDataSize
- );
- }
- }
-
- SerializeVariablesFreeInstance (SerializedVariables);
-
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- //
- // Open the NvVars file for writing.
- //
- Status = GetNvVarsFile (FsHandle, FALSE, &File);
- if (EFI_ERROR (Status)) {
- DEBUG ((EFI_D_INFO, "FsAccess.c: Unable to open file to saved NV Variables\n"));
- return Status;
- }
-
- //
- // Empty the starting file contents.
- //
- Status = FileHandleEmpty (File);
- if (EFI_ERROR (Status)) {
- FileHandleClose (File);
- return Status;
- }
-
- WriteSize = VariableDataSize;
- Status = FileHandleWrite (File, &WriteSize, VariableData);
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- FileHandleClose (File);
-
- if (!EFI_ERROR (Status)) {
- //
- // Write a variable to indicate we've already loaded the
- // variable data. If it is found, we skip the loading on
- // subsequent attempts.
- //
- SetNvVarsVariable();
-
- DEBUG ((EFI_D_INFO, "Saved NV Variables to NvVars file\n"));
- }
-
- return Status;
-
-}
-
-
diff --git a/OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.c b/OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.c
deleted file mode 100644
index b597b30bed..0000000000
--- a/OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/** @file
- Save Non-Volatile Variables to a file system.
-
- Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-
-#include "NvVarsFileLib.h"
-#include <Library/DebugLib.h>
-#include <Library/NvVarsFileLib.h>
-
-EFI_HANDLE mNvVarsFileLibFsHandle = NULL;
-
-
-/**
- Attempts to connect the NvVarsFileLib to the specified file system.
-
- @param[in] FsHandle - Handle for a gEfiSimpleFileSystemProtocolGuid instance
-
- @return The EFI_STATUS while attempting to connect the NvVarsFileLib
- to the file system instance.
- @retval EFI_SUCCESS - The given file system was connected successfully
-
-**/
-EFI_STATUS
-EFIAPI
-ConnectNvVarsToFileSystem (
- IN EFI_HANDLE FsHandle
- )
-{
- EFI_STATUS Status;
-
- //
- // We might fail to load the variable, since the file system initially
- // will not have the NvVars file.
- //
- LoadNvVarsFromFs (FsHandle);
-
- //
- // We must be able to save the variables successfully to the file system
- // to have connected successfully.
- //
- Status = SaveNvVarsToFs (FsHandle);
- if (!EFI_ERROR (Status)) {
- mNvVarsFileLibFsHandle = FsHandle;
- }
-
- return Status;
-}
-
-
-/**
- Update non-volatile variables stored on the file system.
-
- @return The EFI_STATUS while attempting to update the variable on
- the connected file system.
- @retval EFI_SUCCESS - The non-volatile variables were saved to the disk
- @retval EFI_NOT_STARTED - A file system has not been connected
-
-**/
-EFI_STATUS
-EFIAPI
-UpdateNvVarsOnFileSystem (
- )
-{
- if (mNvVarsFileLibFsHandle == NULL) {
- //
- // A file system had not been connected to the library.
- //
- return EFI_NOT_STARTED;
- } else {
- return SaveNvVarsToFs (mNvVarsFileLibFsHandle);
- }
-}
-
-
diff --git a/OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.h b/OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.h
deleted file mode 100644
index f24f3d32bd..0000000000
--- a/OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/** @file
- Save Non-Volatile Variables to a file system.
-
- Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-
-#ifndef __NV_VARS_FILE_LIB_INSTANCE__
-#define __NV_VARS_FILE_LIB_INSTANCE__
-
-#include <Uefi.h>
-
-#include <Guid/FileInfo.h>
-
-#include <Protocol/SimpleFileSystem.h>
-
-#include <Library/BaseLib.h>
-#include <Library/FileHandleLib.h>
-#include <Library/SerializeVariablesLib.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiRuntimeServicesTableLib.h>
-#include <Library/UefiLib.h>
-
-/**
- Loads the non-volatile variables from the NvVars file on the
- given file system.
-
- @param[in] FsHandle - Handle for a gEfiSimpleFileSystemProtocolGuid instance
-
- @return EFI_STATUS based on the success or failure of load operation
-
-**/
-EFI_STATUS
-LoadNvVarsFromFs (
- EFI_HANDLE FsHandle
- );
-
-
-/**
- Saves the non-volatile variables into the NvVars file on the
- given file system.
-
- @param[in] FsHandle - Handle for a gEfiSimpleFileSystemProtocolGuid instance
-
- @return EFI_STATUS based on the success or failure of load operation
-
-**/
-EFI_STATUS
-SaveNvVarsToFs (
- EFI_HANDLE FsHandle
- );
-
-#endif
-
diff --git a/OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.inf b/OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.inf
deleted file mode 100644
index 76fbae0870..0000000000
--- a/OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.inf
+++ /dev/null
@@ -1,60 +0,0 @@
-## @file
-# NvVarsFileLib
-#
-# This library saves and restores non-volatile variables in a
-# file within a file system.
-#
-# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
-#
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD License
-# which accompanies this distribution. The full text of the license may be found at
-# http://opensource.org/licenses/bsd-license.php
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-#
-##
-
-[Defines]
- INF_VERSION = 0x00010005
- BASE_NAME = NvVarsFileLib
- FILE_GUID = 9172fe8b-9a36-40f8-bba5-5e57a44390bd
- MODULE_TYPE = UEFI_DRIVER
- VERSION_STRING = 1.0
- LIBRARY_CLASS = NvVarsFileLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER UEFI_DRIVER
-
-#
-# The following information is for reference only and not required by the build tools.
-#
-# VALID_ARCHITECTURES = IA32 X64 IPF EBC
-#
-
-[Sources]
- FsAccess.c
- NvVarsFileLib.c
-
-[Packages]
- MdePkg/MdePkg.dec
- MdeModulePkg/MdeModulePkg.dec
- OvmfPkg/OvmfPkg.dec
- ShellPkg/ShellPkg.dec
-
-[LibraryClasses]
- BaseLib
- BaseMemoryLib
- DebugLib
- FileHandleLib
- MemoryAllocationLib
- SerializeVariablesLib
-
-[Protocols]
- gEfiSimpleFileSystemProtocolGuid ## CONSUMES
-
-
-[Guids]
- gEfiFileInfoGuid
-
-[Depex]
- gEfiVariableWriteArchProtocolGuid
-