Skip to content

Commit

Permalink
OpenPartitionDxe: Initial version with APM support for <= 10.9 dmg
Browse files Browse the repository at this point in the history
  • Loading branch information
vit9696 committed Jan 30, 2021
1 parent 21eb22e commit 09099c6
Show file tree
Hide file tree
Showing 25 changed files with 4,963 additions and 40 deletions.
1 change: 1 addition & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ OpenCore Changelog
- Fixed using `SystemUuid` from `DataHub` in non-Automatic mode for `SMBIOS`
- Dropped failsafe defaults from `Generic` to match non-Automatic mode
- Replaced `BootProtect` with `LauncherOption` and `LauncherPath`
- Added `OpenPartitionDxe` with Apple Partition Management scheme

#### v0.6.5
- Fixed installing OpenDuet on protected volumes
Expand Down
Binary file modified Docs/Configuration.pdf
Binary file not shown.
16 changes: 7 additions & 9 deletions Docs/Configuration.tex
Original file line number Diff line number Diff line change
Expand Up @@ -5511,12 +5511,10 @@ \subsection{Drivers}\label{uefidrivers}
& USB keyboard driver adding the support of \texttt{AppleKeyMapAggregator} protocols
on top of a custom USB keyboard driver implementation. This is an alternative to
builtin \texttt{KeySupport}, which may work better or worse depending on the firmware. \\
\href{https://github.com/acidanthera/OcBinaryData}{\texttt{PartitionDxe}}
& Proprietary partition management driver with Apple Partitioning Scheme support
commonly found in Apple firmware. This driver can be used to support loading
older DMG recoveries such as macOS 10.9 using Apple Partitioning Scheme.
For Sandy Bridge and earlier CPUs \texttt{PartitionDxeLegacy} driver should be
used due to the lack of \texttt{RDRAND} instruction support. \\
\href{https://github.com/acidanthera/OcBinaryData}{\texttt{OpenPartitionDxe}}\textbf{*}
& Partition management driver with Apple Partitioning Scheme support.
This driver can be used to support loading older DMG recoveries such as
macOS 10.9 using Apple Partitioning Scheme. OpenDuet already includes this driver. \\
\href{https://github.com/acidanthera/audk}{\texttt{Ps2KeyboardDxe}}\textbf{*}
& PS/2 keyboard driver from \texttt{MdeModulePkg}. \texttt{OpenDuetPkg} and some types of firmware
may not include this driver, but it is necessary for PS/2 keyboard to work.
Expand Down Expand Up @@ -6760,10 +6758,10 @@ \subsubsection{macOS 10.8 and 10.9}\label{legacy108}

\begin{itemize}
\item Disk images on these systems use Apple Partitioning Scheme
and will require the proprietary \texttt{PartitionDxe} driver
to run DMG recovery and installation. It is possible to set
and require \texttt{OpenPartitionDxe} driver to run DMG recovery
and installation (included in OpenDuet). It is possible to set
\texttt{DmgLoading} to \texttt{Disabled} to run the recovery
without DMG loading avoiding the need for \texttt{PartitionDxe}.
without DMG loading avoiding the need for \texttt{OpenPartitionDxe}.
\item Cached kernel images often do not contain family drivers
for networking (\texttt{IONetworkingFamily}) or audio
(\texttt{IOAudioFamily}) requiring the use of \texttt{Force}
Expand Down
Binary file modified Docs/Differences/Differences.pdf
Binary file not shown.
65 changes: 36 additions & 29 deletions Docs/Differences/Differences.tex
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
\documentclass[]{article}
%DIF LATEXDIFF DIFFERENCE FILE
%DIF DEL PreviousConfiguration.tex Tue Jan 5 20:10:35 2021
%DIF ADD ../Configuration.tex Sat Jan 30 13:37:11 2021
%DIF DEL PreviousConfiguration.tex Fri Jan 22 17:04:29 2021
%DIF ADD ../Configuration.tex Sun Jan 31 01:02:01 2021

\usepackage{lmodern}
\usepackage{amssymb,amsmath}
Expand Down Expand Up @@ -2747,7 +2747,7 @@ \subsection{Quirks Properties}\label{kernelpropsquirks}
a dedicated unmapped partition where the reserve blocks can be found
by the controller. In this case the trim operation can also be disabled
by setting a very low timeout. e.g. }\texttt{\DIFadd{999}}\DIFadd{. See more details
in this }\href{https://interface31.ru/tech_it/2015/04/mozhno-li-effektivno-ispolzovat-ssd-bez-podderzhki-trim.html}{article}\DIFadd{.
in this }\href{https://interface31.ru/tech_it/2015/04/mozhno-li-effektivno-ispolzovat-ssd-bez-podderzhki-trim.html}{\DIFadd{article}}\DIFadd{.
}

\item
Expand Down Expand Up @@ -3214,7 +3214,7 @@ \subsection{Boot Properties}\label{miscbootprops}
\emph{\DIFadd{Note 1}}\DIFadd{: Some types of firmware may have faulty NVRAM, no boot option support, or other
incompatibilities. While unlikely, the use of this option may even cause boot failures.
This option should be used without any warranty exclusively on the boards known to be compatible.
Check }\href{https://github.com/acidanthera/bugtracker/issues/1222}{acidanthera/bugtracker\#1222}
Check }\href{https://github.com/acidanthera/bugtracker/issues/1222}{\DIFadd{acidanthera/bugtracker\#1222}}
\DIFadd{for some known issues with Haswell and other boards.
}

Expand Down Expand Up @@ -3853,8 +3853,8 @@ \subsection{Security Properties}\label{miscsecurityprops}
\DIFdel{: Some types of firmware may have faulty NVRAM, no boot option support, or other
incompatibilities. While unlikely, the use of this option may even cause boot failures.
This option should be used without any warranty exclusively on the boards known to be compatible.
Check }%DIFDELCMD < \href{https://github.com/acidanthera/bugtracker/issues/1222}{acidanthera/bugtracker\#1222}
%DIFDELCMD < %%%
Check }\href{https://github.com/acidanthera/bugtracker/issues/1222}{\DIFdel{acidanthera/bugtracker\#1222}}
%DIFAUXCMD
\DIFdel{for some known issues with Haswell and other boards.
}%DIFDELCMD <

Expand Down Expand Up @@ -5759,12 +5759,14 @@ \subsection{Drivers}\label{uefidrivers}
& USB keyboard driver adding the support of \texttt{AppleKeyMapAggregator} protocols
on top of a custom USB keyboard driver implementation. This is an alternative to
builtin \texttt{KeySupport}, which may work better or worse depending on the firmware. \\
\href{https://github.com/acidanthera/OcBinaryData}{\texttt{PartitionDxe}}
& Proprietary partition management driver with Apple Partitioning Scheme support
commonly found in Apple firmware. This driver can be used to support loading
older DMG recoveries such as macOS 10.9 using Apple Partitioning Scheme.
For Sandy Bridge and earlier CPUs \texttt{PartitionDxeLegacy} driver should be
used due to the lack of \texttt{RDRAND} instruction support. \\
\href{https://github.com/acidanthera/OcBinaryData}{\DIFdelbegin \texttt{\DIFdel{PartitionDxe}}%DIFAUXCMD
\DIFdelend \DIFaddbegin \texttt{\DIFadd{OpenPartitionDxe}}\DIFaddend }\DIFaddbegin \textbf{\DIFadd{*}}
\DIFaddend & \DIFdelbegin \DIFdel{Proprietary partition }\DIFdelend \DIFaddbegin \DIFadd{Partition }\DIFaddend management driver with Apple Partitioning Scheme support\DIFdelbegin \DIFdel{commonly found in Apple firmware}\DIFdelend .
This driver can be used to support loading older DMG recoveries such as
macOS 10.9 using Apple Partitioning Scheme. \DIFdelbegin \DIFdel{For Sandy Bridge and earlier CPUs }\texttt{\DIFdel{PartitionDxeLegacy}} %DIFAUXCMD
\DIFdel{drivershould be
used due to the lack of }\texttt{\DIFdel{RDRAND}} %DIFAUXCMD
\DIFdel{instruction support}\DIFdelend \DIFaddbegin \DIFadd{OpenDuet already includes this driver}\DIFaddend . \\
\href{https://github.com/acidanthera/audk}{\texttt{Ps2KeyboardDxe}}\textbf{*}
& PS/2 keyboard driver from \texttt{MdeModulePkg}. \texttt{OpenDuetPkg} and some types of firmware
may not include this driver, but it is necessary for PS/2 keyboard to work.
Expand All @@ -5774,20 +5776,24 @@ \subsection{Drivers}\label{uefidrivers}
& PS/2 mouse driver from \texttt{MdeModulePkg}. Some very old laptop firmware
may not include this driver but it is necessary for the touchpad to work
in UEFI graphical interfaces such as \texttt{OpenCanopy}. \\
\DIFdelbegin %DIFDELCMD < \href{https://github.com/acidanthera/audk}{\texttt{UsbMouseDxe}}%%%
\DIFdelend \DIFaddbegin \href{https://github.com/acidanthera/OpenCorePkg}{\texttt{OpenHfsPlus}}\DIFaddend \textbf{*}
\DIFdelbegin %DIFDELCMD < \href{https://github.com/acidanthera/audk}{%%%
\texttt{\DIFdel{UsbMouseDxe}}%DIFAUXCMD
\DIFdelend \DIFaddbegin \href{https://github.com/acidanthera/OpenCorePkg}{\texttt{\DIFadd{OpenHfsPlus}}\DIFaddend }\textbf{*}
& \DIFdelbegin \DIFdel{USB mouse driver from }\texttt{\DIFdel{MdeModulePkg}}%DIFAUXCMD
\DIFdel{. Some virtual machine firmware
such as OVMF may not include this driver but it is necessary for the mouse to work
in UEFI graphical interfaces such as }\texttt{\DIFdel{OpenCanopy}}%DIFAUXCMD
\DIFdel{. }%DIFDELCMD < \\
%DIFDELCMD < \href{https://github.com/acidanthera/OpenCorePkg}{\texttt{VBoxHfs}}
%DIFDELCMD < %%%
\href{https://github.com/acidanthera/OpenCorePkg}{\texttt{\DIFdel{VBoxHfs}}%DIFAUXCMD
}
%DIFAUXCMD
%DIFDELCMD < & %%%
\DIFdelend HFS file system driver with bless support. This driver is an alternative to
a closed source \texttt{HfsPlus} driver commonly found in Apple firmware. While
it is feature complete, it is approximately 3~times slower and is yet to undergo
a security audit. \\
\DIFaddbegin \href{https://github.com/acidanthera/audk}{\texttt{UsbMouseDxe}}\textbf{\DIFadd{*}}
\DIFaddbegin \href{https://github.com/acidanthera/audk}{\texttt{\DIFadd{UsbMouseDxe}}}\textbf{\DIFadd{*}}
& \DIFadd{USB mouse driver from }\texttt{\DIFadd{MdeModulePkg}}\DIFadd{. Some virtual machine firmware
such as OVMF may not include this driver but it is necessary for the mouse to work
in UEFI graphical interfaces such as }\texttt{\DIFadd{OpenCanopy}}\DIFadd{. }\\
Expand Down Expand Up @@ -5849,7 +5855,8 @@ \subsection{Tools and Applications}\label{uefitools}
\href{https://github.com/acidanthera/OpenCorePkg}{\texttt{GopStop}}\textbf{*}
& Test GraphicsOutput protocol with a
\href{https://github.com/acidanthera/OpenCorePkg/tree/master/Application/GopStop}{simple scenario}. \\
\DIFdelbegin %DIFDELCMD < \href{https://github.com/acidanthera/OpenCorePkg}{\texttt{HdaCodecDump}}%%%
\DIFdelbegin \href{https://github.com/acidanthera/OpenCorePkg}{\texttt{\DIFdel{HdaCodecDump}}%DIFAUXCMD
}%DIFAUXCMD
\textbf{\DIFdel{*}}
%DIFAUXCMD
%DIFDELCMD < & %%%
Expand Down Expand Up @@ -7029,10 +7036,10 @@ \subsubsection{macOS 10.8 and 10.9}\label{legacy108}

\begin{itemize}
\item Disk images on these systems use Apple Partitioning Scheme
and will require the proprietary \texttt{PartitionDxe} driver
to run DMG recovery and installation. It is possible to set
and \DIFdelbegin \DIFdel{will require the proprietary }\DIFdelend \DIFaddbegin \DIFadd{require }\DIFaddend \texttt{\DIFdelbegin \DIFdel{PartitionDxe}\DIFdelend \DIFaddbegin \DIFadd{OpenPartitionDxe}\DIFaddend } driver to run DMG recovery
and installation \DIFaddbegin \DIFadd{(included in OpenDuet)}\DIFaddend . It is possible to set
\texttt{DmgLoading} to \texttt{Disabled} to run the recovery
without DMG loading avoiding the need for \texttt{PartitionDxe}.
without DMG loading avoiding the need for \texttt{\DIFdelbegin \DIFdel{PartitionDxe}\DIFdelend \DIFaddbegin \DIFadd{OpenPartitionDxe}\DIFaddend }.
\item Cached kernel images often do not contain family drivers
for networking (\texttt{IONetworkingFamily}) or audio
(\texttt{IOAudioFamily}) requiring the use of \texttt{Force}
Expand Down Expand Up @@ -7069,9 +7076,9 @@ \subsubsection{macOS 10.6}\label{legacy106}
images are limited to their target model identifiers and have no
\texttt{-no\_compat\_check} boot argument support. Modified images
(with \texttt{ACDT} suffix) without model restrictions can be found
\DIFdelbegin %DIFDELCMD < \href{https://mega.nz/folder/z5YUhYTb#gA\_IRY5KMuYpnNCg7kR3ug}{here}%%%
\DIFdelend \DIFaddbegin \href{https://archive.org/details/10.6.7-10j3250-disk-images}{here}
\DIFadd{(}\href{https://mega.nz/folder/z5YUhYTb#gA\_IRY5KMuYpnNCg7kR3ug}{MEGA Mirror}\DIFadd{)}\DIFaddend ,
\DIFdelbegin %DIFDELCMD < \href{https://mega.nz/folder/z5YUhYTb#gA\_IRY5KMuYpnNCg7kR3ug}{%%%
\DIFdelend \DIFaddbegin \href{https://archive.org/details/10.6.7-10j3250-disk-images}{\DIFaddend here}
\DIFaddbegin \DIFadd{(}\href{https://mega.nz/folder/z5YUhYTb#gA\_IRY5KMuYpnNCg7kR3ug}{\DIFadd{MEGA Mirror}}\DIFadd{)}\DIFaddend ,
assuming macOS~10.6 is legally owned. Read \texttt{DIGEST.txt}
for more details. Note that these are the earliest tested
versions of macOS~10.6 with OpenCore.
Expand Down Expand Up @@ -7121,9 +7128,9 @@ \subsubsection{macOS 10.5}\label{legacy105}
build \texttt{9J3050} (for \texttt{MacBookPro5,3}). Unlike the others,
this image is not limited to the target model identifiers and can be used
as is. The original \texttt{9J3050} image can be found
\DIFdelbegin %DIFDELCMD < \href{https://mega.nz/folder/inRBTarD#zanf7fUbviwz3WHBU5xpCg}{here}%%%
\DIFdelend \DIFaddbegin \href{https://archive.org/details/10.5.7-9-j-3050}{here}
\DIFadd{(}\href{https://mega.nz/folder/inRBTarD#zanf7fUbviwz3WHBU5xpCg}{MEGA Mirror}\DIFadd{)}\DIFaddend ,
\DIFdelbegin %DIFDELCMD < \href{https://mega.nz/folder/inRBTarD#zanf7fUbviwz3WHBU5xpCg}{%%%
\DIFdelend \DIFaddbegin \href{https://archive.org/details/10.5.7-9-j-3050}{\DIFaddend here}
\DIFaddbegin \DIFadd{(}\href{https://mega.nz/folder/inRBTarD#zanf7fUbviwz3WHBU5xpCg}{\DIFadd{MEGA Mirror}}\DIFadd{)}\DIFaddend ,
assuming macOS~10.5 is legally owned. Read \texttt{DIGEST.txt}
for more details. Note that this is the earliest tested
version of macOS~10.5 with OpenCore.
Expand All @@ -7142,9 +7149,9 @@ \subsubsection{macOS 10.4}\label{legacy104}
to their target model identifiers as on newer macOS versions.
Modified \texttt{8R4088} images (with \texttt{ACDT} suffix) without
model restrictions can be found
\DIFdelbegin %DIFDELCMD < \href{https://mega.nz/folder/D3ASzLzA\#7sjYXE2X09f6aGjol\_C7dg}{here}%%%
\DIFdelend \DIFaddbegin \href{https://archive.org/details/10.4.10-8-r-4088-acdt}{here}
\DIFadd{(}\href{https://mega.nz/folder/D3ASzLzA\#7sjYXE2X09f6aGjol\_C7dg}{MEGA Mirror}\DIFadd{)}\DIFaddend ,
\DIFdelbegin %DIFDELCMD < \href{https://mega.nz/folder/D3ASzLzA\#7sjYXE2X09f6aGjol\_C7dg}{%%%
\DIFdelend \DIFaddbegin \href{https://archive.org/details/10.4.10-8-r-4088-acdt}{\DIFaddend here}
\DIFaddbegin \DIFadd{(}\href{https://mega.nz/folder/D3ASzLzA\#7sjYXE2X09f6aGjol\_C7dg}{\DIFadd{MEGA Mirror}}\DIFadd{)}\DIFaddend ,
assuming macOS~10.4 is legally owned. Read \texttt{DIGEST.txt}
for more details. Note that these are the earliest tested
versions of macOS~10.4 with OpenCore.
Expand Down
Binary file modified Docs/Errata/Errata.pdf
Binary file not shown.
1 change: 1 addition & 0 deletions Docs/Sample.plist
Original file line number Diff line number Diff line change
Expand Up @@ -1097,6 +1097,7 @@
<string>OpenRuntime.efi</string>
<string>#OpenCanopy.efi</string>
<string>#AudioDxe.efi</string>
<string>#OpenPartitionDxe.efi</string>
<string>#OpenUsbKbDxe.efi</string>
<string>#UsbMouseDxe.efi</string>
<string>#Ps2KeyboardDxe.efi</string>
Expand Down
1 change: 1 addition & 0 deletions Docs/SampleCustom.plist
Original file line number Diff line number Diff line change
Expand Up @@ -1292,6 +1292,7 @@
<string>OpenRuntime.efi</string>
<string>#OpenCanopy.efi</string>
<string>#AudioDxe.efi</string>
<string>#OpenPartitionDxe.efi</string>
<string>#OpenUsbKbDxe.efi</string>
<string>#UsbMouseDxe.efi</string>
<string>#Ps2KeyboardDxe.efi</string>
Expand Down
86 changes: 86 additions & 0 deletions Include/Apple/IndustryStandard/Apm.h
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
2 changes: 2 additions & 0 deletions Include/Apple/Protocol/ApplePartitionInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
{ 0x68425EE5, 0x1C43, 0x4BAA, \
{ 0x84, 0xF7, 0x9A, 0xA8, 0xA4, 0xD8, 0xE1, 0x1E } }

#define APPLE_PARTITION_INFO_REVISION 0x010000

// APPLE_PARTITION_INFO_PROTOCOL
typedef struct {
UINT32 Revision;
Expand Down
1 change: 1 addition & 0 deletions OpenCorePkg.dsc
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,7 @@
OpenCorePkg/Library/OcPeCoffLib/OcPeCoffLib.inf
OpenCorePkg/Platform/CrScreenshotDxe/CrScreenshotDxe.inf
OpenCorePkg/Platform/OpenCanopy/OpenCanopy.inf
OpenCorePkg/Platform/OpenPartitionDxe/PartitionDxe.inf
OpenCorePkg/Platform/OpenRuntime/OpenRuntime.inf
OpenCorePkg/Platform/OpenUsbKbDxe/UsbKbDxe.inf
OpenCorePkg/Staging/AudioDxe/AudioDxe.inf
Expand Down
2 changes: 1 addition & 1 deletion OpenDuetPkg.dsc
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@
<LibraryClasses>
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
}
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
OpenCorePkg/Platform/OpenPartitionDxe/PartitionDxe.inf

# Bios Thunk
OpenCorePkg/Legacy/BootPlatform/LegacyRegion2Dxe/LegacyRegion2Dxe.inf
Expand Down
2 changes: 1 addition & 1 deletion OpenDuetPkg.fdf
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@
# Generic disk I/O (Unicode collation is used by e.g. FAT)
INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
INF OpenCorePkg/Platform/OpenPartitionDxe/PartitionDxe.inf

# ACPI and SMBIOS (convenience protocols are optional)
# INF OpenCorePkg/Legacy/BootPlatform/SmbiosGenDxe/SmbiosGen.inf
Expand Down
Loading

0 comments on commit 09099c6

Please sign in to comment.