Skip to content

Commit

Permalink
[UVM,DOC] Define AHB address alignment requirements and enforce in UV…
Browse files Browse the repository at this point in the history
…M test env (#576)

* Update makefile for 48KiB size of ROM

* Update uvm predictor to allow exception for unaligned dir-mode SRAM reads

* Update RDL reg file for Caliptra top to include Mailbox SRAM (dir mode)

* Update RDL doc generator to include memory nodes (for mbox_sram)

* Send unaligned address to scoreboard (when valid) to avoid txn mismatch error

* Update HW spec to describe direct-mode mailbox SRAM access and AHB alignment requirements

* MICROSOFT AUTOMATED PIPELINE: Stamp 'cwhitehead-msft-UVM-algn-update' with updated timestamp and hash after successful run

* Single-byte-sized reads are allowed; address must be DW aligned unless a byte-read from SRAM dir mode

* Use dw size when printing stdout to generic_output_wires; byte-writes are not permitted

* MICROSOFT AUTOMATED PIPELINE: Stamp 'cwhitehead-msft-UVM-algn-update' with updated timestamp and hash after successful run

* Clarify size requirement

* Add a smoke test to validate byte-access to Mailbox SRAM

* Reduce logic for test speedup

* Two-step type cast to resolve compiler warning

* MICROSOFT AUTOMATED PIPELINE: Stamp 'cwhitehead-msft-UVM-algn-update' with updated timestamp and hash after successful run
  • Loading branch information
calebofearth committed Aug 27, 2024
1 parent 817349b commit b906d25
Show file tree
Hide file tree
Showing 64 changed files with 572 additions and 132 deletions.
2 changes: 1 addition & 1 deletion .github/workflow_metadata/pr_hash
Original file line number Diff line number Diff line change
@@ -1 +1 @@
7fda014d9c945100c76479d6339a609816bee2b05c7749596d7ad3955555f36606325f7d0e8e9c7df09cb9f954e6094a
87d12e3f1a9f2c2fca2dc4b1da0c727bed238bfaf9919890da2d84936cb226568e05b7a33ff6f6a4ce2e88fd9da0ea00
2 changes: 1 addition & 1 deletion .github/workflow_metadata/pr_timestamp
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1723748145
1724699665
4 changes: 4 additions & 0 deletions docs/CaliptraHardwareSpecification.md
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,8 @@ Each IP component in the Caliptra system uses a native AHB data width of 32-bits

As a result of this implementation, 64-bit data transfers are not supported on the Caliptra AHB fabric. Firmware running on the internal microprocessor may only access memory and registers using a 32-bit or smaller request size, as 64-bit transfer requests will be corrupted.

All AHB requests internal to Caliptra must be to an address that is aligned to the native data width of 4-bytes. Any AHB read or write by the Caliptra RISC-V processor that is not aligned to this boundary will fail to decode to the targeted register, will fail to write the submitted data, and will return read data of all zeroes. All AHB requests must also use the native size of 4 bytes (encoded in the hsize signal with a value of 2). The only exception to this is when the RISC-V processor performs byte-aligned, single-byte reads to the Mailbox SRAM using the direct-access mechanism described in [SoC Mailbox](#SoC-mailbox). In this case, a byte-aligned address must be accompanied by the correct size indicator for a single-byte access. Read addresses for byte accesses are aligned to the 4-byte boundary in hardware, and will successfully complete with the correct data at the specified byte offset. Direct mode SRAM writes must be 4-bytes in size and must be aligned to the 4-byte boundary. Hardware writes the entire dword of data to the aligned address, so attempts to write a partial word of data may result in data corruption.

## Cryptographic subsystem

For details, see the [Cryptographic subsystem architecture](#cryptographic-subsystem-architecture) section.
Expand Down Expand Up @@ -390,6 +392,8 @@ The UART block architecture inputs and outputs are described in the following ta

For more information on the mailbox protocol, see [Mailbox](https://github.com/chipsalliance/caliptra-rtl/blob/main/docs/CaliptraIntegrationSpecification.md#mailbox) in the Caliptra Integration Specification. Mailbox registers accessible to the Caliptra microcontroller are defined in [internal-regs/mbox_csr](https://chipsalliance.github.io/caliptra-rtl/main/internal-regs/?p=clp.mbox_csr).

The RISC-V processor is able to access the SoC mailbox SRAM using a direct access mode (which bypasses the defined mailbox protocol). The addresses for performing this access are described in [SoC interface subsystem](#SoC-interface-subsystem) and in [mbox_sram](https://chipsalliance.github.io/caliptra-rtl/main/internal-regs/?p=clp.mbox_sram). In this mode, firmware must first acquire the mailbox lock. Then, reads and writes to the direct access address region will go directly to the SRAM block. Firmware must release the mailbox lock by writing to the [mbox_unlock](https://chipsalliance.github.io/caliptra-rtl/main/internal-regs/?p=clp.mbox_csr.mbox_unlock) register after direct access operations are completed.


## Security state

Expand Down
2 changes: 2 additions & 0 deletions src/integration/rtl/caliptra_reg.h
Original file line number Diff line number Diff line change
Expand Up @@ -5174,6 +5174,8 @@
#define ENTROPY_SRC_REG_MAIN_SM_STATE (0xe0)
#define ENTROPY_SRC_REG_MAIN_SM_STATE_MAIN_SM_STATE_LOW (0)
#define ENTROPY_SRC_REG_MAIN_SM_STATE_MAIN_SM_STATE_MASK (0x1ff)
#define CLP_MBOX_SRAM_BASE_ADDR (0x30000000)
#define CLP_MBOX_SRAM_END_ADDR (0x3001ffff)
#define CLP_MBOX_CSR_BASE_ADDR (0x30020000)
#define CLP_MBOX_CSR_MBOX_LOCK (0x30020000)
#define MBOX_CSR_MBOX_LOCK (0x0)
Expand Down
9 changes: 9 additions & 0 deletions src/integration/rtl/caliptra_reg.rdl
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,15 @@ addrmap clp {

entropy_src entropy_src_reg @ 0x2000_3000;

mem {name="Mailbox SRAM";
desc="Mailbox SRAM for Caliptra direct-mode accesses. Accessible to Caliptra only after acquiring mbox_lock.
[br]Caliptra Access: RW
[br]SOC Access: -";
memwidth=32;
mementries=32768;
sw=rw;
} external mbox_sram @ 0x3000_0000;

mbox_csr mbox_csr @ 0x3002_0000;

sha512_acc_csr sha512_acc_csr @ 0x3002_1000;
Expand Down
2 changes: 2 additions & 0 deletions src/integration/rtl/caliptra_reg_defines.svh
Original file line number Diff line number Diff line change
Expand Up @@ -5174,6 +5174,8 @@
`define ENTROPY_SRC_REG_MAIN_SM_STATE (32'he0)
`define ENTROPY_SRC_REG_MAIN_SM_STATE_MAIN_SM_STATE_LOW (0)
`define ENTROPY_SRC_REG_MAIN_SM_STATE_MAIN_SM_STATE_MASK (32'h1ff)
`define CLP_MBOX_SRAM_BASE_ADDR (32'h30000000)
`define CLP_MBOX_SRAM_END_ADDR (32'h3001ffff)
`define CLP_MBOX_CSR_BASE_ADDR (32'h30020000)
`define CLP_MBOX_CSR_MBOX_LOCK (32'h30020000)
`define MBOX_CSR_MBOX_LOCK (32'h0)
Expand Down
1 change: 1 addition & 0 deletions src/integration/stimulus/L0_regression.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ contents:
#add back for aes
#- ../test_suites/smoke_test_aes/smoke_test_aes.yml
- ../test_suites/smoke_test_mbox/smoke_test_mbox.yml
- ../test_suites/smoke_test_mbox_byte_read/smoke_test_mbox_byte_read.yml
- ../test_suites/smoke_test_mbox_cg/smoke_test_mbox_cg.yml
- ../test_suites/smoke_test_sha512/smoke_test_sha512.yml
- ../test_suites/smoke_test_sha256/smoke_test_sha256.yml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ contents:
- ${CALIPTRA_ROOT}/src/integration/test_suites/smoke_test_datavault_mini/smoke_test_datavault_mini.yml
- ${CALIPTRA_ROOT}/src/integration/test_suites/smoke_test_veer/smoke_test_veer.yml
- ${CALIPTRA_ROOT}/src/integration/test_suites/smoke_test_mbox/smoke_test_mbox.yml
- ${CALIPTRA_ROOT}/src/integration/test_suites/smoke_test_mbox_byte_read/smoke_test_mbox_byte_read.yml
- ${CALIPTRA_ROOT}/src/integration/test_suites/smoke_test_sha512/smoke_test_sha512.yml
- ${CALIPTRA_ROOT}/src/integration/test_suites/smoke_test_sha256/smoke_test_sha256.yml
- ${CALIPTRA_ROOT}/src/integration/test_suites/smoke_test_sha256_wntz/smoke_test_sha256_wntz.yml
Expand Down
4 changes: 2 additions & 2 deletions src/integration/test_suites/c_intr_handler/c_intr_handler.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
//#define ee_printf whisperPrintf


volatile char* stdout = (char *)STDOUT;
volatile uint32_t intr_count;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
volatile uint32_t intr_count;
#ifdef CPT_VERBOSITY
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
#else
Expand Down
4 changes: 2 additions & 2 deletions src/integration/test_suites/caliptra_demo/caliptra_demo.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ enum doe_cmd_e {
};

/* --------------- Global vars --------------- */
volatile char* stdout = (char *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
volatile uint32_t intr_count = 0;

#ifdef CPT_VERBOSITY   
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
Expand Down
2 changes: 1 addition & 1 deletion src/integration/test_suites/caliptra_fmc/caliptra_fmc.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
extern uintptr_t STACK;

/* --------------- Global vars --------------- */
volatile char* stdout = (char *)STDOUT;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
#ifdef CPT_VERBOSITY
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
#else
Expand Down
2 changes: 1 addition & 1 deletion src/integration/test_suites/caliptra_rt/caliptra_rt.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
extern uintptr_t STACK;

/* --------------- Global vars --------------- */
volatile char* stdout = (char *)STDOUT;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
#ifdef CPT_VERBOSITY
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
#else
Expand Down
2 changes: 1 addition & 1 deletion src/integration/test_suites/caliptra_top/caliptra_top.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
/* --------------- Global symbols/typedefs --------------- */

/* --------------- Global vars --------------- */
volatile char* stdout = (char *)STDOUT;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
#ifdef CPT_VERBOSITY
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
#else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ clean:
# Build program.hex from RUST executable
program.hex: key_manifest_pk_hash_val.hex owner_pk_hash_val.hex fw_update.hex $(TEST_DIR)/$(TESTNAME).extracted $(TEST_DIR)/$(TESTNAME)
@-echo "Building program.hex from $(TESTNAME) using Crypto Test rules for pre-compiled RUST executables"
$(GCC_PREFIX)-objcopy -I binary -O verilog --pad-to 0x8000 --gap-fill 0xFF --no-change-warnings $(TEST_DIR)/$(TESTNAME) program.hex
$(GCC_PREFIX)-objcopy -I binary -O verilog --pad-to 0xC000 --gap-fill 0xFF --no-change-warnings $(TEST_DIR)/$(TESTNAME) program.hex
du -b $(TEST_DIR)/$(TESTNAME) | cut -f1 > $(TESTNAME).size

fw_update.hex: $(TEST_DIR)/$(TESTNAME).extracted $(TEST_DIR)/$(TESTNAME_fw)
Expand Down
4 changes: 2 additions & 2 deletions src/integration/test_suites/iccm_lock/iccm_lock.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@
//#define ee_printf whisperPrintf


volatile char* stdout = (char *)STDOUT;
volatile uint32_t intr_count;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
volatile uint32_t intr_count;
#ifdef CPT_VERBOSITY
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
#else
Expand Down
4 changes: 2 additions & 2 deletions src/integration/test_suites/libs/printf/printf.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@
#include <stdarg.h>
#include <stdint.h>

extern volatile char *stdout;
extern volatile uint32_t *stdout;

static int
whisperPutc(char c)
{
*stdout = c;
*stdout = (uint32_t) c;
return (int) c;
}

Expand Down
6 changes: 3 additions & 3 deletions src/integration/test_suites/libs/riscv_hw_if/crt0.s
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ bss_cp_loop:
_finish:
li t0, STDOUT
addi t5, zero, 0xff
sb t5, 0(t0)
sw t5, 0(t0)
beq zero, zero, _finish
.rept 100
nop
Expand Down Expand Up @@ -121,10 +121,10 @@ li t3, STDOUT
la t4, trap_msg
trap_print_loop:
lb t0, 0(t4)
sb t0, 0(t3)
sw t0, 0(t3)
addi t4, t4, 1
bnez t0, trap_print_loop
addi t5, zero, 0x1
sb t5, 0(t3)
sw t5, 0(t3)
j early_trap_vector
.cfi_endproc
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
#include "keyvault.h"
#include "sha512.h"

volatile char* stdout = (char *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
volatile uint32_t intr_count = 0;
#ifdef CPT_VERBOSITY
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
#else
Expand Down
6 changes: 3 additions & 3 deletions src/integration/test_suites/pv_hash_reset/pv_hash_reset.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@
#include "keyvault.h"
#include "sha512.h"

volatile char* stdout = (char *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t rst_count __attribute__((section(".dccm.persistent"))) = 0;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t rst_count __attribute__((section(".dccm.persistent"))) = 0;
#ifdef CPT_VERBOSITY
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
#else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
#include "printf.h"
#include "ecc.h"

volatile char* stdout = (char *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
volatile uint32_t intr_count = 0;
#ifdef CPT_VERBOSITY
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
#else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@
#include "printf.h"
#include "clk_gate.h"

volatile char* stdout = (char *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t hmac_intr_status;
volatile uint32_t rst_count __attribute__((section(".dccm.persistent"))) = 0;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t hmac_intr_status;
volatile uint32_t rst_count __attribute__((section(".dccm.persistent"))) = 0;

#ifdef CPT_VERBOSITY
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
Expand Down Expand Up @@ -240,4 +240,4 @@ void main() {
VPRINTF(LOW, "WDT independent mode and core is halted\n====================\n");
set_mit0_and_halt_core(mitb0, mie_timer0_ext_int_en);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@
#include "printf.h"
#include "clk_gate.h"

volatile char* stdout = (char *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t hmac_intr_status = 0;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t hmac_intr_status = 0;

#ifdef CPT_VERBOSITY
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
#include "printf.h"
#include "datavault.h"

volatile char* stdout = (char *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t rst_count __attribute__((section(".dccm.persistent"))) = 0;
volatile uint32_t err_count __attribute__((section(".dccm.persistent"))) = 0;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t rst_count __attribute__((section(".dccm.persistent"))) = 0;
volatile uint32_t err_count __attribute__((section(".dccm.persistent"))) = 0;

#ifdef CPT_VERBOSITY
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
#include "printf.h"
#include "datavault.h"

volatile char* stdout = (char *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t rst_count __attribute__((section(".dccm.persistent"))) = 0;
volatile uint32_t err_count __attribute__((section(".dccm.persistent"))) = 0;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t rst_count __attribute__((section(".dccm.persistent"))) = 0;
volatile uint32_t err_count __attribute__((section(".dccm.persistent"))) = 0;

#ifdef CPT_VERBOSITY
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@
#include "printf.h"
#include "datavault.h"

volatile char* stdout = (char *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t rst_count __attribute__((section(".dccm.persistent"))) = 0;
volatile uint32_t err_count __attribute__((section(".dccm.persistent"))) = 0;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@
#include "printf.h"
#include "datavault.h"

volatile char* stdout = (char *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t rst_count __attribute__((section(".dccm.persistent"))) = 0;
volatile uint32_t err_count __attribute__((section(".dccm.persistent"))) = 0;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t rst_count __attribute__((section(".dccm.persistent"))) = 0;
volatile uint32_t err_count __attribute__((section(".dccm.persistent"))) = 0;

#ifdef CPT_VERBOSITY
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@
#include "printf.h"
#include "clk_gate.h"

volatile char* stdout = (char *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t rst_count __attribute__((section(".dccm.persistent"))) = 0;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t rst_count __attribute__((section(".dccm.persistent"))) = 0;
#ifdef CPT_VERBOSITY
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
#else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@
#include <stdint.h>
#include "printf.h"

volatile char* stdout = (char *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t rst_count __attribute__((section(".dccm.persistent"))) = 0;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t rst_count __attribute__((section(".dccm.persistent"))) = 0;
#ifdef CPT_VERBOSITY
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
#else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@
#include "printf.h"
#include "clk_gate.h"

volatile char* stdout = (char *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t rst_count __attribute__((section(".dccm.persistent"))) = 0;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t rst_count __attribute__((section(".dccm.persistent"))) = 0;
#ifdef CPT_VERBOSITY
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
#else
Expand Down
4 changes: 2 additions & 2 deletions src/integration/test_suites/smoke_test_ecc/smoke_test_ecc.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
#include "printf.h"
#include "ecc.h"

volatile char* stdout = (char *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
volatile uint32_t intr_count = 0;
#ifdef CPT_VERBOSITY
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
#else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@
#include "printf.h"
#include "ecc.h"

volatile char* stdout = (char *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t rst_count __attribute__((section(".dccm.persistent"))) = 0;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t rst_count __attribute__((section(".dccm.persistent"))) = 0;
#ifdef CPT_VERBOSITY
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
#else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
#include "printf.h"
#include "hmac.h"

volatile char* stdout = (char *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
volatile uint32_t intr_count = 0;

#ifdef CPT_VERBOSITY
enum printf_verbosity verbosity_g = CPT_VERBOSITY;
Expand Down
4 changes: 2 additions & 2 deletions src/integration/test_suites/smoke_test_hmac/smoke_test_hmac.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
#else
enum printf_verbosity verbosity_g = LOW;
#endif
volatile char* stdout = (char *)STDOUT;
volatile uint32_t intr_count = 0;
volatile uint32_t* stdout = (uint32_t *)STDOUT;
volatile uint32_t intr_count = 0;

volatile caliptra_intr_received_s cptra_intr_rcv = {
.doe_error = 0,
Expand Down
Loading

0 comments on commit b906d25

Please sign in to comment.