@Dayo is this the only code for the 1st stage on cMP3,1:
Maybe you can add it to OC with pull request?
Code:
// Extended 'HandleProtocol'
// Routes 'HandleProtocol' to 'OpenProtocol'
STATIC
EFI_STATUS
EFIAPI
HandleProtocolEx (
IN EFI_HANDLE Handle,
IN EFI_GUID *Protocol,
OUT VOID **Interface
) {
EFI_STATUS Status;
Status = gBS->OpenProtocol (
Handle,
Protocol,
Interface,
gImageHandle,
NULL,
EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL
);
return Status;
} // EFI_STATUS HandleProtocolEx
STATIC
VOID
ReMapOpenProtocol (
VOID
) {
// Amend EFI_BOOT_SERVICES.OpenProtocol
OrigOpenProtocol = gBS->OpenProtocol;
gBS->OpenProtocol = OpenProtocolEx;
gBS->Hdr.CRC32 = 0;
gBS->CalculateCrc32 (gBS, gBS->Hdr.HeaderSize, &gBS->Hdr.CRC32);
} // ReMapOpenProtocol()
Maybe you can add it to OC with pull request?