TianoCore EDK2 master
Loading...
Searching...
No Matches
RamDiskImpl.h File Reference

Go to the source code of this file.

Data Structures

struct  RAM_DISK_PRIVATE_DATA
 
struct  HII_VENDOR_DEVICE_PATH
 
struct  RAM_DISK_CONFIG_PRIVATE_DATA
 

Macros

#define RAM_DISK_DEFAULT_BLOCK_SIZE   512
 
#define RAM_DISK_PRIVATE_DATA_SIGNATURE   SIGNATURE_32 ('R', 'D', 'S', 'K')
 
#define RAM_DISK_PRIVATE_FROM_BLKIO(a)   CR (a, RAM_DISK_PRIVATE_DATA, BlockIo, RAM_DISK_PRIVATE_DATA_SIGNATURE)
 
#define RAM_DISK_PRIVATE_FROM_BLKIO2(a)   CR (a, RAM_DISK_PRIVATE_DATA, BlockIo2, RAM_DISK_PRIVATE_DATA_SIGNATURE)
 
#define RAM_DISK_PRIVATE_FROM_THIS(a)   CR (a, RAM_DISK_PRIVATE_DATA, ThisInstance, RAM_DISK_PRIVATE_DATA_SIGNATURE)
 
#define RAM_DISK_CONFIG_PRIVATE_DATA_SIGNATURE   SIGNATURE_32 ('R', 'C', 'F', 'G')
 
#define RAM_DISK_CONFIG_PRIVATE_FROM_THIS(a)   CR (a, RAM_DISK_CONFIG_PRIVATE_DATA, ConfigAccess, RAM_DISK_CONFIG_PRIVATE_DATA_SIGNATURE)
 

Typedefs

typedef enum _RAM_DISK_CREATE_METHOD RAM_DISK_CREATE_METHOD
 

Enumerations

enum  _RAM_DISK_CREATE_METHOD { RamDiskCreateOthers = 0 , RamDiskCreateHii }
 

Functions

EFI_STATUS EFIAPI RamDiskRegister (IN UINT64 RamDiskBase, IN UINT64 RamDiskSize, IN EFI_GUID *RamDiskType, IN EFI_DEVICE_PATH *ParentDevicePath OPTIONAL, OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath)
 
EFI_STATUS EFIAPI RamDiskUnregister (IN EFI_DEVICE_PATH_PROTOCOL *DevicePath)
 
VOID RamDiskInitBlockIo (IN RAM_DISK_PRIVATE_DATA *PrivateData)
 
EFI_STATUS EFIAPI RamDiskBlkIoReset (IN EFI_BLOCK_IO_PROTOCOL *This, IN BOOLEAN ExtendedVerification)
 
EFI_STATUS EFIAPI RamDiskBlkIoReadBlocks (IN EFI_BLOCK_IO_PROTOCOL *This, IN UINT32 MediaId, IN EFI_LBA Lba, IN UINTN BufferSize, OUT VOID *Buffer)
 
EFI_STATUS EFIAPI RamDiskBlkIoWriteBlocks (IN EFI_BLOCK_IO_PROTOCOL *This, IN UINT32 MediaId, IN EFI_LBA Lba, IN UINTN BufferSize, IN VOID *Buffer)
 
EFI_STATUS EFIAPI RamDiskBlkIoFlushBlocks (IN EFI_BLOCK_IO_PROTOCOL *This)
 
EFI_STATUS EFIAPI RamDiskBlkIo2Reset (IN EFI_BLOCK_IO2_PROTOCOL *This, IN BOOLEAN ExtendedVerification)
 
EFI_STATUS EFIAPI RamDiskBlkIo2ReadBlocksEx (IN EFI_BLOCK_IO2_PROTOCOL *This, IN UINT32 MediaId, IN EFI_LBA Lba, IN OUT EFI_BLOCK_IO2_TOKEN *Token, IN UINTN BufferSize, OUT VOID *Buffer)
 
EFI_STATUS EFIAPI RamDiskBlkIo2WriteBlocksEx (IN EFI_BLOCK_IO2_PROTOCOL *This, IN UINT32 MediaId, IN EFI_LBA Lba, IN OUT EFI_BLOCK_IO2_TOKEN *Token, IN UINTN BufferSize, IN VOID *Buffer)
 
EFI_STATUS EFIAPI RamDiskBlkIo2FlushBlocksEx (IN EFI_BLOCK_IO2_PROTOCOL *This, IN OUT EFI_BLOCK_IO2_TOKEN *Token)
 
