NOR_FLASH_SIGNATURE, // Signature\r
NULL, // Handle ... NEED TO BE FILLED\r
\r
- FALSE, // Initialized\r
- NULL, // Initialize\r
-\r
0, // DeviceBaseAddress ... NEED TO BE FILLED\r
0, // RegionBaseAddress ... NEED TO BE FILLED\r
0, // Size ... NEED TO BE FILLED\r
NorFlashDiskIoWriteDisk // WriteDisk\r
},\r
\r
- FALSE, // SupportFvb ... NEED TO BE FILLED\r
{\r
FvbGetAttributes, // GetAttributes\r
FvbSetAttributes, // SetAttributes\r
{\r
HARDWARE_DEVICE_PATH,\r
HW_VENDOR_DP,\r
- { (UINT8)sizeof(VENDOR_DEVICE_PATH), (UINT8)((sizeof(VENDOR_DEVICE_PATH)) >> 8) }\r
+ {\r
+ (UINT8)(OFFSET_OF (NOR_FLASH_DEVICE_PATH, End)),\r
+ (UINT8)(OFFSET_OF (NOR_FLASH_DEVICE_PATH, End) >> 8)\r
+ }\r
},\r
{ 0x0, 0x0, 0x0, { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } }, // GUID ... NEED TO BE FILLED\r
},\r
IN UINTN NorFlashDeviceBase,\r
IN UINTN NorFlashRegionBase,\r
IN UINTN NorFlashSize,\r
- IN UINT32 MediaId,\r
+ IN UINT32 Index,\r
IN UINT32 BlockSize,\r
IN BOOLEAN SupportFvb,\r
IN CONST GUID *NorFlashGuid,\r
Instance->Size = NorFlashSize;\r
\r
Instance->BlockIoProtocol.Media = &Instance->Media;\r
- Instance->Media.MediaId = MediaId;\r
+ Instance->Media.MediaId = Index;\r
Instance->Media.BlockSize = BlockSize;\r
Instance->Media.LastBlock = (NorFlashSize / BlockSize)-1;\r
\r
}\r
\r
if (SupportFvb) {\r
- Instance->SupportFvb = TRUE;\r
- Instance->Initialize = NorFlashFvbInitialize;\r
+ NorFlashFvbInitialize (Instance);\r
\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
&Instance->Handle,\r
return Status;\r
}\r
} else {\r
- Instance->Initialized = TRUE;\r
-\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
&Instance->Handle,\r
&gEfiDevicePathProtocolGuid, &Instance->DevicePath,\r
SEND_NOR_COMMAND (Instance->DeviceBaseAddress, 0, P30_CMD_READ_ARRAY);\r
\r
// Readout the data\r
- AlignedCopyMem (Buffer, (VOID *)StartAddress + Offset, BufferSizeInBytes);\r
+ AlignedCopyMem (Buffer, (VOID *)(StartAddress + Offset), BufferSizeInBytes);\r
\r
return EFI_SUCCESS;\r
}\r
\r
PrevBlockAddress = 0;\r
\r
- if (!Instance->Initialized && Instance->Initialize) {\r
- Instance->Initialize(Instance);\r
- }\r
-\r
DEBUG ((DEBUG_BLKIO, "NorFlashWriteSingleBlock(Parameters: Lba=%ld, Offset=0x%x, *NumBytes=0x%x, Buffer @ 0x%08x)\n", Lba, Offset, *NumBytes, Buffer));\r
\r
// Detect WriteDisabled state\r