MdeModulePkg: Apply uncrustify changes
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the MdeModulePkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
This commit is contained in:
committed by
mergify[bot]
parent
7c7184e201
commit
1436aea4d5
@@ -20,9 +20,9 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME_PROTOCOL gDiskIoComponentName
|
||||
//
|
||||
// EFI Component Name 2 Protocol
|
||||
//
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gDiskIoComponentName2 = {
|
||||
(EFI_COMPONENT_NAME2_GET_DRIVER_NAME) DiskIoComponentNameGetDriverName,
|
||||
(EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME) DiskIoComponentNameGetControllerName,
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gDiskIoComponentName2 = {
|
||||
(EFI_COMPONENT_NAME2_GET_DRIVER_NAME)DiskIoComponentNameGetDriverName,
|
||||
(EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME)DiskIoComponentNameGetControllerName,
|
||||
"en"
|
||||
};
|
||||
|
||||
@@ -30,7 +30,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gDiskIoComponentName2
|
||||
// Driver name table for DiskIo module.
|
||||
// It is shared by the implementation of ComponentName & ComponentName2 Protocol.
|
||||
//
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mDiskIoDriverNameTable[] = {
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mDiskIoDriverNameTable[] = {
|
||||
{
|
||||
"eng;en",
|
||||
(CHAR16 *)L"Generic Disk I/O Driver"
|
||||
@@ -41,8 +41,6 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mDiskIoDriverNameTable[]
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves a Unicode string that is the user readable name of the driver.
|
||||
|
||||
@@ -99,8 +97,6 @@ DiskIoComponentNameGetDriverName (
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Retrieves a Unicode string that is the user readable name of the controller
|
||||
that is being managed by a driver.
|
||||
@@ -172,11 +168,11 @@ DiskIoComponentNameGetDriverName (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
DiskIoComponentNameGetControllerName (
|
||||
IN EFI_COMPONENT_NAME_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN EFI_HANDLE ChildHandle OPTIONAL,
|
||||
IN CHAR8 *Language,
|
||||
OUT CHAR16 **ControllerName
|
||||
IN EFI_COMPONENT_NAME_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN EFI_HANDLE ChildHandle OPTIONAL,
|
||||
IN CHAR8 *Language,
|
||||
OUT CHAR16 **ControllerName
|
||||
)
|
||||
{
|
||||
return EFI_UNSUPPORTED;
|
||||
|
@@ -19,7 +19,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
//
|
||||
// Driver binding protocol implementation for DiskIo driver.
|
||||
//
|
||||
EFI_DRIVER_BINDING_PROTOCOL gDiskIoDriverBinding = {
|
||||
EFI_DRIVER_BINDING_PROTOCOL gDiskIoDriverBinding = {
|
||||
DiskIoDriverBindingSupported,
|
||||
DiskIoDriverBindingStart,
|
||||
DiskIoDriverBindingStop,
|
||||
@@ -32,7 +32,7 @@ EFI_DRIVER_BINDING_PROTOCOL gDiskIoDriverBinding = {
|
||||
// Template for DiskIo private data structure.
|
||||
// The pointer to BlockIo protocol interface is assigned dynamically.
|
||||
//
|
||||
DISK_IO_PRIVATE_DATA gDiskIoPrivateDataTemplate = {
|
||||
DISK_IO_PRIVATE_DATA gDiskIoPrivateDataTemplate = {
|
||||
DISK_IO_PRIVATE_DATA_SIGNATURE,
|
||||
{
|
||||
EFI_DISK_IO_PROTOCOL_REVISION,
|
||||
@@ -69,8 +69,8 @@ DiskIoDriverBindingSupported (
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_BLOCK_IO_PROTOCOL *BlockIo;
|
||||
EFI_STATUS Status;
|
||||
EFI_BLOCK_IO_PROTOCOL *BlockIo;
|
||||
|
||||
//
|
||||
// Open the IO Abstraction(s) needed to perform the supported test.
|
||||
@@ -78,7 +78,7 @@ DiskIoDriverBindingSupported (
|
||||
Status = gBS->OpenProtocol (
|
||||
ControllerHandle,
|
||||
&gEfiBlockIoProtocolGuid,
|
||||
(VOID **) &BlockIo,
|
||||
(VOID **)&BlockIo,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle,
|
||||
EFI_OPEN_PROTOCOL_BY_DRIVER
|
||||
@@ -99,7 +99,6 @@ DiskIoDriverBindingSupported (
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Start this driver on ControllerHandle by opening a Block IO protocol and
|
||||
installing a Disk IO protocol on ControllerHandle.
|
||||
@@ -136,7 +135,7 @@ DiskIoDriverBindingStart (
|
||||
Status = gBS->OpenProtocol (
|
||||
ControllerHandle,
|
||||
&gEfiBlockIoProtocolGuid,
|
||||
(VOID **) &gDiskIoPrivateDataTemplate.BlockIo,
|
||||
(VOID **)&gDiskIoPrivateDataTemplate.BlockIo,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle,
|
||||
EFI_OPEN_PROTOCOL_BY_DRIVER
|
||||
@@ -148,7 +147,7 @@ DiskIoDriverBindingStart (
|
||||
Status = gBS->OpenProtocol (
|
||||
ControllerHandle,
|
||||
&gEfiBlockIo2ProtocolGuid,
|
||||
(VOID **) &gDiskIoPrivateDataTemplate.BlockIo2,
|
||||
(VOID **)&gDiskIoPrivateDataTemplate.BlockIo2,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle,
|
||||
EFI_OPEN_PROTOCOL_BY_DRIVER
|
||||
@@ -169,10 +168,12 @@ DiskIoDriverBindingStart (
|
||||
//
|
||||
// The BlockSize and IoAlign of BlockIo and BlockIo2 should equal.
|
||||
//
|
||||
ASSERT ((Instance->BlockIo2 == NULL) ||
|
||||
((Instance->BlockIo->Media->IoAlign == Instance->BlockIo2->Media->IoAlign) &&
|
||||
(Instance->BlockIo->Media->BlockSize == Instance->BlockIo2->Media->BlockSize)
|
||||
));
|
||||
ASSERT (
|
||||
(Instance->BlockIo2 == NULL) ||
|
||||
((Instance->BlockIo->Media->IoAlign == Instance->BlockIo2->Media->IoAlign) &&
|
||||
(Instance->BlockIo->Media->BlockSize == Instance->BlockIo2->Media->BlockSize)
|
||||
)
|
||||
);
|
||||
|
||||
InitializeListHead (&Instance->TaskQueue);
|
||||
EfiInitializeLock (&Instance->TaskQueueLock, TPL_NOTIFY);
|
||||
@@ -191,21 +192,24 @@ DiskIoDriverBindingStart (
|
||||
if (Instance->BlockIo2 != NULL) {
|
||||
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||
&ControllerHandle,
|
||||
&gEfiDiskIoProtocolGuid, &Instance->DiskIo,
|
||||
&gEfiDiskIo2ProtocolGuid, &Instance->DiskIo2,
|
||||
&gEfiDiskIoProtocolGuid,
|
||||
&Instance->DiskIo,
|
||||
&gEfiDiskIo2ProtocolGuid,
|
||||
&Instance->DiskIo2,
|
||||
NULL
|
||||
);
|
||||
} else {
|
||||
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||
&ControllerHandle,
|
||||
&gEfiDiskIoProtocolGuid, &Instance->DiskIo,
|
||||
&gEfiDiskIoProtocolGuid,
|
||||
&Instance->DiskIo,
|
||||
NULL
|
||||
);
|
||||
}
|
||||
|
||||
ErrorExit:
|
||||
if (EFI_ERROR (Status)) {
|
||||
if (Instance != NULL && Instance->SharedWorkingBuffer != NULL) {
|
||||
if ((Instance != NULL) && (Instance->SharedWorkingBuffer != NULL)) {
|
||||
FreeAlignedPages (
|
||||
Instance->SharedWorkingBuffer,
|
||||
EFI_SIZE_TO_PAGES (PcdGet32 (PcdDiskIoDataBufferBlockNum) * Instance->BlockIo->Media->BlockSize)
|
||||
@@ -246,17 +250,17 @@ ErrorExit1:
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
DiskIoDriverBindingStop (
|
||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN UINTN NumberOfChildren,
|
||||
IN EFI_HANDLE *ChildHandleBuffer
|
||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN UINTN NumberOfChildren,
|
||||
IN EFI_HANDLE *ChildHandleBuffer
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_DISK_IO_PROTOCOL *DiskIo;
|
||||
EFI_DISK_IO2_PROTOCOL *DiskIo2;
|
||||
DISK_IO_PRIVATE_DATA *Instance;
|
||||
BOOLEAN AllTaskDone;
|
||||
EFI_STATUS Status;
|
||||
EFI_DISK_IO_PROTOCOL *DiskIo;
|
||||
EFI_DISK_IO2_PROTOCOL *DiskIo2;
|
||||
DISK_IO_PRIVATE_DATA *Instance;
|
||||
BOOLEAN AllTaskDone;
|
||||
|
||||
//
|
||||
// Get our context back.
|
||||
@@ -264,7 +268,7 @@ DiskIoDriverBindingStop (
|
||||
Status = gBS->OpenProtocol (
|
||||
ControllerHandle,
|
||||
&gEfiDiskIoProtocolGuid,
|
||||
(VOID **) &DiskIo,
|
||||
(VOID **)&DiskIo,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle,
|
||||
EFI_OPEN_PROTOCOL_GET_PROTOCOL
|
||||
@@ -272,10 +276,11 @@ DiskIoDriverBindingStop (
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
|
||||
Status = gBS->OpenProtocol (
|
||||
ControllerHandle,
|
||||
&gEfiDiskIo2ProtocolGuid,
|
||||
(VOID **) &DiskIo2,
|
||||
(VOID **)&DiskIo2,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle,
|
||||
EFI_OPEN_PROTOCOL_GET_PROTOCOL
|
||||
@@ -295,21 +300,25 @@ DiskIoDriverBindingStop (
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
|
||||
Status = gBS->UninstallMultipleProtocolInterfaces (
|
||||
ControllerHandle,
|
||||
&gEfiDiskIoProtocolGuid, &Instance->DiskIo,
|
||||
&gEfiDiskIo2ProtocolGuid, &Instance->DiskIo2,
|
||||
&gEfiDiskIoProtocolGuid,
|
||||
&Instance->DiskIo,
|
||||
&gEfiDiskIo2ProtocolGuid,
|
||||
&Instance->DiskIo2,
|
||||
NULL
|
||||
);
|
||||
} else {
|
||||
Status = gBS->UninstallMultipleProtocolInterfaces (
|
||||
ControllerHandle,
|
||||
&gEfiDiskIoProtocolGuid, &Instance->DiskIo,
|
||||
&gEfiDiskIoProtocolGuid,
|
||||
&Instance->DiskIo,
|
||||
NULL
|
||||
);
|
||||
}
|
||||
if (!EFI_ERROR (Status)) {
|
||||
|
||||
if (!EFI_ERROR (Status)) {
|
||||
do {
|
||||
EfiAcquireLock (&Instance->TaskQueueLock);
|
||||
AllTaskDone = IsListEmpty (&Instance->TaskQueue);
|
||||
@@ -344,7 +353,6 @@ DiskIoDriverBindingStop (
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Destroy the sub task.
|
||||
|
||||
@@ -355,15 +363,16 @@ DiskIoDriverBindingStop (
|
||||
**/
|
||||
LIST_ENTRY *
|
||||
DiskIoDestroySubtask (
|
||||
IN DISK_IO_PRIVATE_DATA *Instance,
|
||||
IN DISK_IO_SUBTASK *Subtask
|
||||
IN DISK_IO_PRIVATE_DATA *Instance,
|
||||
IN DISK_IO_SUBTASK *Subtask
|
||||
)
|
||||
{
|
||||
LIST_ENTRY *Link;
|
||||
LIST_ENTRY *Link;
|
||||
|
||||
if (Subtask->Task != NULL) {
|
||||
EfiAcquireLock (&Subtask->Task->SubtasksLock);
|
||||
}
|
||||
|
||||
Link = RemoveEntryList (&Subtask->Link);
|
||||
if (Subtask->Task != NULL) {
|
||||
EfiReleaseLock (&Subtask->Task->SubtasksLock);
|
||||
@@ -378,10 +387,12 @@ DiskIoDestroySubtask (
|
||||
: EFI_SIZE_TO_PAGES (Subtask->Length)
|
||||
);
|
||||
}
|
||||
|
||||
if (Subtask->BlockIo2Token.Event != NULL) {
|
||||
gBS->CloseEvent (Subtask->BlockIo2Token.Event);
|
||||
}
|
||||
}
|
||||
|
||||
FreePool (Subtask);
|
||||
|
||||
return Link;
|
||||
@@ -396,8 +407,8 @@ DiskIoDestroySubtask (
|
||||
VOID
|
||||
EFIAPI
|
||||
DiskIo2OnReadWriteComplete (
|
||||
IN EFI_EVENT Event,
|
||||
IN VOID *Context
|
||||
IN EFI_EVENT Event,
|
||||
IN VOID *Context
|
||||
)
|
||||
{
|
||||
DISK_IO_SUBTASK *Subtask;
|
||||
@@ -405,7 +416,7 @@ DiskIo2OnReadWriteComplete (
|
||||
EFI_STATUS TransactionStatus;
|
||||
DISK_IO_PRIVATE_DATA *Instance;
|
||||
|
||||
Subtask = (DISK_IO_SUBTASK *) Context;
|
||||
Subtask = (DISK_IO_SUBTASK *)Context;
|
||||
TransactionStatus = Subtask->BlockIo2Token.TransactionStatus;
|
||||
Task = Subtask->Task;
|
||||
Instance = Task->Instance;
|
||||
@@ -416,7 +427,8 @@ DiskIo2OnReadWriteComplete (
|
||||
|
||||
if ((Subtask->WorkingBuffer != NULL) && !EFI_ERROR (TransactionStatus) &&
|
||||
(Task->Token != NULL) && !Subtask->Write
|
||||
) {
|
||||
)
|
||||
{
|
||||
CopyMem (Subtask->Buffer, Subtask->WorkingBuffer + Subtask->Offset, Subtask->Length);
|
||||
}
|
||||
|
||||
@@ -454,22 +466,23 @@ DiskIo2OnReadWriteComplete (
|
||||
**/
|
||||
DISK_IO_SUBTASK *
|
||||
DiskIoCreateSubtask (
|
||||
IN BOOLEAN Write,
|
||||
IN UINT64 Lba,
|
||||
IN UINT32 Offset,
|
||||
IN UINTN Length,
|
||||
IN VOID *WorkingBuffer OPTIONAL,
|
||||
IN VOID *Buffer,
|
||||
IN BOOLEAN Blocking
|
||||
IN BOOLEAN Write,
|
||||
IN UINT64 Lba,
|
||||
IN UINT32 Offset,
|
||||
IN UINTN Length,
|
||||
IN VOID *WorkingBuffer OPTIONAL,
|
||||
IN VOID *Buffer,
|
||||
IN BOOLEAN Blocking
|
||||
)
|
||||
{
|
||||
DISK_IO_SUBTASK *Subtask;
|
||||
EFI_STATUS Status;
|
||||
DISK_IO_SUBTASK *Subtask;
|
||||
EFI_STATUS Status;
|
||||
|
||||
Subtask = AllocateZeroPool (sizeof (DISK_IO_SUBTASK));
|
||||
if (Subtask == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Subtask->Signature = DISK_IO_SUBTASK_SIGNATURE;
|
||||
Subtask->Write = Write;
|
||||
Subtask->Lba = Lba;
|
||||
@@ -491,10 +504,16 @@ DiskIoCreateSubtask (
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
DEBUG ((
|
||||
DEBUG_BLKIO,
|
||||
" %c:Lba/Offset/Length/WorkingBuffer/Buffer = %016lx/%08x/%08x/%08x/%08x\n",
|
||||
Write ? 'W': 'R', Lba, Offset, Length, WorkingBuffer, Buffer
|
||||
Write ? 'W' : 'R',
|
||||
Lba,
|
||||
Offset,
|
||||
Length,
|
||||
WorkingBuffer,
|
||||
Buffer
|
||||
));
|
||||
|
||||
return Subtask;
|
||||
@@ -527,18 +546,18 @@ DiskIoCreateSubtaskList (
|
||||
IN OUT LIST_ENTRY *Subtasks
|
||||
)
|
||||
{
|
||||
UINT32 BlockSize;
|
||||
UINT32 IoAlign;
|
||||
UINT64 Lba;
|
||||
UINT64 OverRunLba;
|
||||
UINT32 UnderRun;
|
||||
UINT32 OverRun;
|
||||
UINT8 *BufferPtr;
|
||||
UINTN Length;
|
||||
UINTN DataBufferSize;
|
||||
DISK_IO_SUBTASK *Subtask;
|
||||
VOID *WorkingBuffer;
|
||||
LIST_ENTRY *Link;
|
||||
UINT32 BlockSize;
|
||||
UINT32 IoAlign;
|
||||
UINT64 Lba;
|
||||
UINT64 OverRunLba;
|
||||
UINT32 UnderRun;
|
||||
UINT32 OverRun;
|
||||
UINT8 *BufferPtr;
|
||||
UINTN Length;
|
||||
UINTN DataBufferSize;
|
||||
DISK_IO_SUBTASK *Subtask;
|
||||
VOID *WorkingBuffer;
|
||||
LIST_ENTRY *Link;
|
||||
|
||||
DEBUG ((DEBUG_BLKIO, "DiskIo: Create subtasks for task: Offset/BufferSize/Buffer = %016lx/%08x/%08x\n", Offset, BufferSize, Buffer));
|
||||
|
||||
@@ -549,7 +568,7 @@ DiskIoCreateSubtaskList (
|
||||
}
|
||||
|
||||
Lba = DivU64x32Remainder (Offset, BlockSize, &UnderRun);
|
||||
BufferPtr = (UINT8 *) Buffer;
|
||||
BufferPtr = (UINT8 *)Buffer;
|
||||
|
||||
//
|
||||
// Special handling for zero BufferSize
|
||||
@@ -559,6 +578,7 @@ DiskIoCreateSubtaskList (
|
||||
if (Subtask == NULL) {
|
||||
goto Done;
|
||||
}
|
||||
|
||||
InsertTailList (Subtasks, &Subtask->Link);
|
||||
return TRUE;
|
||||
}
|
||||
@@ -573,6 +593,7 @@ DiskIoCreateSubtaskList (
|
||||
goto Done;
|
||||
}
|
||||
}
|
||||
|
||||
if (Write) {
|
||||
//
|
||||
// A half write operation can be splitted to a blocking block-read and half write operation
|
||||
@@ -582,6 +603,7 @@ DiskIoCreateSubtaskList (
|
||||
if (Subtask == NULL) {
|
||||
goto Done;
|
||||
}
|
||||
|
||||
InsertTailList (Subtasks, &Subtask->Link);
|
||||
}
|
||||
|
||||
@@ -589,12 +611,13 @@ DiskIoCreateSubtaskList (
|
||||
if (Subtask == NULL) {
|
||||
goto Done;
|
||||
}
|
||||
|
||||
InsertTailList (Subtasks, &Subtask->Link);
|
||||
|
||||
BufferPtr += Length;
|
||||
Offset += Length;
|
||||
BufferSize -= Length;
|
||||
Lba ++;
|
||||
Lba++;
|
||||
}
|
||||
|
||||
OverRunLba = Lba + DivU64x32Remainder (BufferSize, BlockSize, &OverRun);
|
||||
@@ -609,6 +632,7 @@ DiskIoCreateSubtaskList (
|
||||
goto Done;
|
||||
}
|
||||
}
|
||||
|
||||
if (Write) {
|
||||
//
|
||||
// A half write operation can be splitted to a blocking block-read and half write operation
|
||||
@@ -618,6 +642,7 @@ DiskIoCreateSubtaskList (
|
||||
if (Subtask == NULL) {
|
||||
goto Done;
|
||||
}
|
||||
|
||||
InsertTailList (Subtasks, &Subtask->Link);
|
||||
}
|
||||
|
||||
@@ -625,6 +650,7 @@ DiskIoCreateSubtaskList (
|
||||
if (Subtask == NULL) {
|
||||
goto Done;
|
||||
}
|
||||
|
||||
InsertTailList (Subtasks, &Subtask->Link);
|
||||
}
|
||||
|
||||
@@ -637,25 +663,26 @@ DiskIoCreateSubtaskList (
|
||||
if (Subtask == NULL) {
|
||||
goto Done;
|
||||
}
|
||||
|
||||
InsertTailList (Subtasks, &Subtask->Link);
|
||||
|
||||
BufferPtr += BufferSize;
|
||||
Offset += BufferSize;
|
||||
BufferSize -= BufferSize;
|
||||
|
||||
} else {
|
||||
if (Blocking) {
|
||||
//
|
||||
// Use the allocated buffer instead of the original buffer
|
||||
// to avoid alignment issue.
|
||||
//
|
||||
for (; Lba < OverRunLba; Lba += PcdGet32 (PcdDiskIoDataBufferBlockNum)) {
|
||||
for ( ; Lba < OverRunLba; Lba += PcdGet32 (PcdDiskIoDataBufferBlockNum)) {
|
||||
DataBufferSize = MIN (BufferSize, PcdGet32 (PcdDiskIoDataBufferBlockNum) * BlockSize);
|
||||
|
||||
Subtask = DiskIoCreateSubtask (Write, Lba, 0, DataBufferSize, SharedWorkingBuffer, BufferPtr, Blocking);
|
||||
if (Subtask == NULL) {
|
||||
goto Done;
|
||||
}
|
||||
|
||||
InsertTailList (Subtasks, &Subtask->Link);
|
||||
|
||||
BufferPtr += DataBufferSize;
|
||||
@@ -677,6 +704,7 @@ DiskIoCreateSubtaskList (
|
||||
if (Subtask == NULL) {
|
||||
goto Done;
|
||||
}
|
||||
|
||||
InsertTailList (Subtasks, &Subtask->Link);
|
||||
}
|
||||
|
||||
@@ -697,8 +725,9 @@ Done:
|
||||
//
|
||||
for (Link = GetFirstNode (Subtasks); !IsNull (Subtasks, Link); ) {
|
||||
Subtask = CR (Link, DISK_IO_SUBTASK, Link, DISK_IO_SUBTASK_SIGNATURE);
|
||||
Link = DiskIoDestroySubtask (Instance, Subtask);
|
||||
Link = DiskIoDestroySubtask (Instance, Subtask);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -714,7 +743,7 @@ Done:
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
DiskIo2Cancel (
|
||||
IN EFI_DISK_IO2_PROTOCOL *This
|
||||
IN EFI_DISK_IO2_PROTOCOL *This
|
||||
)
|
||||
{
|
||||
DISK_IO_PRIVATE_DATA *Instance;
|
||||
@@ -726,9 +755,10 @@ DiskIo2Cancel (
|
||||
EfiAcquireLock (&Instance->TaskQueueLock);
|
||||
|
||||
for (Link = GetFirstNode (&Instance->TaskQueue)
|
||||
; !IsNull (&Instance->TaskQueue, Link)
|
||||
; Link = GetNextNode (&Instance->TaskQueue, Link)
|
||||
) {
|
||||
; !IsNull (&Instance->TaskQueue, Link)
|
||||
; Link = GetNextNode (&Instance->TaskQueue, Link)
|
||||
)
|
||||
{
|
||||
Task = CR (Link, DISK_IO2_TASK, Link, DISK_IO2_TASK_SIGNATURE);
|
||||
|
||||
if (Task->Token != NULL) {
|
||||
@@ -756,12 +786,12 @@ DiskIo2Cancel (
|
||||
**/
|
||||
BOOLEAN
|
||||
DiskIo2RemoveCompletedTask (
|
||||
IN DISK_IO_PRIVATE_DATA *Instance
|
||||
IN DISK_IO_PRIVATE_DATA *Instance
|
||||
)
|
||||
{
|
||||
BOOLEAN QueueEmpty;
|
||||
LIST_ENTRY *Link;
|
||||
DISK_IO2_TASK *Task;
|
||||
BOOLEAN QueueEmpty;
|
||||
LIST_ENTRY *Link;
|
||||
DISK_IO2_TASK *Task;
|
||||
|
||||
QueueEmpty = TRUE;
|
||||
|
||||
@@ -773,10 +803,11 @@ DiskIo2RemoveCompletedTask (
|
||||
ASSERT (Task->Token == NULL);
|
||||
FreePool (Task);
|
||||
} else {
|
||||
Link = GetNextNode (&Instance->TaskQueue, Link);
|
||||
Link = GetNextNode (&Instance->TaskQueue, Link);
|
||||
QueueEmpty = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
EfiReleaseLock (&Instance->TaskQueueLock);
|
||||
|
||||
return QueueEmpty;
|
||||
@@ -797,41 +828,42 @@ DiskIo2RemoveCompletedTask (
|
||||
**/
|
||||
EFI_STATUS
|
||||
DiskIo2ReadWriteDisk (
|
||||
IN DISK_IO_PRIVATE_DATA *Instance,
|
||||
IN BOOLEAN Write,
|
||||
IN UINT32 MediaId,
|
||||
IN UINT64 Offset,
|
||||
IN EFI_DISK_IO2_TOKEN *Token,
|
||||
IN UINTN BufferSize,
|
||||
IN UINT8 *Buffer
|
||||
IN DISK_IO_PRIVATE_DATA *Instance,
|
||||
IN BOOLEAN Write,
|
||||
IN UINT32 MediaId,
|
||||
IN UINT64 Offset,
|
||||
IN EFI_DISK_IO2_TOKEN *Token,
|
||||
IN UINTN BufferSize,
|
||||
IN UINT8 *Buffer
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_BLOCK_IO_PROTOCOL *BlockIo;
|
||||
EFI_BLOCK_IO2_PROTOCOL *BlockIo2;
|
||||
EFI_BLOCK_IO_MEDIA *Media;
|
||||
LIST_ENTRY *Link;
|
||||
LIST_ENTRY *NextLink;
|
||||
LIST_ENTRY Subtasks;
|
||||
DISK_IO_SUBTASK *Subtask;
|
||||
DISK_IO2_TASK *Task;
|
||||
EFI_TPL OldTpl;
|
||||
BOOLEAN Blocking;
|
||||
BOOLEAN SubtaskBlocking;
|
||||
LIST_ENTRY *SubtasksPtr;
|
||||
EFI_STATUS Status;
|
||||
EFI_BLOCK_IO_PROTOCOL *BlockIo;
|
||||
EFI_BLOCK_IO2_PROTOCOL *BlockIo2;
|
||||
EFI_BLOCK_IO_MEDIA *Media;
|
||||
LIST_ENTRY *Link;
|
||||
LIST_ENTRY *NextLink;
|
||||
LIST_ENTRY Subtasks;
|
||||
DISK_IO_SUBTASK *Subtask;
|
||||
DISK_IO2_TASK *Task;
|
||||
EFI_TPL OldTpl;
|
||||
BOOLEAN Blocking;
|
||||
BOOLEAN SubtaskBlocking;
|
||||
LIST_ENTRY *SubtasksPtr;
|
||||
|
||||
Task = NULL;
|
||||
BlockIo = Instance->BlockIo;
|
||||
BlockIo2 = Instance->BlockIo2;
|
||||
Media = BlockIo->Media;
|
||||
Status = EFI_SUCCESS;
|
||||
Blocking = (BOOLEAN) ((Token == NULL) || (Token->Event == NULL));
|
||||
Task = NULL;
|
||||
BlockIo = Instance->BlockIo;
|
||||
BlockIo2 = Instance->BlockIo2;
|
||||
Media = BlockIo->Media;
|
||||
Status = EFI_SUCCESS;
|
||||
Blocking = (BOOLEAN)((Token == NULL) || (Token->Event == NULL));
|
||||
|
||||
if (Blocking) {
|
||||
//
|
||||
// Wait till pending async task is completed.
|
||||
//
|
||||
while (!DiskIo2RemoveCompletedTask (Instance));
|
||||
while (!DiskIo2RemoveCompletedTask (Instance)) {
|
||||
}
|
||||
|
||||
SubtasksPtr = &Subtasks;
|
||||
} else {
|
||||
@@ -858,15 +890,18 @@ DiskIo2ReadWriteDisk (
|
||||
if (Task != NULL) {
|
||||
FreePool (Task);
|
||||
}
|
||||
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
ASSERT (!IsListEmpty (SubtasksPtr));
|
||||
|
||||
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
|
||||
for ( Link = GetFirstNode (SubtasksPtr), NextLink = GetNextNode (SubtasksPtr, Link)
|
||||
; !IsNull (SubtasksPtr, Link)
|
||||
; Link = NextLink, NextLink = GetNextNode (SubtasksPtr, NextLink)
|
||||
) {
|
||||
; !IsNull (SubtasksPtr, Link)
|
||||
; Link = NextLink, NextLink = GetNextNode (SubtasksPtr, NextLink)
|
||||
)
|
||||
{
|
||||
Subtask = CR (Link, DISK_IO_SUBTASK, Link, DISK_IO_SUBTASK_SIGNATURE);
|
||||
Subtask->Task = Task;
|
||||
SubtaskBlocking = Subtask->Blocking;
|
||||
@@ -902,7 +937,6 @@ DiskIo2ReadWriteDisk (
|
||||
(Subtask->WorkingBuffer != NULL) ? Subtask->WorkingBuffer : Subtask->Buffer
|
||||
);
|
||||
}
|
||||
|
||||
} else {
|
||||
//
|
||||
// Read
|
||||
@@ -951,7 +985,7 @@ DiskIo2ReadWriteDisk (
|
||||
//
|
||||
if (EFI_ERROR (Status)) {
|
||||
while (!IsNull (SubtasksPtr, NextLink)) {
|
||||
Subtask = CR (NextLink, DISK_IO_SUBTASK, Link, DISK_IO_SUBTASK_SIGNATURE);
|
||||
Subtask = CR (NextLink, DISK_IO_SUBTASK, Link, DISK_IO_SUBTASK_SIGNATURE);
|
||||
NextLink = DiskIoDestroySubtask (Instance, Subtask);
|
||||
}
|
||||
}
|
||||
@@ -1008,17 +1042,22 @@ DiskIo2ReadWriteDisk (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
DiskIo2ReadDiskEx (
|
||||
IN EFI_DISK_IO2_PROTOCOL *This,
|
||||
IN UINT32 MediaId,
|
||||
IN UINT64 Offset,
|
||||
IN OUT EFI_DISK_IO2_TOKEN *Token,
|
||||
IN UINTN BufferSize,
|
||||
OUT VOID *Buffer
|
||||
IN EFI_DISK_IO2_PROTOCOL *This,
|
||||
IN UINT32 MediaId,
|
||||
IN UINT64 Offset,
|
||||
IN OUT EFI_DISK_IO2_TOKEN *Token,
|
||||
IN UINTN BufferSize,
|
||||
OUT VOID *Buffer
|
||||
)
|
||||
{
|
||||
return DiskIo2ReadWriteDisk (
|
||||
DISK_IO_PRIVATE_DATA_FROM_DISK_IO2 (This),
|
||||
FALSE, MediaId, Offset, Token, BufferSize, (UINT8 *) Buffer
|
||||
FALSE,
|
||||
MediaId,
|
||||
Offset,
|
||||
Token,
|
||||
BufferSize,
|
||||
(UINT8 *)Buffer
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1047,17 +1086,22 @@ DiskIo2ReadDiskEx (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
DiskIo2WriteDiskEx (
|
||||
IN EFI_DISK_IO2_PROTOCOL *This,
|
||||
IN UINT32 MediaId,
|
||||
IN UINT64 Offset,
|
||||
IN OUT EFI_DISK_IO2_TOKEN *Token,
|
||||
IN UINTN BufferSize,
|
||||
IN VOID *Buffer
|
||||
IN EFI_DISK_IO2_PROTOCOL *This,
|
||||
IN UINT32 MediaId,
|
||||
IN UINT64 Offset,
|
||||
IN OUT EFI_DISK_IO2_TOKEN *Token,
|
||||
IN UINTN BufferSize,
|
||||
IN VOID *Buffer
|
||||
)
|
||||
{
|
||||
return DiskIo2ReadWriteDisk (
|
||||
DISK_IO_PRIVATE_DATA_FROM_DISK_IO2 (This),
|
||||
TRUE, MediaId, Offset, Token, BufferSize, (UINT8 *) Buffer
|
||||
TRUE,
|
||||
MediaId,
|
||||
Offset,
|
||||
Token,
|
||||
BufferSize,
|
||||
(UINT8 *)Buffer
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1070,15 +1114,15 @@ DiskIo2WriteDiskEx (
|
||||
VOID
|
||||
EFIAPI
|
||||
DiskIo2OnFlushComplete (
|
||||
IN EFI_EVENT Event,
|
||||
IN VOID *Context
|
||||
IN EFI_EVENT Event,
|
||||
IN VOID *Context
|
||||
)
|
||||
{
|
||||
DISK_IO2_FLUSH_TASK *Task;
|
||||
DISK_IO2_FLUSH_TASK *Task;
|
||||
|
||||
gBS->CloseEvent (Event);
|
||||
|
||||
Task = (DISK_IO2_FLUSH_TASK *) Context;
|
||||
Task = (DISK_IO2_FLUSH_TASK *)Context;
|
||||
ASSERT (Task->Signature == DISK_IO2_FLUSH_TASK_SIGNATURE);
|
||||
Task->Token->TransactionStatus = Task->BlockIo2Token.TransactionStatus;
|
||||
gBS->SignalEvent (Task->Token->Event);
|
||||
@@ -1104,13 +1148,13 @@ DiskIo2OnFlushComplete (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
DiskIo2FlushDiskEx (
|
||||
IN EFI_DISK_IO2_PROTOCOL *This,
|
||||
IN OUT EFI_DISK_IO2_TOKEN *Token
|
||||
IN EFI_DISK_IO2_PROTOCOL *This,
|
||||
IN OUT EFI_DISK_IO2_TOKEN *Token
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
DISK_IO2_FLUSH_TASK *Task;
|
||||
DISK_IO_PRIVATE_DATA *Private;
|
||||
EFI_STATUS Status;
|
||||
DISK_IO2_FLUSH_TASK *Task;
|
||||
DISK_IO_PRIVATE_DATA *Private;
|
||||
|
||||
Private = DISK_IO_PRIVATE_DATA_FROM_DISK_IO2 (This);
|
||||
|
||||
@@ -1131,9 +1175,10 @@ DiskIo2FlushDiskEx (
|
||||
FreePool (Task);
|
||||
return Status;
|
||||
}
|
||||
|
||||
Task->Signature = DISK_IO2_FLUSH_TASK_SIGNATURE;
|
||||
Task->Token = Token;
|
||||
Status = Private->BlockIo2->FlushBlocksEx (Private->BlockIo2, &Task->BlockIo2Token);
|
||||
Status = Private->BlockIo2->FlushBlocksEx (Private->BlockIo2, &Task->BlockIo2Token);
|
||||
if (EFI_ERROR (Status)) {
|
||||
gBS->CloseEvent (Task->BlockIo2Token.Event);
|
||||
FreePool (Task);
|
||||
@@ -1180,11 +1225,15 @@ DiskIoReadDisk (
|
||||
{
|
||||
return DiskIo2ReadWriteDisk (
|
||||
DISK_IO_PRIVATE_DATA_FROM_DISK_IO (This),
|
||||
FALSE, MediaId, Offset, NULL, BufferSize, (UINT8 *) Buffer
|
||||
FALSE,
|
||||
MediaId,
|
||||
Offset,
|
||||
NULL,
|
||||
BufferSize,
|
||||
(UINT8 *)Buffer
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Writes BufferSize bytes from Buffer into Offset.
|
||||
Writes may require a read modify write to support writes that are not
|
||||
@@ -1222,7 +1271,12 @@ DiskIoWriteDisk (
|
||||
{
|
||||
return DiskIo2ReadWriteDisk (
|
||||
DISK_IO_PRIVATE_DATA_FROM_DISK_IO (This),
|
||||
TRUE, MediaId, Offset, NULL, BufferSize, (UINT8 *) Buffer
|
||||
TRUE,
|
||||
MediaId,
|
||||
Offset,
|
||||
NULL,
|
||||
BufferSize,
|
||||
(UINT8 *)Buffer
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1239,11 +1293,11 @@ DiskIoWriteDisk (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
InitializeDiskIo (
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_STATUS Status;
|
||||
|
||||
//
|
||||
// Install driver model protocol(s).
|
||||
|
@@ -26,60 +26,60 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
#define DISK_IO_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('d', 's', 'k', 'I')
|
||||
typedef struct {
|
||||
UINT32 Signature;
|
||||
UINT32 Signature;
|
||||
|
||||
EFI_DISK_IO_PROTOCOL DiskIo;
|
||||
EFI_DISK_IO2_PROTOCOL DiskIo2;
|
||||
EFI_BLOCK_IO_PROTOCOL *BlockIo;
|
||||
EFI_BLOCK_IO2_PROTOCOL *BlockIo2;
|
||||
EFI_DISK_IO_PROTOCOL DiskIo;
|
||||
EFI_DISK_IO2_PROTOCOL DiskIo2;
|
||||
EFI_BLOCK_IO_PROTOCOL *BlockIo;
|
||||
EFI_BLOCK_IO2_PROTOCOL *BlockIo2;
|
||||
|
||||
UINT8 *SharedWorkingBuffer;
|
||||
UINT8 *SharedWorkingBuffer;
|
||||
|
||||
EFI_LOCK TaskQueueLock;
|
||||
LIST_ENTRY TaskQueue;
|
||||
EFI_LOCK TaskQueueLock;
|
||||
LIST_ENTRY TaskQueue;
|
||||
} DISK_IO_PRIVATE_DATA;
|
||||
#define DISK_IO_PRIVATE_DATA_FROM_DISK_IO(a) CR (a, DISK_IO_PRIVATE_DATA, DiskIo, DISK_IO_PRIVATE_DATA_SIGNATURE)
|
||||
#define DISK_IO_PRIVATE_DATA_FROM_DISK_IO2(a) CR (a, DISK_IO_PRIVATE_DATA, DiskIo2, DISK_IO_PRIVATE_DATA_SIGNATURE)
|
||||
#define DISK_IO_PRIVATE_DATA_FROM_DISK_IO(a) CR (a, DISK_IO_PRIVATE_DATA, DiskIo, DISK_IO_PRIVATE_DATA_SIGNATURE)
|
||||
#define DISK_IO_PRIVATE_DATA_FROM_DISK_IO2(a) CR (a, DISK_IO_PRIVATE_DATA, DiskIo2, DISK_IO_PRIVATE_DATA_SIGNATURE)
|
||||
|
||||
#define DISK_IO2_TASK_SIGNATURE SIGNATURE_32 ('d', 'i', 'a', 't')
|
||||
#define DISK_IO2_TASK_SIGNATURE SIGNATURE_32 ('d', 'i', 'a', 't')
|
||||
typedef struct {
|
||||
UINT32 Signature;
|
||||
LIST_ENTRY Link; /// < link to other task
|
||||
EFI_LOCK SubtasksLock;
|
||||
LIST_ENTRY Subtasks; /// < header of subtasks
|
||||
EFI_DISK_IO2_TOKEN *Token;
|
||||
DISK_IO_PRIVATE_DATA *Instance;
|
||||
UINT32 Signature;
|
||||
LIST_ENTRY Link; /// < link to other task
|
||||
EFI_LOCK SubtasksLock;
|
||||
LIST_ENTRY Subtasks; /// < header of subtasks
|
||||
EFI_DISK_IO2_TOKEN *Token;
|
||||
DISK_IO_PRIVATE_DATA *Instance;
|
||||
} DISK_IO2_TASK;
|
||||
|
||||
#define DISK_IO2_FLUSH_TASK_SIGNATURE SIGNATURE_32 ('d', 'i', 'f', 't')
|
||||
#define DISK_IO2_FLUSH_TASK_SIGNATURE SIGNATURE_32 ('d', 'i', 'f', 't')
|
||||
typedef struct {
|
||||
UINT32 Signature;
|
||||
EFI_BLOCK_IO2_TOKEN BlockIo2Token;
|
||||
EFI_DISK_IO2_TOKEN *Token;
|
||||
UINT32 Signature;
|
||||
EFI_BLOCK_IO2_TOKEN BlockIo2Token;
|
||||
EFI_DISK_IO2_TOKEN *Token;
|
||||
} DISK_IO2_FLUSH_TASK;
|
||||
|
||||
#define DISK_IO_SUBTASK_SIGNATURE SIGNATURE_32 ('d', 'i', 's', 't')
|
||||
#define DISK_IO_SUBTASK_SIGNATURE SIGNATURE_32 ('d', 'i', 's', 't')
|
||||
typedef struct {
|
||||
//
|
||||
// UnderRun: Offset != 0, Length < BlockSize
|
||||
// OverRun: Offset == 0, Length < BlockSize
|
||||
// Middle: Offset is block aligned, Length is multiple of block size
|
||||
//
|
||||
UINT32 Signature;
|
||||
LIST_ENTRY Link;
|
||||
BOOLEAN Write;
|
||||
UINT64 Lba;
|
||||
UINT32 Offset;
|
||||
UINTN Length;
|
||||
UINT8 *WorkingBuffer; /// < NULL indicates using "Buffer" directly
|
||||
UINT8 *Buffer;
|
||||
BOOLEAN Blocking;
|
||||
UINT32 Signature;
|
||||
LIST_ENTRY Link;
|
||||
BOOLEAN Write;
|
||||
UINT64 Lba;
|
||||
UINT32 Offset;
|
||||
UINTN Length;
|
||||
UINT8 *WorkingBuffer; /// < NULL indicates using "Buffer" directly
|
||||
UINT8 *Buffer;
|
||||
BOOLEAN Blocking;
|
||||
|
||||
//
|
||||
// Following fields are for DiskIo2
|
||||
//
|
||||
DISK_IO2_TASK *Task;
|
||||
EFI_BLOCK_IO2_TOKEN BlockIo2Token;
|
||||
DISK_IO2_TASK *Task;
|
||||
EFI_BLOCK_IO2_TOKEN BlockIo2Token;
|
||||
} DISK_IO_SUBTASK;
|
||||
|
||||
//
|
||||
@@ -93,6 +93,7 @@ extern EFI_COMPONENT_NAME2_PROTOCOL gDiskIoComponentName2;
|
||||
// Prototypes
|
||||
// Driver model protocol interface
|
||||
//
|
||||
|
||||
/**
|
||||
Test to see if this driver supports ControllerHandle.
|
||||
|
||||
@@ -153,15 +154,16 @@ DiskIoDriverBindingStart (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
DiskIoDriverBindingStop (
|
||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN UINTN NumberOfChildren,
|
||||
IN EFI_HANDLE *ChildHandleBuffer
|
||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN UINTN NumberOfChildren,
|
||||
IN EFI_HANDLE *ChildHandleBuffer
|
||||
);
|
||||
|
||||
//
|
||||
// Disk I/O Protocol Interface
|
||||
//
|
||||
|
||||
/**
|
||||
Read BufferSize bytes from Offset into Buffer.
|
||||
Reads may support reads that are not aligned on
|
||||
@@ -230,7 +232,6 @@ DiskIoWriteDisk (
|
||||
IN VOID *Buffer
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Terminate outstanding asynchronous requests to a device.
|
||||
|
||||
@@ -243,7 +244,7 @@ DiskIoWriteDisk (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
DiskIo2Cancel (
|
||||
IN EFI_DISK_IO2_PROTOCOL *This
|
||||
IN EFI_DISK_IO2_PROTOCOL *This
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -271,12 +272,12 @@ DiskIo2Cancel (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
DiskIo2ReadDiskEx (
|
||||
IN EFI_DISK_IO2_PROTOCOL *This,
|
||||
IN UINT32 MediaId,
|
||||
IN UINT64 Offset,
|
||||
IN OUT EFI_DISK_IO2_TOKEN *Token,
|
||||
IN UINTN BufferSize,
|
||||
OUT VOID *Buffer
|
||||
IN EFI_DISK_IO2_PROTOCOL *This,
|
||||
IN UINT32 MediaId,
|
||||
IN UINT64 Offset,
|
||||
IN OUT EFI_DISK_IO2_TOKEN *Token,
|
||||
IN UINTN BufferSize,
|
||||
OUT VOID *Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -304,12 +305,12 @@ DiskIo2ReadDiskEx (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
DiskIo2WriteDiskEx (
|
||||
IN EFI_DISK_IO2_PROTOCOL *This,
|
||||
IN UINT32 MediaId,
|
||||
IN UINT64 Offset,
|
||||
IN EFI_DISK_IO2_TOKEN *Token,
|
||||
IN UINTN BufferSize,
|
||||
IN VOID *Buffer
|
||||
IN EFI_DISK_IO2_PROTOCOL *This,
|
||||
IN UINT32 MediaId,
|
||||
IN UINT64 Offset,
|
||||
IN EFI_DISK_IO2_TOKEN *Token,
|
||||
IN UINTN BufferSize,
|
||||
IN VOID *Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -330,13 +331,14 @@ DiskIo2WriteDiskEx (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
DiskIo2FlushDiskEx (
|
||||
IN EFI_DISK_IO2_PROTOCOL *This,
|
||||
IN OUT EFI_DISK_IO2_TOKEN *Token
|
||||
IN EFI_DISK_IO2_PROTOCOL *This,
|
||||
IN OUT EFI_DISK_IO2_TOKEN *Token
|
||||
);
|
||||
|
||||
//
|
||||
// EFI Component Name Functions
|
||||
//
|
||||
|
||||
/**
|
||||
Retrieves a Unicode string that is the user readable name of the driver.
|
||||
|
||||
@@ -384,7 +386,6 @@ DiskIoComponentNameGetDriverName (
|
||||
OUT CHAR16 **DriverName
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Retrieves a Unicode string that is the user readable name of the controller
|
||||
that is being managed by a driver.
|
||||
@@ -456,12 +457,11 @@ DiskIoComponentNameGetDriverName (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
DiskIoComponentNameGetControllerName (
|
||||
IN EFI_COMPONENT_NAME_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN EFI_HANDLE ChildHandle OPTIONAL,
|
||||
IN CHAR8 *Language,
|
||||
OUT CHAR16 **ControllerName
|
||||
IN EFI_COMPONENT_NAME_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN EFI_HANDLE ChildHandle OPTIONAL,
|
||||
IN CHAR8 *Language,
|
||||
OUT CHAR16 **ControllerName
|
||||
);
|
||||
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user