EFI_STATUS InstallRamDiskConfigForm (IN OUT RAM_DISK_CONFIG_PRIVATE_DATA *ConfigPrivateData)
 
VOID UninstallRamDiskConfigForm (IN OUT RAM_DISK_CONFIG_PRIVATE_DATA *ConfigPrivateData)
 
VOID UnregisterAllRamDisks (VOID)
 
EFI_STATUS EFIAPI RamDiskExtractConfig (IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Request, OUT EFI_STRING *Progress, OUT EFI_STRING *Results)
 
EFI_STATUS EFIAPI RamDiskRouteConfig (IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Configuration, OUT EFI_STRING *Progress)
 
EFI_STATUS EFIAPI RamDiskCallback (IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN EFI_BROWSER_ACTION Action, IN EFI_QUESTION_ID QuestionId, IN UINT8 Type, IN EFI_IFR_TYPE_VALUE *Value, OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest)
 
EFI_FILE_INFOFileInfo (IN EFI_FILE_HANDLE FHand)
 
EFI_STATUS RamDiskPublishNfit (IN RAM_DISK_PRIVATE_DATA *PrivateData)
 

Variables

LIST_ENTRY RegisteredRamDisks
 
EFI_ACPI_TABLE_PROTOCOLmAcpiTableProtocol
 
EFI_ACPI_SDT_PROTOCOLmAcpiSdtProtocol
 
UINT8 RamDiskHiiBin []
 
UINT8 RamDiskDxeStrings []
 
RAM_DISK_CONFIG_PRIVATE_DATA mRamDiskConfigPrivateDataTemplate
 

Detailed Description

The header file of RamDiskDxe driver.

Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.
Copyright (c) Microsoft Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file RamDiskImpl.h.

Macro Definition Documentation

◆ RAM_DISK_CONFIG_PRIVATE_DATA_SIGNATURE

#define RAM_DISK_CONFIG_PRIVATE_DATA_SIGNATURE   SIGNATURE_32 ('R', 'C', 'F', 'G')

Definition at line 129 of file RamDiskImpl.h.

◆ RAM_DISK_CONFIG_PRIVATE_FROM_THIS

#define RAM_DISK_CONFIG_PRIVATE_FROM_THIS (   a)    CR (a, RAM_DISK_CONFIG_PRIVATE_DATA, ConfigAccess, RAM_DISK_CONFIG_PRIVATE_DATA_SIGNATURE)

Definition at line 130 of file RamDiskImpl.h.

◆ RAM_DISK_DEFAULT_BLOCK_SIZE

#define RAM_DISK_DEFAULT_BLOCK_SIZE   512

RAM disk general definitions and declarations

Definition at line 49 of file RamDiskImpl.h.

◆ RAM_DISK_PRIVATE_DATA_SIGNATURE

#define RAM_DISK_PRIVATE_DATA_SIGNATURE   SIGNATURE_32 ('R', 'D', 'S', 'K')

Definition at line 97 of file RamDiskImpl.h.

◆ RAM_DISK_PRIVATE_FROM_BLKIO

#define RAM_DISK_PRIVATE_FROM_BLKIO (   a)    CR (a, RAM_DISK_PRIVATE_DATA, BlockIo, RAM_DISK_PRIVATE_DATA_SIGNATURE)

Definition at line 98 of file RamDiskImpl.h.

◆ RAM_DISK_PRIVATE_FROM_BLKIO2

#define RAM_DISK_PRIVATE_FROM_BLKIO2 (   a)    CR (a, RAM_DISK_PRIVATE_DATA, BlockIo2, RAM_DISK_PRIVATE_DATA_SIGNATURE)

Definition at line 99 of file RamDiskImpl.h.

◆ RAM_DISK_PRIVATE_FROM_THIS

#define RAM_DISK_PRIVATE_FROM_THIS (   a)    CR (a, RAM_DISK_PRIVATE_DATA, ThisInstance, RAM_DISK_PRIVATE_DATA_SIGNATURE)

Definition at line 100 of file RamDiskImpl.h.

Enumeration Type Documentation

◆ _RAM_DISK_CREATE_METHOD

enum _RAM_DISK_CREATE_METHOD

Definition at line 65 of file RamDiskImpl.h.

Function Documentation

◆ FileInfo()

EFI_FILE_INFO * FileInfo ( IN EFI_FILE_HANDLE  FHand)

This function gets the file information from an open file descriptor, and stores it in a buffer allocated from pool.

