Commit graph

450 commits

Author SHA1 Message Date
TuxSH
70bb496388 Refactor stage1's and stage2's main.c files 2018-05-08 16:51:43 +02:00
TuxSH
50498e3b20 Don't deinit the display yet, for now 2018-05-08 15:44:48 +02:00
TuxSH
d43255d484 Fix bug in crt0 2018-05-08 14:56:17 +02:00
TuxSH
461e886244 Make di.c accept arbitrary FB addresses, fix flickering issues 2018-05-08 13:45:37 +02:00
TuxSH
170cd2d8c4 [stage2] Forgot to change that, too 2018-05-08 13:45:37 +02:00
TuxSH
d390ead56f Fix faulty IRAM check in check_32bit_address_range_in_program 2018-05-08 13:45:37 +02:00
TuxSH
880f49cfa5 Fix inverted condition issue in check_32bit_address_range_loadable 2018-05-08 13:45:37 +02:00
TuxSH
1fd098e074 [stage1] Fix DEFAULT_BCT0_FOR_DEBUG 2018-05-08 13:45:37 +02:00
TuxSH
e8306361f0 Rewrote crt0, init, and chainloading code
start.s, init.c, linker.ld and linker.specs are meant
to be re-used by user applications, should they remove the defines
from init.c and the .chainloader* sections from the linker script
2018-05-08 13:45:37 +02:00
TuxSH
699ddfc043 Simplify fsdev_set_default_device 2018-05-08 13:44:47 +02:00
TuxSH
5084f09081 Fix warning/error, etc. in fs_dev.c 2018-05-07 23:05:53 +02:00
TuxSH
25db9fcc4a Fix fsdev_set_default_device bug 2018-05-07 14:25:01 +02:00
TuxSH
7695b5bdbd [stage2] Fix the ordering of rules in linker script 2018-05-07 10:53:41 +02:00
Kate J. Temkin
8d071ca7c9 fusee: fix boot partition selection 2018-05-06 22:47:36 -06:00
Kate J. Temkin
f5ed029cdb fusee: fix regression in card detection 2018-05-06 22:32:52 -06:00
Kate J. Temkin
5065a04451 fusee-secondary: don't create 3GiB output files :) 2018-05-06 21:49:42 -06:00
TuxSH
75dfcd07a9 Add chainloader (stage2) (need to edit more files) 2018-05-07 01:02:23 +02:00
TuxSH
2c07b5a2fb Rework fs_dev mount code 2018-05-06 18:41:40 +02:00
TuxSH
a29e800661 Revert "Fix mount code in fs_dev.c"
This reverts commit 306555e522.
2018-05-06 18:14:08 +02:00
TuxSH
8b418732ad Upgrade FatFs to R0.13b 2018-05-06 18:00:22 +02:00
TuxSH
4265dc7b65 Don't pass the mmc struct around 2018-05-06 17:22:12 +02:00
TuxSH
68eec056a9 Fix const-correctness issue in sdmmc.h 2018-05-06 15:22:35 +02:00
TuxSH
1aa6b92bc4 Normalize drivers between stage1 and 2 2018-05-06 15:02:13 +02:00
TuxSH
306555e522 Fix mount code in fs_dev.c 2018-05-06 13:03:45 +02:00
TuxSH
8f5a5acb06 Fix the g_bct0 overflow issue, malloc now works
The linker chose the unused symbol from loader.c.
2018-05-06 11:46:48 +02:00
TuxSH
6e5d4b8fc9 Fix bss overflow error 2018-05-06 00:45:30 +02:00
TuxSH
8648cac77b [stage2] Remove printk, introduce UTF-8 console stdio 2018-05-05 23:56:18 +02:00
TuxSH
ddea5484b6 [stage1] support utf8 in fatfs 2018-05-05 22:05:11 +02:00
TuxSH
30b9873ab3 Use the bloated string formatting functions from newlib 2018-05-05 18:35:00 +02:00
TuxSH
67b76cc8f1 Instead of passing FatFS structs around, unmount; other changes 2018-05-05 17:33:49 +02:00
TuxSH
0fca6c2296 [stage2] Add fatfs devoptab wrapper, change ffconf accordingly 2018-05-05 16:30:25 +02:00
Kate J. Temkin
8eb8de0e94 fusee: fix an obvious sdmmc error (oops) 2018-05-05 03:29:01 -06:00
Kate J. Temkin
bceb00ad8d fusee: sdmmc: clean up and prepare for better SD/MMC/version separations 2018-05-04 18:48:20 -06:00
Kate J. Temkin
2e362d93da fusee: add support for SDMMC write operations 2018-05-04 17:16:19 -06:00
Michael Scire
553cd236f2 Fusee: fix typo 2018-05-04 16:38:10 -06:00
Michael Scire
9487924973 Fusee: Add #define requirement for pragmatic reasons. 2018-05-04 16:35:33 -06:00
Kate J. Temkin
711f85305b fusee: enable sdmmc loglevel control 2018-05-04 16:15:51 -06:00
Kate J. Temkin
932a5bd645 fusee: fix multiple-block SDMMC transfers 2018-05-04 16:15:18 -06:00
TuxSH
e5fff14689 Move fatfs around 2018-05-05 00:11:22 +02:00
TuxSH
0d344e45af Initialize heap, increase stack size 2018-05-04 23:56:01 +02:00
TuxSH
dc3099781d Change defaut BCT0 for debug 2018-05-04 21:52:38 +02:00
Michael Scire
4199be2460 Merge SD stuff into fusee-secondary. Switch diskio to single-sector reads temporarily 2018-05-04 11:47:05 -06:00
Michael Scire
299b020ecc Push minimally working FATFS. 2018-05-04 11:21:15 -06:00
Kate J. Temkin
010ba9248c fusee: make SDMMC debug printing more manageable 2018-05-04 03:38:41 -06:00
Kate J. Temkin
0120b9ce52 fusee: get uSD working, fix bad no_iopower, and abstract card differences 2018-05-04 03:24:27 -06:00
Kate J. Temkin
99f749ef82 fusee: fix SD pinmuxing / signal integrity issues 2018-05-04 03:24:27 -06:00
Kate J. Temkin
5b3be77f0e fusee: fix drive strength and avoid a pad wear-condition 2018-05-04 03:24:27 -06:00
Kate J. Temkin
fc97c3f773 fusee: merge in most of the microSD card (not fully working) 2018-05-04 03:24:27 -06:00
Kate J. Temkin
608d59c229 fusee: implement partition support; needs some tweeks 2018-05-04 03:24:27 -06:00
Kate J. Temkin
01e3761d4c fusee: sdmmc: use v3 compatibility mode for it's simpler DMA
we may want to change this at some point to get 64-bit addressing?
2018-05-04 03:24:27 -06:00
Kate J. Temkin
ef1923ebab fusee: sdmmc: support CPU reads in addition to (broken?) DMA 2018-05-04 03:24:27 -06:00
Kate J. Temkin
21c177804e fusee: sdmmc: handle DMA page boundaries 2018-05-04 03:24:27 -06:00
Kate J. Temkin
534c50fba5 sdmmc: mostly working for eMMC, now 2018-05-04 03:24:27 -06:00
Kate J. Temkin
eb48e06331 fusee: get non-data SDMMC commands fully working on eMMC 2018-05-04 03:24:27 -06:00
Kate J. Temkin
dbb65428e8 fusee: further flesh out sdmmc implementation 2018-05-04 03:24:27 -06:00
Kate J. Temkin
2e3af0c474 fusee: fix issue with SDMMC psuedo-interrupts 2018-05-04 03:24:27 -06:00
Kate J. Temkin
fbe159e4d3 fusee: add missing file 2018-05-04 03:24:27 -06:00
Kate J. Temkin
06bf132022 skeleton SDMMC 2018-05-04 03:24:27 -06:00
Max K
0807aaea2b Fix small issues in the stage2 loader (#78)
* stage2 loader: Fix loadlist parsing breaking out of the loop too early

* stage2 loader: Use bct0 from the loader context
2018-05-03 13:08:30 -07:00
Michael Scire
ea609e68d3 Change read_sd_file semantics to return size read. 2018-04-26 04:47:22 -06:00
Rajko Stojadinovic
4e1c12a659 Fusee: Fix BisPartition enum to correctly identify partitions.
* BisPartition_t was missing SAFE, meaning User and System were using wrong key_source

* Normalize tabs to spaces

* Merge User and System BisPartition_t because they are the same key anyway

* Remove extra newline
2018-04-25 09:47:39 -07:00
Kate J. Temkin
b5d3ce04e8 fusee: fix missing volatiles in memory utils 2018-04-20 19:12:20 -06:00
Kate J. Temkin
60c0df032d fusee: update header names for starting cpu0 2018-04-20 04:10:44 -06:00
Michael Scire
5742571153 Fusee: Fix overflow condition in SD KIP merging 2018-04-12 02:47:27 -06:00
Michael Scire
75b29e777b Fusee: Update INI1 size after patching 2018-04-11 22:32:45 -06:00
Michael Scire
375a0b3fa8 Fusee: Actually write SD path in stratosphere_merge_inis 2018-04-11 22:10:02 -06:00
Michael Scire
0674c4b64f Stratosphere: Add support for custom KIPs/INI in Fusee 2018-04-11 21:56:11 -06:00
Michael Scire
e5a0cb1abe Fusee Stage 2: Flesh out Package2 patching (implement decryption, fixing of metadata) 2018-04-11 20:29:35 -06:00
Michael Scire
a0d2642bb1 Skeleton out framework for patching package2. 2018-04-11 18:19:01 -06:00
Michael Scire
3c24bfdb79 Fusee Stage2: skeleton more of the nxboot process 2018-04-10 16:37:58 -06:00
Michael Scire
9fadec60c5 Add skeleton architecture for displaying custom splash screen 2018-04-10 16:09:00 -06:00
Michael Scire
87605563d2 Restore incorrectly deleted files 2018-04-10 15:56:45 -06:00
Michael Scire
d6806517c8 Fusee Stage 2: Make references to external (stage 1) memory internal. 2018-04-09 15:44:59 -06:00
Michael Scire
a05bf5b4ce Fusee stage 2: Fix up loader (no stage 3!). Skeleton chainload behavior. 2018-04-09 15:34:23 -06:00
Michael Scire
b85567dff3 Remove stage3 refs from Makefile 2018-04-09 15:16:51 -06:00
Michael Scire
92ef68e84a Turns out we actually don't need a third stage for Fusee 2018-04-09 15:12:54 -06:00
Michael Scire
953c02dfba Update argument passing, add video resume 2018-04-08 13:51:44 -06:00
Michael Scire
82552b5a89 Implement much of the core Stage2 loader logic for Fusee 2018-04-08 05:51:57 -06:00
Michael Scire
c9909b34db Use argc/argv in Stage 2 2018-04-08 05:13:15 -06:00
Michael Scire
39bf3cb800 Add display/printk to fusee stage2 2018-04-08 05:06:47 -06:00
Michael Scire
c758b1188a Fix start.s in stage2 of Fusee for argc/argv 2018-04-08 05:06:04 -06:00
Michael Scire
353019a269 Add debugging prints, enable backlight for stage1 2018-04-07 23:04:30 -06:00
Michael Scire
33f76545df Implement all core Stage 1 logic for Fusee 2018-04-07 22:51:24 -06:00
Michael Scire
18f1274587 Change fusee folder naming 2018-04-07 21:45:57 -06:00
Michael Scire
2c7d6dc9b7 Sketch out more of fusee 2018-04-07 15:43:54 -06:00
hexkyz
b310824dac SDMMC: Adding register definitions and draft files 2018-04-04 22:31:05 +01:00
Kate J. Temkin
a73ef0eab1 fusee: fix critical rendering bug 2018-04-03 05:16:13 -06:00
Kate J. Temkin
9766cabdef fusee: jeez, srsly, kate, include all the files when you commit 2018-04-03 04:49:02 -06:00
Kate J. Temkin
0c13e5a2c1 fusee: commit a straggler for flicker removal 2018-04-03 04:15:48 -06:00
Kate J. Temkin
3f40a89316 fusee: don't flicker as we turn the display on
Defers backlight init until the framebuffer's fully set up.
2018-04-03 03:56:50 -06:00
Michael Scire
2d8812ac6e Implement BIS Key derivation. 2018-03-31 15:40:23 -06:00
Michael Scire
19178d6176 Fix XTS implementation, now verified working on HW. 2018-03-31 15:40:23 -06:00
Michael Scire
edf9e2f5c7 Prevent compiler optimization of SE LL writes 2018-03-29 13:46:10 -06:00
Michael Scire
6ed9123c24 Implement NX Key Derivation. 2018-03-29 13:14:58 -06:00
Kate J. Temkin
57853602df fusee: add basic print-to-display console / printk 2018-03-27 05:28:28 -06:00
Michael Scire
9ab7d66524 Implement SE XTS driver code for fusee 2018-03-25 18:50:56 -06:00
Michael Scire
53cf46d20f Clean up Fusee's SE API, removing unneeded functionality 2018-03-25 17:16:17 -06:00
TuxSH
c6ee1bffb7 Display PoC 2018-03-15 23:12:38 +01:00
TuxSH
b48e71ab82 Import hwinit (with small changes) and exosphère drivers 2018-03-15 16:14:41 +01:00
TuxSH
171c82ea9e Add build system for fusee 2018-03-14 21:14:02 +01:00