Translated,\r
&TranslatedSize\r
);\r
- while (!RETURN_ERROR (Status)) {\r
- EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
+ while (Status == EFI_SUCCESS ||\r
+ Status == EFI_UNSUPPORTED)\r
+ {\r
+ if (Status == EFI_SUCCESS) {\r
+ EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
\r
- //\r
- // Convert the UEFI devpath prefix to binary representation.\r
- //\r
- ASSERT (Translated[TranslatedSize] == L'\0');\r
- DevicePath = ConvertTextToDevicePath (Translated);\r
- if (DevicePath == NULL) {\r
- Status = RETURN_OUT_OF_RESOURCES;\r
- goto FreeExtraPciRoots;\r
- }\r
+ //\r
+ // Convert the UEFI devpath prefix to binary representation.\r
+ //\r
+ ASSERT (Translated[TranslatedSize] == L'\0');\r
+ DevicePath = ConvertTextToDevicePath (Translated);\r
+ if (DevicePath == NULL) {\r
+ Status = RETURN_OUT_OF_RESOURCES;\r
+ goto FreeExtraPciRoots;\r
+ }\r
\r
- UnicodeSPrint (\r
- VariableName,\r
- sizeof (VariableName),\r
- L"QemuBootOrder%04d",\r
- VariableIndex++\r
- );\r
- DEBUG ((DEBUG_INFO, "%a: %s = %s\n", __FUNCTION__, VariableName, Translated));\r
- gRT->SetVariable (\r
- VariableName,\r
- &gQemuBootOrderGuid,\r
- EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,\r
- GetDevicePathSize (DevicePath),\r
- DevicePath\r
- );\r
- FreePool (DevicePath);\r
+ UnicodeSPrint (\r
+ VariableName,\r
+ sizeof (VariableName),\r
+ L"QemuBootOrder%04d",\r
+ VariableIndex++\r
+ );\r
+ DEBUG ((DEBUG_INFO, "%a: %s = %s\n", __FUNCTION__, VariableName, Translated));\r
+ gRT->SetVariable (\r
+ VariableName,\r
+ &gQemuBootOrderGuid,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,\r
+ GetDevicePathSize (DevicePath),\r
+ DevicePath\r
+ );\r
+ FreePool (DevicePath);\r
+ }\r
\r
//\r
// Move to the next OFW devpath.\r