Parameters
[in]FHandFile Handle.
Returns
A pointer to a buffer with file information or NULL is returned.

Definition at line 79 of file RamDiskFileExplorer.c.

◆ InstallRamDiskConfigForm()

EFI_STATUS InstallRamDiskConfigForm ( IN OUT RAM_DISK_CONFIG_PRIVATE_DATA ConfigPrivateData)

This function publish the RAM disk configuration Form.

Parameters
[in,out]ConfigPrivateDataPoints to RAM disk configuration private data.
Return values
EFI_SUCCESSHII Form is installed successfully.
EFI_OUT_OF_RESOURCESNot enough resource for HII Form installation.
OthersOther errors as indicated.

Definition at line 62 of file RamDiskImpl.c.

◆ RamDiskBlkIo2FlushBlocksEx()

EFI_STATUS EFIAPI RamDiskBlkIo2FlushBlocksEx ( IN EFI_BLOCK_IO2_PROTOCOL This,
IN OUT EFI_BLOCK_IO2_TOKEN Token 
)

Flushes all modified data to a physical block device.

Parameters
[in]ThisIndicates a pointer to the calling context.
[in,out]TokenA pointer to the token associated with the transaction.
Return values
EFI_SUCCESSThe flush request was queued if Event is not NULL. All outstanding data was written correctly to the device if the Event is NULL.
EFI_DEVICE_ERRORThe device reported an error while attempting to write data.
EFI_WRITE_PROTECTEDThe device cannot be written to.
EFI_NO_MEDIAThere is no media in the device.
EFI_MEDIA_CHANGEDThe MediaId is not for the current media.
EFI_OUT_OF_RESOURCESThe request could not be completed due to a lack of resources.

Definition at line 458 of file RamDiskBlockIo.c.

◆ RamDiskBlkIo2ReadBlocksEx()

EFI_STATUS EFIAPI RamDiskBlkIo2ReadBlocksEx ( IN EFI_BLOCK_IO2_PROTOCOL This,
IN UINT32  MediaId,
IN EFI_LBA  Lba,
IN OUT EFI_BLOCK_IO2_TOKEN Token,
IN UINTN  BufferSize,
OUT VOID *  Buffer 
)

Reads the requested number of blocks from the device.

Parameters
[in]ThisIndicates a pointer to the calling context.
[in]MediaIdThe media ID that the read request is for.
[in]LbaThe starting logical block address to read from on the device.
[in,out]TokenA pointer to the token associated with the transaction.
[in]BufferSizeThe size of the Buffer in bytes. This must be a multiple of the intrinsic block size of the device.
[out]BufferA pointer to the destination buffer for the data. The caller is responsible for either having implicit or explicit ownership of the buffer.
Return values
EFI_SUCCESSThe read request was queued if Token->Event is not NULL. The data was read correctly from the device if the Token->Event is NULL.
EFI_DEVICE_ERRORThe device reported an error while attempting to perform the read operation.
EFI_NO_MEDIAThere is no media in the device.
EFI_MEDIA_CHANGEDThe MediaId is not for the current media.
EFI_BAD_BUFFER_SIZEThe BufferSize parameter is not a multiple of the intrinsic block size of the device.
EFI_INVALID_PARAMETERThe read request contains LBAs that are not valid, or the buffer is not on proper alignment.
EFI_OUT_OF_RESOURCESThe request could not be completed due to a lack of resources.

Definition at line 331 of file RamDiskBlockIo.c.

◆ RamDiskBlkIo2Reset()

EFI_STATUS EFIAPI RamDiskBlkIo2Reset ( IN EFI_BLOCK_IO2_PROTOCOL This,
IN BOOLEAN  ExtendedVerification 
)

Resets the block device hardware.

Parameters
[in]ThisThe pointer of EFI_BLOCK_IO2_PROTOCOL.
[in]ExtendedVerificationThe flag about if extend verificate.
Return values
EFI_SUCCESSThe device was reset.
EFI_DEVICE_ERRORThe block device is not functioning correctly and could not be reset.

Definition at line 288 of file RamDiskBlockIo.c.

◆ RamDiskBlkIo2WriteBlocksEx()

EFI_STATUS EFIAPI RamDiskBlkIo2WriteBlocksEx ( IN EFI_BLOCK_IO2_PROTOCOL This,
IN UINT32  MediaId,
IN EFI_LBA  Lba,
IN OUT EFI_BLOCK_IO2_TOKEN Token,
IN UINTN  BufferSize,
IN VOID *  Buffer 
)

