1## @file
2#  Modules that produces the logic Block I/O protocol for every partition via the physical Block I/O.
3#
4#  This module produces the logical Block I/O device that represents
5#  the bytes from Start to End of the Parent Block I/O device.
6#  The partition of physical BlockIo device supported is one of legacy MBR, GPT,
7#  and "El Torito" partitions.
8#
9#  Caution: This module requires additional review when modified.
10#  This driver will have external input - disk partition.
11#  This external input must be validated carefully to avoid security issue like
12#  buffer overflow, integer overflow.
13#
14#  Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
15#  This program and the accompanying materials
16#  are licensed and made available under the terms and conditions of the BSD License
17#  which accompanies this distribution.  The full text of the license may be found at
18#  http://opensource.org/licenses/bsd-license.php
19#
20#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
21#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
22#
23##
24
25[Defines]
26  INF_VERSION                    = 0x00010005
27  BASE_NAME                      = PartitionDxe
28  MODULE_UNI_FILE                = PartitionDxe.uni
29  FILE_GUID                      = 1FA1F39E-FEFF-4aae-BD7B-38A070A3B609
30  MODULE_TYPE                    = UEFI_DRIVER
31  VERSION_STRING                 = 1.0
32  ENTRY_POINT                    = InitializePartition
33
34#
35# The following information is for reference only and not required by the build tools.
36#
37#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
38#
39#  DRIVER_BINDING                = gPartitionDriverBinding
40#  COMPONENT_NAME                = gPartitionComponentName
41#  COMPONENT_NAME2               = gPartitionComponentName2
42#
43
44[Sources]
45  ComponentName.c
46  Mbr.c
47  Gpt.c
48  ElTorito.c
49  Partition.c
50  Partition.h
51
52
53[Packages]
54  MdePkg/MdePkg.dec
55
56
57[LibraryClasses]
58  DevicePathLib
59  UefiBootServicesTableLib
60  MemoryAllocationLib
61  BaseMemoryLib
62  UefiLib
63  BaseLib
64  UefiDriverEntryPoint
65  DebugLib
66
67
68[Guids]
69  gEfiPartTypeUnusedGuid                        ## SOMETIMES_CONSUMES ## GUID
70  ## SOMETIMES_CONSUMES ## GUID
71  ## SOMETIMES_CONSUMES ## GUID # Install protocol
72  gEfiPartTypeSystemPartGuid
73
74
75[Protocols]
76  ## BY_START
77  ## TO_START
78  gEfiBlockIoProtocolGuid
79  ## BY_START
80  ## TO_START
81  gEfiBlockIo2ProtocolGuid
82  ## BY_START
83  ## TO_START
84  gEfiDevicePathProtocolGuid
85  gEfiDiskIoProtocolGuid                        ## TO_START
86  gEfiDiskIo2ProtocolGuid                       ## TO_START
87
88[UserExtensions.TianoCore."ExtraFiles"]
89  PartitionDxeExtra.uni
90