2# FDF include file that defines the main macros and sets the dependent PCDs.
4# Copyright (C) 2014, Red Hat, Inc.
5# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
7# SPDX-License-Identifier: BSD-2-Clause-Patent
11DEFINE BLOCK_SIZE = 0x1000
14# A firmware binary built with FD_SIZE_IN_KB=1024, and a firmware binary built
15# with FD_SIZE_IN_KB=2048, use the same variable store layout.
17# Setting FD_SIZE_IN_KB to 4096 results in a different (much larger) variable
18# store structure that is incompatible with both of the above-mentioned
21!
if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
22DEFINE VARS_SIZE = 0x20000
23DEFINE VARS_BLOCKS = 0x20
24DEFINE VARS_LIVE_SIZE = 0xE000
25DEFINE VARS_SPARE_SIZE = 0x10000
28!
if $(FD_SIZE_IN_KB) == 1024
29DEFINE FW_BASE_ADDRESS = 0xFFF00000
30DEFINE FW_SIZE = 0x00100000
31DEFINE FW_BLOCKS = 0x100
32DEFINE CODE_BASE_ADDRESS = 0xFFF20000
33DEFINE CODE_SIZE = 0x000E0000
34DEFINE CODE_BLOCKS = 0xE0
35DEFINE FVMAIN_SIZE = 0x000CC000
36DEFINE SECFV_OFFSET = 0x000EC000
37DEFINE SECFV_SIZE = 0x14000
40!
if $(FD_SIZE_IN_KB) == 2048
41DEFINE FW_BASE_ADDRESS = 0xFFE00000
42DEFINE FW_SIZE = 0x00200000
43DEFINE FW_BLOCKS = 0x200
44DEFINE CODE_BASE_ADDRESS = 0xFFE20000
45DEFINE CODE_SIZE = 0x001E0000
46DEFINE CODE_BLOCKS = 0x1E0
47DEFINE FVMAIN_SIZE = 0x001AC000
48DEFINE SECFV_OFFSET = 0x001CC000
49DEFINE SECFV_SIZE = 0x34000
52!
if $(FD_SIZE_IN_KB) == 4096
53DEFINE VARS_SIZE = 0x84000
54DEFINE VARS_BLOCKS = 0x84
55DEFINE VARS_LIVE_SIZE = 0x40000
56DEFINE VARS_SPARE_SIZE = 0x42000
58DEFINE FW_BASE_ADDRESS = 0xFFC00000
59DEFINE FW_SIZE = 0x00400000
60DEFINE FW_BLOCKS = 0x400
61DEFINE CODE_BASE_ADDRESS = 0xFFC84000
62DEFINE CODE_SIZE = 0x0037C000
63DEFINE CODE_BLOCKS = 0x37C
64DEFINE FVMAIN_SIZE = 0x00348000
65DEFINE SECFV_OFFSET = 0x003CC000
66DEFINE SECFV_SIZE = 0x34000
69SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFdBaseAddress = $(FW_BASE_ADDRESS)
70SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareFdSize = $(FW_SIZE)
71SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareBlockSize = $(BLOCK_SIZE)
73SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageVariableBase = $(FW_BASE_ADDRESS)
74SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize = $(VARS_LIVE_SIZE)
76SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogBase = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageVariableBase + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
77SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogSize = $(BLOCK_SIZE)
79SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwWorkingBase = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogBase + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogSize
80SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize = $(BLOCK_SIZE)
82SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwSpareBase = gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwWorkingBase + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize
83SET gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize = $(VARS_SPARE_SIZE)
85DEFINE MEMFD_BASE_ADDRESS = 0x800000