forked from acidanthera/OpenCorePkg
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
OpenPartitionDxe: Initial version with APM support for <= 10.9 dmg
- Loading branch information
Showing
25 changed files
with
4,963 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
/** @file | ||
APM partitioning scheme. | ||
Copyright (c) 2016-2021, Acidanthera. All rights reserved.<BR> | ||
SPDX-License-Identifier: BSD-2-Clause-Patent | ||
**/ | ||
|
||
#ifndef APM_H | ||
#define APM_H | ||
|
||
#pragma pack(1) | ||
|
||
#define MBR_TYPE_APPLE_PARTITION_TABLE_HEADER 0x20 | ||
|
||
#define APM_ENTRY_TYPE_APM "Apple_partition_map" | ||
#define APM_ENTRY_TYPE_FREE "Apple_Free" | ||
|
||
typedef PACKED struct { | ||
UINT32 BlockStart; | ||
UINT16 NumberOfBlocks; | ||
UINT16 SystemType; | ||
} APM_DRIVER_DESCRIPTOR_MAP_ENTRY; | ||
|
||
#define APM_DRIVER_DESCRIPTOR_MAP_SIGNATURE SIGNATURE_16 ('E', 'R') | ||
|
||
// | ||
// APM Driver Descriptor Map Header | ||
// | ||
typedef PACKED struct { | ||
UINT16 Signature; | ||
UINT16 BlockSize; | ||
UINT32 BlockCount; | ||
UINT16 DeviceType; | ||
UINT16 DeviceId; | ||
UINT32 DriverData; | ||
UINT16 DriverDescriptorCount; | ||
APM_DRIVER_DESCRIPTOR_MAP_ENTRY DriverDescriptors[8]; | ||
UINT8 Reserved[430]; | ||
} APM_DRIVER_DESCRIPTOR_MAP; | ||
|
||
#define APM_ENTRY_SIGNATURE SIGNATURE_16 ('P', 'M') | ||
|
||
// | ||
// APM Entry Flags | ||
// | ||
#define APM_ENTRY_FLAGS_VALID BIT0 | ||
#define APM_ENTRY_FLAGS_ALLOCATED BIT1 | ||
#define APM_ENTRY_FLAGS_IN_USE BIT2 | ||
#define APM_ENTRY_FLAGS_BOOTABLE BIT3 | ||
#define APM_ENTRY_FLAGS_READABLE BIT4 | ||
#define APM_ENTRY_FLAGS_WRITABLE BIT5 | ||
#define APM_ENTRY_FLAGS_OS_PIC_CODE BIT6 | ||
#define APM_ENTRY_FLAGS_OS_SPECIFIC_2 BIT7 | ||
#define APM_ENTRY_FLAGS_OS_SPECIFIC_1 BIT8 | ||
#define APM_ENTRY_FLAGS_RESERVED 0xFFFFFE00 | ||
|
||
// | ||
// APM Entry Header | ||
// | ||
typedef PACKED struct { | ||
UINT16 Signature; | ||
UINT16 Reserved1; | ||
UINT32 NumberOfPartitionEntries; | ||
UINT32 PartitionStart; | ||
UINT32 PartitionSize; | ||
CHAR8 PartitionName[32]; | ||
CHAR8 PartitionType[32]; | ||
UINT32 LBAStart; | ||
UINT32 LBASize; | ||
UINT32 PartitionFlags; | ||
UINT32 BootStrapCodeLBA; | ||
UINT32 BootStrapCodeSize; | ||
UINT32 BootStrapCodeLoadAddress; | ||
UINT32 BootStrapCodeLoadAddress2; | ||
UINT32 BootStrapCodeEntry; | ||
UINT32 BootStrapCodeEntry2; | ||
UINT32 BootStrapCodeChecksum; | ||
UINT8 ProcessorType[16]; | ||
UINT32 Reserved2[32]; | ||
UINT32 Reserved3[62]; | ||
} APM_ENTRY; | ||
|
||
#pragma pack() | ||
|
||
#endif // APM_H |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.