OpenCorePkg/OpenCorePkg.fdf

106 lines
3.1 KiB
Plaintext

## @file
# Compile standalone firmware filesystem files.
#
# Copyright (C) 2022-2023, Mike Beaton. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-3-Clause
##
#
# For now disable non-64-bit build; Mac Pro cannot use it, and EDK-II
# build system does not separate 64 bit and 32 bit .ffs files, which
# we want to distribute.
#
# If we needed all archs in future we could distribute the complete
# .fv files, from which the .ffs can be re-extracted.
#
!if ($(ARCH) == X64)
!if ($(ARCH) == X64)
[FV.FfsFilesX64]
!else
[FV.FfsFilesIA32]
!endif
BlockSize = 0x10000
NumBlocks = 8
FvAlignment = 16 #FV alignment and FV attributes setting.
ERASE_POLARITY = 1
MEMORY_MAPPED = TRUE
STICKY_WRITE = TRUE
LOCK_CAP = TRUE
LOCK_STATUS = TRUE
WRITE_DISABLED_CAP = TRUE
WRITE_ENABLED_CAP = TRUE
WRITE_STATUS = TRUE
WRITE_LOCK_CAP = TRUE
WRITE_LOCK_STATUS = TRUE
READ_DISABLED_CAP = TRUE
READ_ENABLED_CAP = TRUE
READ_STATUS = TRUE
READ_LOCK_CAP = TRUE
READ_LOCK_STATUS = TRUE
#
# DXE Drivers (other .inf files for conversion to .ffs may be added here)
#
INF OpenCorePkg/Staging/EnableGop/EnableGop.inf
!if ($(ARCH) == X64)
[FV.EnableGopDirectX64]
!else
[FV.EnableGopDirectIA32]
!endif
BlockSize = 0x10000
NumBlocks = 8
FvAlignment = 16 #FV alignment and FV attributes setting.
ERASE_POLARITY = 1
MEMORY_MAPPED = TRUE
STICKY_WRITE = TRUE
LOCK_CAP = TRUE
LOCK_STATUS = TRUE
WRITE_DISABLED_CAP = TRUE
WRITE_ENABLED_CAP = TRUE
WRITE_STATUS = TRUE
WRITE_LOCK_CAP = TRUE
WRITE_LOCK_STATUS = TRUE
READ_DISABLED_CAP = TRUE
READ_ENABLED_CAP = TRUE
READ_STATUS = TRUE
READ_LOCK_CAP = TRUE
READ_LOCK_STATUS = TRUE
#
# DXE Drivers
#
#
# EnableGopDirect intentionally has the same GUID as EnableGop, so it must go in a separate FV.
# (We don't care about the FV, rather the intermediate FFS files which are generated during build.)
#
INF OpenCorePkg/Staging/EnableGop/EnableGopDirect.inf
!endif
#
# Ideally we would match the compressed layout of DXE drivers in Mac Pro 144.0.0.0.0 firmware,
# as per the commented out lines, but Mac Pro will not load this with standard compression.
# With lines commented out we make a different, non-compressed layout which the Mac Pro will load.
#
# TODO: Is there a way to make a Tiano-compressed COMPRESS section, as in Mac Pro firmware, using
# EDK-II build tools? If we manually reconstuct one with UEFITool 0.25.1, Mac Pro will load it.
#
# Note: `GUIDED A31280AD-481E-41B6-95E8-127F4C984779` will make a Tiano compressed GUIDED
# section, but this is different and 144.0.0.0.0 will not load it.
#
[Rule.Common.DXE_DRIVER]
FILE DRIVER = $(NAMED_GUID) Checksum {
# COMPRESS {
# GUIDED {
DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
UI STRING="$(MODULE_NAME)" Optional
# }
# }
}