Writes a specified number of blocks to the device.

Parameters
[in]ThisIndicates a pointer to the calling context.
[in]MediaIdThe media ID that the write request is for.
[in]LbaThe starting logical block address to be written. The caller is responsible for writing to only legitimate locations.
[in,out]TokenA pointer to the token associated with the transaction.
[in]BufferSizeThe size in bytes of Buffer. This must be a multiple of the intrinsic block size of the device.
[in]BufferA pointer to the source buffer for the data.
Return values
EFI_SUCCESSThe write request was queued if Event is not NULL. The data was written correctly to the device if the Event is NULL.
EFI_WRITE_PROTECTEDThe device cannot be written to.
EFI_NO_MEDIAThere is no media in the device.
EFI_MEDIA_CHANGEDThe MediaId is not for the current media.
EFI_DEVICE_ERRORThe device reported an error while attempting to perform the write operation.
EFI_BAD_BUFFER_SIZEThe BufferSize parameter is not a multiple of the intrinsic block size of the device.
EFI_INVALID_PARAMETERThe write request contains LBAs that are not valid, or the buffer is not on proper alignment.
EFI_OUT_OF_RESOURCESThe request could not be completed due to a lack of resources.

Definition at line 401 of file RamDiskBlockIo.c.

◆ RamDiskBlkIoFlushBlocks()

EFI_STATUS EFIAPI RamDiskBlkIoFlushBlocks ( IN EFI_BLOCK_IO_PROTOCOL This)

Flush the Block Device.

Parameters
[in]ThisIndicates a pointer to the calling context.
Return values
EFI_SUCCESSAll outstanding data was written to the device.
EFI_DEVICE_ERRORThe device reported an error while writting back the data
EFI_NO_MEDIAThere is no media in the device.

Definition at line 268 of file RamDiskBlockIo.c.

◆ RamDiskBlkIoReadBlocks()

EFI_STATUS EFIAPI RamDiskBlkIoReadBlocks ( IN EFI_BLOCK_IO_PROTOCOL This,
IN UINT32  MediaId,
IN EFI_LBA  Lba,
IN UINTN  BufferSize,
OUT VOID *  Buffer 
)

Read BufferSize bytes from Lba into Buffer.

Parameters
[in]ThisIndicates a pointer to the calling context.
[in]MediaIdId of the media, changes every time the media is replaced.
[in]LbaThe starting Logical Block Address to read from.
[in]BufferSizeSize of Buffer, must be a multiple of device block size.
[out]BufferA pointer to the destination buffer for the data. The caller is responsible for either having implicit or explicit ownership of the buffer.
Return values
EFI_SUCCESSThe data was read correctly from the device.
EFI_DEVICE_ERRORThe device reported an error while performing the read.
EFI_NO_MEDIAThere is no media in the device.
EFI_MEDIA_CHANGEDThe MediaId does not matched the current device.
EFI_BAD_BUFFER_SIZEThe Buffer was not a multiple of the block size of the device.
EFI_INVALID_PARAMETERThe read request contains LBAs that are not valid, or the buffer is not on proper alignment.

Definition at line 130 of file RamDiskBlockIo.c.

◆ RamDiskBlkIoReset()

EFI_STATUS EFIAPI RamDiskBlkIoReset ( IN EFI_BLOCK_IO_PROTOCOL This,
IN BOOLEAN  ExtendedVerification 
)

Reset the Block Device.

Parameters
[in]ThisIndicates a pointer to the calling context.
[in]ExtendedVerificationDriver may perform diagnostics on reset.
Return values
EFI_SUCCESSThe device was reset.
EFI_DEVICE_ERRORThe device is not functioning properly and could not be reset.

Reset the Block Device.

Parameters
ThisIndicates a pointer to the calling context.
ExtendedVerificationDriver may perform diagnostics on reset.
Return values
EFI_SUCCESSThe device was reset.
EFI_DEVICE_ERRORThe device is not functioning properly and could not be reset.

Definition at line 95 of file RamDiskBlockIo.c.

◆ RamDiskBlkIoWriteBlocks()

EFI_STATUS EFIAPI RamDiskBlkIoWriteBlocks ( IN EFI_BLOCK_IO_PROTOCOL This,
IN UINT32  MediaId,
IN EFI_LBA  Lba,
IN UINTN  BufferSize,
IN VOID *  Buffer 
)

Write BufferSize bytes from Lba into Buffer.

