+// Warn the user if legacy OS scans are enabled but the firmware or this
+// application can't support them....
+static VOID WarnIfLegacyProblems() {
+ BOOLEAN found = FALSE;
+ UINTN i = 0;
+
+ if (GlobalConfig.LegacyType == LEGACY_TYPE_NONE) {
+ do {
+ if (GlobalConfig.ScanFor[i] == 'h' || GlobalConfig.ScanFor[i] == 'b' || GlobalConfig.ScanFor[i] == 'c')
+ found = TRUE;
+ i++;
+ } while ((i < NUM_SCAN_OPTIONS) && (!found));
+ if (found) {
+ Print(L"NOTE: refind.conf's 'scanfor' line specifies scanning for one or more legacy\n");
+ Print(L"(BIOS) boot options; however, this is not possible because ");
+#ifdef __MAKEWITH_TIANO
+ Print(L"your computer lacks\n");
+ Print(L"the necessary Compatibility Support Module (CSM) support.\n");
+#else
+ Print(L"this program was\n");
+ Print(L"compiled without the necessary support. Please visit\n");
+ Print(L"http://www.rodsbooks.com/refind/getting.html and download and install a rEFInd\n");
+ Print(L"binary built with the TianoCore EDK2 to enable legacy boot support.\n");
+#endif
+ PauseForKey();
+ } // if (found)
+ } // if no legacy support
+} // static VOID WarnIfLegacyProblems()
+