summaryrefslogtreecommitdiffstats
path: root/SourceLevelDebugPkg/SourceLevelDebugPkg.dec
blob: b89e9c6ad601f2367d9975f434169c8c1aa990f8 (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
## @file  SourceLevelDebugPkg.dec
# This package provides target side modules to support source level debug.
# The target side components includes the Debug Agent Library instance
# to communicate with host side modules, Debug Communication Library and
# instances to provide the communication I/O functions between Debug Agent
# and host, PeCoffExtraActionLib instance to report symbol path information,
# etc.
#
# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials are licensed and made available under 
# the terms and conditions of the BSD License that 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.  
#
##

[Defines]
  DEC_SPECIFICATION              = 0x00010005
  PACKAGE_NAME                   = SourceLevelDebugPkg
  PACKAGE_UNI_FILE               = SourceLevelDebugPkg.uni
  PACKAGE_GUID                   = DBF00C27-D8D7-443d-918B-4E85CDA1373B
  PACKAGE_VERSION                = 0.96

[Includes]
  Include

[Includes.IA32]
  Include/Ia32

[Includes.X64]
  Include/Ia32

[LibraryClasses]
  ##  @libraryclass  Provides communication I/O functions between Debug Agent and HOST.
  ##
  DebugCommunicationLib|Include/Library/DebugCommunicationLib.h

[Guids]
  ## MdeModule package token space guid
  # Include/Guid/DebugAgentGuid.h
  gEfiDebugAgentGuid       = {0x865a5a9b, 0xb85d, 0x474c, { 0x84, 0x55, 0x65, 0xd1, 0xbe, 0x84, 0x4b, 0xe2 }}
  gEfiSourceLevelDebugPkgTokenSpaceGuid = {0x865a5aab, 0xb85d, 0x474c, { 0x84, 0x55, 0x65, 0xd1, 0xbe, 0x84, 0x4b, 0xe2 }}

#
# [Error.gEfiSourceLevelDebugPkgTokenSpaceGuid]
#   0x80000001 | Invalid value provided.
#

[PcdsFixedAtBuild, PcdsPatchableInModule]
  ## The memory BAR of usb debug port, it may be different with the memory bar of ehci host controller.
  #  Note that the memory BAR address is only used before Pci bus resource allocation.
  # @Prompt Configure usb debug port memory BAR.
  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbDebugPortMemorySpaceBase|0xd0000000|UINT32|0x00000001

  ## The memory BAR of ehci host controller, in which usb debug feature is enabled.
  #  Note that the memory BAR address is only used before Pci bus resource allocation.
  # @Prompt Configure ehci host controller memory BAR.
  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbEhciMemorySpaceBase|0xd0000000|UINT32|0x00000002

  ## The pci address of ehci host controller, in which usb debug feature is enabled.
  #  The format of pci address is :<BR>
  #      -----------------------------------------------------------------------<BR>
  #      | Bits 28..31 | Bits 20..27 | Bits 15..19 | Bits 12..14 | Bits 00..11 |<BR>
  #      -----------------------------------------------------------------------<BR>
  #      |      0      |     Bus     |   Device    |   Function  |      0      |<BR>
  #      -----------------------------------------------------------------------<BR>
  #  For the value 0x000EF000, it means the pci address at bus 0x0, device 0x1D, function 0x7.
  # @Prompt Configure ehci host controller pci address.
  # @Expression  0x80000001 | (gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbEhciPciAddress & 0xF0000FFF) == 0
  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbEhciPciAddress|0x000EF000|UINT32|0x00000003

  ## The mask of exception numbers whose handlers would be ignored and cannot be replaced or 
  #  hooked by Debug Agent Library. Masking INT1/INT3 is invalid.
  # @Prompt Configure exception numbers not to be hooked by Debug Agent.
  # @Expression  0x80000001 | (gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdExceptionsIgnoredByDebugger & 0xA) == 0
  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdExceptionsIgnoredByDebugger|0x00000000|UINT32|0x00000004

  ## The method to issue break point to Debug Agent Library when Loading/UnLoading image.<BR><BR>
  #  1: Use I/O Port 84 to issue hardware break point<BR>
  #  2: Use INT3 to issue software break point<BR>
  # @Prompt Configure Loading/UnLoading image break method.
  # @ValidRange  0x80000001 | 1 - 2
  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x1|UINT8|0x00000005

  ## The data buffer size used by debug port in debug communication library instances.
  #  Its value is not suggested to be changed in platform DSC file.
  # @Prompt Assign debug port buffer size.
  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugPortHandleBufferSize|0x0|UINT16|0x00000006

  ## The memory BAR of xhci host controller, in which usb debug feature is enabled.
  ## Note that the memory BAR address is only used before Pci bus resource allocation.
  # @Prompt Configure xhci host controller memory BAR.
  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbXhciMemorySpaceBase|0xD0000000|UINT64|0x00000007
  
  ## The pci address of xhci host controller, in which usb debug feature is enabled.
  #  The format of pci address is :<BR>
  #      -----------------------------------------------------------------------<BR>
  #      | Bits 28..31 | Bits 20..27 | Bits 15..19 | Bits 12..14 | Bits 00..11 |<BR>
  #      -----------------------------------------------------------------------<BR>
  #      |      0      |     Bus     |   Device    |   Function  |      0      |<BR>
  #      -----------------------------------------------------------------------<BR>
  #  For the value 0x000A0000, it means the pci address at bus 0x0, device 0x14, function 0x0.
  # @Prompt Configure xhci host controller pci address.
  # @Expression  0x80000001 | (gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbXhciPciAddress & 0xF0000FFF) == 0
  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbXhciPciAddress|0x000A0000|UINT32|0x00000008
  
  ## Per XHCI spec, software shall impose a timeout between the detection of the Debug Host 
  ## connection and the DbC Run transition to 1. This PCD specifies the timeout value in microsecond.
  # @Prompt Configure debug device detection timeout value.
  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbXhciDebugDetectTimeout|3000000|UINT64|0x00000009

  ## Default revision of the debug agent transfer protocol.
  #  The upper 16 bits indicate the major revision and the lower 16 bits indicate the minor revision.
  #  For example, a value of 0x00000004 stands for revision 0.4.
  #  Debug packet compression and decompression is supported since revision 0.4.
  # @Prompt Default revision of the debug agent transfer protocol.
  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdTransferProtocolRevision|0x00000004|UINT32|0x0000000a

[UserExtensions.TianoCore."ExtraFiles"]
  SourceLevelDebugPkgExtra.uni