Parameters
[in]ThisIndicates a pointer to the calling context.
[in]MediaIdThe media ID that the write request is for.
[in]LbaThe starting logical block address to be written. The caller is responsible for writing to only legitimate locations.
[in]BufferSizeSize of Buffer, must be a multiple of device block size.
[in]BufferA pointer to the source buffer for the data.
Return values
EFI_SUCCESSThe data was written correctly to the device.
EFI_WRITE_PROTECTEDThe device can not be written to.
EFI_DEVICE_ERRORThe device reported an error while performing the write.
EFI_NO_MEDIAThere is no media in the device.
EFI_MEDIA_CHNAGEDThe MediaId does not matched the current device.
EFI_BAD_BUFFER_SIZEThe Buffer was not a multiple of the block size of the device.
EFI_INVALID_PARAMETERThe write request contains LBAs that are not valid, or the buffer is not on proper alignment.

Definition at line 204 of file RamDiskBlockIo.c.

◆ RamDiskCallback()

EFI_STATUS EFIAPI RamDiskCallback ( IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL This,
IN EFI_BROWSER_ACTION  Action,
IN EFI_QUESTION_ID  QuestionId,
IN UINT8  Type,
IN EFI_IFR_TYPE_VALUE Value,
OUT EFI_BROWSER_ACTION_REQUEST *  ActionRequest 
)

This function processes the results of changes in configuration.

Parameters
[in]ThisPoints to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
[in]ActionSpecifies the type of action taken by the browser.
[in]QuestionIdA unique value which is sent to the original exporting driver so that it can identify the type of data to expect.
[in]TypeThe type of value for the question.
[in]ValueA pointer to the data being sent to the original exporting driver.
[out]ActionRequestOn return, points to the action requested by the callback function.
Return values
EFI_SUCCESSThe callback successfully handled the action.
EFI_OUT_OF_RESOURCESNot enough storage is available to hold the variable and its data.
EFI_DEVICE_ERRORThe variable could not be saved.
EFI_UNSUPPORTEDThe specified Action is not supported by the callback.

Definition at line 583 of file RamDiskImpl.c.

◆ RamDiskExtractConfig()

EFI_STATUS EFIAPI RamDiskExtractConfig ( IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL This,
IN CONST EFI_STRING  Request,
OUT EFI_STRING *  Progress,
OUT EFI_STRING *  Results 
)

This function allows a caller to extract the current configuration for one or more named elements from the target driver.

Parameters
[in]ThisPoints to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
[in]RequestA null-terminated Unicode string in <ConfigRequest> format.
[out]ProgressOn return, points to a character in the Request string. Points to the string's null terminator if request was successful. Points to the most recent '&' before the first failing name/value pair (or the beginning of the string if the failure is in the first name/value pair) if the request was not successful.
[out]ResultsA null-terminated Unicode string in <ConfigAltResp> format which has all values filled in for the names in the Request string. String to be allocated by the called function.
Return values
EFI_SUCCESSThe Results is filled with the requested values.
EFI_OUT_OF_RESOURCESNot enough memory to store the results.
EFI_INVALID_PARAMETERRequest is illegal syntax, or unknown name.
EFI_NOT_FOUNDRouting data doesn't match any storage in this driver.

Definition at line 226 of file RamDiskImpl.c.

◆ RamDiskInitBlockIo()

VOID RamDiskInitBlockIo ( IN RAM_DISK_PRIVATE_DATA PrivateData)

Initialize the BlockIO protocol of a RAM disk device.

Parameters
[in]PrivateDataPoints to RAM disk private data.

Initialize the BlockIO & BlockIO2 protocol of a RAM disk device.

Parameters
[in]PrivateDataPoints to RAM disk private data.

Definition at line 43 of file RamDiskBlockIo.c.

◆ RamDiskPublishNfit()

EFI_STATUS RamDiskPublishNfit ( IN RAM_DISK_PRIVATE_DATA PrivateData)

Publish the RAM disk NVDIMM Firmware Interface Table (NFIT) to the ACPI table.

Parameters
[in]PrivateDataPoints to RAM disk private data.
Return values
EFI_SUCCESSThe RAM disk NFIT has been published.
othersThe RAM disk NFIT has not been published.

Definition at line 128 of file RamDiskProtocol.c.

◆ RamDiskRegister()

