]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
fix EFI detection on Windows
authorAndrey Borzenkov <arvidjaar@gmail.com>
Wed, 25 Dec 2013 18:36:28 +0000 (22:36 +0400)
committerAndrey Borzenkov <arvidjaar@gmail.com>
Wed, 25 Dec 2013 18:36:28 +0000 (22:36 +0400)
We are on legacy BIOS if GetFirmwareEnvironmentVariable fails (returns
zero) *and* extended error information is ERROR_INVALID_FUNCTION.

Cf. http://msdn.microsoft.com/en-us/library/windows/desktop/ms724325%28v=vs.85%29.aspx

ChangeLog
grub-core/osdep/windows/platform.c

index 41bcebfb32109eb9cca77c0b2cc469f48dd6243f..21ec1c77c5774dd8648cf7c5e37ca8d11d7596f7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-12-25  Andrey Borzenkov <arvidjaar@gmail.com>
+
+       * grub-core/osdep/windows/platform.c (get_platform): Fix EFI
+       detection.
+
 2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * configure.ac: Set version to 2.02~beta2.
index f2b9d714329c56c887d98bfbd7d53803e7640bb3..d217efe17040d62103372c825aee3b2521e9c18f 100644 (file)
@@ -100,7 +100,7 @@ get_platform (void)
 
   if (!func_GetFirmwareEnvironmentVariableW (L"BootOrder", GRUB_EFI_GLOBAL_VARIABLE_GUID_WINDOWS_STR,
                                             buffer, sizeof (buffer))
-      && GetLastError () != ERROR_INVALID_FUNCTION)
+      && GetLastError () == ERROR_INVALID_FUNCTION)
     {
       platform = PLAT_BIOS;
       return;