EFI_WIN_NT_VIRTUAL_DISKS - maps to a device emulated by a file\r
EFI_WIN_NT_FILE_SYSTEM - mouts a directory as a file system\r
EFI_WIN_NT_CONSOLE - make a logical comand line window (only one!)\r
-EFI_WIN_NT_UGA - Builds UGA Windows of Width and Height\r
+EFI_WIN_NT_GOP - Builds GOP Windows of Width and Height\r
EFI_WIN_NT_SERIAL_PORT - maps physical serial ports\r
\r
<F>ixed - Fixed disk like a hard drive.\r
Declaring a text console window with the title "My EFI Console" woild look like:\r
EFI_WIN_NT_CONSOLE=My EFI Console\r
\r
- EFI_WIN_NT_UGA =\r
+ EFI_WIN_NT_GOP =\r
<width> <height>[!...]\r
\r
- Declaring a two UGA windows with resolutions of 800x600 and 1024x768 would look like:\r
- Example : EFI_WIN_NT_UGA=800 600!1024 768\r
+ Declaring a two GOP windows with resolutions of 800x600 and 1024x768 would look like:\r
+ Example : EFI_WIN_NT_GOP=800 600!1024 768\r
\r
EFI_WIN_NT_SERIAL_PORT =\r
<port name>[!...]\r
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
};\r
\r
/**\r
The user Entry Point for module WinNtBusDriver. The user code starts with this function.\r
\r
- @param[in] ImageHandle The firmware allocated handle for the EFI image. \r
+ @param[in] ImageHandle The firmware allocated handle for the EFI image.\r
@param[in] SystemTable A pointer to the EFI System Table.\r
- \r
+\r
@retval EFI_SUCCESS The entry point is executed successfully.\r
@retval other Some error occurs when executing this entry point.\r
\r
//\r
// Install driver model protocol(s).\r
//\r
- Status = EfiLibInstallAllDriverProtocols (\r
+ Status = EfiLibInstallDriverBindingComponentName2 (\r
ImageHandle,\r
SystemTable,\r
&gWinNtBusDriverBinding,\r
ImageHandle,\r
&gWinNtBusDriverComponentName,\r
- NULL,\r
- NULL\r
+ &gWinNtBusDriverComponentName2\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r
WinNtBusDevice->Signature = WIN_NT_BUS_DEVICE_SIGNATURE;\r
WinNtBusDevice->ControllerNameTable = NULL;\r
\r
- AddUnicodeString (\r
+ AddUnicodeString2 (\r
"eng",\r
gWinNtBusDriverComponentName.SupportedLanguages,\r
&WinNtBusDevice->ControllerNameTable,\r
- L"Windows Bus Controller"\r
+ L"Windows Bus Controller",\r
+ TRUE\r
+ );\r
+ AddUnicodeString2 (\r
+ "en",\r
+ gWinNtBusDriverComponentName2.SupportedLanguages,\r
+ &WinNtBusDevice->ControllerNameTable,\r
+ L"Windows Bus Controller",\r
+ FALSE\r
);\r
\r
+\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
&ControllerHandle,\r
&gWinNtBusDriverGuid,\r
//\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
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- AddUnicodeString (\r
+ AddUnicodeString2 (\r
"eng",\r
gWinNtBusDriverComponentName.SupportedLanguages,\r
&WinNtDevice->ControllerNameTable,\r
- ComponentName\r
+ ComponentName,\r
+ TRUE\r
);\r
+ AddUnicodeString2 (\r
+ "en",\r
+ gWinNtBusDriverComponentName2.SupportedLanguages,\r
+ &WinNtDevice->ControllerNameTable,\r
+ ComponentName,\r
+ FALSE\r
+ );\r
+\r
\r
WinNtDevice->WinNtIo.TypeGuid = mPcdEnvironment[Index].DevicePathGuid;\r
WinNtDevice->WinNtIo.InstanceNumber = Count;\r