2019-10-04 15:19:40 +02:00
|
|
|
/**
|
|
|
|
|
|
|
|
Temporary BS and RT overrides for boot.efi support.
|
|
|
|
Unlike RtShims they do not affect the kernel.
|
|
|
|
|
|
|
|
by dmazar
|
|
|
|
|
|
|
|
**/
|
|
|
|
|
|
|
|
#ifndef APTIOFIX_SERVICE_OVERRIDES_H
|
|
|
|
#define APTIOFIX_SERVICE_OVERRIDES_H
|
|
|
|
|
|
|
|
//
|
|
|
|
// Last descriptor size obtained from GetMemoryMap
|
|
|
|
//
|
|
|
|
extern UINTN gMemoryMapDescriptorSize;
|
|
|
|
|
|
|
|
//
|
|
|
|
// Amount of nested boot.efi detected
|
|
|
|
//
|
|
|
|
extern UINTN gMacOSBootNestedCount;
|
|
|
|
|
|
|
|
VOID
|
|
|
|
InstallBsOverrides (
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
VOID
|
|
|
|
InstallRtOverrides (
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
VOID
|
|
|
|
UninstallRtOverrides (
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
VOID
|
|
|
|
DisableDynamicPoolAllocations (
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
VOID
|
|
|
|
EnableDynamicPoolAllocations (
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
EFI_STATUS
|
|
|
|
EFIAPI
|
|
|
|
MOStartImage (
|
|
|
|
IN EFI_HANDLE ImageHandle,
|
|
|
|
OUT UINTN *ExitDataSize,
|
|
|
|
OUT CHAR16 **ExitData OPTIONAL
|
|
|
|
);
|
|
|
|
|
|
|
|
EFI_STATUS
|
|
|
|
EFIAPI
|
|
|
|
MOAllocatePages (
|
|
|
|
IN EFI_ALLOCATE_TYPE Type,
|
|
|
|
IN EFI_MEMORY_TYPE MemoryType,
|
|
|
|
IN UINTN NumberOfPages,
|
|
|
|
IN OUT EFI_PHYSICAL_ADDRESS *Memory
|
|
|
|
);
|
|
|
|
|
|
|
|
EFI_STATUS
|
|
|
|
EFIAPI
|
|
|
|
MOAllocatePool (
|
|
|
|
IN EFI_MEMORY_TYPE Type,
|
|
|
|
IN UINTN Size,
|
|
|
|
OUT VOID **Buffer
|
|
|
|
);
|
|
|
|
|
|
|
|
EFI_STATUS
|
|
|
|
EFIAPI
|
2020-04-23 11:08:10 +02:00
|
|
|
MOFreePool(
|
2019-10-04 15:19:40 +02:00
|
|
|
IN VOID *Buffer
|
|
|
|
);
|
|
|
|
|
|
|
|
EFI_STATUS
|
|
|
|
EFIAPI
|
|
|
|
MOGetMemoryMap (
|
|
|
|
IN OUT UINTN *MemoryMapSize,
|
|
|
|
IN OUT EFI_MEMORY_DESCRIPTOR *MemoryMap,
|
|
|
|
OUT UINTN *MapKey,
|
|
|
|
OUT UINTN *DescriptorSize,
|
|
|
|
OUT UINT32 *DescriptorVersion
|
|
|
|
);
|
|
|
|
|
|
|
|
EFI_STATUS
|
|
|
|
EFIAPI
|
|
|
|
OrgGetMemoryMap (
|
|
|
|
IN OUT UINTN *MemoryMapSize,
|
|
|
|
IN OUT EFI_MEMORY_DESCRIPTOR *MemoryMap,
|
|
|
|
OUT UINTN *MapKey,
|
|
|
|
OUT UINTN *DescriptorSize,
|
|
|
|
OUT UINT32 *DescriptorVersion
|
|
|
|
);
|
|
|
|
|
|
|
|
EFI_STATUS
|
|
|
|
EFIAPI
|
|
|
|
MOExitBootServices (
|
|
|
|
IN EFI_HANDLE ImageHandle,
|
|
|
|
IN UINTN MapKey
|
|
|
|
);
|
|
|
|
|
|
|
|
EFI_STATUS
|
|
|
|
ForceExitBootServices (
|
|
|
|
IN EFI_EXIT_BOOT_SERVICES ExitBs,
|
|
|
|
IN EFI_HANDLE ImageHandle,
|
|
|
|
IN UINTN MapKey
|
|
|
|
);
|
|
|
|
|
|
|
|
EFI_STATUS
|
|
|
|
EFIAPI
|
|
|
|
MOSetVirtualAddressMap (
|
|
|
|
IN UINTN MemoryMapSize,
|
|
|
|
IN UINTN DescriptorSize,
|
|
|
|
IN UINT32 DescriptorVersion,
|
|
|
|
IN EFI_MEMORY_DESCRIPTOR *VirtualMap
|
|
|
|
);
|
|
|
|
|
|
|
|
#endif // APTIOFIX_SERVICE_OVERRIDES_H
|