## @file # FDF file of Platform. # Flashmap FDF for Extended BIOS Region support # # @copyright # INTEL CONFIDENTIAL # Copyright 2020 - 2021 Intel Corporation. # # The source code contained or described herein and all documents related to the # source code ("Material") are owned by Intel Corporation or its suppliers or # licensors. Title to the Material remains with Intel Corporation or its suppliers # and licensors. The Material may contain trade secrets and proprietary and # confidential information of Intel Corporation and its suppliers and licensors, # and is protected by worldwide copyright and trade secret laws and treaty # provisions. No part of the Material may be used, copied, reproduced, modified, # published, uploaded, posted, transmitted, distributed, or disclosed in any way # without Intel's prior express written permission. # # No license under any patent, copyright, trade secret or other intellectual # property right is granted to or conferred upon you by disclosure or delivery # of the Materials, either expressly, by implication, inducement, estoppel or # otherwise. Any license under such intellectual property rights must be # express and approved by Intel in writing. # # Unless otherwise agreed by Intel in writing, you may not remove or alter # this notice or any other notice embedded in Materials by Intel or # Intel's suppliers or licensors in any way. # # This file contains a 'Sample Driver' and is licensed as such under the terms # of your license agreement with Intel or your vendor. This file may be modified # by the user, subject to the additional terms of the license agreement. # # @par Specification ## #=================================================================================# # 16MB BIOS + Extended BIOS region # #=================================================================================# DEFINE FLASH_BASE = 0xFD000000 # DEFINE FLASH_SIZE = 0x03000000 # DEFINE FLASH_BLOCK_SIZE = 0x00010000 # DEFINE FLASH_NUM_BLOCKS = 0x00000300 # DEFINE EXTENDED_REGION_MEMMAP_ADDRESS = 0xF8000000 # DEFINE EXTENDED_REGION_SIZE = 0x02000000 # DEFINE EXTENDED_REGION_IN_USE = 0x00100000 # DEFINE ACM_ALIGNMENT_ON_FV_BASE = 256K # #=================================================================================# #### # Flashmap supporting Extended BIOS Region # # - Flash address: As Extended BIOS Region initialization code supported by # Intel silicon code initializes EXT_BIOS_LIMIT_OFFSET for 16MB offset, # starting from the 16MB offset of the flash BIOS region gets mapped to memory. # - Memory address: 32MB from SPI BAR1 BASE is the memory address range for # Extended BIOS Region of the flash to be mapped. BAR1 BASE addresses # should be configured through policy. # # Example configuration # - Intel Silicon code has a policy to set SPI BAR1 BASE. # Default address is the recommended base address according to the current memory usage. # SpiConfig->ExtendedBiosDecodeRangeBase = 0xF8000000 # Set the same address to EXTENDED_REGION_MEMMAP_ADDRESS macro. # EXTENDED_REGION_MEMMAP_ADDRESS = 0xF8000000 # - Define EXTENDED_REGION_IN_USE to 1MB, or the size the project needs. # EXTENDED_REGION_IN_USE = 0x00100000 # - Configure macro FLASH_BASE and EXTENDED_REGION_SIZE # -- EXTENDED_REGION_SIZE always 32MB in max. This is defined by Silicon. # EXTENDED_REGION_SIZE = 0x02000000 # -- Total map-able size in max : 16MB(main) + 32MB(extended) # -- FLASH_BASE : 4GB - (16MB + 32MB) # -- Redundant region size : EXTENDED_REGION_SIZE - EXTENDED_REGION_IN_USE # In BoardPkg FDF, place the extended code region next to the 16MB BIOS region so # postbuild script cuts off the redundant space and one single final image is made. # - Keep NvStorage firmware volume inside of the main 16MB region as the region is # expected to be accessible in early phase. #### # Flashmap for Extended BIOS Region (start from FLASH_BASE, Offset start from 0x0) # # ================================================================================= # # postbuild script cuts off the unused region 0x00000000 # # 0x01F00000 # # ================================================================================= # SET gBoardModuleTokenSpaceGuid.PcdFlashExtendRegionOffset = 0x01F00000 # equal to flash base + flash size - 16MB - extended BIOS region in use SET gBoardModuleTokenSpaceGuid.PcdFlashExtendRegionSizeInUse = 0x00100000 # equal to the macro setting for extneded BIOS region in use SET gBoardModuleTokenSpaceGuid.PcdFlashFvExtendedAdvancedOffset = 0x01F00000 # Flash addr (0xF8000000) SET gBoardModuleTokenSpaceGuid.PcdFlashFvExtendedAdvancedSize = 0x00080000 # SET gBoardModuleTokenSpaceGuid.PcdFlashFvExtendedPostMemoryOffset = 0x01F80000 # Flash addr (0xF8800000) SET gBoardModuleTokenSpaceGuid.PcdFlashFvExtendedPostMemorySize = 0x00080000 # #### # Flashmap for 16MB BIOS Region (start from FLASH_BASE + EXTENDED_REGION_SIZE) # #----------- Flash map is auto generated ---------#