tychovrahe
21c1359ac6
refactor(core): streamline layout definitions
...
[no changelog]
2024-09-27 09:49:20 +02:00
cepetr
7f3cff04f1
refactor(core/embed): introduce new mpu driver
...
[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
0666e6ea9a
refactor(core/embed): rename boot_args to bootuils
...
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
b685820fb3
feat(core): implement firmware downgrade protection
2024-09-03 13:07:34 +02:00
tychovrahe
d334b92073
feat(core): add bootloader unlocking functionality to U5 optiga models
2024-09-03 13:07:34 +02:00
tychovrahe
ee6410acdd
fix(core/bootloader): fix repeated firmware upload
...
[no changelog]
2024-09-03 08:39:42 +02:00
tychovrahe
b8c27d5fd6
feat(core/bootloader): only allow confirm-less firmware installation for full-trust images
2024-09-03 08:39:42 +02:00
tychovrahe
dc276d1520
fix(core/bootloader): fix firmware update on stm32u5a
...
[no changelog]
2024-08-20 13:12:18 +02:00
tychovrahe
a265b0f176
fix(core/bootloader): evaluate model before vendor header signature when installing firmware
2024-08-20 12:22:35 +02:00
cepetr
5fc3c6e617
refactor(core): improve and simplify error handling
...
[no changelog]
2024-06-17 16:57:33 +02:00
Andrew Kozlik
c2c1591f5c
chore(core): Improve VTRUST bits documentation and naming.
...
[no changelog]
2024-05-17 14:37:38 +02:00
Andrew Kozlik
27f54eec9c
feat(core): Add unit packaging variant field to Features.
...
[no changelog]
2024-04-25 15:51:52 +02:00
tychovrahe
1600759457
refactor(core): simplify secret.h api, hide platform differences
...
[no changelog]
2024-04-11 16:13:58 +02:00
tychovrahe
89147ef493
refactor(core): improve flash api by introducing flash_area_write_data function
...
[no changelog]
2024-04-03 10:18:40 +02:00
tychovrahe
70a673fabc
feat(core): use flash bursts for faster flashing
...
[no changelog]
2024-03-19 13:17:25 +01:00
tychovrahe
c3f84e2949
perf(core): optimize boot speed on U5 by using has processor to calculate image hashes, switches to sha256
...
[no changelog]
2024-02-29 23:05:56 +01:00
cepetr
c4c571d837
chore(core): refactor boot_args
...
[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
tychovrahe
8147b11345
fix(core): fix quadword-only storage
...
[no changelog]
2024-02-20 09:37:28 +01:00
Andrew Kozlik
b2f05f187f
feat(storage): Work with generic flash blocks instead of quadwords.
...
[no changelog]
2024-02-20 09:37:28 +01:00
tychovrahe
10021bf364
chore(core): fix gen and style problems
...
[no changelog]
2023-10-31 13:32:20 +01:00
Ondrej Mikle
a4079d0cc5
chore(core/bootloader): make cstyle check work
2023-10-27 16:41:56 +02:00
Ondrej Mikle
6658ad84d1
fix(core/bootloader): explicit casts on version compare to control signed/unsigned arithmetic mix
2023-10-27 16:41:56 +02:00
cepetr
da7125f427
feat(core/bootloader): make firmware flashing more safe
2023-10-27 16:41:56 +02:00
cepetr
ba83a7e644
feat(core): introduce interaction-less upgrade
2023-10-27 16:15:15 +02:00
Andrew Kozlik
c48b606867
feat(core): Add bootloader_locked flag to Features message.
...
[no changelog]
2023-09-15 14:08:02 +02:00
tychovrahe
6d9e4321fd
feat(core): add install restricted screen on installation with locked bootloader
...
[no changelog]
2023-08-25 14:41:59 +02:00
tychovrahe
e8281385f6
feat(core): implement secret handling in bootloader
2023-08-15 09:37:38 +02:00
tychovrahe
238e3fd7c1
refactor(core): add abstraction over flash memory layout
...
[no changelog]
2023-07-25 10:25:20 +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
dd4d020a76
fix(core/bootloader): correctly handle images smaller than one chunk
2023-04-14 16:20:49 +02:00
matejcik
a2f7d8395f
fix(core/bootloader): erase the storage as soon as we know we should
...
This fixes a problem that would previously cause the storage to be
erased every time.
2023-04-03 22:01:26 +02:00
matejcik
7638694484
chore: make fields on FirmwareRequest required ( fixes #1941 )
...
[no changelog]
2023-04-03 22:01:26 +02:00
matejcik
63c27bafd6
fix(core/bootloader): properly display upgrade/downgrade
2023-04-03 22:01:26 +02:00
matejcik
ae9960ca61
feat(core): introduce bootloader emulator
2023-04-03 22:01:26 +02:00
tychovrahe
3f54b84aef
fix(core/bootloader): fix retries when reading from USB
2023-03-22 15:09:39 +01:00
tychovrahe
5a991f3244
feat(core/rust): bootloader implementation in rust
2023-03-09 16:14:36 +01:00
tychovrahe
461f566777
fix(core/bootloader): fix detection of installed firmware
...
[no changelog]
2023-01-26 11:56:08 +01:00
tychovrahe
115f7daaaa
feat(core): prevent installing and running of incompatible firmware, prevent bootloader downgrade
2023-01-12 15:38:36 +01:00
tychovrahe
c33f92bd72
feat(core): add RGB LED driver for Model R
2022-06-22 09:28:31 +02:00
Pavol Rusnak
b0e0280465
chore: drop obsolete fw_vendor_keys field from Features
...
[no changelog]
2022-01-03 14:23:58 +01:00
Pavol Rusnak
35d40cc164
fix(core): change logic of vendor header comparison
...
Previously we checked whether the current vendor header and
the new vendor header are the same by comparing the embedded keyset.
What originally looked like a good idea is not that good, because
this disallows us from ever changing the vendor header signing keys
without causing erasure of the storage during the version update.
This commit fixes that by changing the logic to comparing just the
vendor string.
Change of function names is purely cosmetic:
* vendor_keys_hash -> vendor_header_hash
* check_vendor_keys_lock -> check_vendor_header_lock
2022-01-03 14:23:58 +01:00
Pavol Rusnak
1e2bb337a9
refactor(core): drop buttons argument for ui_screen_firmware_info
2021-03-10 17:42:52 +01:00
Pavol Rusnak
5dd3d73d00
fix(core): remove unused stuff from bootloader_ci
...
plus minor ui function renames
2021-03-04 17:01:01 +01:00
Pavol Rusnak
2dc094bd3e
fix(core): small secbool refactors
2021-03-04 11:59:38 +01:00
Pavol Rusnak
f46380147f
fix(core): update sync protobuf messages in bootloader
2021-02-10 10:56:52 +01:00
Pavol Rusnak
b9c0b3969b
legacy+core: unify error codes in bootloaders ( #1347 )
2020-11-18 11:21:57 +01:00
Pavol Rusnak
336a417233
core/bootloader: distinguish between a vendor change and downgrade with wipe
2020-03-25 15:15:12 +01:00