matejcik
7a17124b43
refactor(core/rust): do not rely too much on new_exception helpers
2021-09-21 12:43:31 +02:00
matejcik
5e452dc57c
refactor(core/rust): propagate unsafety of raise_exception
2021-09-21 12:43:31 +02:00
matejcik
806beb77d2
feat(core/rust): improve catch_exception, make use of Rust 1.55
2021-09-21 12:43:31 +02:00
matejcik
795ed2d339
fix(core/rust): fix "unnecessary unsafe" warning
...
[no changelog]
2021-09-21 12:43:31 +02:00
matejcik
31de21718f
feat(core/rust): introduce Obj.is_null()
...
[no changelog]
2021-09-21 12:43:31 +02:00
matejcik
b666895303
feat(core/rust): catch, handle and propagate uPy exceptions
2021-09-21 12:43:31 +02:00
matejcik
8abcb6f8cc
chore(core/rust): allow unused macros
...
[no changelog]
2021-09-21 12:43:31 +02:00
Jan Pochyla
7c65f0357a
feat(core/rust): Implement exception catching in Rust
...
chore(core): Add test for Rust exc catching
chore(core): Document exception catching in Rust
[no changelog]
2021-09-21 12:43:31 +02:00
Martin Milata
aace875fef
chore(vendor): bump micropython to 1.17
...
Relevant micropython commits:
d1bfb271d7686708fe8711a177629c8bf6e7f6a6 lib/uzlib: Move uzlib code from extmod to lib.
4d546713ec8858cbf908de45de11cbfc46a20971 shared: Introduce new top-level dir and move 1st party lib code there.
ca920f72184c50f61002aa9d5cd01555b1e28b7b py/mpstate: Make exceptions thread-local.
2021-09-17 11:18:14 +02:00
Martin Milata
b062b95348
chore(vendor): bump micropython to 1.15
...
Relevant micropython commits:
ad4656b861f94277bed9647ca176e662ce5119e3 all: Rename BYTES_PER_WORD to MP_BYTES_PER_OBJ_WORD.
9fef1c0bde2f9642d383bd56aa112447384a84ba py: Rename remaining object types to be of the form mp_type_xxx.
5fdf351178df9a18df624ae0f5947d8a5a6bce40 py/gc: Don't include mpconfig.h and misc.h in gc.h.
2021-09-17 11:18:14 +02:00
Martin Milata
d69b23e3c5
chore(core/emulator): ignore MICROPY_UNIX_COVERAGE
...
Seems to be micropython internal flag that hasn't been working in our
emulator for some time.
Relevant micropython commits:
b9a35bebf75be53a817bf6341af14b882093e345 py/qstr.h: Remove QSTR_FROM_STR_STATIC macro.
[no changelog]
2021-09-17 11:18:14 +02:00
Pavol Rusnak
d153082c9c
chore(vendor): bump micropython to 1.14
...
Relevant micropython commits:
4559bcb4679e04e0a5e24030675676ff6a9803f2 unix: Make mp_hal_delay_ms run MICROPY_EVENT_POLL_HOOK.
2021-09-17 11:18:14 +02:00
Martin Milata
a007e062ab
style(core): apply rustfmt
...
[no changelog]
2021-09-16 14:57:06 +02:00
Tomas Susanka
cec1f39a90
chore(core, legacy): bump versions
...
[no changelog]
2021-08-31 12:55:37 +02:00
Martin Milata
f37ca13f1a
refactor(core): disable SD, SBU, fatfs for T1 build
2021-08-20 12:22:13 +02:00
Martin Milata
582e1318c4
feat(core/emulator): support protobuf messages in memory dumps
...
[no changelog]
2021-07-22 13:31:11 +02:00
Martin Milata
412d06fdfe
docs(core+legacy): use towncrier for generating CHANGELOG.md
...
core/embed/boardloader/CHANGELOG.md
core/embed/bootloader/CHANGELOG.md
core/embed/bootloader_ci/CHANGELOG.md
legacy/intermediate_fw/CHANGELOG.md
2021-07-21 14:27:20 +02:00
Pavol Rusnak
d35071d732
docs(core+legacy): update changelogs to new format
2021-07-21 14:27:20 +02:00
Martin Milata
ceaf4da617
fix(core): explicitly refresh display on T1
...
[no changelog]
2021-07-20 22:00:42 +02:00
Pavol Rusnak
3d69ca1b1b
chore(vendor): update nanopb to 0.4.5
2021-07-14 17:34:12 +02:00
matejcik
b41d4c71f0
feat(core/emulator): JSON memory map dump
...
use `trezor.utils.mem_dump("somefile.json")` in a key place, then
`analyze.py src/somefile.json` to look at what is going on
2021-07-14 13:50:24 +02:00
matejcik
fe6c131b14
feat(core/emulator): build emulator with -DSTATIC=
...
This is perhaps a cleaner way to expose all relevant structures for
memory analysis.
2021-07-14 13:50:24 +02:00
Martin Milata
81869fc4b0
chore(core): bump version to 2.4.2
...
[skip_ci]
2021-07-08 13:38:29 +02:00
Martin Milata
f06a57237b
style(core): trezorhal/random_delays.c
2021-07-07 14:39:24 +02:00
Pavol Rusnak
8cfa5da1ce
docs: fix typos in comments
...
[skip_ci]
2021-06-30 15:41:55 +02:00
Ondřej Vejpustek
24200e7424
fixup! fix(legacy): make RDI work on T1
2021-06-24 17:34:24 +02:00
Ondrej Mikle
daa94ac941
fix(legacy): make RDI work on T1
2021-06-24 17:34:24 +02:00
Ondřej Vejpustek
b8b0ae09d9
fix(core): use unprivileged shutdown where needed
2021-06-23 16:40:45 +02:00
Ondřej Vejpustek
5984fd6ad7
feat(core): jump to unprivileged mode after shutdown
2021-06-23 16:40:45 +02:00
Ondřej Vejpustek
40b4f679f9
feat(core): implement wrapper for svc_shutdown
2021-06-23 16:40:45 +02:00
Ondřej Vejpustek
311288407e
docs(core): document shutdown_privileged
2021-06-23 16:40:45 +02:00
Ondřej Vejpustek
4968d7da53
feat(core): implement svc shutdown
2021-06-23 16:40:45 +02:00
Ondřej Vejpustek
cca9d4b1c4
refactor(core): rename shutdown to shutdown_privileged
2021-06-23 16:40:45 +02:00
Ondřej Vejpustek
7686eb355a
fix(core): fix import of random delays
2021-06-23 16:40:45 +02:00
Pavol Rusnak
69d1465e08
refactor(core): pass invert_colors to send_init_seq_ST7789V as argument
...
to make the call more flexible
2021-06-19 19:57:42 +02:00
Pavol Rusnak
18e103bb94
style(core): refactor style of display-stm32_T
2021-06-19 19:54:19 +02:00
matejcik
c06a93cba5
feat(core/rust): propagate bitcoin_only flag to Rust build
2021-06-08 09:55:19 +02:00
Jan Pochyla
8a21e3fc73
feat(core): Add Rust Protobuf codec
2021-06-08 09:55:19 +02:00
Pavol Rusnak
23aa69caea
fix(core): unify Features.revision reporting with legacy
2021-06-04 12:50:49 +02:00
Martin Milata
ca836b2e45
chore(core): bump version to 2.4.1
2021-06-02 12:50:22 +02:00
Martin Milata
8c6b93e0bd
build(core): account for ARM unwinding info in memory layout
...
Currently the 8-byte section is inserted under semi-random name like
.ARM.exidx.text._ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17h79ccbc4bdfe3f200E.
This makes it hard to include it in _codelen that is later baked into
firmware header. This change adds new section because including it in
.flash causes linker error due to mixing "ordered" and "unordered"
sections.
By renaming .exidx to /DISCARD/ we'd drop this info, there may also
exist compiler flag to do that.
2021-05-21 13:49:42 +02:00
Martin Milata
20fe8552ca
build(core/rust): use correct architecture for T1
...
TT is Cortex-M4 is Armv7E-M while T1 is Cortex-M3 is Armv7-M:
https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/armv6-m-vs-armv7-m---unpacking-the-microcontrollers
2021-05-21 13:49:42 +02:00
Ondřej Vejpustek
6fd4739c5c
feat(core): make random delays use chacha_drbg
2021-05-21 13:42:53 +02:00
Ondřej Vejpustek
e1a5f42c81
feat(core): make chacha_drbg more robust
2021-05-21 13:42:53 +02:00
Ondřej Vejpustek
8ee17f69b3
refactor(core): move wait_random and rdi into separate file
2021-05-21 13:42:53 +02:00
matejcik
e015bc0856
build(core/rust): disable nightly-only features
...
When we need them, we will re-enable.
2021-05-21 13:42:10 +02:00
matejcik
5f4240d93c
feat(core): preallocate sys.modules to an appropriate size
2021-05-06 13:14:21 +02:00
matejcik
391976bcda
refactor(core/usb): do not require serial number on instantiaton of USB
...
On a cleanly wiped device, storage must be unlocked in order to create
and retrieve the serial number. However, storage unlocking happens in
boot.py, which is imported _after_ usb.py
We must therefore sidestep asking for the serial number.
2021-05-06 13:14:21 +02:00
Jan Pochyla
6257584951
feat(core): Add Rust bindings to MicroPython and trezorhal
...
core: Remove dangling module decls
core: Use new Cargo feature resolver, use external MacOS debug info
core: Rust docs improvements
core: Upgrade bindgen
core: Add test target to Rust
ci: build rust sources
build(core): .ARM.exidx.text.__aeabi_ui2f in t1 firmware size
It's an unwind table for softfloat function inserted by rustc, probably
can be removed to save 8 bytes:
599c58db70/link.x.in (L175-L182)
scons: Remove dead code
core: Move Rust target to build/rust
core: Replace extern with a FFI version
core: Add some explanatory Rust comments
core: Use correct path for the Rust lib
core: Remove Buffer::as_mut()
Mutable buffer access needs MP_BUFFER_WRITE flag. TBD in the Protobuf PR.
core: Improve docs for micropython::Buffer
core: Minor Rust docs changes
core: Rewrite trezor_obj_get_ll_checked
core: Fix incorrect doc comment
core: Remove cc from deps
fixup! core: Rewrite trezor_obj_get_ll_checked
core: update safety comments
2021-05-05 16:00:21 +02:00
mcudev
e3539b0a73
core/embed/usb: add back usb fs code for t1 and redo fifo sizing
2021-04-14 23:03:29 +02:00
mcudev
6137a55b06
core/embed/usb: use all available usb endpoints and update the usb fifo sizing
2021-04-09 12:50:40 +02:00
Martin Milata
ac711fb8ee
style(core): use more recent type annotation syntax
...
https://www.python.org/dev/peps/pep-0585/ - Type Hinting Generics In Standard Collections
https://www.python.org/dev/peps/pep-0604/ - Allow writing union types as X | Y
2021-04-01 11:12:30 +02:00
Martin Milata
8b3ac659a0
style(core): mypy: disable implicit Optional for function arguments
...
https://www.python.org/dev/peps/pep-0484/#union-types
2021-04-01 11:12:30 +02:00
Andrew Kozlik
2836bfc64c
fix(core): Improve error handling and range checking in modtrezorconfig.
2021-03-26 10:54:56 +01:00
Andrew Kozlik
66823e2893
chore(core,legacy): Bump FIX_VERSIONs due to upgrade to storage version 3.
2021-03-25 14:24:41 +01:00
Andrew Kozlik
3084d1196d
feat(core): Support 50 digit PIN and wipe code.
2021-03-25 14:24:41 +01:00
Pavol Rusnak
4649b80b44
feat(core): allow secp256k1-zkp for bitcoin-only build
...
(but keep it disabled)
2021-03-18 15:42:52 +01:00
Pavol Rusnak
d211e3af07
fix(core): switch define to invert display colors into const volatile
...
using define causes compiler to over-optimize the code in display_init_seq
leading to larger differences in the resulting binaries when the flag changes
we want to keep the difference to minimum (1 byte) and using const volatile
instead of define achieves that
2021-03-11 12:29:00 +01:00
Pavol Rusnak
e7966cc804
refactor(core): rework color definitions in bootloader
2021-03-10 18:33:00 +01:00
Pavol Rusnak
3294a49cec
fix(core): don't assert reset flags to allow "reboot to bootloader"
2021-03-10 18:31:51 +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
814db111b2
feat(core): add define to invert display colors on ST7789V
2021-03-10 16:06:18 +01:00
Pavol Rusnak
5cff6ac964
doc(core): update comments around UDP emulator
...
drop unused define
2021-03-09 16:19:03 +01:00
Andrew Kozlik
a8c500bffd
feat(core): Ensure that WebAuthn runs on port 21326 by default for both production and debug emulator.
2021-03-09 16:13:21 +01:00
Pavol Rusnak
ebfd51d818
fix(core): stay_in_bootloader should default to false, not true
2021-03-06 20:09:56 +01:00
Pavol Rusnak
efac5d56f5
fix(core): change touch i2c clock speed to 200 kHz
...
fixes #1519
2021-03-06 20:02:11 +01:00
Martin Milata
7c1d72c254
style(core): fix bootloader formatting
2021-03-04 19:21:56 +01:00
Pavol Rusnak
29a3e91f09
feat(core): refactor display_init_seq from display_init
2021-03-04 17:04:35 +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
Ondrej Mikle
a4ba24645b
feat(core): remove connect to host dialog in the bootloader
2021-03-04 16:34:30 +01:00
Pavol Rusnak
f3ae3615c7
fix(core): unify bootloader_ci with bootloader
2021-03-04 15:59:25 +01:00
Pavol Rusnak
b074404dcf
fix(core): small secbool refactor for bootloader_ci
2021-03-04 12:14:26 +01:00
Pavol Rusnak
2dc094bd3e
fix(core): small secbool refactors
2021-03-04 11:59:38 +01:00
Martin Milata
48627b7f0f
fix(core): bootloader_ci build
...
See also f46380147f
.
2021-02-15 20:55:54 +01:00
Pavol Rusnak
5395c542c1
chore(core): update changelog, bump version to 2.3.7
2021-02-13 11:16:11 +01:00
Pavol Rusnak
f46380147f
fix(core): update sync protobuf messages in bootloader
2021-02-10 10:56:52 +01:00
matejcik
ccd241fe55
feat(core/cardano): enable typing for Cardano app
2021-02-10 10:56:52 +01:00
Ondrej Mikle
22d01b6ff4
chore(core): bootloader_ci - decouple file links from original bootloader
2021-01-27 23:43:38 +01:00
Pavol Rusnak
a11cb11ba3
chore(core): rework SYSTEMVIEW_DEST_SYSTEMVIEW
...
to work with ifdef instead of if
2021-01-26 20:53:38 +01:00
Ondrej Mikle
d99127771c
chore(core): reorder includes
2021-01-26 20:53:38 +01:00
Ondrej Mikle
a628b9a92d
chore(core): remove unneeded include
2021-01-26 20:53:38 +01:00
Ondrej Mikle
4cf91b128d
style(core): systemview editorconfig reformat
2021-01-26 20:53:38 +01:00
Ondrej Mikle
9411756c42
style(core): systemview reformat
2021-01-26 20:53:38 +01:00
Ondrej Mikle
550216354b
chore(core): more systematic systemview function definitions
2021-01-26 20:53:38 +01:00
Ondrej Mikle
869cfbbd1c
style(core): style for systemview
2021-01-26 20:53:38 +01:00
Ondrej Mikle
0abcb57840
feat(core): place systemview buffers into CCMRAM
2021-01-26 20:53:38 +01:00
Ondrej Mikle
5a4166ea93
feat(core): increase systemview buffers
2021-01-26 20:53:38 +01:00
Ondrej Mikle
f591ce6789
feat(core): update systemview sources to 3.20
2021-01-26 20:53:38 +01:00
Ondrej Mikle
8fa3745838
feat(core): define RTT locking by enabling/disabling interrupts
2021-01-26 20:53:38 +01:00
Ondrej Mikle
ce3a6b649c
feat(core): systemview header
2021-01-26 20:53:38 +01:00
Ondrej Mikle
4a692cc63b
feat(core): segger dependencies
2021-01-26 20:53:38 +01:00
Ondrej Mikle
5f837e12b9
feat(core): send messaged through systemview
2021-01-26 20:53:38 +01:00
Ondrej Mikle
60e4e06aa5
feat(core): measure systick with systemview
2021-01-26 20:53:38 +01:00
Ondrej Mikle
c5e986b1ba
feat(core): enable SystemView at firmware start
2021-01-26 20:53:38 +01:00
Martin Milata
c293b52bd6
feat(core): bootloader_ci: do not ui_fadein/ui_fadeout
2021-01-26 17:21:16 +01:00
Martin Milata
2643ee2ab8
feat(core): bootloader_ci: wipe device without confirmation
2021-01-26 17:21:16 +01:00
Tomas Susanka
1006c8a0f1
chore(core,legacy): change versions to 1.9.5 and 2.3.6
...
This reverts commit 92535dc090
.
2021-01-22 15:42:55 +01:00
Pavol Rusnak
92535dc090
chore(core,legacy): change versions back to 1.9.4 and 2.3.5
...
[skip_ci]
2021-01-22 14:23:11 +01:00
Pavol Rusnak
43ed13b323
feat(core): disable SECP256K1_ZKP feature flag
2021-01-22 14:06:29 +01:00
Pavol Rusnak
f3d5de15ef
refactor(core): turn SECP256K1_ZKP into a firmware feature flag
2021-01-22 14:06:29 +01:00