1## @file
2# USB Mass Storage Driver that manages USB mass storage devices and produces Block I/O Protocol.
3#
4# The USB mass storage class is specified in two layers: the bottom layer
5# is the transportation protocol. The top layer is the command set.
6# The transportation layer provides the transportation of the command, data and result.
7# The command set defines the command, data and result.
8# The Bulk-Only-Transport and Control/Bulk/Interrupt transport are two transportation protocol.
9# USB mass storage class adopts various industrial standard as its command set.
10# This module refers to following specifications:
11# 1. USB Mass Storage Specification for Bootability, Revision 1.0
12# 2. USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport, Revision 1.1
13# 3. USB Mass Storage Class Bulk-Only Transport, Revision 1.0.
14# 4. UEFI Specification, v2.1
15#
16# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
17#
18#  This program and the accompanying materials
19#  are licensed and made available under the terms and conditions of the BSD License
20#  which accompanies this distribution. The full text of the license may be found at
21#  http://opensource.org/licenses/bsd-license.php
22#
23#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
24#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
25#
26#
27##
28
29[Defines]
30  INF_VERSION                    = 0x00010005
31  BASE_NAME                      = UsbMassStorageDxe
32  MODULE_UNI_FILE                = UsbMassStorageDxe.uni
33  FILE_GUID                      = 9FB4B4A7-42C0-4bcd-8540-9BCC6711F83E
34  MODULE_TYPE                    = UEFI_DRIVER
35  VERSION_STRING                 = 1.0
36  ENTRY_POINT                    = USBMassStorageEntryPoint
37
38#
39# The following information is for reference only and not required by the build tools.
40#
41#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
42#
43#  DRIVER_BINDING                =  gUSBMassDriverBinding
44#  COMPONENT_NAME                =  gUsbMassStorageComponentName
45#  COMPONENT_NAME2               =  gUsbMassStorageComponentName2
46#
47
48[Sources]
49  UsbMassBoot.h
50  UsbMassImpl.h
51  UsbMassBot.h
52  UsbMassBot.c
53  ComponentName.c
54  UsbMassImpl.c
55  UsbMassBoot.c
56  UsbMassCbi.h
57  UsbMass.h
58  UsbMassCbi.c
59  UsbMassDiskInfo.h
60  UsbMassDiskInfo.c
61
62[Packages]
63  MdePkg/MdePkg.dec
64
65[LibraryClasses]
66  BaseLib
67  MemoryAllocationLib
68  UefiLib
69  UefiBootServicesTableLib
70  UefiDriverEntryPoint
71  BaseMemoryLib
72  DebugLib
73  DevicePathLib
74
75
76[Protocols]
77  gEfiUsbIoProtocolGuid                         ## TO_START
78  gEfiDevicePathProtocolGuid                    ## TO_START
79  gEfiBlockIoProtocolGuid                       ## BY_START
80  gEfiDiskInfoProtocolGuid                      ## BY_START
81
82# [Event]
83# EVENT_TYPE_RELATIVE_TIMER        ## CONSUMES
84#
85
86[UserExtensions.TianoCore."ExtraFiles"]
87  UsbMassStorageDxeExtra.uni
88