Author: ion Date: Mon Oct 5 04:51:32 2015 New Revision: 69451
URL: http://svn.reactos.org/svn/reactos?rev=69451&view=rev Log: [BOOTLIB]: - Fix a regression - Add a few more flags - Don't look for BCD in "Microsoft" directory
Modified: trunk/reactos/boot/environ/app/bootmgr/bootmgr.c trunk/reactos/boot/environ/include/bl.h trunk/reactos/boot/environ/lib/io/device.c trunk/reactos/boot/environ/lib/io/etfs.c trunk/reactos/boot/environ/lib/io/file.c
Modified: trunk/reactos/boot/environ/app/bootmgr/bootmgr.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/app/bootmgr/bo... ============================================================================== --- trunk/reactos/boot/environ/app/bootmgr/bootmgr.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/app/bootmgr/bootmgr.c [iso-8859-1] Mon Oct 5 04:51:32 2015 @@ -196,7 +196,7 @@ }
/* Save the boot directory */ - BootDirectory = L"\EFI\Microsoft\Boot"; + BootDirectory = L"\EFI\Boot"; /* Should be EFI\ReactOS\Boot */
Quickie: /* Free all the allocations we made */ @@ -560,7 +560,6 @@
/* Otherwise, compute the hardcoded path of the BCD */ Status = BmpFwGetFullPath(L"\BCD", &FullPath); - EfiPrintf(L"Status: %lx %s\r\n", Status, FullPath); if (!NT_SUCCESS(Status)) { /* User the raw path */ @@ -686,7 +685,7 @@ PBL_RETURN_ARGUMENTS ReturnArguments; BOOLEAN RebootOnError; PGUID AppIdentifier; - HANDLE BcdHandle; + // HANDLE BcdHandle;
EfiPrintf(L"ReactOS UEFI Boot Manager Initializing...\n");
@@ -734,8 +733,8 @@ BmFwInitializeBootDirectoryPath();
/* Load and initialize the boot configuration database (BCD) */ - Status = BmOpenDataStore(&BcdHandle); - EfiPrintf(L"BCD Open: %lx\r\n", Status); + //Status = BmOpenDataStore(&BcdHandle); + //EfiPrintf(L"BCD Open: %lx\r\n", Status);
/* do more stuff!! */ EfiPrintf(L"We are A-OK!\r\n");
Modified: trunk/reactos/boot/environ/include/bl.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/include/bl.h?r... ============================================================================== --- trunk/reactos/boot/environ/include/bl.h [iso-8859-1] (original) +++ trunk/reactos/boot/environ/include/bl.h [iso-8859-1] Mon Oct 5 04:51:32 2015 @@ -93,6 +93,9 @@ #define BL_FILE_WRITE_ACCESS 0x02 #define BL_DIRECTORY_ACCESS 0x04 #define BL_UNKNOWN_ACCESS 0x10 + +#define BL_DEVICE_READ_ACCESS 0x01 +#define BL_DEVICE_WRITE_ACCESS 0x02
#define BL_DEVICE_ENTRY_OPENED 0x01 #define BL_DEVICE_ENTRY_READ_ACCESS 0x02 @@ -226,6 +229,7 @@ BlLoaderReferencePage = 0xD0000007, BlLoaderRamDisk = 0xD0000008, BlLoaderData = 0xD000000A, + BlLoaderRegistry = 0xD000000B, BlLoaderBlockMemory = 0xD000000C, BlLoaderSelfMap = 0xD000000F,
@@ -1639,6 +1643,21 @@ _Out_ PULONG BytesRead );
+/* IMAGE ROUTINES ************************************************************/ + +NTSTATUS +BlImgLoadImageWithProgress2 ( + _In_ ULONG DeviceId, + _In_ BL_MEMORY_TYPE MemoryType, + _In_ PWCHAR FileName, + _Inout_ PVOID* MappedBase, + _Inout_ PULONG MappedSize, + _In_ ULONG ImageFlags, + _In_ BOOLEAN ShowProgress, + _Out_opt_ PUCHAR* HashBuffer, + _Out_opt_ PULONG HashSize + ); + /* FILE I/O ROUTINES *********************************************************/
NTSTATUS
Modified: trunk/reactos/boot/environ/lib/io/device.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/io/device.... ============================================================================== --- trunk/reactos/boot/environ/lib/io/device.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/lib/io/device.c [iso-8859-1] Mon Oct 5 04:51:32 2015 @@ -1914,8 +1914,8 @@ goto Quickie; }
- /* Check for unsupported flags */ - if (!(Flags & 3)) + /* Make sure both read and write access are set */ + if (!(Flags & (BL_DEVICE_READ_ACCESS | BL_DEVICE_WRITE_ACCESS))) { /* Bail out */ Status = STATUS_INVALID_PARAMETER; @@ -1982,7 +1982,9 @@ /* Fill it out */ RtlZeroMemory(DeviceEntry, sizeof(*DeviceEntry)); DeviceEntry->ReferenceCount = 1; - DeviceEntry->Flags |= 7; + DeviceEntry->Flags |= (BL_DEVICE_ENTRY_OPENED | + BL_DEVICE_ENTRY_READ_ACCESS | + BL_DEVICE_ENTRY_WRITE_ACCESS); DeviceEntry->Unknown = Unknown;
/* Save flag 8 if needed */
Modified: trunk/reactos/boot/environ/lib/io/etfs.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/io/etfs.c?... ============================================================================== --- trunk/reactos/boot/environ/lib/io/etfs.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/lib/io/etfs.c [iso-8859-1] Mon Oct 5 04:51:32 2015 @@ -797,7 +797,6 @@ EtfsFile->Offset = EtfsDevice->RootDirOffset; EtfsFile->DirOffset = 0; EtfsFile->Size = EtfsDevice->RootDirSize; - EfiPrintf(L"Root offset: %I64x Size: %I64x\r\n", EtfsFile->Offset, EtfsFile->Size); EtfsFile->FsName = L"cdfs"; *FileEntry = RootEntry;
Modified: trunk/reactos/boot/environ/lib/io/file.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/io/file.c?... ============================================================================== --- trunk/reactos/boot/environ/lib/io/file.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/lib/io/file.c [iso-8859-1] Mon Oct 5 04:51:32 2015 @@ -345,7 +345,7 @@ Unknown, FileTableCompareWithSubsetAttributes, &DirectoryEntry); - if (NT_SUCCESS(Status)) + if (!NT_SUCCESS(Status)) { goto Quickie; }