Hi Sahil,

Thank you for this patch.

These changes look good to me.

Reviewed-by: Sami Mujawar <sami.muja...@arm.com>

Regards,

Sami Mujawar

On 23/04/2024 06:56 am, Sahil Kaushal wrote:
From: sahil <sa...@arm.com>

Moving this function from NorFlash.c to NorFlashDxe.c as it is not
dependent on any particular flash implementation.

Signed-off-by: sahil <sa...@arm.com>
---
  Platform/ARM/Drivers/NorFlashDxe/NorFlash.h    | 14 +++----
  Platform/ARM/Drivers/NorFlashDxe/NorFlash.c    | 44 --------------------
  Platform/ARM/Drivers/NorFlashDxe/NorFlashDxe.c | 44 ++++++++++++++++++++
  3 files changed, 51 insertions(+), 51 deletions(-)

diff --git a/Platform/ARM/Drivers/NorFlashDxe/NorFlash.h 
b/Platform/ARM/Drivers/NorFlashDxe/NorFlash.h
index c83032e87d9c..d4d97bd22cc5 100644
--- a/Platform/ARM/Drivers/NorFlashDxe/NorFlash.h
+++ b/Platform/ARM/Drivers/NorFlashDxe/NorFlash.h
@@ -342,6 +342,13 @@ NorFlashFvbInitialize (
    IN NOR_FLASH_INSTANCE  *Instance

    );

+VOID

+EFIAPI

+NorFlashVirtualNotifyEvent (

+  IN EFI_EVENT  Event,

+  IN VOID       *Context

+  );

+

  //

  // NorFlash.c

  //

@@ -412,11 +419,4 @@ NorFlashWriteSingleWord (
    IN UINT32              WriteData

    );

-VOID

-EFIAPI

-NorFlashVirtualNotifyEvent (

-  IN EFI_EVENT  Event,

-  IN VOID       *Context

-  );

-

  #endif /* __NOR_FLASH_H__ */

diff --git a/Platform/ARM/Drivers/NorFlashDxe/NorFlash.c 
b/Platform/ARM/Drivers/NorFlashDxe/NorFlash.c
index 60854ef2a7d0..55f6abd0eef3 100644
--- a/Platform/ARM/Drivers/NorFlashDxe/NorFlash.c
+++ b/Platform/ARM/Drivers/NorFlashDxe/NorFlash.c
@@ -816,47 +816,3 @@ NorFlashReset (
    SEND_NOR_COMMAND (Instance->DeviceBaseAddress, 0, P30_CMD_READ_ARRAY);

    return EFI_SUCCESS;

  }

-

-/**

-  Fixup internal data so that EFI can be call in virtual mode.

-  Call the passed in Child Notify event and convert any pointers in

-  lib to virtual mode.

-

-  @param[in]    Event   The Event that is being processed

-  @param[in]    Context Event Context

-**/

-VOID

-EFIAPI

-NorFlashVirtualNotifyEvent (

-  IN EFI_EVENT  Event,

-  IN VOID       *Context

-  )

-{

-  UINTN  Index;

-

-  for (Index = 0; Index < mNorFlashDeviceCount; Index++) {

-    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->DeviceBaseAddress);

-    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->RegionBaseAddress);

-

-    // Convert BlockIo protocol

-    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->BlockIoProtocol.FlushBlocks);

-    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->BlockIoProtocol.ReadBlocks);

-    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->BlockIoProtocol.Reset);

-    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->BlockIoProtocol.WriteBlocks);

-

-    // Convert Fvb

-    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->FvbProtocol.EraseBlocks);

-    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->FvbProtocol.GetAttributes);

-    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->FvbProtocol.GetBlockSize);

-    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->FvbProtocol.GetPhysicalAddress);

-    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->FvbProtocol.Read);

-    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->FvbProtocol.SetAttributes);

-    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->FvbProtocol.Write);

-

-    if (mNorFlashInstances[Index]->ShadowBuffer != NULL) {

-      EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->ShadowBuffer);

-    }

-  }

-

-  return;

-}

diff --git a/Platform/ARM/Drivers/NorFlashDxe/NorFlashDxe.c 
b/Platform/ARM/Drivers/NorFlashDxe/NorFlashDxe.c
index f7b92de21a57..963af7dcf435 100644
--- a/Platform/ARM/Drivers/NorFlashDxe/NorFlashDxe.c
+++ b/Platform/ARM/Drivers/NorFlashDxe/NorFlashDxe.c
@@ -504,3 +504,47 @@ NorFlashFvbInitialize (
    return Status;

  }

+

+/**

+  Fixup internal data so that EFI can be call in virtual mode.

+  Call the passed in Child Notify event and convert any pointers in

+  lib to virtual mode.

+

+  @param[in]    Event   The Event that is being processed

+  @param[in]    Context Event Context

+**/

+VOID

+EFIAPI

+NorFlashVirtualNotifyEvent (

+  IN EFI_EVENT  Event,

+  IN VOID       *Context

+  )

+{

+  UINTN  Index;

+

+  for (Index = 0; Index < mNorFlashDeviceCount; Index++) {

+    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->DeviceBaseAddress);

+    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->RegionBaseAddress);

+

+    // Convert BlockIo protocol

+    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->BlockIoProtocol.FlushBlocks);

+    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->BlockIoProtocol.ReadBlocks);

+    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->BlockIoProtocol.Reset);

+    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->BlockIoProtocol.WriteBlocks);

+

+    // Convert Fvb

+    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->FvbProtocol.EraseBlocks);

+    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->FvbProtocol.GetAttributes);

+    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->FvbProtocol.GetBlockSize);

+    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->FvbProtocol.GetPhysicalAddress);

+    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->FvbProtocol.Read);

+    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->FvbProtocol.SetAttributes);

+    EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->FvbProtocol.Write);

+

+    if (mNorFlashInstances[Index]->ShadowBuffer != NULL) {

+      EfiConvertPointer (0x0, (VOID 
**)&mNorFlashInstances[Index]->ShadowBuffer);

+    }

+  }

+

+  return;

+}



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#118958): https://edk2.groups.io/g/devel/message/118958
Mute This Topic: https://groups.io/mt/105690937/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to