EFI_STATUS EFIAPI RamDiskRegister ( IN UINT64  RamDiskBase,
IN UINT64  RamDiskSize,
IN EFI_GUID RamDiskType,
IN EFI_DEVICE_PATH *ParentDevicePath  OPTIONAL,
OUT EFI_DEVICE_PATH_PROTOCOL **  DevicePath 
)

Register a RAM disk with specified address, size and type.

Parameters
[in]RamDiskBaseThe base address of registered RAM disk.
[in]RamDiskSizeThe size of registered RAM disk.
[in]RamDiskTypeThe type of registered RAM disk. The GUID can be any of the values defined in section 9.3.6.9, or a vendor defined GUID.
[in]ParentDevicePathPointer to the parent device path. If there is no parent device path then ParentDevicePath is NULL.
[out]DevicePathOn return, points to a pointer to the device path of the RAM disk device. If ParentDevicePath is not NULL, the returned DevicePath is created by appending a RAM disk node to the parent device path. If ParentDevicePath is NULL, the returned DevicePath is a RAM disk device path without appending. This function is responsible for allocating the buffer DevicePath with the boot service AllocatePool().
Return values
EFI_SUCCESSThe RAM disk is registered successfully.
EFI_INVALID_PARAMETERDevicePath or RamDiskType is NULL. RamDiskSize is 0.
EFI_ALREADY_STARTEDA Device Path Protocol instance to be created is already present in the handle database.
EFI_OUT_OF_RESOURCESThe RAM disk register operation fails due to resource limitation.

Definition at line 593 of file RamDiskProtocol.c.

◆ RamDiskRouteConfig()

EFI_STATUS EFIAPI RamDiskRouteConfig ( IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL This,
IN CONST EFI_STRING  Configuration,
OUT EFI_STRING *  Progress 
)

This function processes the results of changes in configuration.

Parameters
[in]ThisPoints to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
[in]ConfigurationA null-terminated Unicode string in <ConfigResp> format.
[out]ProgressA pointer to a string filled in with the offset of the most recent '&' before the first failing name/value pair (or the beginning of the string if the failure is in the first name/value pair) or the terminating NULL if all was successful.
Return values
EFI_SUCCESSThe Results is processed successfully.
EFI_INVALID_PARAMETERConfiguration is NULL.
EFI_NOT_FOUNDRouting data doesn't match any storage in this driver.

Definition at line 261 of file RamDiskImpl.c.

◆ RamDiskUnregister()

EFI_STATUS EFIAPI RamDiskUnregister ( IN EFI_DEVICE_PATH_PROTOCOL DevicePath)

Unregister a RAM disk specified by DevicePath.

Parameters
[in]DevicePathA pointer to the device path that describes a RAM Disk device.
Return values
EFI_SUCCESSThe RAM disk is unregistered successfully.
EFI_INVALID_PARAMETERDevicePath is NULL.
EFI_UNSUPPORTEDThe device specified by DevicePath is not a valid ramdisk device path and not supported by the driver.
EFI_NOT_FOUNDThe RAM disk pointed by DevicePath doesn't exist.

Definition at line 762 of file RamDiskProtocol.c.

◆ UninstallRamDiskConfigForm()

VOID UninstallRamDiskConfigForm ( IN OUT RAM_DISK_CONFIG_PRIVATE_DATA ConfigPrivateData)

This function removes RAM disk configuration Form.

Parameters
[in,out]ConfigPrivateDataPoints to RAM disk configuration private data.

Definition at line 122 of file RamDiskImpl.c.

◆ UnregisterAllRamDisks()

VOID UnregisterAllRamDisks ( VOID  )

Unregister all registered RAM disks.

Definition at line 157 of file RamDiskImpl.c.

Variable Documentation

◆ mAcpiSdtProtocol

EFI_ACPI_SDT_PROTOCOL* mAcpiSdtProtocol
extern

Definition at line 35 of file RamDiskDriver.c.

◆ mAcpiTableProtocol

EFI_ACPI_TABLE_PROTOCOL* mAcpiTableProtocol
extern

Definition at line 34 of file RamDiskDriver.c.

◆ mRamDiskConfigPrivateDataTemplate

RAM_DISK_CONFIG_PRIVATE_DATA mRamDiskConfigPrivateDataTemplate
extern

Definition at line 15 of file RamDiskImpl.c.

◆ RamDiskHiiBin

UINT8 RamDiskHiiBin[]
extern

RAM disk HII-related definitions and declarations

◆ RegisteredRamDisks

LIST_ENTRY RegisteredRamDisks
extern

Definition at line 29 of file RamDiskDriver.c.