mirror of
https://github.com/acidanthera/OpenCorePkg.git
synced 2025-12-08 19:25:01 +00:00
106 lines
3.1 KiB
Plaintext
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
|
|
# }
|
|
# }
|
|
}
|