10#define TIE_LOG_ENABLED 1
12#if (CONFIG_IDF_TARGET_ESP32S3)
22 va_start(list, n_regs);
24 uint32_t reg_128_bits[4] = {0, 0, 0, 0};
27 for (
int i = 0; i < n_regs; i++) {
28 reg_code = va_arg(list,
int);
31 if ( reg_code ==
'a') {
32 asm volatile(
"rur.accx_0 %0" :
"=a" (reg_128_bits[0]));
33 asm volatile(
"rur.accx_1 %0" :
"=a" (reg_128_bits[1]));
34 printf(
"ACCX - %02x %08x", (
unsigned int)reg_128_bits[1], (
unsigned int)reg_128_bits[0]);
35 printf(
" --- %llu\n", (
long long unsigned)reg_128_bits[1] << 32 | (
unsigned int)reg_128_bits[0]);
39 else if ( reg_code ==
's') {
40 asm volatile(
"rur.sar_byte %0" :
"=a" (reg_128_bits[0]));
41 printf(
"SAR_BYTE - %d\n", (
unsigned int)reg_128_bits[0]);
45 else if ((reg_code >= 0) && (reg_code <= 7)) {
48 asm volatile(
"ee.movi.32.a q0, %0, 0" :
"=a" (reg_128_bits[0]));
49 asm volatile(
"ee.movi.32.a q0, %0, 1" :
"=a" (reg_128_bits[1]));
50 asm volatile(
"ee.movi.32.a q0, %0, 2" :
"=a" (reg_128_bits[2]));
51 asm volatile(
"ee.movi.32.a q0, %0, 3" :
"=a" (reg_128_bits[3]));
56 asm volatile(
"ee.movi.32.a q1, %0, 0" :
"=a" (reg_128_bits[0]));
57 asm volatile(
"ee.movi.32.a q1, %0, 1" :
"=a" (reg_128_bits[1]));
58 asm volatile(
"ee.movi.32.a q1, %0, 2" :
"=a" (reg_128_bits[2]));
59 asm volatile(
"ee.movi.32.a q1, %0, 3" :
"=a" (reg_128_bits[3]));
64 asm volatile(
"ee.movi.32.a q2, %0, 0" :
"=a" (reg_128_bits[0]));
65 asm volatile(
"ee.movi.32.a q2, %0, 1" :
"=a" (reg_128_bits[1]));
66 asm volatile(
"ee.movi.32.a q2, %0, 2" :
"=a" (reg_128_bits[2]));
67 asm volatile(
"ee.movi.32.a q2, %0, 3" :
"=a" (reg_128_bits[3]));
72 asm volatile(
"ee.movi.32.a q3, %0, 0" :
"=a" (reg_128_bits[0]));
73 asm volatile(
"ee.movi.32.a q3, %0, 1" :
"=a" (reg_128_bits[1]));
74 asm volatile(
"ee.movi.32.a q3, %0, 2" :
"=a" (reg_128_bits[2]));
75 asm volatile(
"ee.movi.32.a q3, %0, 3" :
"=a" (reg_128_bits[3]));
80 asm volatile(
"ee.movi.32.a q4, %0, 0" :
"=a" (reg_128_bits[0]));
81 asm volatile(
"ee.movi.32.a q4, %0, 1" :
"=a" (reg_128_bits[1]));
82 asm volatile(
"ee.movi.32.a q4, %0, 2" :
"=a" (reg_128_bits[2]));
83 asm volatile(
"ee.movi.32.a q4, %0, 3" :
"=a" (reg_128_bits[3]));
88 asm volatile(
"ee.movi.32.a q5, %0, 0" :
"=a" (reg_128_bits[0]));
89 asm volatile(
"ee.movi.32.a q5, %0, 1" :
"=a" (reg_128_bits[1]));
90 asm volatile(
"ee.movi.32.a q5, %0, 2" :
"=a" (reg_128_bits[2]));
91 asm volatile(
"ee.movi.32.a q5, %0, 3" :
"=a" (reg_128_bits[3]));
96 asm volatile(
"ee.movi.32.a q6, %0, 0" :
"=a" (reg_128_bits[0]));
97 asm volatile(
"ee.movi.32.a q6, %0, 1" :
"=a" (reg_128_bits[1]));
98 asm volatile(
"ee.movi.32.a q6, %0, 2" :
"=a" (reg_128_bits[2]));
99 asm volatile(
"ee.movi.32.a q6, %0, 3" :
"=a" (reg_128_bits[3]));
104 asm volatile(
"ee.movi.32.a q7, %0, 0" :
"=a" (reg_128_bits[0]));
105 asm volatile(
"ee.movi.32.a q7, %0, 1" :
"=a" (reg_128_bits[1]));
106 asm volatile(
"ee.movi.32.a q7, %0, 2" :
"=a" (reg_128_bits[2]));
107 asm volatile(
"ee.movi.32.a q7, %0, 3" :
"=a" (reg_128_bits[3]));
113 printf(
" - 0x%08X %08X %08X %08X --- ", (
unsigned int)reg_128_bits[3], (
unsigned int)reg_128_bits[2], (
unsigned int)reg_128_bits[1], (
unsigned int)reg_128_bits[0]);
114 printf(
"%u %u %u %u %u %u %u %u\n", (
unsigned int)reg_128_bits[3] >> 16, (
unsigned int)reg_128_bits[3] & 0x0000FFFF,
115 (
unsigned int)reg_128_bits[2] >> 16, (
unsigned int)reg_128_bits[2] & 0x0000FFFF,
116 (
unsigned int)reg_128_bits[1] >> 16, (
unsigned int)reg_128_bits[1] & 0x0000FFFF,
117 (
unsigned int)reg_128_bits[0] >> 16, (
unsigned int)reg_128_bits[0] & 0x0000FFFF);
119 printf(
"Bad register code");
122 printf(
"------------------------------------------------------------------------------------\n");
esp_err_t tie_log(int n_regs,...)
Logginng for esp32s3 TIE core Registers covered q0 to q7, ACCX and SAR_BYTE.