diff options
Diffstat (limited to 'Private/FirmwareKit')
| -rw-r--r-- | Private/FirmwareKit/EFI/API.hxx | 2 | ||||
| -rw-r--r-- | Private/FirmwareKit/EPM.hxx | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/Private/FirmwareKit/EFI/API.hxx b/Private/FirmwareKit/EFI/API.hxx index 4431facb..90503384 100644 --- a/Private/FirmwareKit/EFI/API.hxx +++ b/Private/FirmwareKit/EFI/API.hxx @@ -34,7 +34,7 @@ Bascially frees everything we have in the EFI side. inline void ExitBootServices(UInt64 MapKey, EfiHandlePtr ImageHandle) noexcept { if (!ST) return; - ST->BootServices->ExitBootServices(ImageHandle, MapKey); + while (ST->BootServices->ExitBootServices(ImageHandle, MapKey) != kEfiOk); } enum { diff --git a/Private/FirmwareKit/EPM.hxx b/Private/FirmwareKit/EPM.hxx index 6b1d2f49..048324f5 100644 --- a/Private/FirmwareKit/EPM.hxx +++ b/Private/FirmwareKit/EPM.hxx @@ -52,7 +52,7 @@ struct PACKED PartitionBlock { NewOS::Int64 LbaStart; NewOS::Int16 Kind; NewOS::Int32 FsVersion; - NewOS::Char Fs[kEPMFilesystemLength]; /* NewFS, HCFS... */ + NewOS::Char Fs[kEPMFilesystemLength]; /* NewFS, ffs2... */ }; /* @brief AMD64 magic for EPM */ @@ -97,8 +97,12 @@ typedef struct PartitionBlock PartitionBlockType; #ifdef __x86_64__ #define kEPMMagic kEPMMagic86 #else +#ifdef __powerpc +#define kEPMMagic kEPMMagicPPC +#else #define kEPMMagic kEPMMagicError #endif +#endif ///! @brief partition must start after this address. #define kEPMStartPartitionBlk 0 |
