Commit b31f4fea authored by Yufeng Zhang's avatar Yufeng Zhang

Revert "Add support for AArch64 trace unit registers."

This reverts commit 7568a4e0.
parent ac6cefb0
2013-11-18 Yufeng Zhang <>
2013-11-15 Yufeng Zhang <>
* config/tc-aarch64.c (set_other_error): New function.
(parse_sys_reg): Add new parameter 'sys_reg' and if non-NULL set
the variable to which it points with 'o'.
(parse_operands): Update; check for write to read-only system
registers or read from write-only ones.
2013-11-17 H.J. Lu <>
* config/tc-i386.c (reloc): Add an argument, bnd_prefix, to
......@@ -230,12 +230,6 @@ set_fatal_syntax_error (const char *error)
set_error (AARCH64_OPDE_FATAL_SYNTAX_ERROR, error);
static inline void
set_other_error (const char *error)
set_error (AARCH64_OPDE_OTHER_ERROR, error);
/* Number of littlenums required to hold an extended precision number. */
......@@ -3273,15 +3267,13 @@ parse_barrier (char **str)
/* Parse a system register or a PSTATE field name for an MSR/MRS instruction.
Returns the encoding for the option, or PARSE_FAIL. If SYS_REG is not
NULL, return in *SYS_REG the found descriptor.
Returns the encoding for the option, or PARSE_FAIL.
If IMPLE_DEFINED_P is non-zero, the function will also try to parse the
implementation defined system register name S3_<op1>_<Cn>_<Cm>_<op2>. */
static int
parse_sys_reg (char **str, struct hash_control *sys_regs, int imple_defined_p,
const aarch64_sys_reg ** sys_reg)
parse_sys_reg (char **str, struct hash_control *sys_regs, int imple_defined_p)
char *p, *q;
char buf[32];
......@@ -3328,9 +3320,6 @@ parse_sys_reg (char **str, struct hash_control *sys_regs, int imple_defined_p,
value = o->value;
if (sys_reg)
*sys_reg = o;
*str = q;
return value;
......@@ -5191,31 +5180,17 @@ parse_operands (char *str, const aarch64_opcode *opcode)
if ((val = parse_sys_reg (&str, aarch64_sys_regs_hsh, 1))
const aarch64_sys_reg *sys_reg = NULL;
if ((val = parse_sys_reg (&str, aarch64_sys_regs_hsh, 1,
set_syntax_error (_("unknown or missing system register name"));
goto failure;
else if (sys_reg && i == 0 && aarch64_sys_reg_readonly_p (sys_reg))
set_other_error (_("read-only register"));
goto failure;
else if (sys_reg && i == 1 && aarch64_sys_reg_writeonly_p (sys_reg))
set_other_error (_("write-only register"));
goto failure;
inst.base.operands[i].sysreg = val;
set_syntax_error (_("unknown or missing system register name"));
goto failure;
inst.base.operands[i].sysreg = val;
if ((val = parse_sys_reg (&str, aarch64_pstatefield_hsh, 0, NULL))
if ((val = parse_sys_reg (&str, aarch64_pstatefield_hsh, 0))
set_syntax_error (_("unknown or missing PSTATE field name"));
2013-11-18 Yufeng Zhang <>
2013-11-15 Yufeng Zhang <>
* gas/aarch64/diagnostic.s: Add tests.
* gas/aarch64/diagnostic.l: Update.
* gas/aarch64/tracereg-illegal.d: New file.
* gas/aarch64/tracereg-illegal.l: Ditto.
* gas/aarch64/tracereg-illegal.s: Ditto.
* gas/aarch64/tracereg.d: Ditto.
* gas/aarch64/tracereg.s: Ditto.
2013-11-17 H.J. Lu <>
* gas/i386/i386.exp: Run x86-64-mpx-branch-1 and
......@@ -97,5 +97,3 @@
[^:]*:99: Error: operand 3 should be one of the standard conditions, excluding AL and NV. -- `cinc w0,w1,nv'
[^:]*:100: Error: operand 2 should be one of the standard conditions, excluding AL and NV. -- `cset w0,al'
[^:]*:101: Error: operand 2 should be one of the standard conditions, excluding AL and NV. -- `cset w0,nv'
[^:]*:102: Error: read-only register at operand 1 -- `msr trcidr7,x7'
[^:]*:103: Error: write-only register at operand 2 -- `mrs x7,trcoslar'
......@@ -99,5 +99,3 @@
cinc w0, w1, nv
cset w0, al
cset w0, nv
msr trcidr7, x7
mrs x7, trcoslar
#name: Trace Unit Registers - Illegal Read/Write
#source: tracereg-illegal.s
#error-output: tracereg-illegal.l
[^:]*: Assembler messages:
[^:]*:35: Error: .*`msr trcstatr,x7'
[^:]*:36: Error: .*`msr trcidr8,x7'
[^:]*:37: Error: .*`msr trcidr9,x7'
[^:]*:38: Error: .*`msr trcidr10,x7'
[^:]*:39: Error: .*`msr trcidr11,x7'
[^:]*:40: Error: .*`msr trcidr12,x7'
[^:]*:41: Error: .*`msr trcidr13,x7'
[^:]*:42: Error: .*`msr trcidr0,x7'
[^:]*:43: Error: .*`msr trcidr1,x7'
[^:]*:44: Error: .*`msr trcidr2,x7'
[^:]*:45: Error: .*`msr trcidr3,x7'
[^:]*:46: Error: .*`msr trcidr4,x7'
[^:]*:47: Error: .*`msr trcidr5,x7'
[^:]*:48: Error: .*`msr trcidr6,x7'
[^:]*:49: Error: .*`msr trcidr7,x7'
[^:]*:50: Error: .*`mrs x7,trcoslar'
[^:]*:51: Error: .*`msr trcoslsr,x7'
[^:]*:52: Error: .*`msr trcpdsr,x7'
[^:]*:53: Error: .*`msr trcdevaff0,x7'
[^:]*:54: Error: .*`msr trcdevaff1,x7'
[^:]*:55: Error: .*`mrs x7,trclar'
[^:]*:56: Error: .*`msr trclsr,x7'
[^:]*:57: Error: .*`msr trcauthstatus,x7'
[^:]*:58: Error: .*`msr trcdevarch,x7'
[^:]*:59: Error: .*`msr trcdevid,x7'
[^:]*:60: Error: .*`msr trcdevtype,x7'
[^:]*:61: Error: .*`msr trcpidr4,x7'
[^:]*:62: Error: .*`msr trcpidr5,x7'
[^:]*:63: Error: .*`msr trcpidr6,x7'
[^:]*:64: Error: .*`msr trcpidr7,x7'
[^:]*:65: Error: .*`msr trcpidr0,x7'
[^:]*:66: Error: .*`msr trcpidr1,x7'
[^:]*:67: Error: .*`msr trcpidr2,x7'
[^:]*:68: Error: .*`msr trcpidr3,x7'
[^:]*:69: Error: .*`msr trccidr0,x7'
[^:]*:70: Error: .*`msr trccidr1,x7'
[^:]*:71: Error: .*`msr trccidr2,x7'
[^:]*:72: Error: .*`msr trccidr3,x7'
/* tracereg-illegal.s Test file for AArch64 trace unit registers.
Reject writing to registers that are read-only and reading from
registers that are write-only.
Copyright 2013 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GAS.
GAS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the license, or
(at your option) any later version.
GAS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING3. If not,
see <>. */
.macro rw_sys_reg sys_reg xreg r w
.ifc \w, 1
msr \sys_reg, \xreg
.ifc \r, 1
mrs \xreg, \sys_reg
rw_sys_reg sys_reg=trcstatr xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcidr8 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcidr9 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcidr10 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcidr11 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcidr12 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcidr13 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcidr0 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcidr1 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcidr2 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcidr3 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcidr4 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcidr5 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcidr6 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcidr7 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcoslar xreg=x7 r=1 w=0
rw_sys_reg sys_reg=trcoslsr xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcpdsr xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcdevaff0 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcdevaff1 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trclar xreg=x7 r=1 w=0
rw_sys_reg sys_reg=trclsr xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcauthstatus xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcdevarch xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcdevid xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcdevtype xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcpidr4 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcpidr5 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcpidr6 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcpidr7 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcpidr0 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcpidr1 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcpidr2 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trcpidr3 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trccidr0 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trccidr1 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trccidr2 xreg=x7 r=0 w=1
rw_sys_reg sys_reg=trccidr3 xreg=x7 r=0 w=1
#objdump: -dr
.*: file format .*
Disassembly of section \.text:
0000000000000000 <.*>:
0: d5110107 msr trcprgctlr, x7
4: d5310107 mrs x7, trcprgctlr
8: d5110207 msr trcprocselr, x7
c: d5310207 mrs x7, trcprocselr
10: d5310307 mrs x7, trcstatr
14: d5110407 msr trcconfigr, x7
18: d5310407 mrs x7, trcconfigr
1c: d5110607 msr trcauxctlr, x7
20: d5310607 mrs x7, trcauxctlr
24: d5110807 msr trceventctl0r, x7
28: d5310807 mrs x7, trceventctl0r
2c: d5110907 msr trceventctl1r, x7
30: d5310907 mrs x7, trceventctl1r
34: d5110b07 msr trcstallctlr, x7
38: d5310b07 mrs x7, trcstallctlr
3c: d5110c07 msr trctsctlr, x7
40: d5310c07 mrs x7, trctsctlr
44: d5110d07 msr trcsyncpr, x7
48: d5310d07 mrs x7, trcsyncpr
4c: d5110e07 msr trcccctlr, x7
50: d5310e07 mrs x7, trcccctlr
54: d5110f07 msr trcbbctlr, x7
58: d5310f07 mrs x7, trcbbctlr
5c: d5110027 msr trctraceidr, x7
60: d5310027 mrs x7, trctraceidr
64: d5110127 msr trcqctlr, x7
68: d5310127 mrs x7, trcqctlr
6c: d5110047 msr trcvictlr, x7
70: d5310047 mrs x7, trcvictlr
74: d5110147 msr trcviiectlr, x7
78: d5310147 mrs x7, trcviiectlr
7c: d5110247 msr trcvissctlr, x7
80: d5310247 mrs x7, trcvissctlr
84: d5110347 msr trcvipcssctlr, x7
88: d5310347 mrs x7, trcvipcssctlr
8c: d5110847 msr trcvdctlr, x7
90: d5310847 mrs x7, trcvdctlr
94: d5110947 msr trcvdsacctlr, x7
98: d5310947 mrs x7, trcvdsacctlr
9c: d5110a47 msr trcvdarcctlr, x7
a0: d5310a47 mrs x7, trcvdarcctlr
a4: d5110087 msr trcseqevr0, x7
a8: d5310087 mrs x7, trcseqevr0
ac: d5110187 msr trcseqevr1, x7
b0: d5310187 mrs x7, trcseqevr1
b4: d5110287 msr trcseqevr2, x7
b8: d5310287 mrs x7, trcseqevr2
bc: d5110687 msr trcseqrstevr, x7
c0: d5310687 mrs x7, trcseqrstevr
c4: d5110787 msr trcseqstr, x7
c8: d5310787 mrs x7, trcseqstr
cc: d5110887 msr trcextinselr, x7
d0: d5310887 mrs x7, trcextinselr
d4: d51100a7 msr trccntrldvr0, x7
d8: d53100a7 mrs x7, trccntrldvr0
dc: d51101a7 msr trccntrldvr1, x7
e0: d53101a7 mrs x7, trccntrldvr1
e4: d51102a7 msr trccntrldvr2, x7
e8: d53102a7 mrs x7, trccntrldvr2
ec: d51103a7 msr trccntrldvr3, x7
f0: d53103a7 mrs x7, trccntrldvr3
f4: d51104a7 msr trccntctlr0, x7
f8: d53104a7 mrs x7, trccntctlr0
fc: d51105a7 msr trccntctlr1, x7
100: d53105a7 mrs x7, trccntctlr1
104: d51106a7 msr trccntctlr2, x7
108: d53106a7 mrs x7, trccntctlr2
10c: d51107a7 msr trccntctlr3, x7
110: d53107a7 mrs x7, trccntctlr3
114: d51108a7 msr trccntvr0, x7
118: d53108a7 mrs x7, trccntvr0
11c: d51109a7 msr trccntvr1, x7
120: d53109a7 mrs x7, trccntvr1
124: d5110aa7 msr trccntvr2, x7
128: d5310aa7 mrs x7, trccntvr2
12c: d5110ba7 msr trccntvr3, x7
130: d5310ba7 mrs x7, trccntvr3
134: d53100c7 mrs x7, trcidr8
138: d53101c7 mrs x7, trcidr9
13c: d53102c7 mrs x7, trcidr10
140: d53103c7 mrs x7, trcidr11
144: d53104c7 mrs x7, trcidr12
148: d53105c7 mrs x7, trcidr13
14c: d51100e7 msr trcimspec0, x7
150: d53100e7 mrs x7, trcimspec0
154: d51101e7 msr trcimspec1, x7
158: d53101e7 mrs x7, trcimspec1
15c: d51102e7 msr trcimspec2, x7
160: d53102e7 mrs x7, trcimspec2
164: d51103e7 msr trcimspec3, x7
168: d53103e7 mrs x7, trcimspec3
16c: d51104e7 msr trcimspec4, x7
170: d53104e7 mrs x7, trcimspec4
174: d51105e7 msr trcimspec5, x7
178: d53105e7 mrs x7, trcimspec5
17c: d51106e7 msr trcimspec6, x7
180: d53106e7 mrs x7, trcimspec6
184: d51107e7 msr trcimspec7, x7
188: d53107e7 mrs x7, trcimspec7
18c: d53108e7 mrs x7, trcidr0
190: d53109e7 mrs x7, trcidr1
194: d5310ae7 mrs x7, trcidr2
198: d5310be7 mrs x7, trcidr3
19c: d5310ce7 mrs x7, trcidr4
1a0: d5310de7 mrs x7, trcidr5
1a4: d5310ee7 mrs x7, trcidr6
1a8: d5310fe7 mrs x7, trcidr7
1ac: d5111207 msr trcrsctlr2, x7
1b0: d5311207 mrs x7, trcrsctlr2
1b4: d5111307 msr trcrsctlr3, x7
1b8: d5311307 mrs x7, trcrsctlr3
1bc: d5111407 msr trcrsctlr4, x7
1c0: d5311407 mrs x7, trcrsctlr4
1c4: d5111507 msr trcrsctlr5, x7
1c8: d5311507 mrs x7, trcrsctlr5
1cc: d5111607 msr trcrsctlr6, x7
1d0: d5311607 mrs x7, trcrsctlr6
1d4: d5111707 msr trcrsctlr7, x7
1d8: d5311707 mrs x7, trcrsctlr7
1dc: d5111807 msr trcrsctlr8, x7
1e0: d5311807 mrs x7, trcrsctlr8
1e4: d5111907 msr trcrsctlr9, x7
1e8: d5311907 mrs x7, trcrsctlr9
1ec: d5111a07 msr trcrsctlr10, x7
1f0: d5311a07 mrs x7, trcrsctlr10
1f4: d5111b07 msr trcrsctlr11, x7
1f8: d5311b07 mrs x7, trcrsctlr11
1fc: d5111c07 msr trcrsctlr12, x7
200: d5311c07 mrs x7, trcrsctlr12
204: d5111d07 msr trcrsctlr13, x7
208: d5311d07 mrs x7, trcrsctlr13
20c: d5111e07 msr trcrsctlr14, x7
210: d5311e07 mrs x7, trcrsctlr14
214: d5111f07 msr trcrsctlr15, x7
218: d5311f07 mrs x7, trcrsctlr15
21c: d5111027 msr trcrsctlr16, x7
220: d5311027 mrs x7, trcrsctlr16
224: d5111127 msr trcrsctlr17, x7
228: d5311127 mrs x7, trcrsctlr17
22c: d5111227 msr trcrsctlr18, x7
230: d5311227 mrs x7, trcrsctlr18
234: d5111327 msr trcrsctlr19, x7
238: d5311327 mrs x7, trcrsctlr19
23c: d5111427 msr trcrsctlr20, x7
240: d5311427 mrs x7, trcrsctlr20
244: d5111527 msr trcrsctlr21, x7
248: d5311527 mrs x7, trcrsctlr21
24c: d5111627 msr trcrsctlr22, x7
250: d5311627 mrs x7, trcrsctlr22
254: d5111727 msr trcrsctlr23, x7
258: d5311727 mrs x7, trcrsctlr23
25c: d5111827 msr trcrsctlr24, x7
260: d5311827 mrs x7, trcrsctlr24
264: d5111927 msr trcrsctlr25, x7
268: d5311927 mrs x7, trcrsctlr25
26c: d5111a27 msr trcrsctlr26, x7
270: d5311a27 mrs x7, trcrsctlr26
274: d5111b27 msr trcrsctlr27, x7
278: d5311b27 mrs x7, trcrsctlr27
27c: d5111c27 msr trcrsctlr28, x7
280: d5311c27 mrs x7, trcrsctlr28
284: d5111d27 msr trcrsctlr29, x7
288: d5311d27 mrs x7, trcrsctlr29
28c: d5111e27 msr trcrsctlr30, x7
290: d5311e27 mrs x7, trcrsctlr30
294: d5111f27 msr trcrsctlr31, x7
298: d5311f27 mrs x7, trcrsctlr31
29c: d5111047 msr trcssccr0, x7
2a0: d5311047 mrs x7, trcssccr0
2a4: d5111147 msr trcssccr1, x7
2a8: d5311147 mrs x7, trcssccr1
2ac: d5111247 msr trcssccr2, x7
2b0: d5311247 mrs x7, trcssccr2
2b4: d5111347 msr trcssccr3, x7
2b8: d5311347 mrs x7, trcssccr3
2bc: d5111447 msr trcssccr4, x7
2c0: d5311447 mrs x7, trcssccr4
2c4: d5111547 msr trcssccr5, x7
2c8: d5311547 mrs x7, trcssccr5
2cc: d5111647 msr trcssccr6, x7
2d0: d5311647 mrs x7, trcssccr6
2d4: d5111747 msr trcssccr7, x7
2d8: d5311747 mrs x7, trcssccr7
2dc: d5111847 msr trcsscsr0, x7
2e0: d5311847 mrs x7, trcsscsr0
2e4: d5111947 msr trcsscsr1, x7
2e8: d5311947 mrs x7, trcsscsr1
2ec: d5111a47 msr trcsscsr2, x7
2f0: d5311a47 mrs x7, trcsscsr2
2f4: d5111b47 msr trcsscsr3, x7
2f8: d5311b47 mrs x7, trcsscsr3
2fc: d5111c47 msr trcsscsr4, x7
300: d5311c47 mrs x7, trcsscsr4
304: d5111d47 msr trcsscsr5, x7
308: d5311d47 mrs x7, trcsscsr5
30c: d5111e47 msr trcsscsr6, x7
310: d5311e47 mrs x7, trcsscsr6
314: d5111f47 msr trcsscsr7, x7
318: d5311f47 mrs x7, trcsscsr7
31c: d5111067 msr trcsspcicr0, x7
320: d5311067 mrs x7, trcsspcicr0
324: d5111167 msr trcsspcicr1, x7
328: d5311167 mrs x7, trcsspcicr1
32c: d5111267 msr trcsspcicr2, x7
330: d5311267 mrs x7, trcsspcicr2
334: d5111367 msr trcsspcicr3, x7
338: d5311367 mrs x7, trcsspcicr3
33c: d5111467 msr trcsspcicr4, x7
340: d5311467 mrs x7, trcsspcicr4
344: d5111567 msr trcsspcicr5, x7
348: d5311567 mrs x7, trcsspcicr5
34c: d5111667 msr trcsspcicr6, x7
350: d5311667 mrs x7, trcsspcicr6
354: d5111767 msr trcsspcicr7, x7
358: d5311767 mrs x7, trcsspcicr7
35c: d5111087 msr trcoslar, x7
360: d5311187 mrs x7, trcoslsr
364: d5111487 msr trcpdcr, x7
368: d5311487 mrs x7, trcpdcr
36c: d5311587 mrs x7, trcpdsr
370: d5112007 msr trcacvr0, x7
374: d5312007 mrs x7, trcacvr0
378: d5112207 msr trcacvr1, x7
37c: d5312207 mrs x7, trcacvr1
380: d5112407 msr trcacvr2, x7
384: d5312407 mrs x7, trcacvr2
388: d5112607 msr trcacvr3, x7
38c: d5312607 mrs x7, trcacvr3
390: d5112807 msr trcacvr4, x7
394: d5312807 mrs x7, trcacvr4
398: d5112a07 msr trcacvr5, x7
39c: d5312a07 mrs x7, trcacvr5
3a0: d5112c07 msr trcacvr6, x7
3a4: d5312c07 mrs x7, trcacvr6
3a8: d5112e07 msr trcacvr7, x7
3ac: d5312e07 mrs x7, trcacvr7
3b0: d5112027 msr trcacvr8, x7
3b4: d5312027 mrs x7, trcacvr8
3b8: d5112227 msr trcacvr9, x7
3bc: d5312227 mrs x7, trcacvr9
3c0: d5112427 msr trcacvr10, x7
3c4: d5312427 mrs x7, trcacvr10
3c8: d5112627 msr trcacvr11, x7
3cc: d5312627 mrs x7, trcacvr11
3d0: d5112827 msr trcacvr12, x7
3d4: d5312827 mrs x7, trcacvr12
3d8: d5112a27 msr trcacvr13, x7
3dc: d5312a27 mrs x7, trcacvr13
3e0: d5112c27 msr trcacvr14, x7
3e4: d5312c27 mrs x7, trcacvr14
3e8: d5112e27 msr trcacvr15, x7
3ec: d5312e27 mrs x7, trcacvr15
3f0: d5112047 msr trcacatr0, x7
3f4: d5312047 mrs x7, trcacatr0
3f8: d5112247 msr trcacatr1, x7
3fc: d5312247 mrs x7, trcacatr1
400: d5112447 msr trcacatr2, x7
404: d5312447 mrs x7, trcacatr2
408: d5112647 msr trcacatr3, x7
40c: d5312647 mrs x7, trcacatr3
410: d5112847 msr trcacatr4, x7
414: d5312847 mrs x7, trcacatr4
418: d5112a47 msr trcacatr5, x7
41c: d5312a47 mrs x7, trcacatr5
420: d5112c47 msr trcacatr6, x7
424: d5312c47 mrs x7, trcacatr6
428: d5112e47 msr trcacatr7, x7
42c: d5312e47 mrs x7, trcacatr7
430: d5112067 msr trcacatr8, x7
434: d5312067 mrs x7, trcacatr8
438: d5112267 msr trcacatr9, x7
43c: d5312267 mrs x7, trcacatr9
440: d5112467 msr trcacatr10, x7
444: d5312467 mrs x7, trcacatr10
448: d5112667 msr trcacatr11, x7
44c: d5312667 mrs x7, trcacatr11
450: d5112867 msr trcacatr12, x7
454: d5312867 mrs x7, trcacatr12
458: d5112a67 msr trcacatr13, x7
45c: d5312a67 mrs x7, trcacatr13
460: d5112c67 msr trcacatr14, x7
464: d5312c67 mrs x7, trcacatr14
468: d5112e67 msr trcacatr15, x7
46c: d5312e67 mrs x7, trcacatr15
470: d5112087 msr trcdvcvr0, x7
474: d5312087 mrs x7, trcdvcvr0
478: d5112487 msr trcdvcvr1, x7
47c: d5312487 mrs x7, trcdvcvr1
480: d5112887 msr trcdvcvr2, x7
484: d5312887 mrs x7, trcdvcvr2
488: d5112c87 msr trcdvcvr3, x7
48c: d5312c87 mrs x7, trcdvcvr3
490: d51120a7 msr trcdvcvr4, x7
494: d53120a7 mrs x7, trcdvcvr4
498: d51124a7 msr trcdvcvr5, x7
49c: d53124a7 mrs x7, trcdvcvr5
4a0: d51128a7 msr trcdvcvr6, x7
4a4: d53128a7 mrs x7, trcdvcvr6
4a8: d5112ca7 msr trcdvcvr7, x7
4ac: d5312ca7 mrs x7, trcdvcvr7
4b0: d51120c7 msr trcdvcmr0, x7
4b4: d53120c7 mrs x7, trcdvcmr0
4b8: d51124c7 msr trcdvcmr1, x7
4bc: d53124c7 mrs x7, trcdvcmr1
4c0: d51128c7 msr trcdvcmr2, x7
4c4: d53128c7 mrs x7, trcdvcmr2
4c8: d5112cc7 msr trcdvcmr3, x7
4cc: d5312cc7 mrs x7, trcdvcmr3
4d0: d51120e7 msr trcdvcmr4, x7
4d4: d53120e7 mrs x7, trcdvcmr4
4d8: d51124e7 msr trcdvcmr5, x7
4dc: d53124e7 mrs x7, trcdvcmr5
4e0: d51128e7 msr trcdvcmr6, x7
4e4: d53128e7 mrs x7, trcdvcmr6
4e8: d5112ce7 msr trcdvcmr7, x7
4ec: d5312ce7 mrs x7, trcdvcmr7
4f0: d5113007 msr trccidcvr0, x7
4f4: d5313007 mrs x7, trccidcvr0
4f8: d5113207 msr trccidcvr1, x7
4fc: d5313207 mrs x7, trccidcvr1
500: d5113407 msr trccidcvr2, x7
504: d5313407 mrs x7, trccidcvr2
508: d5113607 msr trccidcvr3, x7
50c: d5313607 mrs x7, trccidcvr3
510: d5113807 msr trccidcvr4, x7
514: d5313807 mrs x7, trccidcvr4
518: d5113a07 msr trccidcvr5, x7
51c: d5313a07 mrs x7, trccidcvr5
520: d5113c07 msr trccidcvr6, x7
524: d5313c07 mrs x7, trccidcvr6
528: d5113e07 msr trccidcvr7, x7
52c: d5313e07 mrs x7, trccidcvr7
530: d5113027 msr trcvmidcvr0, x7
534: d5313027 mrs x7, trcvmidcvr0
538: d5113227 msr trcvmidcvr1, x7
53c: d5313227 mrs x7, trcvmidcvr1
540: d5113427 msr trcvmidcvr2, x7
544: d5313427 mrs x7, trcvmidcvr2
548: d5113627 msr trcvmidcvr3, x7
54c: d5313627 mrs x7, trcvmidcvr3
550: d5113827 msr trcvmidcvr4, x7
554: d5313827 mrs x7, trcvmidcvr4
558: d5113a27 msr trcvmidcvr5, x7
55c: d5313a27 mrs x7, trcvmidcvr5
560: d5113c27 msr trcvmidcvr6, x7
564: d5313c27 mrs x7, trcvmidcvr6
568: d5113e27 msr trcvmidcvr7, x7
56c: d5313e27 mrs x7, trcvmidcvr7
570: d5113047 msr trccidcctlr0, x7
574: d5313047 mrs x7, trccidcctlr0
578: d5113147 msr trccidcctlr1, x7
57c: d5313147 mrs x7, trccidcctlr1
580: d5113247 msr trcvmidcctlr0, x7
584: d5313247 mrs x7, trcvmidcctlr0
588: d5113347 msr trcvmidcctlr1, x7
58c: d5313347 mrs x7, trcvmidcctlr1
590: d5117087 msr trcitctrl, x7
594: d5317087 mrs x7, trcitctrl
598: d51178c7 msr trcclaimset, x7
59c: d53178c7 mrs x7, trcclaimset
5a0: d51179c7 msr trcclaimclr, x7
5a4: d53179c7 mrs x7, trcclaimclr
5a8: d5317ac7 mrs x7, trcdevaff0
5ac: d5317bc7 mrs x7, trcdevaff1
5b0: d5117cc7 msr trclar, x7
5b4: d5317dc7 mrs x7, trclsr
5b8: d5317ec7 mrs x7, trcauthstatus
5bc: d5317fc7 mrs x7, trcdevarch
5c0: d53172e7 mrs x7, trcdevid
5c4: d53173e7 mrs x7, trcdevtype
5c8: d53174e7 mrs x7, trcpidr4
5cc: d53175e7 mrs x7, trcpidr5
5d0: d53176e7 mrs x7, trcpidr6
5d4: d53177e7 mrs x7, trcpidr7
5d8: d53178e7 mrs x7, trcpidr0
5dc: d53179e7 mrs x7, trcpidr1
5e0: d5317ae7 mrs x7, trcpidr2
5e4: d5317be7 mrs x7, trcpidr3
5e8: d5317ce7 mrs x7, trccidr0
5ec: d5317de7 mrs x7, trccidr1
5f0: d5317ee7 mrs x7, trccidr2
5f4: d5317fe7 mrs x7, trccidr3
/* tracereg.s Test file for AArch64 trace unit registers.
Copyright 2013 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GAS.
GAS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the license, or
(at your option) any later version.
GAS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING3. If not,
see <>. */
.macro rw_sys_reg sys_reg xreg r w
.ifc \w, 1
msr \sys_reg, \xreg
.ifc \r, 1
mrs \xreg, \sys_reg
rw_sys_reg sys_reg=trcprgctlr xreg=x7 r=1 w=1
rw_sys_reg sys_reg=trcprocselr xreg=x7 r=1 w=1
rw_sys_reg sys_reg=trcstatr xreg=x7 r=1 w=0
rw_sys_reg sys_reg=trcconfigr xreg=x7 r=1 w=1
rw_sys_reg sys_reg=trcauxctlr xreg=x7 r=1 w=1
rw_sys_reg sys_reg=trceventctl0r xreg=x7 r=1 w=1
rw_sys_reg sys_reg=trceventctl1r xreg=x7 r=1 w=1
rw_sys_reg sys_reg=trcstallctlr xreg=x7 r=1 w=1
rw_sys_reg sys_reg=trctsctlr xreg=x7 r=1 w=1
rw_sys_reg sys_reg=trcsyncpr xreg=x7 r=1 w=1
rw_sys_reg sys_reg=trcccctlr xreg=x7 r=1 w=1
rw_sys_reg sys_reg=trcbbctlr xreg=x7 r=1 w=1
rw_sys_reg sys_r