Lines Matching +full:write +full:- +full:to +full:- +full:read

1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 /* low-level asm for "intrigue" (PA8500-8700 CPU perf counters)
5 * Copyright (C) 2001 Randolph Chung <tausq at parisc-linux.org>
6 * Copyright (C) 2001 Hewlett-Packard (Grant Grundler)
30 ; The coprocessor only needs to be enabled when
45 ssm 0,0 ; dummy op to ensure completion
71 ssm 0,0 ; dummy op to ensure completion
86 ;* is shifted shifted backup immediately. This is to compensate
91 ;* arg0 : rdr to be read
98 ;* arg0 : rdr to be read
100 ;* %r24 - original DR2 value
101 ;* %r1 - scratch
102 ;* %r29 - scratch
114 ; read(shift in) the RDR.
117 ; NOTE: The PCX-W ERS states that DR2_SLOW_RET must be set before any
118 ; shifting is done, from or to, remote diagnose registers.
132 ; Cacheline start (32-byte cacheline)
137 extrd,u arg1,63,6,%r1 ; setup shift amount by bits to move
141 blr %r1,%r0 ; branch to 8-instruction sequence
145 ; Cacheline start (32-byte cacheline)
173 ; RDR 2 read sequence
185 ; RDR 3 read sequence
197 ; RDR 4 read sequence
209 ; RDR 5 read sequence
221 ; RDR 6 read sequence
233 ; RDR 7 read sequence
245 ; RDR 8 read sequence
257 ; RDR 9 read sequence
269 ; RDR 10 read sequence
281 ; RDR 11 read sequence
293 ; RDR 12 read sequence
305 ; RDR 13 read sequence
317 ; RDR 14 read sequence
329 ; RDR 15 read sequence
341 ; RDR 16 read sequence
353 ; RDR 17 read sequence
365 ; RDR 18 read sequence
377 ; RDR 19 read sequence
389 ; RDR 20 read sequence
401 ; RDR 21 read sequence
413 ; RDR 22 read sequence
425 ; RDR 23 read sequence
437 ; RDR 24 read sequence
449 ; RDR 25 read sequence
461 ; RDR 26 read sequence
473 ; RDR 27 read sequence
485 ; RDR 28 read sequence
497 ; RDR 29 read sequence
509 ; RDR 30 read sequence
521 ; RDR 31 read sequence
549 ;* This routine moves data to the RDR's. The double-word that
550 ;* arg1 points to is loaded and moved into the staging register.
552 ;* to move the data to the RDR.
556 ;* arg1 = 64-bit value to write
557 ;* %r24 - DR2 | DR2_SLOW_RET
558 ;* %r23 - original DR2 value
572 ; NOTE: The PCX-W ERS states that DR2_SLOW_RET must be set before any
573 ; shifting is done, from or to, the remote diagnose registers.
580 MTDIAG_1 (25) ; data to the staging register
582 blr %r1,%r0 ; branch to 8-instruction sequence
586 ; RDR 0 write sequence
588 sync ; RDR 0 write sequence
598 ; RDR 1 write sequence
610 ; RDR 2 write sequence
622 ; RDR 3 write sequence
634 ; RDR 4 write sequence
646 ; RDR 5 write sequence
658 ; RDR 6 write sequence
670 ; RDR 7 write sequence
682 ; RDR 8 write sequence
694 ; RDR 9 write sequence
706 ; RDR 10 write sequence
718 ; RDR 11 write sequence
730 ; RDR 12 write sequence
742 ; RDR 13 write sequence
754 ; RDR 14 write sequence
766 ; RDR 15 write sequence
778 ; RDR 16 write sequence
790 ; RDR 17 write sequence
802 ; RDR 18 write sequence
814 ; RDR 19 write sequence
826 ; RDR 20 write sequence
838 ; RDR 21 write sequence
850 ; RDR 22 write sequence
862 ; RDR 23 write sequence
874 ; RDR 24 write sequence
886 ; RDR 25 write sequence
898 ; RDR 26 write sequence
910 ; RDR 27 write sequence
922 ; RDR 28 write sequence
934 ; RDR 29 write sequence
946 ; RDR 30 write sequence
958 ; RDR 31 write sequence
984 ;* is shifted shifted backup immediately. This is to compensate
989 ;* arg0 : rdr to be read
996 ;* arg0 : rdr to be read
998 ;* %r24 - original DR2 value
999 ;* %r23 - DR2 | DR2_SLOW_RET
1000 ;* %r1 - scratch
1009 ; read(shift in) the RDR.
1011 ; NOTE: The PCX-U ERS states that DR2_SLOW_RET must be set before any
1012 ; shifting is done, from or to, remote diagnose registers.
1025 ; Start of next 32-byte cacheline
1034 blr %r1,%r0 ; branch to 8-instruction sequence
1038 ; Start of next 32-byte cacheline
1040 SFDIAG (0) ; RDR 0 read sequence
1049 SFDIAG (1) ; RDR 1 read sequence
1058 sync ; RDR 2 read sequence
1067 sync ; RDR 3 read sequence
1076 sync ; RDR 4 read sequence
1085 sync ; RDR 5 read sequence
1094 sync ; RDR 6 read sequence
1103 sync ; RDR 7 read sequence
1121 SFDIAG (9) ; RDR 9 read sequence
1130 SFDIAG (10) ; RDR 10 read sequence
1139 SFDIAG (11) ; RDR 11 read sequence
1148 SFDIAG (12) ; RDR 12 read sequence
1157 SFDIAG (13) ; RDR 13 read sequence
1166 SFDIAG (14) ; RDR 14 read sequence
1175 SFDIAG (15) ; RDR 15 read sequence
1184 sync ; RDR 16 read sequence
1193 SFDIAG (17) ; RDR 17 read sequence
1202 SFDIAG (18) ; RDR 18 read sequence
1220 sync ; RDR 20 read sequence
1229 sync ; RDR 21 read sequence
1238 sync ; RDR 22 read sequence
1247 sync ; RDR 23 read sequence
1256 sync ; RDR 24 read sequence
1265 sync ; RDR 25 read sequence
1274 SFDIAG (26) ; RDR 26 read sequence
1283 SFDIAG (27) ; RDR 27 read sequence
1292 sync ; RDR 28 read sequence
1310 SFDIAG (30) ; RDR 30 read sequence
1319 SFDIAG (31) ; RDR 31 read sequence
1341 ;* This routine moves data to the RDR's. The double-word that
1342 ;* arg1 points to is loaded and moved into the staging register.
1344 ;* to move the data to the RDR.
1356 ;* %r24 - DR2 | DR2_SLOW_RET
1357 ;* %r23 - original DR2 value
1367 ; NOTE: The PCX-U ERS states that DR2_SLOW_RET must be set before any
1368 ; shifting is done, from or to, the remote diagnose registers.
1376 MTDIAG_1 (25) ; data to the staging register
1378 blr %r1,%r0 ; branch to 8-instruction sequence
1382 ; 32-byte cachline aligned
1385 sync ; RDR 0 write sequence
1394 sync ; RDR 1 write sequence
1403 sync ; RDR 2 write sequence
1412 sync ; RDR 3 write sequence
1421 sync ; RDR 4 write sequence
1430 sync ; RDR 5 write sequence
1439 sync ; RDR 6 write sequence
1448 sync ; RDR 7 write sequence
1457 sync ; RDR 8 write sequence
1466 sync ; RDR 9 write sequence
1475 sync ; RDR 10 write sequence
1484 sync ; RDR 11 write sequence
1493 sync ; RDR 12 write sequence
1502 sync ; RDR 13 write sequence
1511 sync ; RDR 14 write sequence
1520 sync ; RDR 15 write sequence
1529 sync ; RDR 16 write sequence
1538 sync ; RDR 17 write sequence
1547 sync ; RDR 18 write sequence
1556 sync ; RDR 19 write sequence
1565 sync ; RDR 20 write sequence
1574 sync ; RDR 21 write sequence
1583 sync ; RDR 22 write sequence
1592 sync ; RDR 23 write sequence
1601 sync ; RDR 24 write sequence
1610 sync ; RDR 25 write sequence
1619 sync ; RDR 26 write sequence
1628 sync ; RDR 27 write sequence
1637 sync ; RDR 28 write sequence
1646 sync ; RDR 29 write sequence
1655 sync ; RDR 30 write sequence
1664 sync ; RDR 31 write sequence