From 16bf588b604a9f190accb71ada715b81756c94e2 Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Mon, 24 Oct 2022 18:35:10 +0200 Subject: [PATCH] OvmfPkg: clone NorFlashPlatformLib into VirtNorFlashPlatformLib Create a new library class in Ovmf that duplicates the existing NorFlashPlatformLib, but which will be tied to the VirtNorFlashDxe driver that will be introduced in a subsequent patch. This allows us to retire the original from ArmPlatformPkg. Signed-off-by: Ard Biesheuvel Reviewed-by: Sunil V L --- .../Include/Library/VirtNorFlashPlatformLib.h | 30 +++++++++++++++++++ OvmfPkg/OvmfPkg.dec | 4 +++ 2 files changed, 34 insertions(+) create mode 100644 OvmfPkg/Include/Library/VirtNorFlashPlatformLib.h diff --git a/OvmfPkg/Include/Library/VirtNorFlashPlatformLib.h b/OvmfPkg/Include/Library/VirtNorFlashPlatformLib.h new file mode 100644 index 0000000000..8f5b5e972d --- /dev/null +++ b/OvmfPkg/Include/Library/VirtNorFlashPlatformLib.h @@ -0,0 +1,30 @@ +/** @file + + Copyright (c) 2011-2012, ARM Ltd. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + + **/ + +#ifndef __VIRT_NOR_FLASH_PLATFORM_LIB__ +#define __VIRT_NOR_FLASH_PLATFORM_LIB__ + +typedef struct { + UINTN DeviceBaseAddress; // Start address of the Device Base Address (DBA) + UINTN RegionBaseAddress; // Start address of one single region + UINTN Size; + UINTN BlockSize; +} VIRT_NOR_FLASH_DESCRIPTION; + +EFI_STATUS +VirtNorFlashPlatformInitialization ( + VOID + ); + +EFI_STATUS +VirtNorFlashPlatformGetDevices ( + OUT VIRT_NOR_FLASH_DESCRIPTION **NorFlashDescriptions, + OUT UINT32 *Count + ); + +#endif /* __VIRT_NOR_FLASH_PLATFORM_LIB__ */ diff --git a/OvmfPkg/OvmfPkg.dec b/OvmfPkg/OvmfPkg.dec index f13dd4a61f..5f5556c67c 100644 --- a/OvmfPkg/OvmfPkg.dec +++ b/OvmfPkg/OvmfPkg.dec @@ -101,6 +101,10 @@ # transports. VirtioMmioDeviceLib|Include/Library/VirtioMmioDeviceLib.h + ## @libraryclass Provides a Nor flash interface. + # + VirtNorFlashPlatformLib|Include/Library/VirtNorFlashPlatformLib.h + ## @libraryclass Invoke Xen hypercalls # XenHypercallLib|Include/Library/XenHypercallLib.h -- 2.39.5