summaryrefslogtreecommitdiff
path: root/IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBus.msa
blob: de7bb79325468b2c7b90dcc608a376cc6c6cfe18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<?xml version="1.0" encoding="UTF-8"?>
<ModuleSurfaceArea xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0  http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd" xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <MsaHeader>
    <ModuleName>IsaBus</ModuleName>
    <ModuleType>DXE_DRIVER</ModuleType>
    <GuidValue>240612B5-A063-11d4-9A3A-0090273FC14D</GuidValue>
    <Version>1.0</Version>
    <Abstract>Component description file for IsaBus module.</Abstract>
    <Description>Discovers all the ISA Controllers and their resources by using the ISA PnP
      Protocol, produces an instance of the ISA I/O Protocol for every ISA
      Controller found, loads and initializes all ISA Device Drivers, matches ISA
      Device Drivers with their respective ISA Controllers in a deterministic
      manner, and informs a ISA Device Driver when it is to start managing an ISA
      Controller.</Description>
    <Copyright>Copyright (c) 2006 - 2007, Intel Corporation<BR></Copyright>
    <License>
      All rights reserved. This program and the accompanying materials
      are licensed and made available under the terms and conditions of the BSD License
      which accompanies this distribution.  The full text of the license may be found at
      http://opensource.org/licenses/bsd-license.php

      THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
      WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
    </License>
    <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>
  </MsaHeader>
  <ModuleDefinitions>
    <SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>
    <BinaryModule>false</BinaryModule>
    <OutputFileBasename>IsaBus</OutputFileBasename>
  </ModuleDefinitions>
  <LibraryClassDefinitions>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>DebugLib</Keyword>
    </LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>UefiDriverModelLib</Keyword>
    </LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>UefiDriverEntryPoint</Keyword>
    </LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>UefiLib</Keyword>
    </LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>DevicePathLib</Keyword>
    </LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>BaseMemoryLib</Keyword>
    </LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>MemoryAllocationLib</Keyword>
    </LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>UefiBootServicesTableLib</Keyword>
    </LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>ReportStatusCodeLib</Keyword>
    </LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>BootScriptLib</Keyword>
    </LibraryClass>
    <LibraryClass Usage="ALWAYS_CONSUMED">
      <Keyword>PcdLib</Keyword>
    </LibraryClass>
  </LibraryClassDefinitions>
  <SourceFiles>
    <Filename>ComponentName.h</Filename>
    <Filename>IsaAcpi.h</Filename>
    <Filename>IsaBus.h</Filename>
    <Filename>IsaIo.h</Filename>
    <Filename>IsaBus.c</Filename>
    <Filename>IsaIo.c</Filename>
    <Filename>ComponentName.c</Filename>
  </SourceFiles>
  <PackageDependencies>
    <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
    <Package PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d"/>
    <Package PackageGuid="bea835f9-fd62-464a-81ff-f3a806360c6b"/>
  </PackageDependencies>
  <Protocols>
    <Protocol Usage="TO_START">
      <ProtocolCName>gEfiGenericMemTestProtocolGuid</ProtocolCName>
    </Protocol>
    <Protocol Usage="TO_START">
      <ProtocolCName>gEfiDevicePathProtocolGuid</ProtocolCName>
    </Protocol>
    <Protocol Usage="TO_START">
      <ProtocolCName>gEfiPciIoProtocolGuid</ProtocolCName>
    </Protocol>
    <Protocol Usage="TO_START">
      <ProtocolCName>gEfiIsaAcpiProtocolGuid</ProtocolCName>
    </Protocol>
    <Protocol Usage="BY_START">
      <ProtocolCName>gEfiIsaIoProtocolGuid</ProtocolCName>
    </Protocol>
  </Protocols>
  <Guids>
    <GuidCNames Usage="ALWAYS_CONSUMED">
      <GuidCName>gEfiStatusCodeSpecificDataGuid</GuidCName>
    </GuidCNames>
  </Guids>
  <Externs>
    <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>
    <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
    <Extern>
      <DriverBinding>gIsaBusControllerDriver</DriverBinding>
      <ComponentName>gIsaBusComponentName</ComponentName>
    </Extern>
  </Externs>
  <PcdCoded>
    <PcdEntry PcdItemType="FEATURE_FLAG" Usage="ALWAYS_CONSUMED">
      <C_Name>PcdIsaBusSupportIsaMemory</C_Name>
      <TokenSpaceGuidCName>gEfiIntelFrameworkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
      <DefaultValue>TRUE</DefaultValue>
      <HelpText>This feature flag is used to enable the implementation for interface 
      _EFI_ISA_IO_PROTOCOL.Mem.Read, _EFI_ISA_IO_PROTOCOL.Mem.Write and _EFI_ISA_IO_PROTOCOL.CopyMem. 
      If it is unset, these interfaces will return EFI_UNSUPPORTED. When it is disabled, 
      it is will save code size if a platform does not have ISA device with ISA memory.</HelpText>
    </PcdEntry>
    <PcdEntry PcdItemType="FEATURE_FLAG" Usage="ALWAYS_CONSUMED">
      <C_Name>PcdIsaBusSupportDma</C_Name>
      <TokenSpaceGuidCName>gEfiIntelFrameworkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
      <DefaultValue>TRUE</DefaultValue>
      <HelpText>This feature flag is used to enable the implementation for interface 
      _EFI_ISA_IO_PROTOCOL.AllocateBuffer, _EFI_ISA_IO_PROTOCOL.FreeBuffer, _EFI_ISA_IO_PROTOCOL.Map 
      and _EFI_ISA_IO_PROTOCOL.UnMap. If it is unset, these interfaces will return EFI_UNSUPPORTED. 
      It is useful to save code size if a platform does not have ISA device which did DMA transfer.</HelpText>
    </PcdEntry>
    <PcdEntry PcdItemType="FEATURE_FLAG" Usage="ALWAYS_CONSUMED">
      <C_Name>PcdIsaBusOnlySupportSlaveDma</C_Name>
      <TokenSpaceGuidCName>gEfiIntelFrameworkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
      <DefaultValue>FALSE</DefaultValue>
      <HelpText>This feature flag is used to enable the implementation for interface 
      _EFI_ISA_IO_PROTOCOL.Map and _EFI_ISA_IO_PROTOCOL.UnMap to only support Slave DMA 
      transfers. In addition, unsetting this feature flag also make AllocateBuffer() and 
      FreeBuffer() to return EFI_UNSUPPORTED. It is useful to save code size if a platform have only 
      ISA device to do slave DMA R/W transfer. This flag is only effective when PcdIsaBusSupportDma 
      is set to TRUE. If PcdIsaBusSupportDma is set to FALSE, Map() and UnMap() will simply 
      return EFI_UNSUPPORTED. Please check description for PcdIsaBusSupportDma for details.</HelpText>
    </PcdEntry>
  </PcdCoded>
</ModuleSurfaceArea>