mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 17:05:46 +00:00
[BOOTLIB]:
- Fix a regression - Add a few more flags - Don't look for BCD in "Microsoft" directory svn path=/trunk/; revision=69451
This commit is contained in:
parent
b25523b5e3
commit
10dbbf573b
5 changed files with 29 additions and 10 deletions
|
@ -196,7 +196,7 @@ BmFwInitializeBootDirectoryPath (
|
|||
}
|
||||
|
||||
/* 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 @@ BmOpenDataStore (
|
|||
|
||||
/* 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 @@ BmMain (
|
|||
PBL_RETURN_ARGUMENTS ReturnArguments;
|
||||
BOOLEAN RebootOnError;
|
||||
PGUID AppIdentifier;
|
||||
HANDLE BcdHandle;
|
||||
// HANDLE BcdHandle;
|
||||
|
||||
EfiPrintf(L"ReactOS UEFI Boot Manager Initializing...\n");
|
||||
|
||||
|
@ -734,8 +733,8 @@ BmMain (
|
|||
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");
|
||||
|
|
|
@ -94,6 +94,9 @@
|
|||
#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
|
||||
#define BL_DEVICE_ENTRY_WRITE_ACCESS 0x04
|
||||
|
@ -226,6 +229,7 @@ typedef enum _BL_MEMORY_TYPE
|
|||
BlLoaderReferencePage = 0xD0000007,
|
||||
BlLoaderRamDisk = 0xD0000008,
|
||||
BlLoaderData = 0xD000000A,
|
||||
BlLoaderRegistry = 0xD000000B,
|
||||
BlLoaderBlockMemory = 0xD000000C,
|
||||
BlLoaderSelfMap = 0xD000000F,
|
||||
|
||||
|
@ -1639,6 +1643,21 @@ BlDeviceReadAtOffset (
|
|||
_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
|
||||
|
|
|
@ -1914,8 +1914,8 @@ BlpDeviceOpen (
|
|||
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 @@ BlpDeviceOpen (
|
|||
/* 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 */
|
||||
|
|
|
@ -797,7 +797,6 @@ EtfsMount (
|
|||
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;
|
||||
|
||||
|
|
|
@ -345,7 +345,7 @@ FileIoOpen (
|
|||
Unknown,
|
||||
FileTableCompareWithSubsetAttributes,
|
||||
&DirectoryEntry);
|
||||
if (NT_SUCCESS(Status))
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
goto Quickie;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue