1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-25 08:58:14 +00:00
Commit Graph

3946 Commits

Author SHA1 Message Date
cepetr
b174237684 feat(core): properly utilize trustzone in kernel and core app
[no changelog]
2024-10-31 10:25:31 +01:00
cepetr
c0829ec364 feat(core): introduce new alignment macros
[no changelog]
2024-10-31 10:25:31 +01:00
cepetr
a747210f54 fix(core): fix secret & assets start address const
[no changelog]
2024-10-31 10:25:31 +01:00
cepetr
059152d9b4 fix(core): fix BHK_MAXSIZE constant
[no changelog]
2024-10-31 10:25:31 +01:00
cepetr
133135e204 fix(core): fix frame buffer size on disc2
[no changelog]
2024-10-31 10:25:31 +01:00
cepetr
69dcb84d4e fix(core): fix sram_u region clearing
[no changelog]
2024-10-31 10:25:31 +01:00
cepetr
7bd3663930 fix(core): align coreapp start to 8KB (u5 only)
[no changelog]
2024-10-31 10:25:31 +01:00
Ioan Bizău
c300576d6c feat(core/ethereum): new ETH contract flow 2024-10-30 17:25:48 +02:00
cepetr
0bacbdf355 fix(emulator): fix bootloader emulator build on MacOS
[no changelog]
2024-10-30 14:18:34 +01:00
cepetr
8bc3890639 fix(emulator): fix emulator crash on MacOS
[no changelog]
2024-10-30 14:18:34 +01:00
Lukas Bielesch
262747baa7 fix(core/rust) Handle also touchStop event in brightess dialog 2024-10-30 10:36:19 +01:00
obrusvit
f746993ca6 fix(ui/model_r): add title for altcoin_tx_summmary 2024-10-30 09:15:10 +01:00
obrusvit
2c6a13064b feat(cardano): use nicer summary for send tx
Also show Recipient {i} for simple tx
2024-10-30 09:15:10 +01:00
obrusvit
a3aacb7f13 fix(ui/model_r): adjust model_r confirm_properties
- change the button text based on `hold`
- make it abortable
2024-10-30 09:15:10 +01:00
obrusvit
20e408d7df fix(ui/mercury): fix should_show_more prompt
This prompt was unintuitive as the menu button served as the "show more"
button. This commit implements a small SwipeFlow which hides the option
to the context menu.
2024-10-30 09:15:10 +01:00
obrusvit
e42c433ded feat(cardano): ask detail lvl only on complex tx
- remove the choise of detail level ("Show simple" vs "Show all") when
signing simple transactions - these are the transactions typically
enabled by TrezorSuite.
2024-10-30 09:15:10 +01:00
obrusvit
a22dac7155 chore(core): shorten tries left string
[no changelog]
2024-10-30 00:51:19 +01:00
obrusvit
18c063878b chore(core): langs update - it, pt
[no changelog]
2024-10-30 00:51:19 +01:00
obrusvit
76abae5593 chore(core): langs update - de, es, fr, cs
[no changelog]
2024-10-30 00:51:19 +01:00
M1nd3r
74655931ce feat(core): allow benchmark on BITCOIN_ONLY debug build
[no changelog]
2024-10-25 13:16:39 +02:00
M1nd3r
16da9a8889 chore(common): separate definitions of protobuf options
[no changelog]
2024-10-23 22:27:48 +02:00
tychovrahe
1c7965421f feat(core): switch to 32 bit colors in T3W1 emulator
[no changelog]
2024-10-23 14:42:13 +02:00
tychovrahe
9f52918d27 feat(core): support 32 bit colors in emulator
[no changelog]
2024-10-23 14:42:13 +02:00
tychovrahe
80fcaa369f feat(core/prodtest): added TOUCH_POWER command to prodtest 2024-10-23 14:42:00 +02:00
Martin Milata
87aab69644 fix(core): memory corruption on emulator init
Found by AddressSanitizer.
2024-10-22 23:33:44 +02:00
cepetr
3a19609035 fix(core): correct swapped F4/U5 reset flags
[no changelog]
2024-10-22 23:03:15 +02:00
cepetr
a1ab50017d feat(core): record interrupts with systemview
[no changelog]
2024-10-22 10:22:50 +02:00
cepetr
2589d48c8b fix(core): fix & upgrade systemview target code
[no changelog]
2024-10-22 10:22:50 +02:00
cepetr
76891323f6 feat(core): added access control for framebuffer
[no changelog]
2024-10-22 09:40:13 +02:00
cepetr
0fa2cf70cd refactor(core): get rid of platform.h
[no changelog]
2024-10-22 09:06:21 +02:00
cepetr
5fd1f0e4c6 refactor(core): decompose lowlevel module
[no changelog]
2024-10-22 09:06:21 +02:00
cepetr
f6647ab3b7 refactor(core): introduce startup_init.c
[no changelog]
2024-10-22 09:06:21 +02:00
cepetr
bfa3ea4e5e refactor(core): remove common.c on all platforms
[no changelog]
2024-10-22 09:06:21 +02:00
cepetr
12a9dca5e1 refactor(emulator): improve SDL event polling logic
[no changelog]
2024-10-22 09:06:21 +02:00
cepetr
d062a54929 refactor(core): fix platform header includes
[no changelog]
2024-10-22 09:06:21 +02:00
cepetr
7670958fc5 refactor(core): remove set_core_clock from emulator
[no changelog]
2024-10-22 09:06:21 +02:00
cepetr
5845c665af refactor(core): refactor unit properties detection
[no changelog]
2024-10-22 08:30:49 +02:00
cepetr
d80e8c26f5 fix(core): fix memory layout on u5
[no changelog]
2024-10-22 08:30:49 +02:00
cepetr
976867d7d8 fix(core): add missing optiga_sign syscall
[no changelog]
2024-10-22 07:41:30 +02:00
cepetr
63f5f72804 feat(core): implement syscall verifiers
[no changelog]
2024-10-22 07:41:30 +02:00
cepetr
93af056c13 refactor(core): adjust system api for syscall verifier
[no changelog]
2024-10-22 07:41:30 +02:00
cepetr
be59a09a4c refactor(core): remove hash_processor syscalls
[no changelog]
2024-10-22 07:41:30 +02:00
cepetr
0312158aa1 refactor(core): adjust display api for syscall verifier
[no changelog]
2024-10-22 07:41:30 +02:00
cepetr
305f16c86b refactor(core): unify arg parsing in syscall dispatch
[no changelog]
2024-10-22 07:41:30 +02:00
Roman Zeyde
da7ddd5c8c chore(core/embed): fixup sha256 context type name
[no changelog]
2024-10-21 09:42:20 +02:00
Roman Zeyde
f1e01edfcb chore(core/embed): remove unused import
[no changelog]
2024-10-17 21:50:32 +02:00
Martin Milata
16b2159b32 build(core): add T3W1 for translations and definitions
[no changelog]
2024-10-16 16:25:20 +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
e8f8d0e7af build(core): move argument parsing together
[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
Ondřej Vejpustek
b436b39091 chore(core): add benchmark messages
[no changelog]
2024-10-11 16:35:34 +02:00
obrusvit
cdaec13af0 feat(core): add more IT/PT translations 2024-10-10 19:14:16 +02:00
obrusvit
08845d410d fix(core/ui): add 2nd version of continue anyway
To distinguish between prompt and a question.
2024-10-10 19:14:16 +02:00
obrusvit
faa209b5d9 fix(core/ui): use correct labels at a few places
[no changelog]
2024-10-10 19:14:16 +02:00
obrusvit
3475354a1a fix(core/ui): fix title of XPUB success screen 2024-10-10 19:14:16 +02:00
Andrew Kozlik
911fe2a526 feat(core): Implement extend_mnemonics() for SLIP-39.
[no changelog]
2024-10-10 12:52:06 +02:00
tychovrahe
d71d9e9c34 feat(core): add T3W1 emulator build
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
a0c885d244 fix(core): fix T3T1 MCU definition for emulator
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
915d4fca94 feat(core): add support for T3W1, on F4
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
138fadbf7b feat(core): add LHS200KB display panel
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
5575fce461 chore(core): remove button state syscalls
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
f822074047 chore(core): add autogenerated notice to enums/__init__.py
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
91b1d950fd fix(core): fix rust compilation of pixeldata for new rendering on 16bit bus
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
b5b12ba50c fix(core): fix st7789-v driver issue data when using 16 bit bus
[no changelog]
2024-10-09 15:06:40 +02:00
cepetr
af4d792212 fix(emulator): fix rsod drawing in emulator
[no changelog]
2024-10-09 13:03:51 +02:00
cepetr
0ebc82728b fix(core): resolve static_assert error on macos compiler
[no changelog]
2024-10-09 13:03:51 +02:00
matejcik
3036d524a6 refactor(core): outline nested functions in mini_printf
so that we can compile it with clang

[no changelog]
2024-10-09 13:03:51 +02:00
cepetr
a247b4e87a refactor(core): rename reboot to reboot_device
[no changelog]
2024-10-09 13:03:51 +02:00
M1nd3r
c99988312a feat(core): add pairing credential manager
[no changelog]
2024-10-09 10:44:30 +02:00
M1nd3r
b0c2db8a77 test(core): add credential manager tests
[no changelog]
2024-10-09 10:44:30 +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
cepetr
5eb5f8d8f2 refactor(core): improve random_delays api
[no changelog]
2024-10-07 11:39:09 +02:00
cepetr
f54edd0d6a fix(core): ensure proper handling of vendor string
[no changelog]
2024-10-02 16:57:16 +02:00
Ioan Bizău
774f9de745 chore(core/translations): shorten some menu item translations
[no changelog]
2024-10-02 10:55:45 +03:00
Ioan Bizău
9b8f18577f chore(core/ui): crash on button text too long
[no changelog]
2024-10-02 10:55:45 +03:00
Ioan Bizău
69100c0755 feat(core/ui): allow two lines of text in menu items 2024-10-02 10:55:45 +03:00
cepetr
e6bda579b1 fix(core): fix interaction-less update
[no changelog]
2024-10-01 10:12:44 +02:00
cepetr
51b703cb1a fix(core): remove unnecessary framebuffer copying
[no changelog]
2024-10-01 10:12:27 +02:00
cepetr
e01fda59a9 fix(core): fix incorrect detection of exception/handler mode
[no changelog]
2024-10-01 10:12:27 +02:00
Jan Šetina
a1d9975507
docs: add Safe 3 and Safe 5 in documentation (#4228)
* docs: add Safe 3 and Safe 5 in documentation

* Update core/README.md

---------

Co-authored-by: matejcik <ja@matejcik.cz>
2024-09-30 10:15:35 +02:00
tychovrahe
7374700c0a refactor(core): ui configuration in build scripts
[no changelog]
2024-09-27 22:02:08 +02:00
matejcik
df8be364fb build(core/rust): provide a default value for BUILD_DIR
to make it easier to run cargo separately, and support rust-analyzer
without tweaking its config
2024-09-27 14:11:02 +02:00
tychovrahe
775780cc8b refactor(core): rename TRANSLATIONS_AREA to ASSETS_AREA
[no changelog]
2024-09-27 09:49:20 +02:00
tychovrahe
d361c23224 chore(core): remove SBU interface from python
[no changelog]
2024-09-27 09:49:20 +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
d312944f1e feat(core): embed bootloaders to DISC1,2 models in order to support testing related featurees
[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
d412ce987e refactor(core): use common layout.c file
[no changelog]
2024-09-27 09:49:20 +02:00
tychovrahe
21c1359ac6 refactor(core): streamline layout definitions
[no changelog]
2024-09-27 09:49:20 +02:00
matejcik
6cbba09d1d refactor(core): return FlowMsg::Choice and FlowMsg::Text as plain values
instead of tuples
2024-09-26 10:00:48 +02:00
matejcik
2661dbb3d1 fix(core): change incorrect usage of "deadline" in Rust timer code 2024-09-26 10:00:48 +02:00
matejcik
9431f2a77d refactor(core/rust): simplify TryFrom<FlowMsg> 2024-09-26 10:00:48 +02:00
matejcik
a159ea133a refactor(core/rust): add comments in frame.rs 2024-09-26 10:00:48 +02:00
matejcik
85d699a42d refactor(core/rust): simplify match statement in footer.rs 2024-09-26 10:00:48 +02:00
matejcik
f7ce99e7d7 refactor(core/rust): EventPropagation enum
to indicate in a better way that some event should be propagated further

there are probably more places where this would be appropriate
2024-09-26 10:00:48 +02:00
matejcik
c0bb55258b refactor(core/rust): use SwipeEvent in place of SwipeDetectMsg 2024-09-26 10:00:48 +02:00
matejcik
9f083c1865 refactor(core/rust): replace TouchAbort event with explicit abort via a detected swipe
worth considering:

pub enum Phase {
    Start,
    Move,
    End,
}

pub enum TouchEvent {
    Touch(Phase, Point),
    Swipe(Phase, Point),
}

(Swipe needs its own Phase because it needs a progress on the Move, but
otherwise...)
2024-09-26 10:00:48 +02:00
matejcik
943d6d9b30 refactor(core/rust): use separate files for button and touch events
this makes it easier to feature-gate them
2024-09-26 10:00:48 +02:00
matejcik
e049efd171 refactor(core/rust): move ui::component::SwipeDirection to ui::geometry::Direction
it's a rather general thing, no reason to tie its existence to Swipe
2024-09-26 10:00:48 +02:00
matejcik
48edb483a0 refactor(core/rust): streamline FlowState handling
* use the freed-up FlowState name for an alias to &'static dyn
FlowController
* replace StateChange with raw Decision
* move FlowState into Decision::Transition (the other Decisions should
not have the ability to change state
* also rename `transit` to `goto` which is a much better name
2024-09-26 10:00:48 +02:00
matejcik
9cc03c91d1 refactor(core/rust): rename the FlowState trait to FlowController
so that we can use the FlowState name for a type alias
2024-09-26 10:00:48 +02:00
matejcik
30c08b6442 refactor(core/rust): simplify code for internal paging events
[no changelog]
2024-09-26 10:00:48 +02:00
cepetr
a5ddd13e8f fix(core): fix handover to bootloader
[no changelog]
2024-09-26 09:55:21 +02:00
tychovrahe
2530312091 fix(core): reboot immediately in boardloader if BHK is locked
[no changelog]
2024-09-26 09:54:45 +02:00
cepetr
454b8140ec fix(core): fix slow jpeg decoding
[no changelog]
2024-09-25 12:46:57 +02:00
tychovrahe
e13d4a45a6 chore(core): remove residual support for T1B1 in core
[no changelog]
2024-09-25 09:18:01 +02:00
cepetr
ab96ce7954 fix(core/embed): fix firmware invalidation
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
dfd17578b6 refactor(core): migrate coreapp into firmware
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
0c98f578ad fix(core): support 32 bit colors in terminal
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
0b8d42358e chore(core): remove flash otp interface from python
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
e9c025751c fix(core): fix storage offsets
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
57f72d5aa7 fix(core): use secure-unprivileged SAES XOR key for storage encryption
[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
8fab22522a refactor(core/embed): moving specific algorithms into fwutils
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
ae4e195d6e refactor(core/embed): simplify bootutils api
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
33a94d945d chore(core/embed): remove unused legacy i2c driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
2540b91823 refactor(core/embed): use new i2c driver in stmpe811 touch driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
fdd6a2a40e refactor(core/embed): use new i2c driver in sitronix touch driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
b93c16d8a7 refactor(core/embed): use new i2c driver in optiga driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
caede8e3ee refactor(core/embed): use new i2c driver in drv2625 driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
35937a9bfe refactor(core/embed): use new i2c driver in ft6x36 driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
ed74f8302f refactor(embed/core): replace enable/disable_irq by irq_lock/unlock
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
91649dc7cb feat(core/embed): introduce non-blocking i2c drivers
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
9e4a6d08e5 feat(code/embed): introduce ARRAY_LENGTH macro
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
a6741556d0 fix(core/embed): fix prodtest build
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
5210d2fa50 fix(embed/core): fix stack protection on STM32U5
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
0b93d0d848 fix(core/embed): make HardFault processing safer
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
2bb5b5c0ce refactor(core/embed): introduce fwutils module
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
0e45f92d3b refactor(core/embed): move __stack_chk_fail to a better location
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
b1a41ded79 refactor(core/embed): improve bootuils api
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
0666e6ea9a refactor(core/embed): rename boot_args to bootuils
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
5f97f5a8ea refactor(core/embed): make i2c header common for all platforms
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
741b30f7a2 chore(embed/core): add include guard to translations.h
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
2fd5aca05c refactor(core/embed): remove supervise module
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
1443f86983 feat(core/embed): introduce systick and systimer drivers
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
58d9f6115e fix(core/embed): fix aborting of bg_copy operation
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
d7462e93bb refactor(core/embed): remove FlashOTP module
[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
4312c08612 refactor(core/embed): extract hw entropy logic to its own module
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
d87a250905 fix(core/embed): fix display initialization on T3T1 in boardloader
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
e106df766e refactor(core/embed): add initialized flag to display drivers
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
3f0770b4e1 fix(core/embed): fix backlight pwm settings during display deinit
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
33c2bcbe52 refactor(core/embed): simplify ensure_compatible_settings
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
1d8b29e746 refactor(core/embed): improve display driver init/deinit
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
d558950950 refactor(core/embed): simplify irq priorities
[no changelog]
2024-09-24 12:21:53 +02:00