...
 
Commits (7)
    https://gitcode.net/btwise/opencorepkg_mod/-/commit/2aef7db54a6c82504e0000d3e1ce0670316e592a Changelog: Wording 2024-01-20T22:00:37+00:00 Mike Beaton mjsbeaton@gmail.com https://gitcode.net/btwise/opencorepkg_mod/-/commit/93edb97a58842076045bdabc9c8bf9be8d84fc38 OpenDuet: Apply UE loader Pcds which are required to load current Linux EFI s... 2024-01-21T06:35:00+00:00 Mike Beaton mjsbeaton@gmail.com https://gitcode.net/btwise/opencorepkg_mod/-/commit/b25928342c36e21d69f346a8e851369057590b6f OcApfsLib: Always load JumpStart APFS directly 2024-01-21T13:31:42+00:00 Mike Beaton mjsbeaton@gmail.com apfs.efi has W^X errors which require fixup for strict loaders, however we were only passing the post-sanitised image to OC-wrapped platform loader, therefore the wrapper in ImageLoader.c cannot detect that it is an Apple signed binary which should be fixed up. https://gitcode.net/btwise/opencorepkg_mod/-/commit/cdaf9a230245c75183abdbda2ab91803cdfb9a2a OcCpuLib: Add TSC frequency calculation for `xen` hypervisor (#521) 2024-01-21T16:46:31+03:00 netanelc305 50978770+netanelc305@users.noreply.github.com https://gitcode.net/btwise/opencorepkg_mod/-/commit/dce5a8ff8911970aedfc61eee2ebc2597c81214b Docs: Sync changelog 2024-01-21T16:47:20+03:00 Vitaly Cheptsov 4348897+vit9696@users.noreply.github.com https://gitcode.net/btwise/opencorepkg_mod/-/commit/4d08021505fcc12d926c3c7c9888d16f62376e2b Merge branch 'master' of https://github.com/acidanthera/OpenCorePkg 2024-01-27T10:16:24+08:00 btwise tyq@qq.com https://gitcode.net/btwise/opencorepkg_mod/-/commit/48838b9a9854da025a25ea7dec7bc231653a4bbb Merge branch 'master' of https://gitee.com/btwise/OpenCorePkg 2024-01-27T12:58:25+08:00 btwise tyq@qq.com
......@@ -14,7 +14,10 @@ OpenCore Changelog
- Re-enabled AudioDxe failover to protocol GET mode for systems such as Acer E5 where it works when DisconnectHda doesn't
- Added `FirmwareSettingsEntry.efi` driver which adds menu entry to reboot into UEFI firmware settings
- Enabled use of picker shortcut keys which are read out in OpenCanopy when using `PickerAudioAssist`
- Modified builtin picker to avoid responding after audio assist menu to keys pressed while menu is read out
- Modified builtin picker so as not to respond to keys queued while audio assist menu is being read out
- Fixed Linux EFI stub loading error when using OpenDuet since 0.8.8
- Fixed APFS JumpStart with OpenDuet and `SecureBootModel` `Disabled`
- Added TSC frequency calculation for xen hypervisor, thx @netanelc305
#### v0.9.7
- Updated recovery_urls.txt
......
......@@ -239,13 +239,10 @@ ApfsStartDriver (
IN UINT32 DriverSize
)
{
EFI_STATUS Status;
EFI_DEVICE_PATH_PROTOCOL *DevicePath;
EFI_HANDLE ImageHandle;
EFI_LOADED_IMAGE_PROTOCOL *LoadedImage;
EFI_IMAGE_LOAD LoadImage;
APPLE_SECURE_BOOT_PROTOCOL *SecureBoot;
UINT8 Policy;
EFI_STATUS Status;
EFI_DEVICE_PATH_PROTOCOL *DevicePath;
EFI_HANDLE ImageHandle;
EFI_LOADED_IMAGE_PROTOCOL *LoadedImage;
Status = PeCoffVerifyAppleSignature (
DriverBuffer,
......@@ -279,27 +276,16 @@ ApfsStartDriver (
DevicePath = NULL;
}
SecureBoot = OcAppleSecureBootGetProtocol ();
ASSERT (SecureBoot != NULL);
Status = SecureBoot->GetPolicy (
SecureBoot,
&Policy
);
//
// Load directly when we have Apple Secure Boot.
// - Either normal.
// - Or during DMG loading.
// Always load jump started APFS directly - we cannot always successfully
// pass the sanitized image to OC-wrapped platform loader, because apfs.efi
// has W^X errors which require fixup for strict loaders, however the fact
// that apfs.efi instances are Apple signed images cannot be detected again
// after sanitisation (i.e. in ImageLoader.c in order to apply fixup before
// a strict - e.g. Duet - platform loader sees it).
//
if ( (!EFI_ERROR (Status) && (Policy != AppleImg4SbModeDisabled))
|| (OcAppleSecureBootGetDmgLoading (&Policy) && (Policy != AppleImg4SbModeDisabled)))
{
LoadImage = OcImageLoaderLoad;
} else {
LoadImage = gBS->LoadImage;
}
ImageHandle = NULL;
Status = LoadImage (
Status = OcImageLoaderLoad (
FALSE,
gImageHandle,
DevicePath,
......
......@@ -703,6 +703,17 @@ InternalCalculateVMTFrequency (
return Msr;
}
if (AsciiStrCmp (HvVendor, "XenVMMXenVMM") == 0) {
// Xen implement TSC frequency as CPUID leaf (0x40000003/0/ecx).
// Hardcoded FSB frequency to 100 MHz, as it's not exposed currently.
AsmCpuidEx (0x40000003, 0, NULL, NULL, &CpuidEcx, NULL);
if (FSBFrequency != NULL) {
*FSBFrequency = 100000000;
}
return CpuidEcx * 1000ULL;
}
//
// Other hypervisors implement TSC/FSB frequency as an additional CPUID leaf.
//
......
......@@ -267,6 +267,12 @@
# such as HfsPlusLegacy.efi.
#
gEfiMdePkgTokenSpaceGuid.PcdImageProtectionPolicy|0x00000003
#
# PcdDxeNxMemoryProtectionPolicy and PcdImageLoaderAllowMisalignedOffset
# settings for Linux EFI stub (same as OvmfPkg LINUX_LOADER settings).
#
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xFFFFFFFFFFFFFF40
gEfiMdePkgTokenSpaceGuid.PcdImageLoaderAllowMisalignedOffset|TRUE
[BuildOptions]
MSFT:NOOPT_*_*_CC_FLAGS = -D OC_TARGET_RELEASE=1 /FAcs -Dinline=__inline /GS /kernel
......