1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-08-04 12:56:25 +00:00
Commit Graph

284 Commits

Author SHA1 Message Date
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
tychovrahe
c5b3dd72b9 feat(core): add support for SBU on T3W1
[no changelog]
2024-11-20 11:17:35 +01:00
cepetr
089db2cadf refactor(core): restructure embed folder
[no changelog]
2024-11-18 09:41:02 +01:00
M1nd3r
4f0f3b2d27 chore(core): adjust build scripts for THP
[no changelog]
2024-11-15 08:47:24 +01:00
tychovrahe
5c101ab800 feat(core): switch DISC2 to use newer U5G variant
[no changelog]
2024-11-14 09:30:20 +01:00
cepetr
d4286ff584 chore(core): remove legacy drawing code (c)
[no changelog]
2024-11-13 12:15:38 +01:00
tychovrahe
1efb684544 refactor(core): expose USE_TOUCH and USE_BUTTON to uPy
[no changelog]
2024-11-12 16:55:17 +01:00
cepetr
5845c665af refactor(core): refactor unit properties detection
[no changelog]
2024-10-22 08:30:49 +02:00
M1nd3r
7b6ce56ac3 fix(core): remove redundant AES_GCM flag in SConscript.firmware
[no changelog]
2024-10-16 16:19:28 +02:00
Ondřej Vejpustek
2d5d7201d5 feat(core): allow benchmark only in debug
[no changelog]
2024-10-11 16:35:34 +02:00
Ondřej Vejpustek
cf38460286 build(core): hide benchmark application behind compilation flag
[no changelog]
2024-10-11 16:35:34 +02:00
Ondřej Vejpustek
52d85d1f39 feat(core): implement benchmark application 2024-10-11 16:35:34 +02:00
M1nd3r
6ba75b267d chore(core): exclude THP modules and messages from non-THP builds
[no changelog]
2024-10-09 10:44:30 +02:00
tychovrahe
7374700c0a refactor(core): ui configuration in build scripts
[no changelog]
2024-09-27 22:02:08 +02:00
tychovrahe
10eaa15427 chore(core/build): reuse embed_raw_binary function to embeed vendorheaders
[no changelog]
2024-09-27 09:49:20 +02:00
tychovrahe
94af4d98f0 chore(core): clean sconscripts
[no changelog]
2024-09-27 09:49:20 +02:00
tychovrahe
dfd17578b6 refactor(core): migrate coreapp into firmware
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
28f420189a refactor(core): combined build of coreapp + kernel, linker scripts refactoring
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
35c6f52133 refactor(core/embed): introduce system, tasks, applets and emergency mode
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
1c991339ce refactor(core/embed): split firmware into kernel & coreapp
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
7f3cff04f1 refactor(core/embed): introduce new mpu driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
a3fcc62655 refactor(core/build): remove hardcoded build path
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
20814f7ae6 refactor(core/embed): remove unnecessary pendsv exception handling
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
24c0552a43 feat(core): switch to new rendering everywhere
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
7275a5544e refactor(core): move embedded bootloaders and their hashes to model folders
[no changelog]
2024-08-29 12:47:24 +02:00
matejcik
6ae96868df chore(core): use trezor-core-tools in scripts 2024-08-28 16:15:10 +02:00
Ondřej Vejpustek
eaa12f1cad chore(crypto): update secp256k1 submodule to 0.5.1
[no changelog]
2024-08-23 17:00:52 +02:00
Ondřej Vejpustek
54eef8d886 refactor(crypto,core,lagacy): use secp256k1 submodule for ECDH
[no changelog]
2024-08-23 17:00:52 +02:00
Ondřej Vejpustek
df2545b78e chore(crypto,core,legacy): reduce size of precomputed table used by secp256k1 submodule
[no changelog]
2024-08-23 17:00:52 +02:00
tychovrahe
5417ec15df fix(core): introduce ui_overlay feature - fixes T3T1 bootloader compilation with new rendering
[no changelog]
2024-08-19 12:17:11 +02:00
tychovrahe
03199cd553 fix(core): include QA bootloader when building for fw for device with DEV bootloader
[no changelog]
2024-07-16 15:56:28 +02:00
tychovrahe
7c94080227 refactor(core): move vendor headers to model specific directories
[no changelog]
2024-07-16 15:56:28 +02:00
tychovrahe
78b4017859 feat(core): add support for T3B1 2024-07-16 15:56:28 +02:00
tychovrahe
3a3259b574 feat(core/mercury): change homescreen flow 2024-06-24 21:43:08 +02:00
cepetr
5fc3c6e617 refactor(core): improve and simplify error handling
[no changelog]
2024-06-17 16:57:33 +02:00
Martin Milata
687d773547 build(core/firmware): TREZOR_MODEL=T3T1 implies NEW_RENDERING=1
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
2ba42d716e feat(core): init T3T1 UI layouts: meta 2024-05-31 11:59:52 +00:00
Martin Milata
d6c502f27e feat(core): add fonts for T3T1 2024-05-31 11:59:52 +00:00
tychovrahe
e6f2fa711e refactor(core): reorganize model specific files in site-scons
[no changelog]
2024-05-21 19:01:31 +02:00
cepetr
3336e3902f feat(core): introduce new display drivers
[no changelog]
2024-05-17 09:17:37 +02:00
Ondřej Vejpustek
756d250015 chore(core): initialize automatic variables to zero
[no changelog]
2024-05-10 20:06:28 +02:00
Ondřej Vejpustek
6b81d24b5c chore(core): separate crypto sources in build scripts
[no changelog]
2024-05-10 20:06:28 +02:00
Ondřej Vejpustek
ccb242ee1c chore(core): introduce THP flag
[no changelog]
2024-05-10 20:05:37 +02:00
Ondřej Vejpustek
2f699a1b6f feat(core): add elligator2 python bindings
[no changelog]
2024-05-10 20:05:37 +02:00
obrusvit
43e759ea0b refactor(core): apply uppercased fonts in build
[no changelog]
2024-05-08 22:46:58 +02:00
tychovrahe
ea1c32f90e fix(core/rust): fix bindgen macros generation
[no changelog]
2024-04-26 13:36:58 +02:00
tychovrahe
d349c44a58 refactor(core): generate macros for rust bindgen automatically
[no changelog]
2024-04-25 13:20:07 +02:00
tychovrahe
ed6aa48726 feat(core): use confidential section for confidential and sensitive data
[no changelog]
2024-04-05 18:54:30 +02:00
Andrew Kozlik
703ea32ceb feat(core): Add aesgcm class to trezor.crypto Python module.
[no changelog]
2024-04-03 10:26:46 +02:00
matejcik
9569968459 build(core): rebuild appropriate parts when translation data changes
fixes #3535
2024-03-26 15:22:32 +01:00
Martin Milata
ebb480ef29 fix(core): T3T1 emulator
[no changelog]
2024-03-12 20:55:23 +00:00
matejcik
ccf4b7e9eb fix(core/rust): convert bitcoin_only to an additive feature
universal_fw enables more features, as opposed to bitcoin_only removing features
2024-03-08 13:17:12 +01:00
tychovrahe
7c800f183f refactor(core): make translations blob handling HW agnostic
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
ea0f3038a0 fix(core): improve cmakelists generation for CMSE
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
72dc8f57e8 feat(core): add haptic feedback
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
a71a608ea7 feat(core): add basic support for T3T1 2024-02-29 23:05:56 +01:00
tychovrahe
8815e764d2 feat(core): add support for STM32U585
[no changelog]
2024-02-29 23:05:56 +01:00
cepetr
4cf781abb2 chore(core, legacy, storage): refactor flash drivers
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
353095ae95 feat(core): add support for STM32U5A9J-DK board
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
8150636a81 feat(core): add basic support for STM32U5 2024-02-29 23:05:56 +01:00
cepetr
937b7d34d0 feat(core): add STM32CubeU5 submodule
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
743ed413f6 feat(core): add support for quad-word only storage
[no changelog]
2024-02-20 09:37:28 +01:00
grdddj
6142a39f20 fix(core): add debug feature to Rust in hardware build when PYOPT=0
[no changelog]
2024-02-12 17:07:28 +01:00
grdddj
b8ea21d24a feat(all): implement translations into Trezor
Co-authored-by matejcik <ja@matejcik.cz>
2024-02-12 14:49:32 +01:00
matejcik
7958061705 build(core): optimize qstr and module collection
Run the preprocessor on each file separately.
This allows parallelization and doesn't need to re-run for all files if just a small number is changed.

