blob: 9579c3e0060d7d9d77ffee0698f283a032aff7cd [file] [log] [blame]
vanjeff18b144e2010-09-12 06:43:36 +00001## @file SourceLevelDebugPkg.dec
vanjeff18b144e2010-09-12 06:43:36 +00002# 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#
Shumin Qiu4e4a6f32015-01-19 02:44:10 +00009# Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
vanjeff18b144e2010-09-12 06:43:36 +000010# 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
vanjeff894c9c62012-04-25 08:03:26 +000022 PACKAGE_NAME = SourceLevelDebugPkg
Gao, Liming865ef842014-08-28 05:14:21 +000023 PACKAGE_UNI_FILE = SourceLevelDebugPkg.uni
vanjeff18b144e2010-09-12 06:43:36 +000024 PACKAGE_GUID = DBF00C27-D8D7-443d-918B-4E85CDA1373B
Ruiyu Ni29b3a742015-08-24 06:38:24 +000025 PACKAGE_VERSION = 0.96
vanjeff18b144e2010-09-12 06:43:36 +000026
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
Gao, Liming865ef842014-08-28 05:14:21 +000047#
48# [Error.gEfiSourceLevelDebugPkgTokenSpaceGuid]
49# 0x80000001 | Invalid value provided.
50#
51
vanjeff18b144e2010-09-12 06:43:36 +000052[PcdsFixedAtBuild, PcdsPatchableInModule]
53 ## The memory BAR of usb debug port, it may be different with the memory bar of ehci host controller.
Gao, Liming865ef842014-08-28 05:14:21 +000054 # Note that the memory BAR address is only used before Pci bus resource allocation.
55 # @Prompt Configure usb debug port memory BAR.
vanjeff18b144e2010-09-12 06:43:36 +000056 gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbDebugPortMemorySpaceBase|0xd0000000|UINT32|0x00000001
57
58 ## The memory BAR of ehci host controller, in which usb debug feature is enabled.
Gao, Liming865ef842014-08-28 05:14:21 +000059 # Note that the memory BAR address is only used before Pci bus resource allocation.
60 # @Prompt Configure ehci host controller memory BAR.
vanjeff18b144e2010-09-12 06:43:36 +000061 gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbEhciMemorySpaceBase|0xd0000000|UINT32|0x00000002
62
63 ## The pci address of ehci host controller, in which usb debug feature is enabled.
Gao, Liming865ef842014-08-28 05:14:21 +000064 # 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
vanjeff18b144e2010-09-12 06:43:36 +000073 gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbEhciPciAddress|0x000EF000|UINT32|0x00000003
74
75 ## The mask of exception numbers whose handlers would be ignored and cannot be replaced or
Gao, Liming865ef842014-08-28 05:14:21 +000076 # 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
vanjeff18b144e2010-09-12 06:43:36 +000079 gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdExceptionsIgnoredByDebugger|0x00000000|UINT32|0x00000004
80
Gao, Liming865ef842014-08-28 05:14:21 +000081 ## 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
vanjeff18b144e2010-09-12 06:43:36 +000086 gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x1|UINT8|0x00000005
vanjeffb422b622013-01-25 02:36:18 +000087
Gao, Liming865ef842014-08-28 05:14:21 +000088 ## 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.
vanjeffb422b622013-01-25 02:36:18 +000091 gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugPortHandleBufferSize|0x0|UINT16|0x00000006
92
Elvin Li2cb6eab2014-10-22 05:01:58 +000093 ## 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
Gao, Liming865ef842014-08-28 05:14:21 +0000115[UserExtensions.TianoCore."ExtraFiles"]
116 SourceLevelDebugPkgExtra.uni