From 7e156a7a800c80357d8e9f29ebd0e4c59c7e0d56 Mon Sep 17 00:00:00 2001 From: Caleb Whitehead Date: Thu, 25 Jul 2024 15:00:55 -0700 Subject: [PATCH] Update all caliptra_isr with new DMA interrupts; fw updates so all smoke tests pass --- .../test_suites/c_intr_handler/caliptra_isr.h | 5 ++ .../test_suites/caliptra_fmc/caliptra_isr.h | 5 ++ .../test_suites/caliptra_rt/caliptra_isr.h | 5 ++ .../test_suites/caliptra_top/caliptra_isr.h | 5 ++ .../hello_world_iccm/caliptra_isr.h | 5 ++ .../test_suites/infinite_loop/caliptra_isr.h | 6 ++ .../test_suites/libs/clk_gate/clk_gate.c | 4 +- .../memCpy_ROM_to_dccm/caliptra_isr.h | 5 ++ .../memCpy_dccm_to_iccm/caliptra_isr.h | 5 ++ .../pv_hash_and_sign/caliptra_isr.h | 5 ++ .../test_suites/pv_hash_reset/caliptra_isr.h | 2 + .../randomized_pcr_signing/caliptra_isr.h | 5 ++ .../smoke_test_ahb_mux/caliptra_isr.h | 5 ++ .../smoke_test_cg_wdt/caliptra_isr.h | 5 ++ .../smoke_test_clk_gating/caliptra_isr.h | 5 ++ .../smoke_test_clk_gating.c | 4 +- .../smoke_test_datavault_basic/caliptra_isr.h | 5 ++ .../smoke_test_datavault_lock/caliptra_isr.h | 5 ++ .../smoke_test_datavault_mini/caliptra_isr.h | 5 ++ .../smoke_test_datavault_reset/caliptra_isr.h | 5 ++ .../smoke_test_doe_cg/caliptra_isr.h | 5 ++ .../smoke_test_doe_rand/caliptra_isr.h | 5 ++ .../smoke_test_doe_scan/caliptra_isr.h | 5 ++ .../test_suites/smoke_test_ecc/caliptra_isr.h | 5 ++ .../caliptra_isr.h | 5 ++ .../caliptra_isr.h | 5 ++ .../smoke_test_hmac/caliptra_isr.h | 5 ++ .../smoke_test_hw_config/caliptra_isr.h | 5 ++ .../smoke_test_iccm_reset/caliptra_isr.h | 5 ++ .../test_suites/smoke_test_kv/caliptra_isr.h | 5 ++ .../smoke_test_kv_cg/caliptra_isr.h | 5 ++ .../smoke_test_kv_crypto_flow/caliptra_isr.h | 5 ++ .../smoke_test_kv_ecc_flow/caliptra_isr.h | 5 ++ .../smoke_test_kv_hmac_flow/caliptra_isr.h | 5 ++ .../caliptra_isr.h | 5 ++ .../smoke_test_kv_sha512_flow/caliptra_isr.h | 5 ++ .../smoke_test_kv_uds_reset/caliptra_isr.h | 5 ++ .../smoke_test_mbox_cg/caliptra_isr.h | 5 ++ .../smoke_test_mbox_cg/smoke_test_mbox_cg.c | 72 +++++++++++++++++-- .../smoke_test_pcr_signing/caliptra_isr.h | 5 ++ .../smoke_test_pcr_zeroize/caliptra_isr.h | 5 ++ .../smoke_test_qspi/caliptra_isr.h | 5 ++ .../test_suites/smoke_test_ras/caliptra_isr.h | 5 ++ .../smoke_test_ras/smoke_test_ras.c | 2 + .../smoke_test_sha256/caliptra_isr.h | 5 ++ .../smoke_test_sha256_wntz/caliptra_isr.h | 5 ++ .../caliptra_isr.h | 5 ++ .../smoke_test_sha512/caliptra_isr.h | 5 ++ .../smoke_test_sha_accel/caliptra_isr.h | 7 +- .../smoke_test_sram_ecc/caliptra_isr.h | 5 ++ .../smoke_test_trng/caliptra_isr.h | 5 ++ .../smoke_test_uart/caliptra_isr.h | 5 ++ .../smoke_test_veer/caliptra_isr.h | 5 ++ .../test_suites/smoke_test_wdt/caliptra_isr.h | 5 ++ .../smoke_test_wdt_rst/caliptra_isr.h | 5 ++ .../smoke_test_wdt_rst/smoke_test_wdt_rst.c | 6 +- .../smoke_test_zeroize_crypto/caliptra_isr.h | 5 ++ 57 files changed, 335 insertions(+), 13 deletions(-) diff --git a/src/integration/test_suites/c_intr_handler/caliptra_isr.h b/src/integration/test_suites/c_intr_handler/caliptra_isr.h index 517e72b37..a2c87bcce 100644 --- a/src/integration/test_suites/c_intr_handler/caliptra_isr.h +++ b/src/integration/test_suites/c_intr_handler/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -222,5 +224,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/caliptra_fmc/caliptra_isr.h b/src/integration/test_suites/caliptra_fmc/caliptra_isr.h index 542d6572b..2700ad250 100644 --- a/src/integration/test_suites/caliptra_fmc/caliptra_isr.h +++ b/src/integration/test_suites/caliptra_fmc/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -251,5 +253,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/caliptra_rt/caliptra_isr.h b/src/integration/test_suites/caliptra_rt/caliptra_isr.h index 1f7d023bc..a0495a7f1 100644 --- a/src/integration/test_suites/caliptra_rt/caliptra_isr.h +++ b/src/integration/test_suites/caliptra_rt/caliptra_isr.h @@ -54,6 +54,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -247,5 +249,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/caliptra_top/caliptra_isr.h b/src/integration/test_suites/caliptra_top/caliptra_isr.h index 3fd30343d..075a3d421 100644 --- a/src/integration/test_suites/caliptra_top/caliptra_isr.h +++ b/src/integration/test_suites/caliptra_top/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -231,5 +233,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/hello_world_iccm/caliptra_isr.h b/src/integration/test_suites/hello_world_iccm/caliptra_isr.h index 8f5779e04..3b28f5e23 100644 --- a/src/integration/test_suites/hello_world_iccm/caliptra_isr.h +++ b/src/integration/test_suites/hello_world_iccm/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/infinite_loop/caliptra_isr.h b/src/integration/test_suites/infinite_loop/caliptra_isr.h index 7bd443326..9ff1022ab 100644 --- a/src/integration/test_suites/infinite_loop/caliptra_isr.h +++ b/src/integration/test_suites/infinite_loop/caliptra_isr.h @@ -49,6 +49,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; ////////////////////////////////////////////////////////////////////////////// @@ -87,4 +89,8 @@ inline void service_soc_ifc_notif_intr () {return;} inline void service_sha512_acc_error_intr() {return;} inline void service_sha512_acc_notif_intr() {return;} +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/libs/clk_gate/clk_gate.c b/src/integration/test_suites/libs/clk_gate/clk_gate.c index ad724e6e6..b28cbd489 100644 --- a/src/integration/test_suites/libs/clk_gate/clk_gate.c +++ b/src/integration/test_suites/libs/clk_gate/clk_gate.c @@ -19,7 +19,7 @@ #include "printf.h" void set_mit0_and_halt_core(uint32_t mitb0, uint32_t mie_en) { - VPRINTF(LOW, "Enabling internal timer0 and halting core\n"); + VPRINTF(LOW, "En int tmr0, hlt core\n"); //Enable internal timer0 __asm__ volatile ("csrwi %0, %1" \ : /* output: none */ \ @@ -96,4 +96,4 @@ void halt_core() { : /* output: none */ \ : "i" (0x7c6), "i" (0x03) /* input : immediate */ \ : /* clobbers: none */); -} \ No newline at end of file +} diff --git a/src/integration/test_suites/memCpy_ROM_to_dccm/caliptra_isr.h b/src/integration/test_suites/memCpy_ROM_to_dccm/caliptra_isr.h index 8f5779e04..3b28f5e23 100644 --- a/src/integration/test_suites/memCpy_ROM_to_dccm/caliptra_isr.h +++ b/src/integration/test_suites/memCpy_ROM_to_dccm/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/memCpy_dccm_to_iccm/caliptra_isr.h b/src/integration/test_suites/memCpy_dccm_to_iccm/caliptra_isr.h index 8f5779e04..3b28f5e23 100644 --- a/src/integration/test_suites/memCpy_dccm_to_iccm/caliptra_isr.h +++ b/src/integration/test_suites/memCpy_dccm_to_iccm/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/pv_hash_and_sign/caliptra_isr.h b/src/integration/test_suites/pv_hash_and_sign/caliptra_isr.h index 8f5779e04..3b28f5e23 100644 --- a/src/integration/test_suites/pv_hash_and_sign/caliptra_isr.h +++ b/src/integration/test_suites/pv_hash_and_sign/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/pv_hash_reset/caliptra_isr.h b/src/integration/test_suites/pv_hash_reset/caliptra_isr.h index 23b511c4b..54fd4f09a 100644 --- a/src/integration/test_suites/pv_hash_reset/caliptra_isr.h +++ b/src/integration/test_suites/pv_hash_reset/caliptra_isr.h @@ -65,6 +65,8 @@ inline void service_soc_ifc_error_intr () {printf("ERROR");} inline void service_soc_ifc_notif_intr () {printf("ERROR");} inline void service_sha512_acc_error_intr() {printf("ERROR");} inline void service_sha512_acc_notif_intr() {printf("ERROR");} +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/randomized_pcr_signing/caliptra_isr.h b/src/integration/test_suites/randomized_pcr_signing/caliptra_isr.h index 8f5779e04..3b28f5e23 100644 --- a/src/integration/test_suites/randomized_pcr_signing/caliptra_isr.h +++ b/src/integration/test_suites/randomized_pcr_signing/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_ahb_mux/caliptra_isr.h b/src/integration/test_suites/smoke_test_ahb_mux/caliptra_isr.h index 8f5779e04..3b28f5e23 100644 --- a/src/integration/test_suites/smoke_test_ahb_mux/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_ahb_mux/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_cg_wdt/caliptra_isr.h b/src/integration/test_suites/smoke_test_cg_wdt/caliptra_isr.h index 6f27a6427..73c86497f 100644 --- a/src/integration/test_suites/smoke_test_cg_wdt/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_cg_wdt/caliptra_isr.h @@ -58,6 +58,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -128,5 +130,8 @@ inline void service_soc_ifc_notif_intr () { inline void service_sha512_acc_error_intr() {printf("ERROR");} inline void service_sha512_acc_notif_intr() {printf("ERROR");} +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_clk_gating/caliptra_isr.h b/src/integration/test_suites/smoke_test_clk_gating/caliptra_isr.h index 2eb00407e..98dc35887 100644 --- a/src/integration/test_suites/smoke_test_clk_gating/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_clk_gating/caliptra_isr.h @@ -58,6 +58,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -145,5 +147,8 @@ inline void service_soc_ifc_notif_intr () { inline void service_sha512_acc_error_intr() {printf("ERROR");} inline void service_sha512_acc_notif_intr() {printf("ERROR");} +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_clk_gating/smoke_test_clk_gating.c b/src/integration/test_suites/smoke_test_clk_gating/smoke_test_clk_gating.c index 114abc7d3..3cfe757be 100644 --- a/src/integration/test_suites/smoke_test_clk_gating/smoke_test_clk_gating.c +++ b/src/integration/test_suites/smoke_test_clk_gating/smoke_test_clk_gating.c @@ -137,9 +137,9 @@ void main() { : /* clobbers: none */); //------------------------------------------------------ - //Wake SOC up for APB tx and core using timer int later + //Wake SOC up for AXI tx and core using timer int later //------------------------------------------------------ - printf("Wake up SOC clk on APB txns and later wake up core using timer interrupt\n"); + printf("Wake up SOC clk on AXI txns and later wake up core using timer interrupt\n"); //Machine intr enable reg (mie) - enable timer int __asm__ volatile ("csrw %0, %1" \ : /* output: none */ \ diff --git a/src/integration/test_suites/smoke_test_datavault_basic/caliptra_isr.h b/src/integration/test_suites/smoke_test_datavault_basic/caliptra_isr.h index 8f5779e04..08c755bad 100644 --- a/src/integration/test_suites/smoke_test_datavault_basic/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_datavault_basic/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_datavault_lock/caliptra_isr.h b/src/integration/test_suites/smoke_test_datavault_lock/caliptra_isr.h index 8f5779e04..08c755bad 100644 --- a/src/integration/test_suites/smoke_test_datavault_lock/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_datavault_lock/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_datavault_mini/caliptra_isr.h b/src/integration/test_suites/smoke_test_datavault_mini/caliptra_isr.h index 8f5779e04..08c755bad 100644 --- a/src/integration/test_suites/smoke_test_datavault_mini/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_datavault_mini/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_datavault_reset/caliptra_isr.h b/src/integration/test_suites/smoke_test_datavault_reset/caliptra_isr.h index 8f5779e04..08c755bad 100644 --- a/src/integration/test_suites/smoke_test_datavault_reset/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_datavault_reset/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_doe_cg/caliptra_isr.h b/src/integration/test_suites/smoke_test_doe_cg/caliptra_isr.h index 8f5779e04..08c755bad 100644 --- a/src/integration/test_suites/smoke_test_doe_cg/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_doe_cg/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_doe_rand/caliptra_isr.h b/src/integration/test_suites/smoke_test_doe_rand/caliptra_isr.h index 8f5779e04..08c755bad 100644 --- a/src/integration/test_suites/smoke_test_doe_rand/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_doe_rand/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_doe_scan/caliptra_isr.h b/src/integration/test_suites/smoke_test_doe_scan/caliptra_isr.h index 8f5779e04..08c755bad 100644 --- a/src/integration/test_suites/smoke_test_doe_scan/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_doe_scan/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_ecc/caliptra_isr.h b/src/integration/test_suites/smoke_test_ecc/caliptra_isr.h index 8f5779e04..08c755bad 100644 --- a/src/integration/test_suites/smoke_test_ecc/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_ecc/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_ecc_errortrigger/caliptra_isr.h b/src/integration/test_suites/smoke_test_ecc_errortrigger/caliptra_isr.h index d5a7efebb..5c6b2135e 100644 --- a/src/integration/test_suites/smoke_test_ecc_errortrigger/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_ecc_errortrigger/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -252,5 +254,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_fw_kv_backtoback_hmac/caliptra_isr.h b/src/integration/test_suites/smoke_test_fw_kv_backtoback_hmac/caliptra_isr.h index 8f5779e04..08c755bad 100644 --- a/src/integration/test_suites/smoke_test_fw_kv_backtoback_hmac/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_fw_kv_backtoback_hmac/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_hmac/caliptra_isr.h b/src/integration/test_suites/smoke_test_hmac/caliptra_isr.h index 8f5779e04..08c755bad 100644 --- a/src/integration/test_suites/smoke_test_hmac/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_hmac/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_hw_config/caliptra_isr.h b/src/integration/test_suites/smoke_test_hw_config/caliptra_isr.h index 7bf456414..073409c01 100644 --- a/src/integration/test_suites/smoke_test_hw_config/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_hw_config/caliptra_isr.h @@ -55,6 +55,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -189,5 +191,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_iccm_reset/caliptra_isr.h b/src/integration/test_suites/smoke_test_iccm_reset/caliptra_isr.h index 8f5779e04..08c755bad 100644 --- a/src/integration/test_suites/smoke_test_iccm_reset/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_iccm_reset/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_kv/caliptra_isr.h b/src/integration/test_suites/smoke_test_kv/caliptra_isr.h index 8f5779e04..08c755bad 100644 --- a/src/integration/test_suites/smoke_test_kv/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_kv/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_kv_cg/caliptra_isr.h b/src/integration/test_suites/smoke_test_kv_cg/caliptra_isr.h index 8f5779e04..08c755bad 100644 --- a/src/integration/test_suites/smoke_test_kv_cg/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_kv_cg/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_kv_crypto_flow/caliptra_isr.h b/src/integration/test_suites/smoke_test_kv_crypto_flow/caliptra_isr.h index 8f5779e04..08c755bad 100644 --- a/src/integration/test_suites/smoke_test_kv_crypto_flow/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_kv_crypto_flow/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_kv_ecc_flow/caliptra_isr.h b/src/integration/test_suites/smoke_test_kv_ecc_flow/caliptra_isr.h index 8f5779e04..08c755bad 100644 --- a/src/integration/test_suites/smoke_test_kv_ecc_flow/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_kv_ecc_flow/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_kv_hmac_flow/caliptra_isr.h b/src/integration/test_suites/smoke_test_kv_hmac_flow/caliptra_isr.h index 8f5779e04..08c755bad 100644 --- a/src/integration/test_suites/smoke_test_kv_hmac_flow/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_kv_hmac_flow/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_kv_securitystate/caliptra_isr.h b/src/integration/test_suites/smoke_test_kv_securitystate/caliptra_isr.h index 8f5779e04..08c755bad 100644 --- a/src/integration/test_suites/smoke_test_kv_securitystate/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_kv_securitystate/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_kv_sha512_flow/caliptra_isr.h b/src/integration/test_suites/smoke_test_kv_sha512_flow/caliptra_isr.h index 8f5779e04..08c755bad 100644 --- a/src/integration/test_suites/smoke_test_kv_sha512_flow/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_kv_sha512_flow/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_kv_uds_reset/caliptra_isr.h b/src/integration/test_suites/smoke_test_kv_uds_reset/caliptra_isr.h index 8f5779e04..08c755bad 100644 --- a/src/integration/test_suites/smoke_test_kv_uds_reset/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_kv_uds_reset/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {printf("ERROR");} +inline void service_axi_dma_notif_intr() {printf("ERROR");} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_mbox_cg/caliptra_isr.h b/src/integration/test_suites/smoke_test_mbox_cg/caliptra_isr.h index 8f5779e04..3b28f5e23 100644 --- a/src/integration/test_suites/smoke_test_mbox_cg/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_mbox_cg/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_mbox_cg/smoke_test_mbox_cg.c b/src/integration/test_suites/smoke_test_mbox_cg/smoke_test_mbox_cg.c index 9697d6e71..82d11cdd9 100644 --- a/src/integration/test_suites/smoke_test_mbox_cg/smoke_test_mbox_cg.c +++ b/src/integration/test_suites/smoke_test_mbox_cg/smoke_test_mbox_cg.c @@ -28,7 +28,7 @@ volatile uint32_t intr_count = 0; enum printf_verbosity verbosity_g = LOW; #endif -#define MBOX_DLEN_VAL 0x00000020 +#define MBOX_DLEN_VAL 0x00000100 volatile caliptra_intr_received_s cptra_intr_rcv = { .doe_error = 0, @@ -53,6 +53,8 @@ volatile caliptra_intr_received_s cptra_intr_rcv = { .soc_ifc_notif = 0, .sha512_acc_error = 0, .sha512_acc_notif = 0, + .axi_dma_error = 0, + .axi_dma_notif = 0, }; void main () { @@ -68,7 +70,63 @@ void main () { 0x44444444, 0x55555555, 0x66666666, - 0x77777777 }; + 0x77777777, + 0x88888888, + 0x99999999, + 0xaaaaaaaa, + 0xbbbbbbbb, + 0xcccccccc, + 0xdddddddd, + 0xeeeeeeee, + 0xffffffff, + 0x00001111, + 0x11112222, + 0x22223333, + 0x33334444, + 0x44445555, + 0x55556666, + 0x66667777, + 0x77778888, + 0x88889999, + 0x9999aaaa, + 0xaaaabbbb, + 0xbbbbcccc, + 0xccccdddd, + 0xddddeeee, + 0xeeeeffff, + 0xffff0000, + 0x00001122, + 0x11112233, + 0x22223344, + 0x33334455, + 0x44445566, + 0x55556677, + 0x66667788, + 0x77778899, + 0x888899aa, + 0x9999aabb, + 0xaaaabbcc, + 0xbbbbccdd, + 0xccccddee, + 0xddddeeff, + 0xeeeeff00, + 0xffff0011, + 0x00001123, + 0x11112234, + 0x22223345, + 0x33334456, + 0x44445567, + 0x55556678, + 0x66667789, + 0x7777889a, + 0x888899ab, + 0x9999aabc, + 0xaaaabbcd, + 0xbbbbccde, + 0xccccddef, + 0xddddeef0, + 0xeeeeff01, + 0xffff0012 }; uint32_t read_data; uint32_t mitb0 = 0x000000F0; @@ -127,12 +185,14 @@ void main () { //check FSM state, should be in EXECUTE_SOC state = (lsu_read_32(CLP_MBOX_CSR_MBOX_STATUS) & MBOX_CSR_MBOX_STATUS_MBOX_FSM_PS_MASK) >> MBOX_CSR_MBOX_STATUS_MBOX_FSM_PS_LOW; - if (state != MBOX_EXECUTE_SOC) { + if (state != MBOX_EXECUTE_SOC && ((lsu_read_32(CLP_MBOX_CSR_MBOX_EXECUTE) & MBOX_CSR_MBOX_EXECUTE_EXECUTE_MASK) == 1)) { VPRINTF(ERROR, "ERROR: mailbox in unexpected state (%x) when expecting MBOX_EXECUTE_SOC (0x%x)\n", state, MBOX_EXECUTE_SOC); SEND_STDOUT_CTRL( 0x1); while(1); + } else if ((lsu_read_32(CLP_MBOX_CSR_MBOX_EXECUTE) & MBOX_CSR_MBOX_EXECUTE_EXECUTE_MASK) == 0) { + VPRINTF(LOW, "FW: Mailbox operation has ended, execute cleared to 0. Ending test with success\n"); } else { - VPRINTF(LOW, "FW: Mailbox in expected state, MBOX_EXECUTE_SOC, ending test with success\n"); + VPRINTF(LOW, "FW: Mailbox in expected state, MBOX_EXECUTE_SOC. Ending test with success\n"); } //-------------------------------------------------------------------------------------------- @@ -140,12 +200,10 @@ void main () { VPRINTF(LOW, "FW: Wait for SoC to reset execute register\n"); while((lsu_read_32(CLP_MBOX_CSR_MBOX_EXECUTE) & MBOX_CSR_MBOX_EXECUTE_EXECUTE_MASK) == 1); - //Force unlock - lsu_write_32(CLP_MBOX_CSR_MBOX_UNLOCK, MBOX_CSR_MBOX_UNLOCK_UNLOCK_MASK); - set_mit0_and_halt_core(mitb0, mie_timer0_ext_int_en); //poll for mbox lock + VPRINTF(LOW, "FW: Acquire lock to send mbox cmd\n"); while((lsu_read_32(CLP_MBOX_CSR_MBOX_LOCK) & MBOX_CSR_MBOX_LOCK_LOCK_MASK) == 1); set_mit0_and_halt_core(mitb0, mie_timer0_ext_int_en); diff --git a/src/integration/test_suites/smoke_test_pcr_signing/caliptra_isr.h b/src/integration/test_suites/smoke_test_pcr_signing/caliptra_isr.h index 8f5779e04..3b28f5e23 100644 --- a/src/integration/test_suites/smoke_test_pcr_signing/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_pcr_signing/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_pcr_zeroize/caliptra_isr.h b/src/integration/test_suites/smoke_test_pcr_zeroize/caliptra_isr.h index 8f5779e04..3b28f5e23 100644 --- a/src/integration/test_suites/smoke_test_pcr_zeroize/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_pcr_zeroize/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_qspi/caliptra_isr.h b/src/integration/test_suites/smoke_test_qspi/caliptra_isr.h index fca82fef0..396bfa18d 100644 --- a/src/integration/test_suites/smoke_test_qspi/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_qspi/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -239,5 +241,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_ras/caliptra_isr.h b/src/integration/test_suites/smoke_test_ras/caliptra_isr.h index a245e2994..926e19966 100644 --- a/src/integration/test_suites/smoke_test_ras/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_ras/caliptra_isr.h @@ -55,6 +55,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; #define RV_EXCEPTION_STRUCT 1 @@ -195,5 +197,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_ras/smoke_test_ras.c b/src/integration/test_suites/smoke_test_ras/smoke_test_ras.c index 629e87e90..43d2f6417 100644 --- a/src/integration/test_suites/smoke_test_ras/smoke_test_ras.c +++ b/src/integration/test_suites/smoke_test_ras/smoke_test_ras.c @@ -209,6 +209,8 @@ volatile caliptra_intr_received_s cptra_intr_rcv = { .soc_ifc_notif = 0, .sha512_acc_error = 0, .sha512_acc_notif = 0, + .axi_dma_notif = 0, + .axi_dma_notif = 0, }; volatile rv_exception_struct_s exc_flag __attribute__((section(".dccm.persistent"))); // WARNING: if DCCM ERROR injection is enabled, writes to this may be corrupted volatile uint32_t boot_count __attribute__((section(".dccm.persistent"))) = 0; diff --git a/src/integration/test_suites/smoke_test_sha256/caliptra_isr.h b/src/integration/test_suites/smoke_test_sha256/caliptra_isr.h index 1b9018b20..205798892 100644 --- a/src/integration/test_suites/smoke_test_sha256/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_sha256/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -251,5 +253,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_sha256_wntz/caliptra_isr.h b/src/integration/test_suites/smoke_test_sha256_wntz/caliptra_isr.h index 257588cea..152f493be 100644 --- a/src/integration/test_suites/smoke_test_sha256_wntz/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_sha256_wntz/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -257,5 +259,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_sha256_wntz_rand/caliptra_isr.h b/src/integration/test_suites/smoke_test_sha256_wntz_rand/caliptra_isr.h index 257588cea..152f493be 100644 --- a/src/integration/test_suites/smoke_test_sha256_wntz_rand/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_sha256_wntz_rand/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -257,5 +259,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_sha512/caliptra_isr.h b/src/integration/test_suites/smoke_test_sha512/caliptra_isr.h index 8f5779e04..3b28f5e23 100644 --- a/src/integration/test_suites/smoke_test_sha512/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_sha512/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_sha_accel/caliptra_isr.h b/src/integration/test_suites/smoke_test_sha_accel/caliptra_isr.h index 841da2048..72d975f9f 100644 --- a/src/integration/test_suites/smoke_test_sha_accel/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_sha_accel/caliptra_isr.h @@ -57,6 +57,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -106,5 +108,8 @@ inline void service_sha512_acc_notif_intr() { sha_intr_status = *reg; } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} -#endif //CALIPTRA_ISR_H \ No newline at end of file + +#endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_sram_ecc/caliptra_isr.h b/src/integration/test_suites/smoke_test_sram_ecc/caliptra_isr.h index 8f5779e04..3b28f5e23 100644 --- a/src/integration/test_suites/smoke_test_sram_ecc/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_sram_ecc/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_trng/caliptra_isr.h b/src/integration/test_suites/smoke_test_trng/caliptra_isr.h index 8f5779e04..3b28f5e23 100644 --- a/src/integration/test_suites/smoke_test_trng/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_trng/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_uart/caliptra_isr.h b/src/integration/test_suites/smoke_test_uart/caliptra_isr.h index fca82fef0..396bfa18d 100644 --- a/src/integration/test_suites/smoke_test_uart/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_uart/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -239,5 +241,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_veer/caliptra_isr.h b/src/integration/test_suites/smoke_test_veer/caliptra_isr.h index 8f5779e04..3b28f5e23 100644 --- a/src/integration/test_suites/smoke_test_veer/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_veer/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_wdt/caliptra_isr.h b/src/integration/test_suites/smoke_test_wdt/caliptra_isr.h index bb60f9fb2..ae98951d1 100644 --- a/src/integration/test_suites/smoke_test_wdt/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_wdt/caliptra_isr.h @@ -58,6 +58,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -104,5 +106,8 @@ inline void service_soc_ifc_notif_intr () {printf("ERROR");} inline void service_sha512_acc_error_intr() {printf("ERROR");} inline void service_sha512_acc_notif_intr() {printf("ERROR");} +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_wdt_rst/caliptra_isr.h b/src/integration/test_suites/smoke_test_wdt_rst/caliptra_isr.h index ddad5ade5..d6d491a63 100644 --- a/src/integration/test_suites/smoke_test_wdt_rst/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_wdt_rst/caliptra_isr.h @@ -58,6 +58,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -104,5 +106,8 @@ inline void service_soc_ifc_notif_intr () {printf("ERROR");} inline void service_sha512_acc_error_intr() {printf("ERROR");} inline void service_sha512_acc_notif_intr() {printf("ERROR");} +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H diff --git a/src/integration/test_suites/smoke_test_wdt_rst/smoke_test_wdt_rst.c b/src/integration/test_suites/smoke_test_wdt_rst/smoke_test_wdt_rst.c index f472b3c2f..63bc7ceb8 100644 --- a/src/integration/test_suites/smoke_test_wdt_rst/smoke_test_wdt_rst.c +++ b/src/integration/test_suites/smoke_test_wdt_rst/smoke_test_wdt_rst.c @@ -168,10 +168,14 @@ void main() { SEND_STDOUT_CTRL(0xf1); configure_wdt_cascade(0x200, 0x00, 0xffffffff, 0xffffffff); VPRINTF(LOW, "Cascaded mode with timer2 timeout - NMI - cold rst\n"); + *wdt_timer1_en = 0x0; *wdt_timer2_en = 0x0; - *wdt_timer1_ctrl = 0x1; //restart counter so timer1 can start counting +// *wdt_timer1_ctrl = 0x1; //restart counter so timer1 can start counting set_t2_period(0x00000200, 0x00000000); + + *wdt_timer1_en = 0x1; + *wdt_timer1_ctrl = 0x1; //restart counter so timer1 can start counting VPRINTF(LOW, "Stall until timer1 times out\n"); VPRINTF(LOW, "Stall until timer2 times out\n"); diff --git a/src/integration/test_suites/smoke_test_zeroize_crypto/caliptra_isr.h b/src/integration/test_suites/smoke_test_zeroize_crypto/caliptra_isr.h index 8f5779e04..3b28f5e23 100644 --- a/src/integration/test_suites/smoke_test_zeroize_crypto/caliptra_isr.h +++ b/src/integration/test_suites/smoke_test_zeroize_crypto/caliptra_isr.h @@ -56,6 +56,8 @@ typedef struct { uint32_t soc_ifc_notif; uint32_t sha512_acc_error; uint32_t sha512_acc_notif; + uint32_t axi_dma_error; + uint32_t axi_dma_notif; } caliptra_intr_received_s; extern volatile caliptra_intr_received_s cptra_intr_rcv; @@ -243,5 +245,8 @@ inline void service_sha512_acc_notif_intr() { } } +inline void service_axi_dma_error_intr() {return;} +inline void service_axi_dma_notif_intr() {return;} + #endif //CALIPTRA_ISR_H