Commit Graph

60 Commits

Author SHA1 Message Date
cepetr
08f32990b2 feat(core): introduce EXTAPP_SUPPORT build option
[no changelog]
2026-01-16 09:20:57 +01:00
cepetr
29ad7f9c9f feat(core): introduce coreapp api
[no changelog]
2026-01-16 09:20:57 +01:00
cepetr
1d41508265 feat(core): introduce an IPC mechanism
[no changelog]
2026-01-16 09:20:57 +01:00
Roman Zeyde
98ba19b081 build(core): fix Rust library path in SConscript
[no changelog]
2026-01-14 11:16:47 +01:00
cepetr
f0d12275d3 refactor(core): move rsod to io/gfx and sec/rsod
[no changelog]
2026-01-13 11:18:26 +01:00
cepetr
47a7ba723f refactor(core): move gfx to io/gfx
[no changelog]
2026-01-13 11:18:26 +01:00
cepetr
cd8b7b62d6 refactor(core): move translatations module to io layer
[no changelog]
2026-01-13 11:18:26 +01:00
cepetr
2cc46b0f08 refactor(core): move image module to sec layer
[no changelog]
2026-01-13 11:18:26 +01:00
tychovrahe
5d5358da61 feat(core): introduce telemetry
[no changelog]
2026-01-13 09:30:29 +01:00
Roman Zeyde
6a637bd49f build(core): exclude embed/rtl/printf.c from non-prodtest builds
Otherwise, nightly CI fails with:
https://github.com/trezor/trezor-firmware/actions/runs/20320385493/job/58431441939

We currently use `printf()` only in prodtest / non-production builds[^1].

[no changelog]

[^1]: https://github.com/trezor/trezor-firmware/pull/6208#discussion_r2610006444
2025-12-18 19:07:27 +01:00
cepetr
80c5444a2e fix(core): remove rsod screens from rtl error handling
[no changelog]
2025-12-16 11:49:07 +01:00
cepetr
b1af516621 feat(core): add extended formatting capabilities to snprintf
[no changelog]
2025-12-12 15:18:35 +01:00
cepetr
b969d71cd3 refactor(core): do not use mini_snprintf in board/bootloader
[no changelog]
2025-12-12 15:18:35 +01:00
Roman Zeyde
2fc90acf92 chore(core): update T3W1 dev secmon
Also, add a comment about dev secmon build in `SConscript.kernel`.

[no changelog]

