Author: ion
Date: Fri Jan  8 01:18:08 2016
New Revision: 70542

URL: http://svn.reactos.org/svn/reactos?rev=70542&view=rev
Log:
Three tiny squirmy subtle bugs combined themselves with the bug that was just 
fixed to make bootmgfw believe it was being booted from a raw removable disk 
(floppy). Because bootmgfw now correctly enumerates boot devices and detects 
the DVD/CDROM media, it could no longer 'find itself', believing it was on a 
floppy.
[BOOTLIB]: When failing to find a block device, keep going searching for more, 
instead of giving up (critical, because the CDROM FAT12 image is now device 
path #1, not #0).
[BOOTMGR]: Correctly use the right logical operator in EfiInitpGetDeviceNode to 
get the deepest-level media device node. We now get the CDROM node, not the raw 
node.
[CDMAKE]: Don't actually create an EFI/BOOT directory on the CDROM itself, but 
rather in the FAT12 image. Otherwise, this can confuse UEFI implementations to 
boot the boot manager off the raw CDROM, instead of the FAT12 image on the 
CDROM.

Modified:
    trunk/reactos/boot/environ/CMakeLists.txt
    trunk/reactos/boot/environ/app/bootmgr/bootmgr.c
    trunk/reactos/boot/environ/app/bootmgr/efiemu.c
    trunk/reactos/boot/environ/lib/io/device.c

Modified: trunk/reactos/boot/environ/CMakeLists.txt
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/CMakeLists.txt?rev=70542&r1=70541&r2=70542&view=diff
==============================================================================
--- trunk/reactos/boot/environ/CMakeLists.txt   [iso-8859-1] (original)
+++ trunk/reactos/boot/environ/CMakeLists.txt   [iso-8859-1] Fri Jan  8 
01:18:08 2016
@@ -105,5 +105,3 @@
 
 add_dependencies(bootmgfw asm bugcodes)
 
-add_cd_file(TARGET bootmgfw FILE ${_bootmgfw_output_file} DESTINATION efi/boot 
NO_CAB FOR bootcd regtest NAME_ON_CD boot${EFI_PLATFORM_ID}.efi)
-

Modified: trunk/reactos/boot/environ/app/bootmgr/bootmgr.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/app/bootmgr/bootmgr.c?rev=70542&r1=70541&r2=70542&view=diff
==============================================================================
--- trunk/reactos/boot/environ/app/bootmgr/bootmgr.c    [iso-8859-1] (original)
+++ trunk/reactos/boot/environ/app/bootmgr/bootmgr.c    [iso-8859-1] Fri Jan  8 
01:18:08 2016
@@ -1263,7 +1263,7 @@
         if (!NT_SUCCESS(Status))
         {
             /* Signature invalid, fail boot */
-           // goto Failure;
+            goto Failure;
         }
     }
 

Modified: trunk/reactos/boot/environ/app/bootmgr/efiemu.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/app/bootmgr/efiemu.c?rev=70542&r1=70541&r2=70542&view=diff
==============================================================================
--- trunk/reactos/boot/environ/app/bootmgr/efiemu.c     [iso-8859-1] (original)
+++ trunk/reactos/boot/environ/app/bootmgr/efiemu.c     [iso-8859-1] Fri Jan  8 
01:18:08 2016
@@ -319,7 +319,7 @@
 
     /* Loop each device path, until we get to the end or to a file path device 
node */
     for ((NextPath = NextDevicePathNode(DevicePath));
-         !(IsDevicePathEndType(NextPath)) && ((NextPath->Type != 
MEDIA_DEVICE_PATH) &&
+         !(IsDevicePathEndType(NextPath)) && ((NextPath->Type != 
MEDIA_DEVICE_PATH) ||
                                               (NextPath->SubType != 
MEDIA_FILEPATH_DP));
          (NextPath = NextDevicePathNode(NextPath)))
     {

Modified: trunk/reactos/boot/environ/lib/io/device.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/io/device.c?rev=70542&r1=70541&r2=70542&view=diff
==============================================================================
--- trunk/reactos/boot/environ/lib/io/device.c  [iso-8859-1] (original)
+++ trunk/reactos/boot/environ/lib/io/device.c  [iso-8859-1] Fri Jan  8 
01:18:08 2016
@@ -1276,7 +1276,7 @@
         if (!NT_SUCCESS(Status))
         {
             EfiPrintf(L"EFI create failed: %lx\n", Status);
-            break;
+            continue;
         }
 
         /* Add the device entry to the device table */


Reply via email to