﻿<ExdiTargets CurrentTarget = "QEMU">

  <!-- Lauterbach Trace32 HW debugger GDB server configuration -->
  <ExdiTarget Name = "Trace32">
    <ExdiGdbServerConfigData agentNamePacket = "QMS.windbg" uuid = "72d4aeda-9723-4972-b89a-679ac79810ef" displayCommPackets = "yes" debuggerSessionByCore = "no" enableThrowExceptionOnMemoryErrors = "no" qSupportedPacket="">
      <ExdiGdbServerTargetData targetArchitecture = "ARM64" targetFamily = "ProcessorFamilyARM64" numberOfCores = "1" EnableSseContext = "no" heuristicScanSize = "0xffe" targetDescriptionFile = ""/>
      <GdbServerConnectionParameters MultiCoreGdbServerSessions = "no" MaximumGdbServerPacketLength = "1024" MaximumConnectAttempts = "3" SendPacketTimeout = "100" ReceivePacketTimeout = "3000">
        <Value HostNameAndPort="LocalHost:65001" />
      </GdbServerConnectionParameters>
      <ExdiGdbServerMemoryCommands GdbSpecialMemoryCommand = "yes" PhysicalMemory = "yes" SupervisorMemory = "yes" HypervisorMemory = "yes" SpecialMemoryRegister = "yes" SystemRegistersGdbMonitor = "no" SystemRegisterDecoding = "no" >
      </ExdiGdbServerMemoryCommands>
        <!-- The below arrays array will be used for processing CPU context (Set/GetContext) related RSP packets. -->
      <!-- An array entry contains the following fields: -->
      <!--  1. The register name descriptor, -->
      <!--  2. The register ID that matches with the array entry number. -->
      <!--     It's used to indentify the register in Set context related packets. -->
      <!--  3. The register size in bytes. -->
      <ExdiGdbServerRegisters Architecture = "ARM64" FeatureNameSupported = "">
          <Entry Name ="X0"  Order = "0" Size = "8" />
          <Entry Name ="X1"  Order = "1" Size = "8" />
          <Entry Name ="X2"  Order = "2" Size = "8" />
          <Entry Name ="X3"  Order = "3" Size = "8" />
          <Entry Name ="X4"  Order = "4" Size = "8" />
          <Entry Name ="X5"  Order = "5" Size = "8" />
          <Entry Name ="X6"  Order = "6" Size = "8" />
          <Entry Name ="X7"  Order = "7" Size = "8" />
          <Entry Name ="X8"  Order = "8" Size = "8" />
          <Entry Name ="X9"  Order = "9" Size = "8" />
          <Entry Name ="X10" Order = "a"  Size = "8" />
          <Entry Name ="X11" Order = "b"  Size = "8" />
          <Entry Name ="X12" Order = "c"  Size = "8" />
          <Entry Name ="X13" Order = "d"  Size = "8" />
          <Entry Name ="X14" Order = "e"  Size = "8" />
          <Entry Name ="X15" Order = "f"  Size = "8" />
          <Entry Name ="X16" Order = "10" Size = "8" />
          <Entry Name ="X17" Order = "11" Size = "8" />
          <Entry Name ="X18" Order = "12" Size = "8" />
          <Entry Name ="X19" Order = "13" Size = "8" />
          <Entry Name ="X20" Order = "14" Size = "8" />
          <Entry Name ="X21" Order = "15" Size = "8" />
          <Entry Name ="X22" Order = "16" Size = "8" />
          <Entry Name ="X23" Order = "17" Size = "8" />
          <Entry Name ="X24" Order = "18" Size = "8" />
          <Entry Name ="X25" Order = "19" Size = "8" />
          <Entry Name ="X26" Order = "1a" Size = "8" />
          <Entry Name ="X27" Order = "1b" Size = "8" />
          <Entry Name ="X28" Order = "1c" Size = "8" />
          <Entry Name ="fp"  Order = "1d" Size = "8" />
          <Entry Name ="lr"  Order = "1e" Size = "8" />
          <Entry Name ="sp"  Order = "1f" Size = "8" />
          <Entry Name ="pc"  Order = "20" Size = "8" />
          <Entry Name ="cpsr" Order = "21" Size = "8" />
          <Entry Name ="V0" Order = "22" Size = "16" />
          <Entry Name ="V1" Order = "23" Size = "16" />
          <Entry Name ="V2" Order = "24" Size = "16" />
          <Entry Name ="V3" Order = "25" Size = "16" />
          <Entry Name ="V4" Order = "26" Size = "16" />
          <Entry Name ="V5" Order = "27" Size = "16" />
          <Entry Name ="V6" Order = "28" Size = "16" />
          <Entry Name ="V7" Order = "29" Size = "16" />
          <Entry Name ="V8" Order = "2a" Size = "16" />
          <Entry Name ="V9" Order = "2b" Size = "16" />
          <Entry Name ="V10" Order = "2c" Size = "16" />
          <Entry Name ="V11" Order = "2d" Size = "16" />
          <Entry Name ="V12" Order = "2e" Size = "16" />
          <Entry Name ="V13" Order = "2f" Size = "16" />
          <Entry Name ="V14" Order = "30" Size = "16" />
          <Entry Name ="V15" Order = "31" Size = "16" />
          <Entry Name ="V16" Order = "32" Size = "16" />
          <Entry Name ="V17" Order = "33" Size = "16" />
          <Entry Name ="V18" Order = "34" Size = "16" />
          <Entry Name ="V19" Order = "35" Size = "16" />
          <Entry Name ="V20" Order = "36" Size = "16" />
          <Entry Name ="V21" Order = "37" Size = "16" />
          <Entry Name ="V22" Order = "38" Size = "16" />
          <Entry Name ="V23" Order = "39" Size = "16" />
          <Entry Name ="V24" Order = "3a" Size = "16" />
          <Entry Name ="V25" Order = "3b" Size = "16" />
          <Entry Name ="V26" Order = "3c" Size = "16" />
          <Entry Name ="V27" Order = "3d" Size = "16" />
          <Entry Name ="V28" Order = "3e" Size = "16" />
          <Entry Name ="V29" Order = "3f" Size = "16" />
          <Entry Name ="V30" Order = "3f" Size = "16" />
          <Entry Name ="V31" Order = "3f" Size = "16" />
          <Entry Name ="fpsr" Order = "40" Size = "4" />
          <Entry Name ="fpcr" Order = "41" Size = "4" />
        </ExdiGdbServerRegisters>
     </ExdiGdbServerConfigData>
  </ExdiTarget>

  <!-- BMC-OpenOCD HW debugger GDB server configuration -->
  <ExdiTarget Name = "BMC-OpenOCD">
    <ExdiGdbServerConfigData agentNamePacket = "BMC.OpenOCD.Windbg.Gdb" uuid = "72d4aeda-9723-4972-b89a-679ac79810ef" displayCommPackets = "yes" debuggerSessionByCore = "no" enableThrowExceptionOnMemoryErrors = "yes" qSupportedPacket="qSupported:xmlRegisters=aarch64,i386" enableTreatingSwBpAsHwBp="yes" >
      <ExdiGdbServerTargetData targetArchitecture = "ARM64" targetFamily = "ProcessorFamilyARM64" numberOfCores = "1" EnableSseContext = "no" heuristicScanSize = "0xfffe" targetDescriptionFile = "target.xml" />
      <GdbServerConnectionParameters MultiCoreGdbServerSessions = "no" MaximumGdbServerPacketLength = "1024" MaximumConnectAttempts = "3" SendPacketTimeout = "100" ReceivePacketTimeout = "3000">
        <Value HostNameAndPort="LocalHost:3333" />
      </GdbServerConnectionParameters> 
      <ExdiGdbServerMemoryCommands GdbSpecialMemoryCommand = "no" PhysicalMemory = "no" SupervisorMemory = "no" HypervisorMemory = "no" SpecialMemoryRegister = "no" SystemRegistersGdbMonitor = "yes" SystemRegisterDecoding = "yes">
      </ExdiGdbServerMemoryCommands>
      <!-- The below arrays array will be used for processing CPU context (Set/GetContext) related RSP packets. -->
      <!-- An array entry contains the following fields: -->
      <!--  1. The register name descriptor, -->
      <!--  2. The register ID that matches with the array entry number. -->
      <!--     It's used to indentify the register in Set context related packets. -->
      <!--  3. The register size in bytes. -->
      <ExdiGdbServerRegisters Architecture = "ARM64" FeatureNameSupported = "banked">
        <Entry Name ="X0"  Order = "0" Size = "8" />
        <Entry Name ="X1"  Order = "1" Size = "8" />
        <Entry Name ="X2"  Order = "2" Size = "8" />
        <Entry Name ="X3"  Order = "3" Size = "8" />
        <Entry Name ="X4"  Order = "4" Size = "8" />
        <Entry Name ="X5"  Order = "5" Size = "8" />
        <Entry Name ="X6"  Order = "6" Size = "8" />
        <Entry Name ="X7"  Order = "7" Size = "8" />
        <Entry Name ="X8"  Order = "8" Size = "8" />
        <Entry Name ="X9"  Order = "9" Size = "8" />
        <Entry Name ="X10" Order = "a"  Size = "8" />
        <Entry Name ="X11" Order = "b"  Size = "8" />
        <Entry Name ="X12" Order = "c"  Size = "8" />
        <Entry Name ="X13" Order = "d"  Size = "8" />
        <Entry Name ="X14" Order = "e"  Size = "8" />
        <Entry Name ="X15" Order = "f"  Size = "8" />
        <Entry Name ="X16" Order = "10" Size = "8" />
        <Entry Name ="X17" Order = "11" Size = "8" />
        <Entry Name ="X18" Order = "12" Size = "8" />
        <Entry Name ="X19" Order = "13" Size = "8" />
        <Entry Name ="X20" Order = "14" Size = "8" />
        <Entry Name ="X21" Order = "15" Size = "8" />
        <Entry Name ="X22" Order = "16" Size = "8" />
        <Entry Name ="X23" Order = "17" Size = "8" />
        <Entry Name ="X24" Order = "18" Size = "8" />
        <Entry Name ="X25" Order = "19" Size = "8" />
        <Entry Name ="X26" Order = "1a" Size = "8" />
        <Entry Name ="X27" Order = "1b" Size = "8" />
        <Entry Name ="X28" Order = "1c" Size = "8" />
        <Entry Name ="fp"  Order = "1d" Size = "8" />
        <Entry Name ="lr"  Order = "1e" Size = "8" />
        <Entry Name ="sp"  Order = "1f" Size = "8" />
        <Entry Name ="pc"  Order = "20" Size = "8" />
        <Entry Name ="cpsr" Order = "21" Size = "8" />
        <Entry Name ="V0" Order = "22" Size = "16" />
        <Entry Name ="V1" Order = "23" Size = "16" />
        <Entry Name ="V2" Order = "24" Size = "16" />
        <Entry Name ="V3" Order = "25" Size = "16" />
        <Entry Name ="V4" Order = "26" Size = "16" />
        <Entry Name ="V5" Order = "27" Size = "16" />
        <Entry Name ="V6" Order = "28" Size = "16" />
        <Entry Name ="V7" Order = "29" Size = "16" />
        <Entry Name ="V8" Order = "2a" Size = "16" />
        <Entry Name ="V9" Order = "2b" Size = "16" />
        <Entry Name ="V10" Order = "2c" Size = "16" />
        <Entry Name ="V11" Order = "2d" Size = "16" />
        <Entry Name ="V12" Order = "2e" Size = "16" />
        <Entry Name ="V13" Order = "2f" Size = "16" />
        <Entry Name ="V14" Order = "30" Size = "16" />
        <Entry Name ="V15" Order = "31" Size = "16" />
        <Entry Name ="V16" Order = "32" Size = "16" />
        <Entry Name ="V17" Order = "33" Size = "16" />
        <Entry Name ="V18" Order = "34" Size = "16" />
        <Entry Name ="V19" Order = "35" Size = "16" />
        <Entry Name ="V20" Order = "36" Size = "16" />
        <Entry Name ="V21" Order = "37" Size = "16" />
        <Entry Name ="V22" Order = "38" Size = "16" />
        <Entry Name ="V23" Order = "39" Size = "16" />
        <Entry Name ="V24" Order = "3a" Size = "16" />
        <Entry Name ="V25" Order = "3b" Size = "16" />
        <Entry Name ="V26" Order = "3c" Size = "16" />
        <Entry Name ="V27" Order = "3d" Size = "16" />
        <Entry Name ="V28" Order = "3e" Size = "16" />
        <Entry Name ="V29" Order = "3f" Size = "16" />
        <Entry Name ="V30" Order = "3f" Size = "16" />
        <Entry Name ="V31" Order = "3f" Size = "16" />
        <Entry Name ="fpsr" Order = "40" Size = "4" />
        <Entry Name ="fpcr" Order = "41" Size = "4" />
      </ExdiGdbServerRegisters>
    </ExdiGdbServerConfigData>
  </ExdiTarget>

  <!-- QEMU SW simulator GDB server configuration -->
  <ExdiTarget Name = "QEMU">
    <ExdiGdbServerConfigData agentNamePacket = "" uuid = "72d4aeda-9723-4972-b89a-679ac79810ef" displayCommPackets = "yes" debuggerSessionByCore = "no" enableThrowExceptionOnMemoryErrors = "yes" qSupportedPacket="qSupported:xmlRegisters=aarch64,i386">
      <ExdiGdbServerTargetData targetArchitecture = "ARM64" targetFamily = "ProcessorFamilyARM64" numberOfCores = "1" EnableSseContext = "no" heuristicScanSize = "0xffe" targetDescriptionFile = "target.xml" />
      <GdbServerConnectionParameters MultiCoreGdbServerSessions = "no" MaximumGdbServerPacketLength = "1024" MaximumConnectAttempts = "3" SendPacketTimeout = "100" ReceivePacketTimeout = "3000">
        <Value HostNameAndPort="LocalHost:1234" />
      </GdbServerConnectionParameters>
      <ExdiGdbServerMemoryCommands GdbSpecialMemoryCommand = "no" PhysicalMemory = "no" SupervisorMemory = "no" HypervisorMemory = "no" SpecialMemoryRegister = "no" SystemRegistersGdbMonitor = "no" SystemRegisterDecoding = "no">
      </ExdiGdbServerMemoryCommands>

      <!-- ARM64 GDB server core resgisters -->

      <ExdiGdbServerRegisters Architecture = "ARM64" FeatureNameSupported = "sys">
        <Entry Name ="X0"  Order = "0" Size = "8" />
        <Entry Name ="X1"  Order = "1" Size = "8" />
        <Entry Name ="X2"  Order = "2" Size = "8" />
        <Entry Name ="X3"  Order = "3" Size = "8" />
        <Entry Name ="X4"  Order = "4" Size = "8" />
        <Entry Name ="X5"  Order = "5" Size = "8" />
        <Entry Name ="X6"  Order = "6" Size = "8" />
        <Entry Name ="X7"  Order = "7" Size = "8" />
        <Entry Name ="X8"  Order = "8" Size = "8" />
        <Entry Name ="X9"  Order = "9" Size = "8" />
        <Entry Name ="X10" Order = "a"  Size = "8" />
        <Entry Name ="X11" Order = "b"  Size = "8" />
        <Entry Name ="X12" Order = "c"  Size = "8" />
        <Entry Name ="X13" Order = "d"  Size = "8" />
        <Entry Name ="X14" Order = "e"  Size = "8" />
        <Entry Name ="X15" Order = "f"  Size = "8" />
        <Entry Name ="X16" Order = "10" Size = "8" />
        <Entry Name ="X17" Order = "11" Size = "8" />
        <Entry Name ="X18" Order = "12" Size = "8" />
        <Entry Name ="X19" Order = "13" Size = "8" />
        <Entry Name ="X20" Order = "14" Size = "8" />
        <Entry Name ="X21" Order = "15" Size = "8" />
        <Entry Name ="X22" Order = "16" Size = "8" />
        <Entry Name ="X23" Order = "17" Size = "8" />
        <Entry Name ="X24" Order = "18" Size = "8" />
        <Entry Name ="X25" Order = "19" Size = "8" />
        <Entry Name ="X26" Order = "1a" Size = "8" />
        <Entry Name ="X27" Order = "1b" Size = "8" />
        <Entry Name ="X28" Order = "1c" Size = "8" />
        <Entry Name ="fp"  Order = "1d" Size = "8" />
        <Entry Name ="lr"  Order = "1e" Size = "8" />
        <Entry Name ="sp"  Order = "1f" Size = "8" />
        <Entry Name ="pc"  Order = "20" Size = "8" />
        <Entry Name ="cpsr" Order = "21" Size = "8" />
        <Entry Name ="V0" Order = "22" Size = "16" />
        <Entry Name ="V1" Order = "23" Size = "16" />
        <Entry Name ="V2" Order = "24" Size = "16" />
        <Entry Name ="V3" Order = "25" Size = "16" />
        <Entry Name ="V4" Order = "26" Size = "16" />
        <Entry Name ="V5" Order = "27" Size = "16" />
        <Entry Name ="V6" Order = "28" Size = "16" />
        <Entry Name ="V7" Order = "29" Size = "16" />
        <Entry Name ="V8" Order = "2a" Size = "16" />
        <Entry Name ="V9" Order = "2b" Size = "16" />
        <Entry Name ="V10" Order = "2c" Size = "16" />
        <Entry Name ="V11" Order = "2d" Size = "16" />
        <Entry Name ="V12" Order = "2e" Size = "16" />
        <Entry Name ="V13" Order = "2f" Size = "16" />
        <Entry Name ="V14" Order = "30" Size = "16" />
        <Entry Name ="V15" Order = "31" Size = "16" />
        <Entry Name ="V16" Order = "32" Size = "16" />
        <Entry Name ="V17" Order = "33" Size = "16" />
        <Entry Name ="V18" Order = "34" Size = "16" />
        <Entry Name ="V19" Order = "35" Size = "16" />
        <Entry Name ="V20" Order = "36" Size = "16" />
        <Entry Name ="V21" Order = "37" Size = "16" />
        <Entry Name ="V22" Order = "38" Size = "16" />
        <Entry Name ="V23" Order = "39" Size = "16" />
        <Entry Name ="V24" Order = "3a" Size = "16" />
        <Entry Name ="V25" Order = "3b" Size = "16" />
        <Entry Name ="V26" Order = "3c" Size = "16" />
        <Entry Name ="V27" Order = "3d" Size = "16" />
        <Entry Name ="V28" Order = "3e" Size = "16" />
        <Entry Name ="V29" Order = "3f" Size = "16" />
        <Entry Name ="V30" Order = "3f" Size = "16" />
        <Entry Name ="V31" Order = "3f" Size = "16" />
        <Entry Name ="fpsr" Order = "40" Size = "4" />
        <Entry Name ="fpcr" Order = "41" Size = "4" />
      </ExdiGdbServerRegisters>

      <!-- x64 GDB server core resgisters -->

      <ExdiGdbServerRegisters Architecture = "X64" FeatureNameSupported = "sys" SystemRegistersStart = "18" SystemRegistersEnd = "20" >
        <Entry Name ="rax" Order = "0" Size ="8" />
        <Entry Name ="rbx" Order = "1" Size ="8" />
        <Entry Name ="rcx" Order = "2" Size ="8" />
        <Entry Name ="rdx" Order = "3" Size ="8" />
        <Entry Name ="rsi" Order = "4" Size ="8" />
        <Entry Name ="rdi" Order = "5" Size ="8" />
        <Entry Name ="rbp" Order = "6" Size ="8" />
        <Entry Name ="rsp" Order = "7" Size ="8" />
        <Entry Name ="r8"  Order = "8" Size ="8" />
        <Entry Name ="r9"  Order = "9" Size ="8" />
        <Entry Name ="r10" Order = "a" Size ="8" />
        <Entry Name ="r11" Order = "b" Size ="8" />
        <Entry Name ="r12" Order = "c" Size ="8" />
        <Entry Name ="r13" Order = "d" Size ="8" />
        <Entry Name ="r14" Order = "e" Size ="8" />
        <Entry Name ="r15" Order = "f" Size ="8" />
        <Entry Name ="rip" Order = "10" Size ="8" />
        <!-- <flags id="x64_eflags" size="4">
              <field name="" start="22" end="31"/>
              <field name="ID" start="21" end="21"/>
              <field name="VIP" start="20" end="20"/>
              <field name="VIF" start="19" end="19"/>
              <field name="AC" start="18" end="18"/>
              <field name="VM" start="17" end="17"/>
              <field name="RF" start="16" end="16"/>
              <field name="" start="15" end="15"/>
              <field name="NT" start="14" end="14"/>
              <field name="IOPL" start="12" end="13"/>
              <field name="OF" start="11" end="11"/>
              <field name="DF" start="10" end="10"/>
              <field name="IF" start="9" end="9"/>
              <field name="TF" start="8" end="8"/>
              <field name="SF" start="7" end="7"/>
              <field name="ZF" start="6" end="6"/>
              <field name="" start="5" end="5"/>
              <field name="AF" start="4" end="4"/>
              <field name="" start="3" end="3"/>
              <field name="PF" start="2" end="2"/>
              <field name="" start="1" end="1"/>
              <field name="CF" start="0" end="0"/>
          </flags> -->
        <Entry Name ="eflags" Order = "11" Size ="4" />

        <!-- Segment registers -->
        <Entry Name ="cs" Order = "12" Size ="4" />
        <Entry Name ="ss" Order = "13" Size ="4" />
        <Entry Name ="ds" Order = "14" Size ="4" />
        <Entry Name ="es" Order = "15" Size ="4" />
        <Entry Name ="fs" Order = "16" Size ="4" />
        <Entry Name ="gs" Order = "17" Size ="4" />

        <!-- Segment descriptor caches and TLS base MSRs -->
        <!--Entry Name ="cs_base" Order = "18" Size="8"/
        <Entry Name ="ss_base" Order = "18" Size ="8" />
        <Entry Name ="ds_base" Order = "19" Size ="8" />
        <Entry Name ="es_base" Order = "1a" Size ="8" /> -->
        <Entry Name ="fs_base" Order = "18" Size ="8" />
        <Entry Name ="gs_base" Order = "19" Size ="8" />
        <Entry Name ="k_gs_base" Order = "1a" Size ="8" />

        <!-- Control registers -->
        <!-- the cr0 register format fields:
         <flags id="x64_cr0" size="8">
          <field name="PG" start="31" end="31"/>
          <field name="CD" start="30" end="30"/>
          <field name="NW" start="29" end="29"/>
          <field name="AM" start="18" end="18"/>
          <field name="WP" start="16" end="16"/>
          <field name="NE" start="5" end="5"/>
          <field name="ET" start="4" end="4"/>
          <field name="TS" start="3" end="3"/>
          <field name="EM" start="2" end="2"/>
          <field name="MP" start="1" end="1"/>
          <field name="PE" start="0" end="0"/>
         </flags> -->
        <Entry Name ="cr0" Order = "1b" Size ="8" />
        <Entry Name ="cr2" Order = "1c" Size ="8" />

        <!-- the cr3 register format fields:
          <flags id="x64_cr3" size="8">
            <field name="PDBR" start="12" end="63"/>
            <field name="PCID" start="0" end="11"/>
         </flags> -->
        <Entry Name ="cr3" Order = "1d" Size ="8" />

        <!-- the cr4 register format fields:
          <flags id="x64_cr4" size="8">
            <field name="PKE" start="22" end="22"/>
            <field name="SMAP" start="21" end="21"/>
            <field name="SMEP" start="20" end="20"/>
            <field name="OSXSAVE" start="18" end="18"/>
            <field name="PCIDE" start="17" end="17"/>
            <field name="FSGSBASE" start="16" end="16"/>
            <field name="SMXE" start="14" end="14"/>
            <field name="VMXE" start="13" end="13"/>
            <field name="LA57" start="12" end="12"/>
            <field name="UMIP" start="11" end="11"/>
            <field name="OSXMMEXCPT" start="10" end="10"/>
            <field name="OSFXSR" start="9" end="9"/>
            <field name="PCE" start="8" end="8"/>
            <field name="PGE" start="7" end="7"/>
            <field name="MCE" start="6" end="6"/>
            <field name="PAE" start="5" end="5"/>
            <field name="PSE" start="4" end="4"/>
            <field name="DE" start="3" end="3"/>
            <field name="TSD" start="2" end="2"/>
            <field name="PVI" start="1" end="1"/>
            <field name="VME" start="0" end="0"/>
         </flags> -->
        <Entry Name ="cr4" Order = "1e" Size ="8" />
        <Entry Name ="cr8" Order = "1f" Size ="8" />

        <!-- the efer register format fields:
        <flags id="x64_efer" size="8">
           <field name="TCE" start="15" end="15"/>
           <field name="FFXSR" start="14" end="14"/>
           <field name="LMSLE" start="13" end="13"/>
           <field name="SVME" start="12" end="12"/>
           <field name="NXE" start="11" end="11"/>
           <field name="LMA" start="10" end="10"/>
           <field name="LME" start="8" end="8"/>
           <field name="SCE" start="0" end="0"/>
         </flags> -->
        <Entry Name ="efer" Order = "20" Size ="8"/>

        <!-- x87 FPU -->
        <Entry Name ="st0" Order = "21" Size ="10" />
        <Entry Name ="st1" Order = "22" Size ="10" />
        <Entry Name ="st2" Order = "23" Size ="10" />
        <Entry Name ="st3" Order = "24" Size ="10" />
        <Entry Name ="st4" Order = "25" Size ="10" />
        <Entry Name ="st5" Order = "26" Size ="10" />
        <Entry Name ="st6" Order = "27" Size ="10" />
        <Entry Name ="st7" Order = "28" Size ="10" />
        <Entry Name ="fctrl" Order = "29" Size ="4" />
        <Entry Name ="fstat" Order = "2a" Size ="4" />
        <Entry Name ="ftag"  Order = "2b" Size ="4" />
        <Entry Name ="fiseg" Order = "2c" Size ="4" />
        <Entry Name ="fioff" Order = "2d" Size ="4" />
        <Entry Name ="foseg" Order = "2e" Size ="4" />
        <Entry Name ="fooff" Order = "2f" Size ="4" />
        <Entry Name ="fop" Order = "30" Size ="4" />
        <Entry Name ="xmm0" Order = "31" Size ="16"  />
        <Entry Name ="xmm1" Order = "32" Size ="16"  />
        <Entry Name ="xmm2" Order = "33" Size ="16"  />
        <Entry Name ="xmm3" Order = "34" Size ="16"  />
        <Entry Name ="xmm4" Order = "35" Size ="16"  />
        <Entry Name ="xmm5" Order = "36" Size ="16"  />
        <Entry Name ="xmm6" Order = "37" Size ="16"  />
        <Entry Name ="xmm7" Order = "38" Size ="16"  />
        <Entry Name ="xmm8" Order = "39" Size ="16"  />
        <Entry Name ="xmm9" Order = "3a" Size ="16"  />
        <Entry Name ="xmm10" Order = "3b" Size ="16"  />
        <Entry Name ="xmm11" Order = "3c" Size ="16"  />
        <Entry Name ="xmm12" Order = "3d" Size ="16"  />
        <Entry Name ="xmm13" Order = "3e" Size ="16"  />
        <Entry Name ="xmm14" Order = "3f" Size ="16"  />
        <Entry Name ="xmm15" Order = "40" Size ="16"  />

        <!-- the mxcsr register format fields:
          <flags id="x64_mxcsr" size="4">
             <field name="IE" start="0" end="0"/>
             <field name="DE" start="1" end="1"/>
             <field name="ZE" start="2" end="2"/>
             <field name="OE" start="3" end="3"/>
             <field name="UE" start="4" end="4"/>
             <field name="PE" start="5" end="5"/>
             <field name="DAZ" start="6" end="6"/>
             <field name="IM" start="7" end="7"/>
             <field name="DM" start="8" end="8"/>
             <field name="ZM" start="9" end="9"/>
             <field name="OM" start="10" end="10"/>
             <field name="UM" start="11" end="11"/>
             <field name="PM" start="12" end="12"/>
             <field name="FZ" start="15" end="15"/>
          </flags> -->
        <Entry Name ="mxcsr" Order = "41" Size ="4" />

      </ExdiGdbServerRegisters>
    </ExdiGdbServerConfigData>
  </ExdiTarget>

  <!-- VMWare GDB server configuration -->
  <ExdiTarget Name = "VMWare">
      <ExdiGdbServerConfigData agentNamePacket = "" uuid = "72d4aeda-9723-4972-b89a-679ac79810ef" displayCommPackets = "yes" debuggerSessionByCore = "no" enableThrowExceptionOnMemoryErrors = "no" forceLegacyResumeStepCommands ="yes">
      <ExdiGdbServerTargetData targetArchitecture = "X64" targetFamily = "ProcessorFamilyX64" numberOfCores = "1" EnableSseContext = "no" heuristicScanSize = "0xffe" targetDescriptionFile = "" />
      <GdbServerConnectionParameters MultiCoreGdbServerSessions = "no" MaximumGdbServerPacketLength = "1024" MaximumConnectAttempts = "3" SendPacketTimeout = "100" ReceivePacketTimeout = "3000" >
        <Value HostNameAndPort="localhost:1234" />
      </GdbServerConnectionParameters>
      <ExdiGdbServerMemoryCommands GdbSpecialMemoryCommand = "no" PhysicalMemory = "no" SupervisorMemory = "no" HypervisorMemory = "no" SpecialMemoryRegister = "no" SystemRegistersGdbMonitor = "no" SystemRegisterDecoding = "no">
      </ExdiGdbServerMemoryCommands>

      <!-- x64 GDB server core resgisters -->

      <ExdiGdbServerRegisters Architecture = "X64" FeatureNameSupported = "" >
        <Entry Name ="rax" Order = "0" Size ="8" />
        <Entry Name ="rbx" Order = "1" Size ="8" />
        <Entry Name ="rcx" Order = "2" Size ="8" />
        <Entry Name ="rdx" Order = "3" Size ="8" />
        <Entry Name ="rsi" Order = "4" Size ="8" />
        <Entry Name ="rdi" Order = "5" Size ="8" />
        <Entry Name ="rbp" Order = "6" Size ="8" />
        <Entry Name ="rsp" Order = "7" Size ="8" />
        <Entry Name ="r8"  Order = "8" Size ="8" />
        <Entry Name ="r9"  Order = "9" Size ="8" />
        <Entry Name ="r10" Order = "a" Size ="8" />
        <Entry Name ="r11" Order = "b" Size ="8" />
        <Entry Name ="r12" Order = "c" Size ="8" />
        <Entry Name ="r13" Order = "d" Size ="8" />
        <Entry Name ="r14" Order = "e" Size ="8" />
        <Entry Name ="r15" Order = "f" Size ="8" />
        <Entry Name ="rip" Order = "10" Size ="8" />
        <!-- <flags id="i386_eflags" size="4">
         <flags id="i386_eflags" size="4">
         <field name="CF" start="0" end="0"/>
         <field name="" start="1" end="1"/>
         <field name="PF" start="2" end="2"/>
         <field name="AF" start="4" end="4"/>
         <field name="ZF" start="6" end="6"/>
         <field name="SF" start="7" end="7"/>
         <field name="TF" start="8" end="8"/>
         <field name="IF" start="9" end="9"/>
         <field name="DF" start="10" end="10"/>
         <field name="OF" start="11" end="11"/>
         <field name="NT" start="14" end="14"/>
         <field name="RF" start="16" end="16"/>
         <field name="VM" start="17" end="17"/>
         <field name="AC" start="18" end="18"/>
         <field name="VIF" start="19" end="19"/>
         <field name="VIP" start="20" end="20"/>
         <field name="ID" start="21" end="21"/>
         </flags>
        </flags> -->
  
      <Entry Name ="eflags" Order = "11" Size ="4" />
        <!-- Segment registers -->
        <Entry Name ="cs" Order = "12" Size ="4" />
        <Entry Name ="ss" Order = "13" Size ="4" />
        <Entry Name ="ds" Order = "14" Size ="4" />
        <Entry Name ="es" Order = "15" Size ="4" />
        <Entry Name ="fs" Order = "16" Size ="4" />
        <Entry Name ="gs" Order = "17" Size ="4" />

        <Entry Name ="st0" Order = "18" Size = "10" />
        <Entry Name ="st1" Order = "19" Size = "10" />
        <Entry Name ="st2" Order = "1a" Size = "10" />
        <Entry Name ="st3" Order = "1b" Size = "10" />
        <Entry Name ="st4" Order = "1c" Size = "10" />
        <Entry Name ="st5" Order = "1d" Size = "10" />
        <Entry Name ="st6" Order = "1e" Size = "10" />
        <Entry Name ="st7" Order = "1f" Size = "10" />

        <Entry Name ="fctrl" Order = "20" Size ="4" />
        <Entry Name ="fstat" Order = "21" Size ="4" />
        <Entry Name ="ftag"  Order = "22" Size ="4" />
        <Entry Name ="fiseg" Order = "23" Size ="4" />
        <Entry Name ="fioff" Order = "24" Size ="4" />
        <Entry Name ="foseg" Order = "25" Size ="4" />
        <Entry Name ="fooff" Order = "26" Size ="4" />
        <Entry Name ="fop" Order = "27" Size ="4" />
      </ExdiGdbServerRegisters>

      <!-- x86 GDB server core resgisters -->

      <ExdiGdbServerRegisters Architecture = "x86">
        <Entry Name ="Eax" Order = "0" Size =  "4" />
        <Entry Name ="Ecx" Order = "1" Size =  "4" />
        <Entry Name ="Edx" Order = "2" Size =  "4" />
        <Entry Name ="Ebx" Order = "3" Size =  "4" />
        <Entry Name ="Esp" Order = "4" Size =  "4" />
        <Entry Name ="Ebp" Order = "5" Size =  "4" />
        <Entry Name ="Esi" Order = "6" Size =  "4" />
        <Entry Name ="Edi" Order = "7" Size =  "4" />
        <Entry Name ="Eip" Order = "8" Size =  "4" />
        <Entry Name ="EFlags" Order = "9" Size =  "4" />
        <Entry Name ="SegCs" Order = "a" Size =  "4" />
        <Entry Name ="SegSs" Order = "b" Size =  "4" />
        <Entry Name ="SegDs" Order = "c" Size =  "4" />
        <Entry Name ="SegEs" Order = "d" Size =  "4" />
        <Entry Name ="SegFs" Order = "e" Size =  "4" />
        <Entry Name ="SegGs" Order = "f" Size =  "4" />
        <Entry Name ="st0" Order = "10" Size = "10" />
        <Entry Name ="st1" Order = "11" Size = "10" />
        <Entry Name ="st2" Order = "12" Size = "10" />
        <Entry Name ="st3" Order = "13" Size = "10" />
        <Entry Name ="st4" Order = "14" Size = "10" />
        <Entry Name ="st5" Order = "15" Size = "10" />
        <Entry Name ="st6" Order = "16" Size = "10" />
        <Entry Name ="st7" Order = "17" Size = "10" />
        <Entry Name ="ControlWord" Order = "18" Size = "4" />
        <Entry Name ="StatusWord" Order = "19" Size = "4" />
        <Entry Name ="TagWord" Order = "1a" Size = "4" />
        <Entry Name ="ErrorOffset" Order = "1b" Size = "4" />
        <Entry Name ="ErrorSelector" Order = "1c" Size = "4" />
        <Entry Name ="DataOffset" Order = "1d" Size = "4" />
        <Entry Name ="DataSelector" Order = "1e" Size = "4" />
        <Entry Name ="Cr0NpxState" Order = "1f" Size = "4" />
        <Entry Name ="xmm0" Order = "20" Size = "16" />
        <Entry Name ="xmm1" Order = "21" Size = "16" />
        <Entry Name ="xmm2" Order = "22" Size = "16" />
        <Entry Name ="xmm3" Order = "23" Size = "16" />
        <Entry Name ="xmm4" Order = "24" Size = "16" />
        <Entry Name ="xmm5" Order = "25" Size = "16" />
        <Entry Name ="xmm6" Order = "26" Size = "16" />
        <Entry Name ="xmm7" Order = "27" Size = "16" />
      </ExdiGdbServerRegisters>
    </ExdiGdbServerConfigData>
  </ExdiTarget>

  <!-- BMC SMM Host Debug Agent GDB server configuration -->
  <ExdiTarget Name = "BMC-SMM">
     <ExdiGdbServerConfigData agentNamePacket = "" uuid = "72d4aeda-9723-4972-b89a-679ac79810ef" displayCommPackets = "yes" debuggerSessionByCore = "no" enableThrowExceptionOnMemoryErrors = "yes" qSupportedPacket="qSupported:xmlRegisters=aarch64,i386" requirePAMemoryAccess ="yes">
        <ExdiGdbServerTargetData targetArchitecture = "X64" targetFamily = "ProcessorFamilyX64" numberOfCores = "1" EnableSseContext = "no" heuristicScanSize = "0" targetDescriptionFile = "target.xml" />
        <GdbServerConnectionParameters MultiCoreGdbServerSessions = "no" MaximumGdbServerPacketLength = "1024" MaximumConnectAttempts = "3" SendPacketTimeout = "100" ReceivePacketTimeout = "3000">
             <Value HostNameAndPort="localhost:1234" />
        </GdbServerConnectionParameters>
        <ExdiGdbServerMemoryCommands GdbSpecialMemoryCommand = "no" PhysicalMemory = "no" SupervisorMemory = "no" HypervisorMemory = "no" SpecialMemoryRegister = "no" SystemRegistersGdbMonitor = "no" SystemRegisterDecoding = "no">
        </ExdiGdbServerMemoryCommands>

        <!-- x64 server core resgisters -->
        <ExdiGdbServerRegisters Architecture = "X64" FeatureNameSupported = "sys" SystemRegistersStart = "1d" SystemRegistersEnd = "20" >
                <Entry Name ="rax" Order = "0" Size ="8" />
                <Entry Name ="rbx" Order = "1" Size ="8" />
                <Entry Name ="rcx" Order = "2" Size ="8" />
                <Entry Name ="rdx" Order = "3" Size ="8" />
                <Entry Name ="rsi" Order = "4" Size ="8" />
                <Entry Name ="rdi" Order = "5" Size ="8" />
                <Entry Name ="rbp" Order = "6" Size ="8" />
                <Entry Name ="rsp" Order = "7" Size ="8" />
                <Entry Name ="r8"  Order = "8" Size ="8" />
                <Entry Name ="r9"  Order = "9" Size ="8" />
                <Entry Name ="r10" Order = "a" Size ="8" />
                <Entry Name ="r11" Order = "b" Size ="8" />
                <Entry Name ="r12" Order = "c" Size ="8" />
                <Entry Name ="r13" Order = "d" Size ="8" />
                <Entry Name ="r14" Order = "e" Size ="8" />
                <Entry Name ="r15" Order = "f" Size ="8" />
                <Entry Name ="rip" Order = "10" Size ="8" />

                <!-- rflag -->
                <Entry Name ="rflags" Order = "11" Size ="8" />

                <!-- Segment registers -->
                <Entry Name ="cs" Order = "12" Size ="4" />
                <Entry Name ="ss" Order = "13" Size ="4" />
                <Entry Name ="ds" Order = "14" Size ="4" />
                <Entry Name ="es" Order = "15" Size ="4" />
                <Entry Name ="fs" Order = "16" Size ="4" />
                <Entry Name ="gs" Order = "17" Size ="4" />

                <!-- Control registers -->
                <!-- the CrX register format fields: -->
                <Entry Name ="cr0" Order = "18" Size ="8" />
                <Entry Name ="cr2" Order = "19" Size ="8" />
                <Entry Name ="cr3" Order = "1a" Size ="8" />
                <Entry Name ="cr4" Order = "1b" Size ="8" />
                <Entry Name ="cr8" Order = "1c" Size ="8" />

                <Entry Name ="gdtrbase" Order = "1d" Size ="8" />
                <Entry Name ="gdtrlimit" Order = "1e" Size ="4" />
                <Entry Name ="idtrbase" Order = "1f" Size ="8" />
                <Entry Name ="idtrlimit" Order = "20" Size ="4" />

        </ExdiGdbServerRegisters>
     </ExdiGdbServerConfigData>
  </ExdiTarget>

</ExdiTargets>