(cherry picked from commit 7d0ae5012d)
2025-12-01 17:50:39 +01:00
Roman Zeyde
08d8e016f0 build(core): support DISABLE_TROPIC for HW tests
[no changelog]
2025-11-27 14:32:50 +01:00
cepetr
dfb72957f1 fix(core): get rid of confidential global vars
[no changelog]
2025-10-29 09:00:15 +01:00
cepetr
6096623322 feat(core): use tropic chip entropy in RNG
[no changelog]
2025-09-24 15:51:02 +02:00
cepetr
ff77431790 fix(core): enable debuglink when PYOPT=0
[no changelog]
2025-09-08 08:22:54 +02:00
cepetr
ca929574e8 feat(core): introduce DBG_CONSOLE build argument
[no changelog]
2025-08-28 15:25:56 +02:00
cepetr
f72e8b0c5d refactor(core): relocate systemview to sys/dbg
[no changelog]
2025-08-28 15:25:56 +02:00
cepetr
71d6052652 refactor(core): simplify usb driver api
[no changelog]
2025-08-28 14:57:24 +02:00
cepetr
9951c962c3 refactor(core): remove circular dependencies, new 'storage' feature
[no changelog]
2025-08-12 13:47:39 +02:00
cepetr
8a8ecdfcc8 refactor(core): cleanup storage syscalls, prepare early initialization
[no changelog]
2025-08-12 13:47:39 +02:00
cepetr
6e75352af2 refactor(core): improve bl_check api
[no changelog]
2025-07-29 11:37:47 +02:00
tychovrahe
918cae17eb chore(core): use precompiled and pre-signed secmon for unsafe FW
[no changelog]
2025-07-22 14:04:09 +02:00
cepetr
564743ef7e refactor(core): introduce suspend module
[no changelog]
2025-06-25 10:54:20 +02:00
tychovrahe
9f2dec6169 refactor(core): update bootloader from coreapp, using syscalls (and smcalls)
[no changelog]
2025-06-24 14:58:11 +02:00
cepetr
c17ce0e89e feat(core): wake up from suspend mode after timeout
[no changelog]
2025-06-19 14:25:53 +02:00
tychovrahe
a67ccb8c40 refactor(core): refactor nrf, disable uart in booloader to save flash space
[no changelog]
2025-06-12 15:36:31 +02:00
tychovrahe
01465aac7c feat(core): update NRF application from firmware
[no changelog]
2025-06-09 17:12:31 +02:00
tychovrahe
deac4dc099 chore(core): add rust to kernel
[no changelog]
2025-06-09 17:12:31 +02:00
cepetr
8a115eff03 chore(core): reformat FEATURES_WANTED list for readability
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
bbb74c03a4 feat(core): introduce secure monitor
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
e66f4f2d83 refactor(core): simplify unprivileged SAES execution
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
820a3c5ba2 refactor(core): remove redundant SYSCALL_DISPATCH definition
[no changelog]
2025-06-04 16:58:15 +02:00
cepetr
a7466298ff refactor(core): prepare for secure/non-secure memory layout
[no changelog]
2025-06-04 16:58:15 +02:00
tychovrahe
6e82c2415f refactor(core): refactor power manager syscalls
[no changelog]
2025-05-30 14:04:45 +02:00
cepetr
8a9de0ebec feat(core): add applet feature to SConscript
[no changelog]
2025-05-12 07:57:46 +02:00
cepetr
452e63c4fb feat(core): add display feature to SConscript
[no changelog]
2025-05-12 07:57:46 +02:00
cepetr
daa6ea25fb feat(core): add powerctl feature to SConscript
[no changelog]
2025-05-12 07:57:46 +02:00
tychovrahe
b7b8e77ccb feat(core): enable tropic in firmware/kernel on hw
[no changelog]
2025-03-27 11:59:10 +01:00
cepetr
95afa34f27 refactor(core): rewrite startup code in C
[no changelog]
2025-01-30 14:07:25 +01:00
tychovrahe
3fae6b23cf feat(core:): introduce BLE driver
[no changelog]
2025-01-14 09:15:12 +01:00
Martin Milata
dadff32f39 build(core): use internal model names everywhere
TREZOR_MODEL=T and TREZOR_MODEL=R

no longer work, please use

  TREZOR_MODEL=T2T1 and TREZOR_MODEL=T2B1

[no changelog]
2025-01-13 16:24:35 +01:00
Andrew Kozlik
83a96f7a5a feat(core): Randomize SCM_REVISION address in firmware
[no changelog]
2025-01-03 10:23:41 +01:00
cepetr
519a1a0f7b feat(core): introduce powerctl module
[no changelog]
2024-12-11 14:45:16 +01:00
matejcik
ef02c4de5d feat(core): introduce storage insecure mode
reduces the number of PIN iterations and avoids erasing the other
storage bank -- if a test ever overruns, it will probably RSOD out, but
that's unlikely to happen
2024-12-03 11:02:17 +01:00
matejcik
835f7087c6 build(core): correctly propagate DISABLE_OPTIGA to kernel 2024-12-03 11:02:17 +01:00
matejcik
b35854471b build(core): improve CPPDEFINES quoting
Here we change all FOO=VALUE defines to be tuples ("FOO", "VALUE").
Also, VALUE is always the raw string you want to end up in the C file,
instead of attempting to shell-escape it while specifying.

By all rights scons _should_ be using shlex.quote() on the CPPDEFINES,
but it doesn't, so we hack it by specifying the define prefix as `-D'`
and suffix as `'`. That way the arguments in shell are '-escaped, and
we're (currently) not using ' in any argument value so this should work
fine.

At the same time, when passing the flags to cargo, we can shlex.quote
the whole thing and get the right strings passed all the way into
build.rs -- as long as no argument contains a comma, which is the split
character...
2024-11-21 14:33:52 +01:00
cepetr
9c0a37717c fix(core): fix invalid symbol for deflated bootloader
[no changelog]
2024-11-20 16:23:34 +01:00