Enable dynamic PCD for windowBusDriver
[mirror_edk2.git] / Nt32Pkg / WinNtBusDriverDxe / WinNtBusDriver.c
index a0baa75..999fb0c 100644 (file)
@@ -138,44 +138,22 @@ EFI_DRIVER_BINDING_PROTOCOL           gWinNtBusDriverBinding = {
   NULL\r
 };\r
 \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
+#define NT_PCD_ARRAY_SIZE (sizeof(mPcdEnvironment)/sizeof(NT_PCD_ENTRY))\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
-//};\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
+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
 \r
 /**\r
@@ -452,8 +430,7 @@ 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 = mPcdEnvironment[Index].Variable;\r
+    PcdTempStr = (VOID *)LibPcdGetPtr (mPcdEnvironment[Index].Token);\r
     ASSERT (PcdTempStr != NULL);\r
 \r
     TempStrSize = StrLen (PcdTempStr);\r