Mahavir Jain
e054d168c1
Merge branch 'fix/c5_tee_sram_prot_v5.5' into 'release/v5.5'
...
fix(esp_tee): Split TEE SRAM as I/DRAM for ESP32-C5 with PMA (v5.5)
See merge request espressif/esp-idf!42680
2025-10-21 17:25:15 +05:30
Laukik Hase
c6168500b9
fix(esp_tee): Sync TEE-REE intr thresholds during service calls from critical sections
...
- Previously, only the U-mode interrupt threshold was raised in REE critical sections,
leaving M-mode at the lowest level.
- As a result, when a service call transitioned to M-mode, all interrupts were still
allowed to fire, including those that should have been masked.
2025-10-17 19:35:55 +05:30
Laukik Hase
2d494c5df6
feat(esp_tee): Reclaim unused TEE IRAM memory as heap
...
- Changed the default TEE code placement to use the flash
text section instead of IRAM text, making it consistent
with the default data placement.
2025-10-17 10:41:55 +05:30
Laukik Hase
1d563150b0
fix(esp_tee): Split TEE SRAM as I/DRAM for ESP32-C5 with PMA
2025-10-17 10:40:08 +05:30
Laukik Hase
50d2ecd93f
refactor(esp_tee): Remove the spi_flash_erase_chip service call
...
- Also fix coverity bug from TEE HMAC-PBKDF2 routine
2025-10-14 10:12:36 +05:30
Laukik Hase
73d0dadd6b
fix(esp_tee): Correct flash operation bound checks to handle all overlap cases
...
- Ensure bound checks correctly handle all scenarios, including
when a requested operation's (SPI0/1) range fully contains the
TEE-protected region.
- Disable delegation of INTWDT timeout and Cache error interrupts as they reset
the device after the panic handler
2025-10-14 10:12:28 +05:30
Laukik Hase
78737a757a
feat(esp_tee): Added support for PBKDF2-based (HMAC) ECDSA signing
2025-10-14 10:12:13 +05:30
Laukik Hase
26014bb404
feat(esp_tee): ASM routine fixes and improvements
...
- Fix incorrect setting in the edge interrupt acknowledgement API
- Avoid executing the service call dispatcher in the U-mode ecall,
rather execute `mret` to jump it
- Avoid `t1` register corruption when processing `ecall`
- Switch back to the bootloader stack from TEE stack after the
execution of the entire TEE initialization routine
2025-10-14 10:12:12 +05:30
Laukik Hase
1815e2e4f2
feat(esp_tee): Support for ESP32-C5 - the esp_tee component
2025-10-14 10:12:10 +05:30
Jiang Jiang Jian
3c39b32195
Chip/support esp32c61 v5.5
2025-07-22 12:21:36 +08:00
harshal.patil
5210e576d5
feat(mbedtls/sha): New API for setting SHA mode
2025-06-18 16:46:39 +05:30
Laukik Hase
eca7c7296c
feat(esp_tee): Support for ESP32-H2 - the esp_tee component
2025-05-21 10:06:16 +05:30
Laukik Hase
033397b877
fix(esp_tee): Add standard newlib function stubs to resolve build warnings
...
- Disable C++ exceptions for TEE build to reduce flash footprint
2025-05-04 18:03:30 +05:30
Laukik Hase
d116567a66
refactor(esp_tee): Update TEE secure storage interface APIs
2025-05-04 18:03:29 +05:30
Laukik Hase
c9f7bcd452
feat(esp_tee): Support the nvs_flash for the ESP-TEE build
2025-05-04 18:03:28 +05:30
Laukik Hase
a0031cff9f
refactor(esp_tee): Remove the redudant eFuse-related service calls
2025-04-17 11:04:29 +05:30
Laukik Hase
832124f198
fix(esp_tee): Place APM HAL in TEE IRAM when SPI1 protection is enabled
...
- Place the APM HAL into TEE IRAM when `CONFIG_SECURE_TEE_EXT_FLASH_MEMPROT_SPI1`
is enabled, as APM violations related to SPI1 can occur with the flash cache disabled.
- Also fix an issue where flash protection tests were passing due to incorrect checks
2025-04-17 11:03:50 +05:30
Laukik Hase
a845be0149
refactor(esp_tee): Reduce the default TEE DRAM size
...
- Decreased from 32KB to 24KB, keeping in mind the current maximum TEE heap
usage and some overhead
- Make the TEE panic handler logs concise, saving some DRAM
2025-04-17 11:03:17 +05:30
Laukik Hase
8e27be344b
refactor(esp_tee): Place the secure services _ss_ layer in the flash by default
2025-04-17 11:03:16 +05:30
Laukik Hase
4a4d63d36e
feat(esp_tee): Protect the ECC peripheral from REE access
2025-04-16 19:19:04 +05:30
Laukik Hase
fc4802c0d6
feat(esp_tee): Protect the HMAC and DS peripherals from REE access
2025-04-16 19:19:04 +05:30
Laukik Hase
d7d78f6238
fix(esp_tee): Correct the input validation checks for secure services
2025-04-16 19:19:04 +05:30
Laukik Hase
13aff0b216
fix(security): Fixed coverity warnings related to the esp_tee component
...
- Also, disable the SECP192R1 curve (Mbed TLS config) when TEE Secure Storage
does not require it
2025-04-14 10:12:51 +05:30
Laukik Hase
223c0d5f9d
feat(esp_tee): Use the ROM TLSF implementation for the TEE build
2025-04-08 19:50:27 +05:30
Laukik Hase
d442886918
refactor(esp_tee): Refactor the TEE heap-related APIs
2025-04-08 19:50:26 +05:30
Laukik Hase
bd314c2460
refactor(esp_tee): Update the SHA clock configuration service call
2025-04-04 10:31:28 +05:30
Laukik Hase
1e8933d296
feat(esp_tee): Add support for SECP192R1 curve in TEE secure storage
2025-04-03 15:35:14 +05:30
Laukik Hase
6e5513b8ad
refactor(esp_tee): Component dependency cleanup for the TEE build
2025-03-19 14:30:52 +05:30
Laukik Hase
873409da6b
refactor(esp_tee): Simplify service call ASM routine
...
- Remove `mret` for jumping to the service call dispatcher; instead, enable
interrupts and execute directly
- Fix potential corruption of the `t3` register when returning from a service
call
- Simplify the secure service dispatcher function
2025-02-25 17:18:08 +05:30
Laukik Hase
5c4a527750
refactor(esp_tee): Remove explicit setting of the HP_CPU APM/TEE security mode
2025-02-25 16:49:08 +05:30
Laukik Hase
26fa7109f3
fix(esp_tee): Protect the AES/SHA clock registers from REE access
2025-02-25 16:49:08 +05:30
Mahavir Jain
870a1846b1
Merge branch 'feature/esp_tee_flash_prot_spi1' into 'master'
...
feat(esp_tee): Add support for flash memory isolation and protection (SPI1)
Closes IDF-10481, IDF-10083, and IDF-8915
See merge request espressif/esp-idf!36454
2025-02-12 18:35:49 +08:00
Laukik Hase
1f6d450d19
fix(security): Fixed coverity warnings from nvs_sec_provider and esp_tee components
2025-02-11 13:01:13 +05:30
Laukik Hase
c23714f775
feat(esp_tee): Add support for flash memory isolation and protection (SPI1)
2025-02-11 12:30:05 +05:30
harshal.patil
7d8211bf87
feat(mbedtls): Support both SHA block and DMA modes during runtime
...
Dynamically switch the SHA operation modes based on the buffer operating length
2025-02-04 16:49:30 +05:30
Laukik Hase
c4eec756f3
refactor(esp_tee): Revised the secure service ID numbering scheme
...
Also:
- Split the secure service table into two parts: one DRAM-resident and the
other DROM-resident. The former holds the services invoked when the cache is
disabled or suspended while the latter holds rest of the services.
2025-01-23 12:39:19 +05:30
Laukik Hase
a745100bef
refactor(esp_tee): Add argument count checks for secure services in the dispatcher
...
Also:
- Unified the TEE build system-related scripts into a single script
2025-01-23 12:39:18 +05:30
Laukik Hase
a91f89026c
feat(esp_tee): Make the attestation service configurable
2025-01-23 12:39:17 +05:30
Laukik Hase
4d9358703a
refactor(esp_tee): Move the REE address validation check to a separate header
2025-01-23 12:39:16 +05:30
Sachin Billore
9ea01eb7c4
fix(esp_tee): Input validation for secure services
2025-01-15 16:29:38 +05:30
Laukik Hase
1499c65754
feat(esp_tee): Add support for flash memory isolation and protection (SPI0)
2025-01-03 11:44:01 +05:30
Laukik Hase
5063de64db
refactor(esp_tee): Disable the cache and interrupts in the TEE panic handler
2025-01-03 10:41:16 +05:30
Gao Xu
1a9a5f4734
Merge branch 'feat/h21_introduce_step7' into 'master'
...
feat(esp32h21): ci enable public header check (stage7)
See merge request espressif/esp-idf!35858
2024-12-25 09:36:32 +08:00
gaoxu
1efea28c69
feat(interrupt): rename interrupt martix reg base
2024-12-24 19:13:32 +08:00
Laukik Hase
909fd60d33
fix(esp_tee): Include required headers explicitly across the esp_tee component
2024-12-20 14:34:14 +05:30
Laukik Hase
373930655a
feat(esp_tee): Support for ESP-TEE - the main component
2024-12-02 12:20:05 +05:30