Replace simple extractors with one-liners which are generally going to be faster.
2024-02-01 15:50:07 +01:00
cepetr
6331076444 refactor(core/embed): move TOIF format definition to rust
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
3b9dd55788 refactor(core/embed): introduce display_utils.c
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
446c3b77b4 refactor(core/embed): move&rename display terminal functions
[no changelog]
2024-01-26 11:30:40 +01:00
gabrielkerekes
50861eb019 feat(solana): basic Solana setup 2023-12-05 22:11:41 +01:00
Andrew Kozlik
d670a0bdfa feat(core): Fix malformed signatures from Optiga. 2023-12-01 00:09:17 +01:00
tychovrahe
bf2697a619 feat(core): compress embedded bootloader
[no changelog]
2023-11-14 13:25:00 +01:00
Martin Milata
1c69644fe0 build(core): add flag for disabling optiga on debug builds
[skip_ci]
2023-11-14 12:47:22 +01:00
matejcik
f3393211d4 build(core): clarify vendor header selection logic 2023-11-02 12:17:13 +01:00
cepetr
ba83a7e644 feat(core): introduce interaction-less upgrade 2023-10-27 16:15:15 +02:00
tychovrahe
3c1236bf82 refactor(core): setup single-place layout selection
[no changelog]
2023-09-18 18:05:37 +02:00
grdddj
76c6e9cd9d feat(all): implement support information for T2B1
WIP - change trezor{1,2} to their internal names, add support for model R

