// /** @file
// This package provides target side modules to support source level debug.
//
// 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.
//
// **/


#string STR_PACKAGE_ABSTRACT            #language en-US "This package provides target side modules to support source level debug."

#string STR_PACKAGE_DESCRIPTION         #language en-US "The target side components includes the Debug Agent Library instance\n"
                                                        "to communicate with host side modules, Debug Communication Library and\n"
                                                        "instances to provide the communication I/O functions between Debug Agent\n"
                                                        "and host, PeCoffExtraActionLib instance to report symbol path information,\n"
                                                        "etc."



#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdUsbDebugPortMemorySpaceBase_PROMPT  #language en-US "Configure USB debug port memory BAR"

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdUsbDebugPortMemorySpaceBase_HELP  #language en-US "The memory BAR of USB debug port, it may be different from the memory BAR of EHCI host controller.<BR>\n"
                                                                                                       "Note that the memory BAR address is only used before PCI bus resource allocation."

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdUsbEhciMemorySpaceBase_PROMPT  #language en-US "Configure EHCI host controller memory BAR"

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdUsbEhciMemorySpaceBase_HELP  #language en-US "The memory BAR of EHCI host controller, in which USB debug feature is enabled.<BR>\n"
                                                                                                  "Note that the memory BAR address is only used before PCI bus resource allocation."

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdUsbEhciPciAddress_PROMPT  #language en-US "Configure EHCI host controller PCI address"

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdUsbEhciPciAddress_HELP  #language en-US "The PCI address of EHCI host controller, in which USB debug feature is enabled.<BR>\n"
                                                                                             "The format of PCI address is :<BR>\n"
                                                                                             "-----------------------------------------------------------------------<BR>\n"
                                                                                             "| Bits 28..31 | Bits 20..27 | Bits 15..19 | Bits 12..14 | Bits 00..11 |<BR>\n"
                                                                                             "-----------------------------------------------------------------------<BR>\n"
                                                                                             "|      0      |     Bus     |   Device    |   Function  |      0      |<BR>\n"
                                                                                             "-----------------------------------------------------------------------<BR>\n"
                                                                                             "For the value 0x000EF000, it means the PCI address at bus 0x0, device 0x1D, function 0x7."

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_ERR_80000001 #language en-US "Invalid value provided."

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdExceptionsIgnoredByDebugger_PROMPT  #language en-US "Configure exception numbers not to be hooked by Debug Agent"

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdExceptionsIgnoredByDebugger_HELP  #language en-US "The mask of exception numbers whose handlers would be ignored and cannot be replaced or\n"
                                                                                                       "hooked by Debug Agent Library. Masking INT1/INT3 is invalid."

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdDebugLoadImageMethod_PROMPT  #language en-US "Select loading/unloading image break method"

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdDebugLoadImageMethod_HELP  #language en-US "The method to issue break point to Debug Agent Library when loading/unloading image.<BR><BR>\n"
                                                                                                "1: Use I/O Port 84 to issue hardware break point<BR>\n"
                                                                                                "2: Use INT3 to issue software break point<BR>"

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdDebugPortHandleBufferSize_PROMPT  #language en-US "Assign debug port buffer size"

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdDebugPortHandleBufferSize_HELP  #language en-US "The data buffer size used by debug port in debug communication library instances.\n"
                                                                                                     "Its value is not suggested to be changed in platform DSC file."

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdUsbXhciMemorySpaceBase_PROMPT  #language en-US "Configure xhci host controller memory BAR."

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdUsbXhciMemorySpaceBase_HELP  #language en-US "The memory BAR of xhci host controller, in which usb debug feature is enabled.\n"
                                                                                                  "Note that the memory BAR address is only used before Pci bus resource allocation."

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdUsbXhciPciAddress_PROMPT  #language en-US "Configure xhci host controller pci address."

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdUsbXhciPciAddress_HELP  #language en-US "The pci address of xhci host controller, in which usb debug feature is enabled.\n"
                                                                                             "The format of pci address is :<BR>\n"
                                                                                             "-----------------------------------------------------------------------<BR>\n"
                                                                                             "| Bits 28..31 | Bits 20..27 | Bits 15..19 | Bits 12..14 | Bits 00..11 |<BR>\n"
                                                                                             "-----------------------------------------------------------------------<BR>\n"
                                                                                             "|      0      |     Bus     |   Device    |   Function  |      0      |<BR>\n"
                                                                                             "-----------------------------------------------------------------------<BR>\n"
                                                                                             "For the value 0x000A0000, it means the pci address at bus 0x0, device 0x14, function 0x0."

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdUsbXhciDebugDetectTimeout_PROMPT  #language en-US "Configure debug device detection timeout value."

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdUsbXhciDebugDetectTimeout_HELP  #language en-US "Per XHCI spec, software shall impose a timeout between the detection of the Debug Host\n"
                                                                                                     "connection and the DbC Run transition to 1. This PCD specifies the timeout value in microsecond."

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdTransferProtocolRevision_PROMPT  #language en-US "Default revision of the debug agent transfer protocol."

#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdTransferProtocolRevision_HELP  #language en-US "The upper 16 bits indicate the major revision and the lower 16 bits indicate\n"
                                                                                                    "the minor revision.\n"
                                                                                                    "For example, a value of 0x00000004 stands for revision 0.4.\n"
                                                                                                    "Debug packet compression and decompression is supported since revision 0.4."

