1## @file  SourceLevelDebugPkg.dec
2# This package provides target side modules to support source level debug.
3# The target side components includes the Debug Agent Library instance
4# to communicate with host side modules, Debug Communication Library and
5# instances to provide the communication I/O functions between Debug Agent
6# and host, PeCoffExtraActionLib instance to report symbol path information,
7# etc.
8#
9# Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
10# This program and the accompanying materials are licensed and made available under
11# the terms and conditions of the BSD License that accompanies this distribution.
12# The full text of the license may be found at
13# http://opensource.org/licenses/bsd-license.php.
14#
15# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
16# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17#
18##
19
20[Defines]
21  DEC_SPECIFICATION              = 0x00010005
22  PACKAGE_NAME                   = SourceLevelDebugPkg
23  PACKAGE_UNI_FILE               = SourceLevelDebugPkg.uni
24  PACKAGE_GUID                   = DBF00C27-D8D7-443d-918B-4E85CDA1373B
25  PACKAGE_VERSION                = 0.96
26
27[Includes]
28  Include
29
30[Includes.IA32]
31  Include/Ia32
32
33[Includes.X64]
34  Include/Ia32
35
36[LibraryClasses]
37  ##  @libraryclass  Provides communication I/O functions between Debug Agent and HOST.
38  ##
39  DebugCommunicationLib|Include/Library/DebugCommunicationLib.h
40
41[Guids]
42  ## MdeModule package token space guid
43  # Include/Guid/DebugAgentGuid.h
44  gEfiDebugAgentGuid       = {0x865a5a9b, 0xb85d, 0x474c, { 0x84, 0x55, 0x65, 0xd1, 0xbe, 0x84, 0x4b, 0xe2 }}
45  gEfiSourceLevelDebugPkgTokenSpaceGuid = {0x865a5aab, 0xb85d, 0x474c, { 0x84, 0x55, 0x65, 0xd1, 0xbe, 0x84, 0x4b, 0xe2 }}
46
47#
48# [Error.gEfiSourceLevelDebugPkgTokenSpaceGuid]
49#   0x80000001 | Invalid value provided.
50#
51
52[PcdsFixedAtBuild, PcdsPatchableInModule]
53  ## The memory BAR of usb debug port, it may be different with the memory bar of ehci host controller.
54  #  Note that the memory BAR address is only used before Pci bus resource allocation.
55  # @Prompt Configure usb debug port memory BAR.
56  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbDebugPortMemorySpaceBase|0xd0000000|UINT32|0x00000001
57
58  ## The memory BAR of ehci host controller, in which usb debug feature is enabled.
59  #  Note that the memory BAR address is only used before Pci bus resource allocation.
60  # @Prompt Configure ehci host controller memory BAR.
61  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbEhciMemorySpaceBase|0xd0000000|UINT32|0x00000002
62
63  ## The pci address of ehci host controller, in which usb debug feature is enabled.
64  #  The format of pci address is :<BR>
65  #      -----------------------------------------------------------------------<BR>
66  #      | Bits 28..31 | Bits 20..27 | Bits 15..19 | Bits 12..14 | Bits 00..11 |<BR>
67  #      -----------------------------------------------------------------------<BR>
68  #      |      0      |     Bus     |   Device    |   Function  |      0      |<BR>
69  #      -----------------------------------------------------------------------<BR>
70  #  For the value 0x000EF000, it means the pci address at bus 0x0, device 0x1D, function 0x7.
71  # @Prompt Configure ehci host controller pci address.
72  # @Expression  0x80000001 | (gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbEhciPciAddress & 0xF0000FFF) == 0
73  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbEhciPciAddress|0x000EF000|UINT32|0x00000003
74
75  ## The mask of exception numbers whose handlers would be ignored and cannot be replaced or
76  #  hooked by Debug Agent Library. Masking INT1/INT3 is invalid.
77  # @Prompt Configure exception numbers not to be hooked by Debug Agent.
78  # @Expression  0x80000001 | (gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdExceptionsIgnoredByDebugger & 0xA) == 0
79  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdExceptionsIgnoredByDebugger|0x00000000|UINT32|0x00000004
80
81  ## The method to issue break point to Debug Agent Library when Loading/UnLoading image.<BR><BR>
82  #  1: Use I/O Port 84 to issue hardware break point<BR>
83  #  2: Use INT3 to issue software break point<BR>
84  # @Prompt Configure Loading/UnLoading image break method.
85  # @ValidRange  0x80000001 | 1 - 2
86  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x1|UINT8|0x00000005
87
88  ## The data buffer size used by debug port in debug communication library instances.
89  #  Its value is not suggested to be changed in platform DSC file.
90  # @Prompt Assign debug port buffer size.
91  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugPortHandleBufferSize|0x0|UINT16|0x00000006
92
93  ## The memory BAR of xhci host controller, in which usb debug feature is enabled.
94  ## Note that the memory BAR address is only used before Pci bus resource allocation.
95  # @Prompt Configure ehci host controller memory BAR.
96  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbXhciMemorySpaceBase|0xD0000000|UINT64|0x00000007
97
98  ## The pci address of xhci host controller, in which usb debug feature is enabled.
99  #  The format of pci address is :<BR>
100  #      -----------------------------------------------------------------------<BR>
101  #      | Bits 28..31 | Bits 20..27 | Bits 15..19 | Bits 12..14 | Bits 00..11 |<BR>
102  #      -----------------------------------------------------------------------<BR>
103  #      |      0      |     Bus     |   Device    |   Function  |      0      |<BR>
104  #      -----------------------------------------------------------------------<BR>
105  #  For the value 0x000A0000, it means the pci address at bus 0x0, device 0x14, function 0x0.
106  # @Prompt Configure xhci host controller pci address.
107  # @Expression  0x80000001 | (gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbXhciPciAddress & 0xF0000FFF) == 0
108  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbXhciPciAddress|0x000A0000|UINT32|0x00000008
109
110  ## Per XHCI spec, software shall impose a timeout between the detection of the Debug Host
111  ## connection and the DbC Run transition to 1. This PCD specifies the timeout value in microsecond.
112  # @Prompt Configure debug device detection timeout value.
113  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbXhciDebugDetectTimeout|3000000|UINT64|0x00000009
114
115[UserExtensions.TianoCore."ExtraFiles"]
116  SourceLevelDebugPkgExtra.uni
117