1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-22 14:28:07 +00:00
Commit Graph

78 Commits

Author SHA1 Message Date
Dusan Klinec
2658e253fa xmr/bp: memory optimizations and improvements
- different approach to vector manipulation - more on the fly operations. Prepared for fully offloaded operations, BP on Trezor with constant memory.
- memory requirements reduced from (4MN + const) to (2MN + const)
- more raw methods to avoid unnecessary encoding/decoding
- chunking improved, chunk size set as a constant, changed from 64 to 32, missing pieces implemented to cover also BP 16
- proof_v8 support discontinued, old hardfork, not needed anymore
- get_exponent register clash fixed (for large vectors)
- reduced heap fragmentation by removing some temporary allocations
- hashing with len and offset to reduce heap fragmentation by creating a sliced arrays
- use to() wherever possible to avoid allocations and return of mutable private object
- global functions start with _ prefix, reduce import footprint
- use __slots__ in classes to minimize footprint
2020-03-02 12:17:03 +01:00
matejcik
9ab84d2455 core/tests: thoroughly test modified APIs 2020-02-27 10:56:23 +01:00
matejcik
b24411b900 core/sdcard: unmount instance when powering off sdcard 2020-02-27 10:56:23 +01:00
matejcik
c81be584fb core/fatfs: ensure functions can only be called on a mounted filesystem
ff.c has a lazy-mounting feature, where any filesystem call will mount
the volume if it can. This messes with predictability of the mounted
state, so all (except mount/unmount/mkfs) Python functions will first
check if the fs is mounted.
2020-02-27 10:56:23 +01:00
matejcik
fa746e2990 core/fatfs: rework low-level FatFS API
Instead of having possibly multiple FatFS objects, each with its own
`fs` struct, there is one global static fs_instance. This is to match
the mode of operation of ff.c, which assumes a global list of mounts,
and all functions operate on the global based on path.

Methods of FatFS were converted to functions on the fatfs module.

