From 816f80af00ea49313d80c76a11421c15f9a1f6e9 Mon Sep 17 00:00:00 2001 From: jbjohnso Date: Wed, 21 Sep 2011 19:34:11 +0000 Subject: [PATCH] A windows utility to detect when booted from EFI git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@10595 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd --- .../share/xcat/netboot/windows/detectefi.cpp | 19 ++++++++++++++++++ .../share/xcat/netboot/windows/detectefi.exe | Bin 0 -> 52224 bytes 2 files changed, 19 insertions(+) create mode 100755 xCAT-server/share/xcat/netboot/windows/detectefi.cpp create mode 100755 xCAT-server/share/xcat/netboot/windows/detectefi.exe diff --git a/xCAT-server/share/xcat/netboot/windows/detectefi.cpp b/xCAT-server/share/xcat/netboot/windows/detectefi.cpp new file mode 100755 index 000000000..0ae0db057 --- /dev/null +++ b/xCAT-server/share/xcat/netboot/windows/detectefi.cpp @@ -0,0 +1,19 @@ +/* Compile this with cl.exe from MS SDK, e.g. 'cl efidetect.cpp', that is all. */ +/* IBM(c) 2011 EPL license http://www.eclipse.org/legal/epl-v10.html */ + +#include +#include + + +int main(int argc, char* argv[]) +{ + GetFirmwareEnvironmentVariableA("","{00000000-0000-0000-0000-000000000000}",NULL,0); + if (GetLastError() == ERROR_INVALID_FUNCTION) { // This.. is.. LEGACY BIOOOOOOOOS.... + printf("Legacy"); + return 1; + } else { + printf("UEFI"); + return 0; + } + return 0; +} diff --git a/xCAT-server/share/xcat/netboot/windows/detectefi.exe b/xCAT-server/share/xcat/netboot/windows/detectefi.exe new file mode 100755 index 0000000000000000000000000000000000000000..5844afd3cd430cca7c953aac3d497bb2608bf9a6 GIT binary patch literal 52224 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≪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