1## @file
2#  FDF include file with Layout Regions that define an empty variable store.
3#
4#  Copyright (C) 2014, Red Hat, Inc.
5#  Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
6#
7#  SPDX-License-Identifier: BSD-2-Clause-Patent
8#
9##
10
11!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
120x00000000|0x0000e000
13!endif
14!if $(FD_SIZE_IN_KB) == 4096
150x00000000|0x00040000
16!endif
17#NV_VARIABLE_STORE
18DATA = {
19  ## This is the EFI_FIRMWARE_VOLUME_HEADER
20  # ZeroVector []
21  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
22  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
23  # FileSystemGuid: gEfiSystemNvDataFvGuid         =
24  #   { 0xFFF12B8D, 0x7696, 0x4C8B,
25  #     { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }}
26  0x8D, 0x2B, 0xF1, 0xFF, 0x96, 0x76, 0x8B, 0x4C,
27  0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50,
28!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
29  # FvLength: 0x20000
30  0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
31!endif
32!if $(FD_SIZE_IN_KB) == 4096
33  # FvLength: 0x84000
34  0x00, 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
35!endif
36  # Signature "_FVH"       # Attributes
37  0x5f, 0x46, 0x56, 0x48, 0xff, 0xfe, 0x04, 0x00,
38  # HeaderLength
39  0x48, 0x00,
40!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
41  # CheckSum
42  0x19, 0xF9,
43!endif
44!if $(FD_SIZE_IN_KB) == 4096
45  # CheckSum
46  0xAF, 0xB8,
47!endif
48  # ExtHeaderOffset #Reserved #Revision
49  0x00, 0x00, 0x00, 0x02,
50!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
51  # Blockmap[0]: 0x20 Blocks * 0x1000 Bytes / Block
52  0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
53!endif
54!if $(FD_SIZE_IN_KB) == 4096
55  # Blockmap[0]: 0x84 Blocks * 0x1000 Bytes / Block
56  0x84, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
57!endif
58  # Blockmap[1]: End
59  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
60  ## This is the VARIABLE_STORE_HEADER
61  # It is compatible with SECURE_BOOT_ENABLE == FALSE as well.
62  # Signature: gEfiAuthenticatedVariableGuid =
63  #   { 0xaaf32c78, 0x947b, 0x439a,
64  #     { 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92 }}
65  0x78, 0x2c, 0xf3, 0xaa, 0x7b, 0x94, 0x9a, 0x43,
66  0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92,
67!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
68  # Size: 0xe000 (gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize) -
69  #         0x48 (size of EFI_FIRMWARE_VOLUME_HEADER) = 0xdfb8
70  # This can speed up the Variable Dispatch a bit.
71  0xB8, 0xDF, 0x00, 0x00,
72!endif
73!if $(FD_SIZE_IN_KB) == 4096
74  # Size: 0x40000 (gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize) -
75  #          0x48 (size of EFI_FIRMWARE_VOLUME_HEADER) = 0x3ffb8
76  # This can speed up the Variable Dispatch a bit.
77  0xB8, 0xFF, 0x03, 0x00,
78!endif
79  # FORMATTED: 0x5A #HEALTHY: 0xFE #Reserved: UINT16 #Reserved1: UINT32
80  0x5A, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
81}
82
83!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
840x0000e000|0x00001000
85!endif
86!if $(FD_SIZE_IN_KB) == 4096
870x00040000|0x00001000
88!endif
89#NV_EVENT_LOG
90
91!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
920x0000f000|0x00001000
93!endif
94!if $(FD_SIZE_IN_KB) == 4096
950x00041000|0x00001000
96!endif
97#NV_FTW_WORKING
98DATA = {
99  # EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER->Signature = gEdkiiWorkingBlockSignatureGuid         =
100  #  { 0x9e58292b, 0x7c68, 0x497d, { 0xa0, 0xce, 0x65,  0x0, 0xfd, 0x9f, 0x1b, 0x95 }}
101  0x2b, 0x29, 0x58, 0x9e, 0x68, 0x7c, 0x7d, 0x49,
102  0xa0, 0xce, 0x65,  0x0, 0xfd, 0x9f, 0x1b, 0x95,
103  # Crc:UINT32            #WorkingBlockValid:1, WorkingBlockInvalid:1, Reserved
104  0x2c, 0xaf, 0x2c, 0x64, 0xFE, 0xFF, 0xFF, 0xFF,
105  # WriteQueueSize: UINT64
106  0xE0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
107}
108
109!if ($(FD_SIZE_IN_KB) == 1024) || ($(FD_SIZE_IN_KB) == 2048)
1100x00010000|0x00010000
111!endif
112!if $(FD_SIZE_IN_KB) == 4096
1130x00042000|0x00042000
114!endif
115#NV_FTW_SPARE
116