From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1VvtAc-0003qy-7v for mharc-grub-devel@gnu.org; Wed, 25 Dec 2013 13:27:02 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52709) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VvtAR-0003pB-FW for grub-devel@gnu.org; Wed, 25 Dec 2013 13:26:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VvtAJ-00018u-2D for grub-devel@gnu.org; Wed, 25 Dec 2013 13:26:51 -0500 Received: from mail-lb0-x22b.google.com ([2a00:1450:4010:c04::22b]:51844) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VvtAI-00018h-Qk for grub-devel@gnu.org; Wed, 25 Dec 2013 13:26:42 -0500 Received: by mail-lb0-f171.google.com with SMTP id w7so3326585lbi.2 for ; Wed, 25 Dec 2013 10:26:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id; bh=NSE5BAqK4Xl3f5y86FgbL8RFOzztpjxNp58nff97tsM=; b=W3PZODpNjFnThJgHLZrEYZo5nhyHufnj3roCIZInca1D6NpSxHI2GofV6pMovL1wmd 8qqBtWGcrvVteh+LGwt//Jsn2Ms9mC5dKe/ep31sxYxXSv6x71osbej9ykuUU0PsTL/r 8zrG+vIvzyWDvx4sOUnk01F/AZ3BrhugVDXDJbDyYg3rhhn2KFC+ohw00b8fSJSQcMDc Eaw6QPJnnRK5gaPeyk/w+wAtUhlhe/r7u4vyucFZIWfNlQr4Wo+qj1P5Myv4V3e3oX8d RJs1q3YK103qDgbyQJwDw1vElxv5Yn15ezFQUUCLCaWFUrjp4Sc4GyyJBzyis8Cvl4gm krGg== X-Received: by 10.112.17.39 with SMTP id l7mr1436691lbd.51.1387996001163; Wed, 25 Dec 2013 10:26:41 -0800 (PST) Received: from localhost.localdomain (ppp91-76-134-134.pppoe.mtu-net.ru. [91.76.134.134]) by mx.google.com with ESMTPSA id bl6sm16875627lbb.5.2013.12.25.10.26.40 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 Dec 2013 10:26:40 -0800 (PST) From: Andrey Borzenkov To: grub-devel@gnu.org Subject: [PATCH] fix EFI detection on Windows Date: Wed, 25 Dec 2013 22:26:35 +0400 Message-Id: <1387995995-3948-1-git-send-email-arvidjaar@gmail.com> X-Mailer: git-send-email 1.8.4 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c04::22b X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Dec 2013 18:27:00 -0000 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 --- grub-core/osdep/windows/platform.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grub-core/osdep/windows/platform.c b/grub-core/osdep/windows/platform.c index f2b9d71..d217efe 100644 --- a/grub-core/osdep/windows/platform.c +++ b/grub-core/osdep/windows/platform.c @@ -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; -- tg: (e8f0782..) u/windows-efi-detection (depends on: master)