fatfs.unmount() does not call ff.c's unmount, but simply invalidates
fs_instance. This is basically what ff.c would do, except without
messing with ff.c's global list of mounts.
2020-02-26 14:18:41 +01:00
Pavol Rusnak
39ce100608
Merge pull request #864 from trezor/prusnak/bootloader-text-break
core/bootloader: split long vendor string
2020-02-21 18:39:20 +01:00
matejcik
b2084a19be core/trezorio: move sdcard functions to a submodule 2020-02-20 12:51:48 +01:00
matejcik
30529d218d core/sdcard: change SDCard methods to plain functions 2020-02-20 12:51:48 +01:00
matejcik
06b89c57c5 core/sdcard: return proper disk status flags to fatfs 2020-02-20 12:51:48 +01:00
Pavol Rusnak
74802a107e
core/modtrezorui: add display_text_split 2020-02-19 21:40:28 +00:00
Pavol Rusnak
32f8f1cb61
core/embed: update fatfs to 0.14; use upstream version 2020-02-07 15:21:16 +00:00
Pavol Rusnak
3de1b3aa54
core/embed: switch to unprivileged in main.c 2020-01-24 12:29:46 +00:00
Pavol Rusnak
500156b9ba
core/embed: don't use local copy of inflate 2020-01-18 17:09:52 +01:00
Tomas Susanka
51ef963738 tests: introduce UI tests for core 2020-01-03 14:28:27 +00:00
Andrew Kozlik
a3b608d8dd storage, core: Reveal the wipe code status after the device is unlocked. 2019-11-25 12:32:20 +01:00
Andrew Kozlik
a168d661cf core: Add support for ChangeWipeCode message. 2019-11-25 12:32:20 +01:00
Pavol Rusnak
d761a57689
storage: introduce FLAGS_APPID 2019-11-11 19:47:48 +01:00
Pavol Rusnak
1caae698ca
storage: make FLAG_PUBLIC and FLAGS_WRITE part of public API 2019-11-11 19:47:48 +01:00
Pavol Rusnak
4462fb522c
core/nem: don't use mp_obj_new_str_of_type 2019-11-09 12:06:12 +00:00
Tomas Susanka
0511cc8b8c core: add final mypy fixes! 2019-10-22 14:36:25 +00:00
Pavol Rusnak
1bdc83838b
legacy+core: properly handle non-printable ascii characters
(convert them to '_')
2019-10-10 15:58:26 +00:00
Andrew Kozlik
c25a41aa57 core: Fix mypy warnings in FatFS and SD salt code. 2019-10-09 17:07:25 +02:00
Pavol Rusnak
5f980b50a0
core/monero: refactor bulletproof look-up-tables 2019-10-02 15:43:03 +00:00
Pavol Rusnak
7394ecfa77
core: add exist_ok parameter to fatfs.mkdir 2019-09-25 12:13:52 +02:00
Pavol Rusnak
78041d261b
crypto: refactor bip39 api 2019-09-23 17:56:36 +02:00
Andrew Kozlik
6350b1c61c core: Implement SD card protection. 2019-09-18 18:55:58 +02:00
Andrew Kozlik
4f01003637 storage: Add external salt parameter to unlock() and change_pin(). 2019-09-18 18:53:42 +02:00
Pavol Rusnak
2711ce2a3d
Merge pull request #394 from trezor/andrewkozlik/fido2-squashed
Add FIDO2 support
2019-09-13 11:20:48 +02:00
matejcik
cad297ed36 style: fix weirdness in modtrezorio-fatfs.h 2019-09-12 16:49:51 +02:00
Andrew Kozlik
84674a7463 core/usb: Add write_blocking() to trezor.io.HID. 2019-09-11 15:33:16 +02:00
Ondrej Mikle
59ee3750d1
core/modtrezorio: raise exception when directory listing fails on disk error or other error 2019-09-03 15:14:35 +02:00
Ondrej Mikle
24359ea074
core/modtrezorio: use upstream's fix of read-after-buffer 2019-09-03 15:14:25 +02:00
Ondrej Mikle
972a96f1a0
core/modtrezorio: raise error when no space left on FAT FS 2019-09-03 15:14:25 +02:00
Pavol Rusnak
743f57afdb
core/modtrezorio: use ff_unifdef.sh preprocessor
to reduce the number of lines in ff.c and ffunicode.c
2019-09-03 15:14:25 +02:00
Pavol Rusnak
49a98a5015
core/modtrezorio: enable FatFS.mkfs only in emulator 2019-09-03 15:14:25 +02:00
Pavol Rusnak
d40b7c0385
core/modtrezorio: enable LFN+Unicode in FatFS 2019-09-03 15:14:25 +02:00
Pavol Rusnak
aa8d14c0ea
core/modtrezorio: add FatFS support 2019-09-03 15:14:24 +02:00
Pavol Rusnak
908bbfffef
core: remove remaning utility code for Bitcoin only firmware 2019-08-27 12:38:28 +02:00
Pavol Rusnak
c815bc410c
core: remove remaning Decred/Zcash code for Bitcoin only firmware 2019-08-27 12:38:28 +02:00
Pavol Rusnak
07ef01f3e4
core: introduce BITCOIN_ONLY flag 2019-08-23 13:52:10 +02:00
Andrew Kozlik
8297b81cd5 core/crypto: Add AES mode constants. 2019-08-09 12:46:08 +02:00
Andrew Kozlik
0a594ea1e9
Merge pull request #280 from trezor/andrewkozlik/slip-0021
Add SLIP-0021 implementation and tests.
2019-08-06 14:26:34 +02:00
Andrew Kozlik
217c910b4b cardano: Implement SLIP-0023 and add SLIP-0039 support for Cardano. 2019-07-25 19:43:05 +02:00
Tomas Susanka
d2597d54c1 core/shamir: persistence
updates #270
2019-07-24 15:12:04 +02:00
andrew
5f604b5fea core/seed: Add SLIP-0021 implementation and tests. 2019-07-16 14:30:28 +02:00
Jan Pochyla
0f6f05e4b7 core/typing: fix extmod docs and mocks 2019-07-09 14:05:14 +02:00
Jan Pochyla
3af75c0b8b core/typing: improve extmod types 2019-07-09 12:51:48 +02:00
Tomas Susanka
49d6a35249 core: add slip39 keyboard 2019-06-23 21:33:58 +02:00
Pavol Rusnak
312224b7a3
core: fix style 2019-06-22 00:18:31 +02:00
Pavol Rusnak
e432c37df0
core/sdcard: read/write now don't return bool, but rather throw an Exception instead 2019-06-21 22:51:53 +02:00