ArmPlatformPkg/NorFlashDxe: prepare for devicepath format change

A subsequent patch will change the layout of devicepath nodes
produced by this driver. In preparation, make some tweaks to
the code to use a packed struct for the devicepath and to pass
the device index to NorFlashCreateInstance(). These are cosmetic
changes only, the resulting binaries should be identical.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Thomas Abraham <thomas.abraham@arm.com>
This commit is contained in:
Ard Biesheuvel 2018-11-21 12:58:24 +01:00
parent 1ec194b21c
commit 4ef1135839
2 changed files with 8 additions and 3 deletions

View File

@ -82,7 +82,10 @@ NOR_FLASH_INSTANCE mNorFlashInstanceTemplate = {
{ {
HARDWARE_DEVICE_PATH, HARDWARE_DEVICE_PATH,
HW_VENDOR_DP, HW_VENDOR_DP,
{ (UINT8)sizeof(VENDOR_DEVICE_PATH), (UINT8)((sizeof(VENDOR_DEVICE_PATH)) >> 8) } {
(UINT8)(OFFSET_OF (NOR_FLASH_DEVICE_PATH, End)),
(UINT8)(OFFSET_OF (NOR_FLASH_DEVICE_PATH, End) >> 8)
}
}, },
{ 0x0, 0x0, 0x0, { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } }, // GUID ... NEED TO BE FILLED { 0x0, 0x0, 0x0, { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } }, // GUID ... NEED TO BE FILLED
}, },
@ -99,7 +102,7 @@ NorFlashCreateInstance (
IN UINTN NorFlashDeviceBase, IN UINTN NorFlashDeviceBase,
IN UINTN NorFlashRegionBase, IN UINTN NorFlashRegionBase,
IN UINTN NorFlashSize, IN UINTN NorFlashSize,
IN UINT32 MediaId, IN UINT32 Index,
IN UINT32 BlockSize, IN UINT32 BlockSize,
IN BOOLEAN SupportFvb, IN BOOLEAN SupportFvb,
IN CONST GUID *NorFlashGuid, IN CONST GUID *NorFlashGuid,
@ -121,7 +124,7 @@ NorFlashCreateInstance (
Instance->Size = NorFlashSize; Instance->Size = NorFlashSize;
Instance->BlockIoProtocol.Media = &Instance->Media; Instance->BlockIoProtocol.Media = &Instance->Media;
Instance->Media.MediaId = MediaId; Instance->Media.MediaId = Index;
Instance->Media.BlockSize = BlockSize; Instance->Media.BlockSize = BlockSize;
Instance->Media.LastBlock = (NorFlashSize / BlockSize)-1; Instance->Media.LastBlock = (NorFlashSize / BlockSize)-1;

View File

@ -122,10 +122,12 @@
typedef struct _NOR_FLASH_INSTANCE NOR_FLASH_INSTANCE; typedef struct _NOR_FLASH_INSTANCE NOR_FLASH_INSTANCE;
#pragma pack (1)
typedef struct { typedef struct {
VENDOR_DEVICE_PATH Vendor; VENDOR_DEVICE_PATH Vendor;
EFI_DEVICE_PATH_PROTOCOL End; EFI_DEVICE_PATH_PROTOCOL End;
} NOR_FLASH_DEVICE_PATH; } NOR_FLASH_DEVICE_PATH;
#pragma pack ()
struct _NOR_FLASH_INSTANCE { struct _NOR_FLASH_INSTANCE {
UINT32 Signature; UINT32 Signature;