WIP - add EOS and NEM features Capability only for TT

WIP - not include EOS and NEM into TR

WIP - choose between device models when generating coininfo

WIP - regenerate coininfo.py

WIP - skip NEM, EOS, Dash, BGold and Decred device tests for TR

WIP - fix python support

WIP - fix unit tests

WIP - import bitcoin-like code only when needed

WIP - remove ignored coins for TR in fixtures.json

WIP - make all the external references to models UPPERCASE

WIP - do the model separation in mako script also for tokens and networks

WIP - hot-fixing non-supporting RELEASES_URL for new model names

WIP - support.py releases CLI command takes a list of -r key-value pairs DEVICE=VERSION

WIP - run `python support.py release`

WIP - use utils.MODEL_IS_T2B1 to ignore NEM and EOS

WIP - change all the docs and commands to have UPPERCASE model names

[no changelog]
2023-09-14 13:54:09 +02:00
Andrew Kozlik
db6630a5a3 feat(core): Support Optiga in Trezor firmware. 2023-09-13 15:45:48 +02:00
Ondrej Mikle
088e3b058e feat(core): change core builds to use GNU11 standard instead of GNU99
[no changelog]
2023-08-30 14:33:21 +02:00
tychovrahe
6c97dfef78 feat(core): add vendor headers for devices with dev bootloader
[no changelog]
2023-08-25 18:54:34 +02:00
tychovrahe
b369e3f4a7 feat(core): enable seamless build of bootloader using devkeys
[no changelog]
2023-08-15 09:37:38 +02:00
Andrew Kozlik
74759310bb feat(core): Integrate OPTIGA Trust M
[no changelog]
2023-08-02 00:35:43 +02:00
tychovrahe
238e3fd7c1 refactor(core): add abstraction over flash memory layout
[no changelog]
2023-07-25 10:25:20 +02:00
matejcik
78a8b48f1e refactor(core): generate trezorproto module straight from Rust 2023-07-12 10:09:36 +02:00
tychovrahe
ebbd7f9d35 refactor(core): restructure trezorhal, prepare to support more platforms
[no changelog]
2023-07-07 22:09:56 +02:00
tychovrahe
671f23f1aa feat(core): support rev 10 of T2B1 HW
[no changelog]
2023-06-27 22:45:33 +02:00
tychovrahe
539420cac8 refactor(core): make backlight/fading optional
[no changelog]
2023-06-27 16:18:30 +02:00
Pavol Rusnak
089ff76822
Merge branch 'matejcik/signed-vhs' 2023-06-15 22:41:12 +02:00
tychovrahe
d3284baf21 feat(core): support STM32F429 discovery board 2023-06-15 17:08:14 +02:00
tychovrahe
8154e5103f refactor(core): make emulated dma2d usable outside of emulator
[no changelog]
2023-06-15 17:08:14 +02:00
grdddj
ef2d2a3e75 feat(core/rust): make font changes for TR
[no changelog]
2023-06-14 18:17:09 +02:00
grdddj
d199a17cfc feat(core): introduce FONT_BIG as a fifth optional font
[no changelog]
2023-06-14 18:17:09 +02:00
matejcik
d465a14850 chore(core): add signed bootloader and vendor headers for model R 2023-06-13 14:25:39 +02:00
matejcik
84555c2ea3 build(core): always allow building model R until we have vendor headers 2023-06-12 16:25:59 +02:00
tychovrahe
8d812ca36e feat(core): support device variants
[no changelog]
2023-06-07 19:48:53 +02:00
tychovrahe
a2f8cb9d1c feat(core): add internal model field to features
[no changelog]
2023-06-06 09:39:45 +02:00
matejcik
319a665d0d chore(core): add T2B1 vendor header data 2023-06-02 14:43:19 +02:00
grdddj
da14c22712 feat(all): add UI for Model R 2023-05-31 10:14:54 +02:00
grdddj
17a07c3d1a chore(core): refactor UI code in SSonscripts 2023-05-11 21:02:21 +02:00
grdddj
8ee4c41938 chore(crypto): refactor slip39 same way as bip39 2023-05-11 21:02:21 +02:00
tychovrahe
e578f7f0f8 refactor(core): remove unused C display_icon and display_loader functions
[no changelog]
2023-04-25 10:28:33 +02:00