From e15fbaf473f1b7fda7a34d0158e4f6455660bee7 Mon Sep 17 00:00:00 2001 From: klu2 Date: Fri, 6 Jul 2007 08:08:57 +0000 Subject: 1) PcdFlashNvStorageFtwWorkingSize, PcdFlashNvStorageFtwWorkingBase, PcdFlashNvStorageFtwSpareSize, PcdFlashNvStorageFtwSpareBase, PcdFlashNvStorageVariableSize PcdFlashNvStorageVariableBase should in gEfiMdeModulePkgTokenSpaceGuid. 2) Use FlashMapHob to get the address and length of FV instead of using PCD. 3) Use hard code environment in WinNtBusDriver but not dynamic PCD. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3106 6f19259b-4bc3-4df7-8a09-765794883524 --- Nt32Pkg/Nt32Pkg.dsc | 38 ++++++++++++++---------- Nt32Pkg/Nt32Pkg.fdf | 2 +- Nt32Pkg/WinNtBusDriverDxe/WinNtBusDriver.c | 47 ++++++++++++++++++++++-------- Nt32Pkg/WinNtFlashMapPei/FlashMap.inf | 12 ++++---- 4 files changed, 65 insertions(+), 34 deletions(-) (limited to 'Nt32Pkg') diff --git a/Nt32Pkg/Nt32Pkg.dsc b/Nt32Pkg/Nt32Pkg.dsc index 6dcdd6b7e3..3d42131220 100644 --- a/Nt32Pkg/Nt32Pkg.dsc +++ b/Nt32Pkg/Nt32Pkg.dsc @@ -106,19 +106,22 @@ UefiBootServicesTableLib|$(WORKSPACE)/MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf HobLib|$(WORKSPACE)/MdePkg/Library/DxeHobLib/DxeHobLib.inf DevicePathLib|$(WORKSPACE)/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf - PcdLib|$(WORKSPACE)/MdePkg/Library/DxePcdLib/DxePcdLib.inf + # After tools enable the dynamic PCD, please uncomment follows library instances mapping. + #PcdLib|$(WORKSPACE)/MdePkg/Library/DxePcdLib/DxePcdLib.inf MemoryAllocationLib|$(WORKSPACE)/MdePkg/Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf UefiLib|$(WORKSPACE)/MdePkg/Library/UefiLib/UefiLib.inf ReportStatusCodeLib|$(WORKSPACE)/IntelFrameworkPkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf UefiRuntimeServicesTableLib|$(WORKSPACE)/MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf WinNtLib|$(WORKSPACE)/Nt32Pkg/Library/DxeWinNtLib/DxeWinNtLib.inf OemHookStatusCodeLib|$(WORKSPACE)/Nt32Pkg/Library/DxeNt32OemHookStatusCodeLib/DxeNt32OemHookStatusCodeLib.inf - PcdLib|$(WORKSPACE)/MdePkg/Library/DxePcdLib/DxePcdLib.inf + # After tools enable the dynamic PCD, please uncomment follows library instances mapping. + #PcdLib|$(WORKSPACE)/MdePkg/Library/DxePcdLib/DxePcdLib.inf DebugLib|$(WORKSPACE)/MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf [LibraryClasses.common.PEIM] HobLib|$(WORKSPACE)/MdePkg/Library/PeiHobLib/PeiHobLib.inf - PcdLib|$(WORKSPACE)/MdePkg/Library/PeiPcdLib/PeiPcdLib.inf + # After tools enable the dynamic PCD, please uncomment follows library instances mapping. + #PcdLib|$(WORKSPACE)/MdePkg/Library/PeiPcdLib/PeiPcdLib.inf IoLib|$(WORKSPACE)/MdePkg/Library/PeiIoLibCpuIo/PeiIoLibCpuIo.inf PeimEntryPoint|$(WORKSPACE)/MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf PeiServicesLib|$(WORKSPACE)/MdePkg/Library/PeiServicesLib/PeiServicesLib.inf @@ -140,13 +143,15 @@ OldPeiCoreEntryPoint|$(WORKSPACE)/MdePkg/Library/OldPeiCoreEntryPoint/OldPeiCoreEntryPoint.inf ReportStatusCodeLib|$(WORKSPACE)/IntelFrameworkPkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf PeCoffGetEntryPointLib|$(WORKSPACE)/Nt32Pkg/Library/EdkNt32PeiPeCoffGetEntryPointLib/EdkNt32PeiPeCoffGetEntryPointLib.inf - PcdLib|$(WORKSPACE)/MdePkg/Library/PeiPcdLib/PeiPcdLib.inf + # After tools enable the dynamic PCD, please uncomment follows library instances mapping. + #PcdLib|$(WORKSPACE)/MdePkg/Library/PeiPcdLib/PeiPcdLib.inf DebugLib|$(WORKSPACE)/IntelFrameworkPkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf [LibraryClasses.common.DXE_RUNTIME_DRIVER] UefiRuntimeServicesTableLib|$(WORKSPACE)/MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf HobLib|$(WORKSPACE)/MdePkg/Library/DxeHobLib/DxeHobLib.inf - PcdLib|$(WORKSPACE)/MdePkg/Library/DxePcdLib/DxePcdLib.inf + # After tools enable the dynamic PCD, please uncomment follows library instances mapping. + #PcdLib|$(WORKSPACE)/MdePkg/Library/DxePcdLib/DxePcdLib.inf MemoryAllocationLib|$(WORKSPACE)/MdePkg/Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf UefiLib|$(WORKSPACE)/MdePkg/Library/UefiLib/UefiLib.inf UefiDriverEntryPoint|$(WORKSPACE)/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf @@ -166,7 +171,8 @@ [LibraryClasses.common.UEFI_DRIVER] UefiRuntimeServicesTableLib|$(WORKSPACE)/MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf HobLib|$(WORKSPACE)/MdePkg/Library/DxeHobLib/DxeHobLib.inf - PcdLib|$(WORKSPACE)/MdePkg/Library/DxePcdLib/DxePcdLib.inf + # After tools enable the dynamic PCD, please uncomment follows library instances mapping. + #PcdLib|$(WORKSPACE)/MdePkg/Library/DxePcdLib/DxePcdLib.inf MemoryAllocationLib|$(WORKSPACE)/MdePkg/Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf UefiLib|$(WORKSPACE)/MdePkg/Library/UefiLib/UefiLib.inf UefiDriverEntryPoint|$(WORKSPACE)/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf @@ -185,7 +191,8 @@ [LibraryClasses.common.DXE_DRIVER] UefiRuntimeServicesTableLib|$(WORKSPACE)/MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf HobLib|$(WORKSPACE)/MdePkg/Library/DxeHobLib/DxeHobLib.inf - PcdLib|$(WORKSPACE)/MdePkg/Library/DxePcdLib/DxePcdLib.inf + # After tools enable the dynamic PCD, please uncomment follows library instances mapping. + #PcdLib|$(WORKSPACE)/MdePkg/Library/DxePcdLib/DxePcdLib.inf MemoryAllocationLib|$(WORKSPACE)/MdePkg/Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf UefiLib|$(WORKSPACE)/MdePkg/Library/UefiLib/UefiLib.inf UefiDriverEntryPoint|$(WORKSPACE)/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf @@ -212,7 +219,8 @@ HobLib|$(WORKSPACE)/MdePkg/Library/DxeHobLib/DxeHobLib.inf DevicePathLib|$(WORKSPACE)/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf EdkIfrSupportLib|$(WORKSPACE)/MdeModulePkg/Library/EdkIfrSupportLib/EdkIfrSupportLib.inf - PcdLib|$(WORKSPACE)/MdePkg/Library/DxePcdLib/DxePcdLib.inf + # After tools enable the dynamic PCD, please uncomment follows library instances mapping. + #PcdLib|$(WORKSPACE)/MdePkg/Library/DxePcdLib/DxePcdLib.inf MemoryAllocationLib|$(WORKSPACE)/MdePkg/Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf UefiLib|$(WORKSPACE)/MdePkg/Library/UefiLib/UefiLib.inf ReportStatusCodeLib|$(WORKSPACE)/IntelFrameworkPkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf @@ -262,6 +270,12 @@ PcdMaxSizeNonPopulateCapsule|gEfiEdkModulePkgTokenSpaceGuid|0x0 PcdMaxSizePopulateCapsule|gEfiEdkModulePkgTokenSpaceGuid|0x0 PcdPciIncompatibleDeviceSupportMask|gEfiIntelFrameworkModulePkgTokenSpaceGuid|0 + PcdFlashNvStorageFtwSpareBase|gEfiMdeModulePkgTokenSpaceGuid|0x0 + PcdFlashNvStorageFtwSpareSize|gEfiMdeModulePkgTokenSpaceGuid|0x280000 + PcdFlashNvStorageFtwWorkingBase|gEfiMdeModulePkgTokenSpaceGuid|0x28e000 + PcdFlashNvStorageFtwWorkingSize|gEfiMdeModulePkgTokenSpaceGuid|0x2000 + PcdFlashNvStorageVariableBase|gEfiMdeModulePkgTokenSpaceGuid|0x280000 + PcdFlashNvStorageVariableSize|gEfiMdeModulePkgTokenSpaceGuid|0x00c000 [PcdsFeatureFlag.IA32] PcdPeiPcdDatabaseTraverseEnabled|gEfiEdkModulePkgTokenSpaceGuid|TRUE @@ -315,21 +329,15 @@ ################################################################################ [PcdsDynamicDefault.common.DEFAULT] - PcdFlashNvStorageFtwSpareBase|gEfiGenericPlatformTokenSpaceGuid|0x0 - PcdFlashNvStorageVariableSize|gEfiGenericPlatformTokenSpaceGuid|0x0 PcdWinNtCpuSpeed|gEfiNt32PkgTokenSpaceGuid|L"3000"|8 - PcdFlashNvStorageVariableBase|gEfiGenericPlatformTokenSpaceGuid|0x0 PcdWinNtSerialPort|gEfiNt32PkgTokenSpaceGuid|L"COM1!COM2"|18 PcdWinNtFileSystem|gEfiNt32PkgTokenSpaceGuid|L".!..\\..\\..\\..\\EdkShellBinPkg\\bin\\ia32\\Apps"|106 - PcdFlashNvStorageFtwWorkingSize|gEfiGenericPlatformTokenSpaceGuid|0x0 PcdWinNtGop|gEfiNt32PkgTokenSpaceGuid|L"UGA Window 1!UGA Window 2"|50 PcdWinNtConsole|gEfiNt32PkgTokenSpaceGuid|L"Bus Driver Console Window"|50 - PcdFlashNvStorageFtwWorkingBase|gEfiGenericPlatformTokenSpaceGuid|0x0 PcdWinNtMemorySize|gEfiNt32PkgTokenSpaceGuid|L"64!64"|10 PcdWinNtVirtualDisk|gEfiNt32PkgTokenSpaceGuid|L"FW;40960;512"|24 PcdWinNtCpuModel|gEfiNt32PkgTokenSpaceGuid|L"Intel(R) Processor Model"|48 PcdWinNtPhysicalDisk|gEfiNt32PkgTokenSpaceGuid|L"E:RW;245760;512"|30 - PcdFlashNvStorageFtwSpareSize|gEfiGenericPlatformTokenSpaceGuid|0x0 PcdWinNtUga|gEfiNt32PkgTokenSpaceGuid|L"UGA Window 1!UGA Window 2"|50 ################################################################################ @@ -365,11 +373,11 @@ $(WORKSPACE)/MdeModulePkg/Universal/Capsule/RuntimeDxe/CapsuleRuntime.inf $(WORKSPACE)/MdeModulePkg/Universal/Ebc/Dxe/Ebc.inf $(WORKSPACE)/MdeModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.inf + $(WORKSPACE)/MdeModulePkg/Universal/RuntimeDxe/Runtime.inf $(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/FaultTolerantWriteLite/Dxe/FtwLite.inf $(WORKSPACE)/MdeModulePkg/Universal/BaseMemoryTestPei/BaseMemoryTest.inf $(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.inf $(WORKSPACE)/MdeModulePkg/Universal/VariableRuntimeDxe/Variable.inf - $(WORKSPACE)/MdeModulePkg/Universal/RuntimeDxe/Runtime.inf $(WORKSPACE)/MdeModulePkg/Bus/Pci/AtapiPassThruDxe/AtapiPassThru.inf $(WORKSPACE)/MdeModulePkg/Universal/WatchDogTimerDxe/WatchDogTimer.inf $(WORKSPACE)/MdeModulePkg/Universal/VariablePei/Variable.inf diff --git a/Nt32Pkg/Nt32Pkg.fdf b/Nt32Pkg/Nt32Pkg.fdf index 77845759de..09e9ce845b 100644 --- a/Nt32Pkg/Nt32Pkg.fdf +++ b/Nt32Pkg/Nt32Pkg.fdf @@ -137,11 +137,11 @@ INF $(WORKSPACE)/MdeModulePkg/Universal/SecurityStubDxe/SecurityStub.inf INF $(WORKSPACE)/MdeModulePkg/Universal/Capsule/RuntimeDxe/CapsuleRuntime.inf INF $(WORKSPACE)/MdeModulePkg/Universal/Ebc/Dxe/Ebc.inf INF $(WORKSPACE)/MdeModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.inf +INF $(WORKSPACE)/MdeModulePkg/Universal/RuntimeDxe/Runtime.inf INF $(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/FaultTolerantWriteLite/Dxe/FtwLite.inf INF $(WORKSPACE)/MdeModulePkg/Universal/BaseMemoryTestPei/BaseMemoryTest.inf INF $(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.inf INF $(WORKSPACE)/MdeModulePkg/Universal/VariableRuntimeDxe/Variable.inf -INF $(WORKSPACE)/MdeModulePkg/Universal/RuntimeDxe/Runtime.inf INF $(WORKSPACE)/MdeModulePkg/Bus/Pci/AtapiPassThruDxe/AtapiPassThru.inf INF $(WORKSPACE)/MdeModulePkg/Universal/WatchDogTimerDxe/WatchDogTimer.inf INF $(WORKSPACE)/MdeModulePkg/Universal/VariablePei/Variable.inf diff --git a/Nt32Pkg/WinNtBusDriverDxe/WinNtBusDriver.c b/Nt32Pkg/WinNtBusDriverDxe/WinNtBusDriver.c index 999fb0cc5d..a0baa751e6 100644 --- a/Nt32Pkg/WinNtBusDriverDxe/WinNtBusDriver.c +++ b/Nt32Pkg/WinNtBusDriverDxe/WinNtBusDriver.c @@ -138,22 +138,44 @@ EFI_DRIVER_BINDING_PROTOCOL gWinNtBusDriverBinding = { NULL }; -#define NT_PCD_ARRAY_SIZE (sizeof(mPcdEnvironment)/sizeof(NT_PCD_ENTRY)) +#define NT_PCD_ARRAY_SIZE (sizeof(mPcdEnvironment)/sizeof(NT_ENVIRONMENT_VARIABLE_ENTRY)) + +// +// BUGBUG: Because currently the new build tools does not support dynamic PCD +// following dynamic PCd will be hard code. After tools ready, we should +// use dynmanic PCD AQAP. +// // // Table to map NT Environment variable to the GUID that should be in // device path. // -static NT_PCD_ENTRY mPcdEnvironment[] = { - PcdToken(PcdWinNtConsole), &gEfiWinNtConsoleGuid, - PcdToken(PcdWinNtGop), &gEfiWinNtGopGuid, - PcdToken(PcdWinNtSerialPort), &gEfiWinNtSerialPortGuid, - PcdToken(PcdWinNtFileSystem), &gEfiWinNtFileSystemGuid, - PcdToken(PcdWinNtVirtualDisk), &gEfiWinNtVirtualDisksGuid, - PcdToken(PcdWinNtPhysicalDisk), &gEfiWinNtPhysicalDisksGuid, - PcdToken(PcdWinNtCpuModel), &gEfiWinNtCPUModelGuid, - PcdToken(PcdWinNtCpuSpeed), &gEfiWinNtCPUSpeedGuid, - PcdToken(PcdWinNtMemorySize), &gEfiWinNtMemoryGuid +//static NT_PCD_ENTRY mPcdEnvironment[] = { +// PcdToken(PcdWinNtConsole), &gEfiWinNtConsoleGuid, +// PcdToken(PcdWinNtGop), &gEfiWinNtGopGuid, +// PcdToken(PcdWinNtSerialPort), &gEfiWinNtSerialPortGuid, +// PcdToken(PcdWinNtFileSystem), &gEfiWinNtFileSystemGuid, +// PcdToken(PcdWinNtVirtualDisk), &gEfiWinNtVirtualDisksGuid, +// PcdToken(PcdWinNtPhysicalDisk), &gEfiWinNtPhysicalDisksGuid, +// PcdToken(PcdWinNtCpuModel), &gEfiWinNtCPUModelGuid, +// PcdToken(PcdWinNtCpuSpeed), &gEfiWinNtCPUSpeedGuid, +// PcdToken(PcdWinNtMemorySize), &gEfiWinNtMemoryGuid +//}; +typedef struct { + CHAR16 *Variable; + EFI_GUID *DevicePathGuid; +} NT_ENVIRONMENT_VARIABLE_ENTRY; + +static NT_ENVIRONMENT_VARIABLE_ENTRY mPcdEnvironment[] = { + L"Bus Driver Console Window", &gEfiWinNtConsoleGuid, + L"UGA Window 1!UGA Window 2", &gEfiWinNtGopGuid, + L"COM1!COM2", &gEfiWinNtSerialPortGuid, + L".!..\\..\\..\\..\\EdkShellBinPkg\\bin\\ia32\\Apps", &gEfiWinNtFileSystemGuid, + L"FW;40960;512", &gEfiWinNtVirtualDisksGuid, + L"E:RW;245760;512", &gEfiWinNtPhysicalDisksGuid, + L"Intel(R) Processor Model", &gEfiWinNtCPUModelGuid, + L"3000", &gEfiWinNtCPUSpeedGuid, + L"64!64", &gEfiWinNtMemoryGuid }; /** @@ -430,7 +452,8 @@ Returns: // InstallStatus = EFI_NOT_FOUND; for (Index = 0; Index < NT_PCD_ARRAY_SIZE; Index++) { - PcdTempStr = (VOID *)LibPcdGetPtr (mPcdEnvironment[Index].Token); + //PcdTempStr = (VOID *)LibPcdGetPtr (mPcdEnvironment[Index].Token); + PcdTempStr = mPcdEnvironment[Index].Variable; ASSERT (PcdTempStr != NULL); TempStrSize = StrLen (PcdTempStr); diff --git a/Nt32Pkg/WinNtFlashMapPei/FlashMap.inf b/Nt32Pkg/WinNtFlashMapPei/FlashMap.inf index bcd1367c38..bd96ed70cc 100644 --- a/Nt32Pkg/WinNtFlashMapPei/FlashMap.inf +++ b/Nt32Pkg/WinNtFlashMapPei/FlashMap.inf @@ -126,10 +126,10 @@ ################################################################################ [PcdsDynamic.common] - PcdFlashNvStorageFtwWorkingSize|gEfiGenericPlatformTokenSpaceGuid - PcdFlashNvStorageFtwWorkingBase|gEfiGenericPlatformTokenSpaceGuid - PcdFlashNvStorageFtwSpareSize|gEfiGenericPlatformTokenSpaceGuid - PcdFlashNvStorageFtwSpareBase|gEfiGenericPlatformTokenSpaceGuid - PcdFlashNvStorageVariableSize|gEfiGenericPlatformTokenSpaceGuid - PcdFlashNvStorageVariableBase|gEfiGenericPlatformTokenSpaceGuid + PcdFlashNvStorageFtwWorkingSize|gEfiMdeModulePkgTokenSpaceGuid + PcdFlashNvStorageFtwWorkingBase|gEfiMdeModulePkgTokenSpaceGuid + PcdFlashNvStorageFtwSpareSize|gEfiMdeModulePkgTokenSpaceGuid + PcdFlashNvStorageFtwSpareBase|gEfiMdeModulePkgTokenSpaceGuid + PcdFlashNvStorageVariableSize|gEfiMdeModulePkgTokenSpaceGuid + PcdFlashNvStorageVariableBase|gEfiMdeModulePkgTokenSpaceGuid -- cgit v1.2.3