}\r
};\r
\r
+HII_VENDOR_DEVICE_PATH mBmmHiiVendorDevicePath = {\r
+ {\r
+ {\r
+ HARDWARE_DEVICE_PATH,\r
+ HW_VENDOR_DP,\r
+ {\r
+ (UINT8) (sizeof (VENDOR_DEVICE_PATH)),\r
+ (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)\r
+ }\r
+ },\r
+ //\r
+ // {165A028F-0BB2-4b5f-8747-77592E3F6499}\r
+ //\r
+ { 0x165a028f, 0xbb2, 0x4b5f, { 0x87, 0x47, 0x77, 0x59, 0x2e, 0x3f, 0x64, 0x99 } }\r
+ },\r
+ {\r
+ END_DEVICE_PATH_TYPE,\r
+ END_ENTIRE_DEVICE_PATH_SUBTYPE,\r
+ { \r
+ (UINT8) (END_DEVICE_PATH_LENGTH),\r
+ (UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)\r
+ }\r
+ }\r
+};\r
+\r
+HII_VENDOR_DEVICE_PATH mFeHiiVendorDevicePath = {\r
+ {\r
+ {\r
+ HARDWARE_DEVICE_PATH,\r
+ HW_VENDOR_DP,\r
+ {\r
+ (UINT8) (sizeof (VENDOR_DEVICE_PATH)),\r
+ (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)\r
+ }\r
+ },\r
+ //\r
+ // {91DB4238-B0C8-472e-BBCF-F3A6541010F4}\r
+ //\r
+ { 0x91db4238, 0xb0c8, 0x472e, { 0xbb, 0xcf, 0xf3, 0xa6, 0x54, 0x10, 0x10, 0xf4 } }\r
+ },\r
+ {\r
+ END_DEVICE_PATH_TYPE,\r
+ END_ENTIRE_DEVICE_PATH_SUBTYPE,\r
+ { \r
+ (UINT8) (END_DEVICE_PATH_LENGTH),\r
+ (UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)\r
+ }\r
+ }\r
+};\r
\r
EFI_GUID EfiLegacyDevOrderGuid = EFI_LEGACY_DEV_ORDER_VARIABLE_GUID;\r
EFI_GUID mBootMaintGuid = BOOT_MAINT_FORMSET_GUID;\r
BmmCallbackInfo->FeDisplayContext = UNKNOWN_CONTEXT;\r
\r
//\r
- // Create driver handle used by HII database\r
+ // Install Device Path Protocol and Config Access protocol to driver handle\r
//\r
- Status = HiiLibCreateHiiDriverHandle (&BmmCallbackInfo->BmmDriverHandle);\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
-\r
- //\r
- // Install Config Access protocol to driver handle\r
- //\r
- Status = gBS->InstallProtocolInterface (\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
&BmmCallbackInfo->BmmDriverHandle,\r
+ &gEfiDevicePathProtocolGuid,\r
+ &mBmmHiiVendorDevicePath,\r
&gEfiHiiConfigAccessProtocolGuid,\r
- EFI_NATIVE_INTERFACE,\r
- &BmmCallbackInfo->BmmConfigAccess\r
+ &BmmCallbackInfo->BmmConfigAccess,\r
+ NULL\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
//\r
- // Create driver handle used by HII database\r
- //\r
- Status = HiiLibCreateHiiDriverHandle (&BmmCallbackInfo->FeDriverHandle);\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
-\r
- //\r
- // Install Config Access protocol to driver handle\r
+ // Install Device Path Protocol and Config Access protocol to driver handle\r
//\r
- Status = gBS->InstallProtocolInterface (\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
&BmmCallbackInfo->FeDriverHandle,\r
+ &gEfiDevicePathProtocolGuid,\r
+ &mFeHiiVendorDevicePath,\r
&gEfiHiiConfigAccessProtocolGuid,\r
- EFI_NATIVE_INTERFACE,\r
- &BmmCallbackInfo->FeConfigAccess\r
+ &BmmCallbackInfo->FeConfigAccess,\r
+ NULL\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r