mirror of
https://github.com/espressif/esp-idf.git
synced 2026-08-18 06:35:35 +03:00
Merge branch 'fix/tee_hal_ci_failures' into 'master'
ci(hal/tee): Fix intermittent hang-ups in `PERI_APM` tests on ESP32-C5 Closes IDFCI-3274, IDFCI-4807, and IDFCI-4808 See merge request espressif/esp-idf!42937
This commit is contained in:
@@ -252,7 +252,7 @@ _test_panic_handler:
|
||||
|
||||
/* Executing the panic handler */
|
||||
li t0, 0xDEADC0DE
|
||||
csrr t0, mscratch
|
||||
csrw mscratch, t0
|
||||
mv a0, sp
|
||||
csrr a1, mcause
|
||||
li t0, VECTORS_MCAUSE_REASON_MASK
|
||||
|
||||
@@ -76,35 +76,29 @@ static const uint32_t test_peri_apm_lp_peri_reg[] = {
|
||||
BIT64(APM_TEE_LP_PERIPH_LP_PERI) | \
|
||||
BIT64(APM_TEE_LP_PERIPH_LP_APM))
|
||||
|
||||
IRAM_ATTR static uint32_t reg_read(uint32_t addr)
|
||||
FORCE_INLINE_ATTR uint32_t reg_read(uint32_t addr)
|
||||
{
|
||||
uint32_t val;
|
||||
asm volatile (
|
||||
"li t0, 0x100\n"
|
||||
"lw %0, 0(%1)\n"
|
||||
"1:\n"
|
||||
"nop\n"
|
||||
"addi t0, t0, -1\n"
|
||||
"bnez t0, 1b\n"
|
||||
: "=r"(val)
|
||||
uint32_t value;
|
||||
__asm__ volatile (
|
||||
"lw %0, 0(%1)\n"
|
||||
"fence\n"
|
||||
"nop\nnop\nnop\nnop\n"
|
||||
: "=r"(value)
|
||||
: "r"(addr)
|
||||
: "t0", "memory"
|
||||
: "memory"
|
||||
);
|
||||
return val;
|
||||
return value;
|
||||
}
|
||||
|
||||
IRAM_ATTR static void reg_write(uint32_t addr, uint32_t value)
|
||||
FORCE_INLINE_ATTR void reg_write(uint32_t addr, uint32_t value)
|
||||
{
|
||||
asm volatile (
|
||||
"li t0, 0x100\n"
|
||||
"sw %1, 0(%0)\n"
|
||||
"1:\n"
|
||||
"nop\n"
|
||||
"addi t0, t0, -1\n"
|
||||
"bnez t0, 1b\n"
|
||||
__asm__ volatile (
|
||||
"sw %1, 0(%0)\n"
|
||||
"fence\n"
|
||||
"nop\nnop\nnop\nnop\n"
|
||||
:
|
||||
: "r"(addr), "r"(value)
|
||||
: "t0", "memory"
|
||||
: "memory"
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -58,4 +58,4 @@ def test_tee_peri_apm(dut: IdfDut) -> None:
|
||||
indirect=['config', 'target'],
|
||||
)
|
||||
def test_tee_interrupts(dut: IdfDut) -> None:
|
||||
dut.run_all_single_board_cases()
|
||||
dut.run_all_single_board_cases(group='CPU')
|
||||
|
||||
Reference in New Issue
Block a user