Commit Graph

280 Commits

Author SHA1 Message Date
Max K
6b7da2887f package2 verification and ini1 merging fixes (#125)
* fusee: Incremet offset while reading kip1s

* fusee: Pass package2 section data along with the decrypted metadata
2018-06-04 14:04:44 -07:00
TuxSH
b2139ed182 Pass screen status and mmc struct from stage1 to 2 2018-06-04 19:17:23 +02:00
hexkyz
7e5fda86b2
Merge pull request #114 from desowin/sdmmc-errata
Set SDMMC controller to SDR104 as a workaround
2018-06-04 16:20:19 +01:00
langerhans
41429e9120 fusee: Add kernel hash for 4.x 2018-06-03 16:59:21 +02:00
Michael Scire
968c86578a Fusee: Add 5.x kernel patches to allow for IPC PID mitm. 2018-06-02 20:01:44 -06:00
Michael Scire
cc69079d73 Fusee: Add mechanism for branching back at end of hook. 2018-06-02 19:11:50 -06:00
Max K
8ec3a53d73 Fix CCPLEX bringup and halt the BPMP once it's done booting. (#118) 2018-06-02 17:24:02 -07:00
Michael Scire
b3a7086b7e Fusee: Add infrastructure for applying kernel patches (needed for mitm) 2018-06-02 16:06:31 -06:00
Michael Scire
1ba8a92030 Fusee: Separate kernel patching into its own file. 2018-06-02 16:06:31 -06:00
Tomasz Moń
0534e36cf8 Set SDMMC controller to SDR104 as a workaround
According to Tegra X1 Series Processors Silicon Errata there is possible
misalignment of received data which results in a CRC error. The issue is
present only in SDR50 mode.
2018-05-27 17:43:25 +02:00
TuxSH
c9723d7b68 Refactor fusee's makefile 2018-05-27 00:59:02 +02:00
TuxSH
d57f4c54a9 Fix mmc->allow_voltage_switching assignment in sdmmc_init 2018-05-24 17:39:36 +02:00
TuxSH
4d43a86b60 Copy latest sdmmc driver to stage2 2018-05-24 01:17:13 +02:00
TuxSH
fd77e5543e Add debug comment for exosphère 2018-05-23 18:46:39 +02:00
TuxSH
16ad355f45 Unstub "Validate section hashes." 2018-05-23 18:45:53 +02:00
Kate J. Temkin
eaf8e559d6 fusee: work around some dual-init SDMMC issues 2018-05-23 07:47:02 -06:00
TuxSH
a4b1cf8b50 Stage1: fix SE issue too 2018-05-21 21:18:30 +02:00
Michael Scire
c64d7904b4 Fusee: Fix se_calculate_sha256 2018-05-21 13:07:46 -06:00
TuxSH
561fa90669 Use uintX_t for the SE & copy bugfixed SE struct definition 2018-05-21 19:05:00 +02:00
TuxSH
f39622c421 Stage2: Fix bug, add more debug printfs to nxboot. The CCPLEX doesn't turn on 2018-05-21 18:42:42 +02:00
TuxSH
5920f5a4b0 Stage2: fix various bugs in package2.c 2018-05-21 18:18:12 +02:00
TuxSH
ffd0b5df6a Fix bug in stratosphere_get_ini1, etc. 2018-05-21 17:45:05 +02:00
TuxSH
0e9a304533 stage2: package2: bypass hash checks for now 2018-05-21 17:42:10 +02:00
TuxSH
ecb83903c0 Stage1: fix potential alignment issue 2018-05-21 14:18:03 +02:00
Kate J. Temkin
ac7ee45493 fusee: improve SDR104 frequency and support AUTOCMD23 2018-05-21 04:24:50 -06:00
TuxSH
bf2c6dff25 Stage2: Add exception handlers 2018-05-21 03:50:53 +02:00
TuxSH
c1687905a3 Fix stack overflow when chainloading stage2 2018-05-21 03:42:05 +02:00
TuxSH
ea2693dd2d Fix exception handlers (thanks @fincs) 2018-05-21 03:39:18 +02:00
TuxSH
43d1816ac2 [stage1] Add exception handlers... which somehow don't work? 2018-05-21 02:24:41 +02:00
TuxSH
83d9d874e6 Fusee use CAR reboot for fatal errors 2018-05-20 23:52:09 +02:00
TuxSH
4ec7d0fc82 Remove packed when not needed 2018-05-20 22:57:25 +02:00
TuxSH
57ff5e694a Don't check for panics in stage2 2018-05-20 22:00:11 +02:00
TuxSH
3dd6ec5f6c wtf pmc reboot doesn't fully work -- display doesn't reinitialize 2018-05-20 16:56:15 +02:00
TuxSH
f45bc83bc4 Introduce fatal_error 2018-05-20 16:18:48 +02:00
Kate J. Temkin
add03d5774 fusee: correct computation of tuning block size 2018-05-20 07:21:49 -06:00
Kate J. Temkin
d5411b5b1f fusee: begin adding support for MMC HS modes 2018-05-20 07:05:35 -06:00
Kate J. Temkin
5f3fc8156c fusee: SD: implement tuning, allowing for all SD UHS-I speed 2018-05-20 07:05:35 -06:00
Kate J. Temkin
38350e769c fusee: SD driver: implement everything necessary for UHS except tuning 2018-05-20 07:05:35 -06:00
Kate J. Temkin
633c5e95ed fusee: correct constants in CAR 2018-05-20 07:05:35 -06:00
Kate J. Temkin
817c42efc2 fusee: handle SDMMC speeds sanely 2018-05-20 07:05:35 -06:00
TuxSH
ec7e0d923d Add custom panic driver 2018-05-20 14:11:46 +02:00
TuxSH
c820375a86 Make struct tegra_pmc not packed 2018-05-20 01:40:23 +02:00
TuxSH
64cdd2e63f Actually don't use memcpy in sdmmc 2018-05-19 03:10:06 +02:00
TuxSH
2a98e2e3b8 Sync sdmmc changes between stage1 and 2 2018-05-19 02:50:50 +02:00
TuxSH
2bc2fe1452 Use memcpy instead of raw casts in sdmmc.c 2018-05-19 01:33:07 +02:00
TuxSH
b4eeddd7e1 Revamp all the Makefiles (thanks @fincs @WinterMute)
... dependencies are now properly handled (e.g. header changes, etc.)
2018-05-19 01:07:27 +02:00
Kate J. Temkin
7bfdf63a71 fusee sdmmc: don't time out on long reads 2018-05-18 07:43:09 -06:00
TuxSH
e0a5acd0ba [stage2] Add more debugging printfs to package2.c, etc. 2018-05-18 00:24:06 +02:00
TuxSH
993db7ee95 Fix nxboot mkey rev misconception 2018-05-18 00:11:44 +02:00
TuxSH
ec6d05892c Refactor nxboot package2 reading, work around sdmmc issue, other changes 2018-05-17 23:18:33 +02:00
TuxSH
9ed2f92cdc [stage2] Fix some FS bugs 2018-05-17 19:53:42 +02:00
TuxSH
3dac6c9268 Fix bug in fusee: package2.c, etc. 2018-05-17 16:11:10 +02:00
TuxSH
1b07a07353 Fusee: Change package2 loading logic (untested) 2018-05-17 15:56:02 +02:00
Michael Scire
5088851de4 Fusee: fix unused var 2018-05-17 07:15:55 -06:00
Michael Scire
bb1dcb2655 Fusee: Implement BIS crypto functions. 2018-05-17 07:15:29 -06:00
TuxSH
5631b27449 Fix out-of-bounds partition r/w bugs in raw_dev.c 2018-05-17 14:39:16 +02:00
TuxSH
858b40e5fb GPT entry LBA range is inclusive 2018-05-17 14:38:19 +02:00
TuxSH
85bfbeccc3 Fix latest commit 2018-05-17 02:07:11 +02:00
TuxSH
52d2af86b6 Fix BCT version parsing 2018-05-17 01:54:19 +02:00
TuxSH
9309b0bed5 Don't overflow devoptabs, etc. 2018-05-17 01:53:32 +02:00
TuxSH
468a063c03 Load the appropriate package1 key. The warmboot fw is now properly read. 2018-05-16 23:19:55 +02:00
TuxSH
348b2457e0 Fix key derivation regression 2018-05-16 23:04:54 +02:00
TuxSH
c71e7c8c2e [stage2] Add "hexdump" 2018-05-16 19:59:14 +02:00
TuxSH
0d5796fa0b Align crypto buffers to 16 bytes in key_derivation.c 2018-05-16 19:57:36 +02:00
TuxSH
ab4518b9c1 Simplify some logic in derive_nx_keydata 2018-05-16 18:41:16 +02:00
TuxSH
c0617982b8 Fix typo in decrypting all keyblobs (thanks @tslater2006 !) 2018-05-16 16:45:44 +02:00
Michael Scire
1182ea23a5 Fusee: Fix typo when decrypting keyblobs. 2018-05-16 02:39:13 -06:00
Michael Scire
fa71e9cb15 Fusee: Decrypt all keyblobs during key derivation. 2018-05-16 02:06:59 -06:00
TuxSH
f84645e91f Simplify package1_get_encrypted_package1 2018-05-16 02:55:48 +02:00
TuxSH
34a658ce4c Fix package1_read_and_parse_boot0
Key derivation is now working
2018-05-16 01:46:08 +02:00
TuxSH
db929925f3 Fix TSEC key fetching, thanks to @rajkosto 2018-05-16 00:37:07 +02:00
TuxSH
6c50723209 Fix tsec.c (thanks @rajkosto @tslater2006), fixes #106 2018-05-15 23:59:20 +02:00
TuxSH
9a86ffec68 Fix diskio.c, etc. 2018-05-15 23:54:33 +02:00
TuxSH
42fd4f73cf Remove stray debug printf in gpt.c 2018-05-15 22:10:45 +02:00
TuxSH
60dbc7c9d7 ┬┴┬┴┤( ͡° ͜ʖ‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌├┬┴┬┴ 2018-05-15 21:08:57 +02:00
Luke Street
f5ab896343 [stage2] Invert a few checks 2018-05-15 14:40:18 -04:00
TuxSH
62ebf20e25 Fix typo in nxboot.c 2018-05-15 20:24:37 +02:00
TuxSH
1288f54965 Finish writing stratosphere_get_ini1 2018-05-15 19:50:20 +02:00
TuxSH
3c0436b98f Write more code for stratosphere_get_ini1, make it and its caller take target_firmware 2018-05-15 16:09:06 +02:00
TuxSH
4e1a368b43 Write more of stratosphere_get_ini1 2018-05-15 12:38:07 +02:00
TuxSH
af2de57fdc Embed exosphere, thermosphere, loader, pm, sm into fusee-secondary
Still needs boot and boot2 to be built as proper KIPs
2018-05-15 02:45:31 +02:00
TuxSH
d9c2a54464 Make a top-level make build everything in order 2018-05-15 01:30:56 +02:00
TuxSH
172a2b679c Fix strncpy bugs in fusée, etc. 2018-05-15 01:18:05 +02:00
TuxSH
15bba0ba0c Make loadlist empty when booting Horizon, more nxboot.c code 2018-05-14 21:17:06 +02:00
TuxSH
c2b22a6bf2 Write all the needed pk1 code and a large part of the nxboot function 2018-05-14 02:40:35 +02:00
TuxSH
17f4a17d17 [stage2] Add debug printf in main.c 2018-05-14 00:06:48 +02:00
TuxSH
bc7369b5d1 [stage2] Add dump_to_file 2018-05-14 00:03:05 +02:00
TuxSH
8df624a10d Rename sd_utils to fs_utils, etc 2018-05-13 23:49:50 +02:00
TuxSH
a3792d94dc [stage2] Support sector sizes up to 4K in FatFs.
Note: SD cards always have a sector size of 512 bytes.
2018-05-13 20:51:57 +02:00
TuxSH
9f53aa13d1 [stage2] Implement disk_status 2018-05-13 20:32:38 +02:00
TuxSH
4f50d412f5 Redesign fs_dev, raw_dev, introducing device_partition and switch_fs.
In theory, one could mount an encrypted FAT partition itself coming from a disk image, etc.
2018-05-13 19:53:55 +02:00
TuxSH
396a646fa3 [stage2] Add console_get_framebuffer 2018-05-12 21:39:29 +02:00
TuxSH
9dce3b05ba [stage1] refactor diskio.c 2018-05-12 12:37:41 +02:00
TuxSH
00f08321c7 [stage2] Accomodate raw_mmc_dev to latest sdmmc driver changes 2018-05-12 12:23:07 +02:00
TuxSH
75169790ff stage1 -> stage2 again 2018-05-12 11:00:36 +02:00
TuxSH
50047dffaa [stage1] unstub multiple sector-r/w code 2018-05-12 10:52:04 +02:00
Kate J. Temkin
9f86c75ea4 fusee: undo a silly mistake in longer-than-8K operations 2018-05-11 21:36:46 -07:00
TuxSH
f6f8065417 We actually need the pk1 key 2018-05-11 23:57:48 +02:00
TuxSH
4ada3b6195
Merge pull request #93 from encounter/fix/stage2-args
Fix stage2_args_t mismatch
2018-05-11 23:38:25 +02:00
TuxSH
6e43a71b5b Fix misconception in latest commit 2018-05-11 23:12:22 +02:00