]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Nt32Pkg/WinNtBusDriverDxe/WinNtBusDriver.c
1) PcdFlashNvStorageFtwWorkingSize, PcdFlashNvStorageFtwWorkingBase, PcdFlashNvStorag...
[mirror_edk2.git] / Nt32Pkg / WinNtBusDriverDxe / WinNtBusDriver.c
index 999fb0cc5d85094be8ddfd76d7b53c276d7a4b21..a0baa751e6e453363a98309f15bd76bed9174cc0 100644 (file)
@@ -138,22 +138,44 @@ EFI_DRIVER_BINDING_PROTOCOL           gWinNtBusDriverBinding = {
   NULL\r
 };\r
 \r
-#define NT_PCD_ARRAY_SIZE (sizeof(mPcdEnvironment)/sizeof(NT_PCD_ENTRY))\r
+#define NT_PCD_ARRAY_SIZE (sizeof(mPcdEnvironment)/sizeof(NT_ENVIRONMENT_VARIABLE_ENTRY))\r
+\r
+//\r
+// BUGBUG: Because currently the new build tools does not support dynamic PCD \r
+//         following dynamic PCd will be hard code. After tools ready, we should\r
+//         use dynmanic PCD AQAP.\r
+//\r
 \r
 //\r
 // Table to map NT Environment variable to the GUID that should be in\r
 // device path.\r
 //\r
-static NT_PCD_ENTRY  mPcdEnvironment[] = {\r
-  PcdToken(PcdWinNtConsole),       &gEfiWinNtConsoleGuid,\r
-  PcdToken(PcdWinNtGop),           &gEfiWinNtGopGuid,\r
-  PcdToken(PcdWinNtSerialPort),    &gEfiWinNtSerialPortGuid,\r
-  PcdToken(PcdWinNtFileSystem),    &gEfiWinNtFileSystemGuid,\r
-  PcdToken(PcdWinNtVirtualDisk),   &gEfiWinNtVirtualDisksGuid,\r
-  PcdToken(PcdWinNtPhysicalDisk),  &gEfiWinNtPhysicalDisksGuid,\r
-  PcdToken(PcdWinNtCpuModel),      &gEfiWinNtCPUModelGuid,\r
-  PcdToken(PcdWinNtCpuSpeed),      &gEfiWinNtCPUSpeedGuid,\r
-  PcdToken(PcdWinNtMemorySize),    &gEfiWinNtMemoryGuid\r
+//static NT_PCD_ENTRY  mPcdEnvironment[] = {\r
+//  PcdToken(PcdWinNtConsole),       &gEfiWinNtConsoleGuid,\r
+//  PcdToken(PcdWinNtGop),           &gEfiWinNtGopGuid,\r
+//  PcdToken(PcdWinNtSerialPort),    &gEfiWinNtSerialPortGuid,\r
+//  PcdToken(PcdWinNtFileSystem),    &gEfiWinNtFileSystemGuid,\r
+//  PcdToken(PcdWinNtVirtualDisk),   &gEfiWinNtVirtualDisksGuid,\r
+//  PcdToken(PcdWinNtPhysicalDisk),  &gEfiWinNtPhysicalDisksGuid,\r
+//  PcdToken(PcdWinNtCpuModel),      &gEfiWinNtCPUModelGuid,\r
+//  PcdToken(PcdWinNtCpuSpeed),      &gEfiWinNtCPUSpeedGuid,\r
+//  PcdToken(PcdWinNtMemorySize),    &gEfiWinNtMemoryGuid\r
+//};\r
+typedef struct {\r
+  CHAR16    *Variable;\r
+  EFI_GUID  *DevicePathGuid;\r
+} NT_ENVIRONMENT_VARIABLE_ENTRY;\r
+\r
+static NT_ENVIRONMENT_VARIABLE_ENTRY  mPcdEnvironment[] = {\r
+  L"Bus Driver Console Window",         &gEfiWinNtConsoleGuid,\r
+  L"UGA Window 1!UGA Window 2",         &gEfiWinNtGopGuid,\r
+  L"COM1!COM2",                        &gEfiWinNtSerialPortGuid,\r
+  L".!..\\..\\..\\..\\EdkShellBinPkg\\bin\\ia32\\Apps",      &gEfiWinNtFileSystemGuid,\r
+  L"FW;40960;512",                     &gEfiWinNtVirtualDisksGuid,\r
+  L"E:RW;245760;512",                  &gEfiWinNtPhysicalDisksGuid,\r
+  L"Intel(R) Processor Model",         &gEfiWinNtCPUModelGuid,\r
+  L"3000",                             &gEfiWinNtCPUSpeedGuid,\r
+  L"64!64",                             &gEfiWinNtMemoryGuid\r
 };\r
 \r
 /**\r
@@ -430,7 +452,8 @@ Returns:
   //\r
   InstallStatus   = EFI_NOT_FOUND;\r
   for (Index = 0; Index < NT_PCD_ARRAY_SIZE; Index++) {\r
-    PcdTempStr = (VOID *)LibPcdGetPtr (mPcdEnvironment[Index].Token);\r
+    //PcdTempStr = (VOID *)LibPcdGetPtr (mPcdEnvironment[Index].Token);\r
+    PcdTempStr = mPcdEnvironment[Index].Variable;\r
     ASSERT (PcdTempStr != NULL);\r
 \r
     TempStrSize = StrLen (PcdTempStr);\r