xref: /qemu/gdb-xml/hexagon-hvx.xml (revision 449d6d9eb44772e69f11d002e3c1e2be8a91c350)
1*b647652eSTaylor Simpson<?xml version="1.0"?>
2*b647652eSTaylor Simpson<!--
3*b647652eSTaylor Simpson  Copyright(c) 2023 Qualcomm Innovation Center, Inc. All Rights Reserved.
4*b647652eSTaylor Simpson
5*b647652eSTaylor Simpson  This work is licensed under the terms of the GNU GPL, version 2 or
6*b647652eSTaylor Simpson  (at your option) any later version. See the COPYING file in the
7*b647652eSTaylor Simpson  top-level directory.
8*b647652eSTaylor Simpson
9*b647652eSTaylor Simpson  Note: this file is intended to be use with LLDB, so it contains fields
10*b647652eSTaylor Simpson  that may be unknown to GDB. For more information on such fields, please
11*b647652eSTaylor Simpson  see:
12*b647652eSTaylor Simpson  https://github.com/llvm/llvm-project/blob/287aa6c4536408413b860e61fca0318a27214cf3/lldb/docs/lldb-gdb-remote.txt#L738-L860
13*b647652eSTaylor Simpson  https://github.com/llvm/llvm-project/blob/287aa6c4536408413b860e61fca0318a27214cf3/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp#L4275-L4335
14*b647652eSTaylor Simpson-->
15*b647652eSTaylor Simpson
16*b647652eSTaylor Simpson<!DOCTYPE feature SYSTEM "gdb-target.dtd">
17*b647652eSTaylor Simpson<feature name="org.gnu.gdb.hexagon.hvx">
18*b647652eSTaylor Simpson
19*b647652eSTaylor Simpson  <vector id="vud" type="uint64" count="16"/>
20*b647652eSTaylor Simpson  <vector id="vd" type="int64" count="16"/>
21*b647652eSTaylor Simpson  <vector id="vuw" type="uint32" count="32"/>
22*b647652eSTaylor Simpson  <vector id="vw" type="int32" count="32"/>
23*b647652eSTaylor Simpson  <vector id="vuh" type="uint16" count="64"/>
24*b647652eSTaylor Simpson  <vector id="vh" type="int16" count="64"/>
25*b647652eSTaylor Simpson  <vector id="vub" type="uint8" count="128"/>
26*b647652eSTaylor Simpson  <vector id="vb" type="int8" count="128"/>
27*b647652eSTaylor Simpson  <union id="hex_vec">
28*b647652eSTaylor Simpson    <field name="ud" type="vud"/>
29*b647652eSTaylor Simpson    <field name="d" type="vd"/>
30*b647652eSTaylor Simpson    <field name="uw" type="vuw"/>
31*b647652eSTaylor Simpson    <field name="w" type="vw"/>
32*b647652eSTaylor Simpson    <field name="uh" type="vuh"/>
33*b647652eSTaylor Simpson    <field name="h" type="vh"/>
34*b647652eSTaylor Simpson    <field name="ub" type="vub"/>
35*b647652eSTaylor Simpson    <field name="b" type="vb"/>
36*b647652eSTaylor Simpson  </union>
37*b647652eSTaylor Simpson
38*b647652eSTaylor Simpson  <flags id="ui2" size="1">
39*b647652eSTaylor Simpson    <field name="0" start="0" end="0"/>
40*b647652eSTaylor Simpson    <field name="1" start="1" end="1"/>
41*b647652eSTaylor Simpson  </flags>
42*b647652eSTaylor Simpson  <flags id="ui4" size="1">
43*b647652eSTaylor Simpson    <field name="0" start="0" end="0"/>
44*b647652eSTaylor Simpson    <field name="1" start="1" end="1"/>
45*b647652eSTaylor Simpson    <field name="2" start="2" end="2"/>
46*b647652eSTaylor Simpson    <field name="3" start="3" end="3"/>
47*b647652eSTaylor Simpson  </flags>
48*b647652eSTaylor Simpson  <vector id="vpd" type="uint8" count="16"/>
49*b647652eSTaylor Simpson  <vector id="vpw" type="ui4" count="32"/>
50*b647652eSTaylor Simpson  <vector id="vph" type="ui2" count="64"/>
51*b647652eSTaylor Simpson  <vector id="vpb" type="bool" count="128"/>
52*b647652eSTaylor Simpson  <union id="hex_vec_pred">
53*b647652eSTaylor Simpson    <field name="d" type="vpd"/>
54*b647652eSTaylor Simpson    <field name="w" type="vpw"/>
55*b647652eSTaylor Simpson    <field name="h" type="vph"/>
56*b647652eSTaylor Simpson    <field name="b" type="vpb"/>
57*b647652eSTaylor Simpson  </union>
58*b647652eSTaylor Simpson
59*b647652eSTaylor Simpson  <reg name="v0"  bitsize="1024" offset="256"  encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="88"/>
60*b647652eSTaylor Simpson  <reg name="v1"  bitsize="1024" offset="384"  encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="89"/>
61*b647652eSTaylor Simpson  <reg name="v2"  bitsize="1024" offset="512"  encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="90"/>
62*b647652eSTaylor Simpson  <reg name="v3"  bitsize="1024" offset="640"  encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="91"/>
63*b647652eSTaylor Simpson  <reg name="v4"  bitsize="1024" offset="768"  encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="92"/>
64*b647652eSTaylor Simpson  <reg name="v5"  bitsize="1024" offset="896"  encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="93"/>
65*b647652eSTaylor Simpson  <reg name="v6"  bitsize="1024" offset="1024" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="94"/>
66*b647652eSTaylor Simpson  <reg name="v7"  bitsize="1024" offset="1152" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="95"/>
67*b647652eSTaylor Simpson  <reg name="v8"  bitsize="1024" offset="1280" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="96"/>
68*b647652eSTaylor Simpson  <reg name="v9"  bitsize="1024" offset="1408" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="97"/>
69*b647652eSTaylor Simpson  <reg name="v10" bitsize="1024" offset="1536" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="98"/>
70*b647652eSTaylor Simpson  <reg name="v11" bitsize="1024" offset="1664" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="99"/>
71*b647652eSTaylor Simpson  <reg name="v12" bitsize="1024" offset="1792" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="100"/>
72*b647652eSTaylor Simpson  <reg name="v13" bitsize="1024" offset="1920" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="101"/>
73*b647652eSTaylor Simpson  <reg name="v14" bitsize="1024" offset="2048" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="102"/>
74*b647652eSTaylor Simpson  <reg name="v15" bitsize="1024" offset="2176" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="103"/>
75*b647652eSTaylor Simpson  <reg name="v16" bitsize="1024" offset="2304" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="104"/>
76*b647652eSTaylor Simpson  <reg name="v17" bitsize="1024" offset="2432" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="105"/>
77*b647652eSTaylor Simpson  <reg name="v18" bitsize="1024" offset="2560" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="106"/>
78*b647652eSTaylor Simpson  <reg name="v19" bitsize="1024" offset="2688" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="107"/>
79*b647652eSTaylor Simpson  <reg name="v20" bitsize="1024" offset="2816" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="108"/>
80*b647652eSTaylor Simpson  <reg name="v21" bitsize="1024" offset="2944" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="109"/>
81*b647652eSTaylor Simpson  <reg name="v22" bitsize="1024" offset="3072" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="110"/>
82*b647652eSTaylor Simpson  <reg name="v23" bitsize="1024" offset="3200" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="111"/>
83*b647652eSTaylor Simpson  <reg name="v24" bitsize="1024" offset="3328" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="112"/>
84*b647652eSTaylor Simpson  <reg name="v25" bitsize="1024" offset="3456" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="113"/>
85*b647652eSTaylor Simpson  <reg name="v26" bitsize="1024" offset="3584" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="114"/>
86*b647652eSTaylor Simpson  <reg name="v27" bitsize="1024" offset="3712" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="115"/>
87*b647652eSTaylor Simpson  <reg name="v28" bitsize="1024" offset="3840" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="116"/>
88*b647652eSTaylor Simpson  <reg name="v29" bitsize="1024" offset="3968" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="117"/>
89*b647652eSTaylor Simpson  <reg name="v30" bitsize="1024" offset="4096" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="118"/>
90*b647652eSTaylor Simpson  <reg name="v31" bitsize="1024" offset="4224" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="119"/>
91*b647652eSTaylor Simpson  <reg name="q0"  bitsize="128"  offset="4352" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="120"/>
92*b647652eSTaylor Simpson  <reg name="q1"  bitsize="128"  offset="4368" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="121"/>
93*b647652eSTaylor Simpson  <reg name="q2"  bitsize="128"  offset="4384" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="122"/>
94*b647652eSTaylor Simpson  <reg name="q3"  bitsize="128"  offset="4400" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="123"/>
95*b647652eSTaylor Simpson
96*b647652eSTaylor Simpson</feature>
97