Commit graph

269 commits

Author SHA1 Message Date
CTCaer 561a96c62a hos: small refactoring 2021-07-06 10:05:37 +03:00
CTCaer 57e6623d74 hos: 12.1.0 support 2021-07-06 10:02:52 +03:00
CTCaer 4f8d29d0b7 pkg2: Add HOS 12.0.3 support
In 12.0.3 only FS is the relevant change.

So add support for 12.0.3 emuMMC and NOGC
2021-06-08 06:05:12 +03:00
CTCaer 432d4a4ffa Use bit_count for burnt fuses counting 2021-06-08 05:57:00 +03:00
CTCaer a80a7ecba9 hos: nogc detection support for 12.0.2
12.0.2 burnt a fuse so we can now automatically detect if NoGC is needed for LAFW v5
2021-05-12 12:04:46 +03:00
CTCaer 7c450f4a5f hos: 12.0.2 support 2021-05-12 11:47:39 +03:00
CTCaer 21e6a0cf7e pkg1: reduce struct sizes 2021-05-11 10:08:43 +03:00
CTCaer dfbbca4c9f pkg2: isolate kernel/kip patches structs from code 2021-05-11 09:45:12 +03:00
CTCaer f4d08b2d9b pkg2: refactor defines for kernel patches 2021-05-11 09:38:20 +03:00
CTCaer 4d90fa4830 hos: set applied bits on double defined kip patches
The loop would break before and if a patch was double defined, would not set its applied bit and thus throw an error.
2021-04-12 04:28:14 +03:00
CTCaer edff6c551d hos: Add 12.0.0 support 2021-04-09 19:49:44 +03:00
CTCaer d42a94f148 minerva: Scale down RAM OC if stock boot 2021-04-09 19:28:04 +03:00
CTCaer c01b8aa89c exo: add usb3 force enable support
Like the other configs, it can be read from system_settings.ini and be set.

Additionally a new `usb3force` key was added to allow user to override and enable/disable that setting via a boot entry.
This allows for fast (re)boot into an entry that disables that (important because of the huge interference that USB3 creates to Bluetooth and WiFi 2.4GHz).
2021-03-17 09:31:06 +02:00
CTCaer 0e12d8545b Decrease stack usage on various functions 2021-03-17 09:08:34 +02:00
CTCaer b6e458e97b sept: Correct bct buffer pointer and turn on backlight on error 2021-02-06 17:14:07 +02:00
CTCaer ea83566fc9 sept: Disallow sept if improper BCT to avoid black screen 2021-02-06 03:24:58 +02:00
CTCaer 48e98ab8c9 eks: Update old version automatically 2021-02-06 03:20:43 +02:00
CTCaer 8cd438146d sdmmc: Use global emmc storage in various places 2021-02-06 03:19:42 +02:00
CTCaer a80cc0ae2c hos: Add error message for mariko warmboot fw not found
Ability to continue without sleep working also.
2021-02-06 03:05:41 +02:00
CTCaer 2428736bfa hos: Use structs for eks keyblobs and tsec keys 2021-02-06 03:00:48 +02:00
CTCaer a7bf8bf118 se: Refactor with proper names
Additionally fix some bugs in rsa access control
2021-02-06 02:55:58 +02:00
CTCaer 15a7e49dde fatfs: Add simple GPT support
This allows for a simple GPT parsing and checking first partition to see if it's FAT based.

This allows hekate booting GPT with tiny size cost.
2021-02-05 23:27:52 +02:00
CTCaer 7aa1e77642 nyx: Do not over decrypt pkg1 on t210b01 2021-01-11 23:28:06 +02:00
CTCaer f196b8bb0e eks: Add compatibility support for v1.1 2021-01-05 15:37:36 +02:00
CTCaer bf8fd9a33b hos: Replace fuse count if current fw is higher 2021-01-04 19:05:04 +02:00
CTCaer 41f96d4305 hos: Utilize burnt fuse info instead of keyblob
Streamline identification of HOS version quirks
2021-01-04 02:57:07 +02:00
CTCaer 60b629e57f Move display related objects to display parrent 2020-12-28 05:19:23 +02:00
CTCaer e2dd218f33 pmc: Add latest pmc secure scratch lock 2020-12-26 16:48:00 +02:00
CTCaer a85891ae00 Refactor AutoRCM tools 2020-12-26 16:38:21 +02:00
CTCaer 2628044ba8 fuse: Move more parsing into its specific object 2020-12-26 16:34:12 +02:00
CTCaer 2a7a3452ba hos: Add HOS 11.0.1 support 2020-12-11 18:24:10 +02:00
CTCaer f1386c60af hos: Fix sleep on modchiped Erista 2020-12-11 18:22:33 +02:00
CTCaer b6ec217484 exo: Support uart logging
This can be enabled via compile time flags or exosphere.ini.
Compile time flags override exosphere.ini
2020-12-11 18:14:00 +02:00
CTCaer 5b8fb9fb6b Various refactoring and addition of comments 2020-12-11 17:25:59 +02:00
CTCaer d4d6730c20 fss: Disallow Mariko boot on Atmosphere< 0.17.0
Trying to boot on lower Atmosphere versions can have serious implications.
2020-12-02 22:03:20 +02:00
CTCaer d287d40208 hos: Add HOS 11.0.0 support 2020-12-02 02:41:32 +02:00
CTCaer 7e5e365f18 hos: Change warmboot PA id calculation a bit 2020-12-02 02:17:41 +02:00
CTCaer 7bebec1304 hos: Change warmboot storage numbering from dec to hex 2020-12-02 02:14:06 +02:00
CTCaer 8e45fcc069 hos: Disable stock secmon for Mariko until fixed 2020-12-02 01:56:29 +02:00
CTCaer d1e3a0fdff display: Add new Switch Lite panel support 2020-12-02 01:53:00 +02:00
CTCaer 19ddff299a hos: Fix exfat FS check again.. 2020-12-02 01:47:37 +02:00
CTCaer 0a9931ddb3 exo: Add exosphere fatal binary support for Mariko
Can be overriden with `exofatal={SD path}`.
2020-12-02 01:41:23 +02:00
CTCaer da0cdf1bd0 hos: Add stock secmon support for Mariko 2020-07-04 21:58:21 +03:00
CTCaer 708863358e hos: Move warmboot patching into pkg1 object 2020-07-04 21:44:39 +03:00
CTCaer a862b85a46 hos: Add Mariko warmboot storage and general configurator
The Mariko warmboot storage is needed because the warmboot exploit is not existant.

Fuses and PA id must match with the proper warmboot binary. Thus for supporting downgrades, we keep a copy of it for future use.
2020-07-04 21:43:34 +03:00
CTCaer 495907b8a4 sept: Mark as ready for Mariko 2020-07-04 21:36:37 +03:00
CTCaer 8ef9f888f6 hos: Add PK21 decryption support for Mariko 2020-07-04 21:35:26 +03:00
CTCaer 9b3e9724b7 hos: Add Mariko PK11 decryption and unpacking 2020-07-04 21:32:36 +03:00
CTCaer 8880dfab24 eks: Disallow on Mariko 2020-07-04 21:21:48 +03:00
CTCaer 5ffbbf40a5 hos: Add Mariko keygen 2020-07-04 21:13:25 +03:00
CTCaer cabaa6cfb8 Utilize BIT macro everywhere 2020-11-26 01:41:45 +02:00
CTCaer 669e42960c Utilize ARRAY_SIZE macro 2020-11-15 13:56:45 +02:00
CTCaer 1c19a69e35 hos: Do not use custom kernel if stock 2020-11-15 13:45:45 +02:00
CTCaer 67a03bbd85 eks: Use LOT0 for identification 2020-11-15 13:43:22 +02:00
CTCaer 68d57861cd Add missing guard from some macros
Guard them for future usage, as none of these macros had a non-preset variable used with them yet.
2020-11-15 13:39:27 +02:00
CTCaer ce156ab4e7 hos: Automate some eks and bis checks 2020-10-20 11:53:28 +03:00
CTCaer 27b1f0e843 Various small fixes 2020-10-20 10:32:32 +03:00
CTCaer bf222290b8 hos: Add support for mesosphere
The change adds support for mesosphere loading from fss0 or sd (kernel=).
2020-10-17 23:18:48 +03:00
CTCaer d825be5eb2 hos: Tiny refactoring 2020-10-17 23:16:16 +03:00
Aurora Wright 216d97aada Push changes as requested 2020-10-17 21:11:21 +02:00
Aurora Wright e3421fd44e hos: Prevent sysmmc boot on emummc patch failure if emummc is forced 2020-10-14 19:37:36 +02:00
CTCaer 8f7bdd45b1 hos: Report exFAT compatible if missing FS kip hashes 2020-09-15 19:07:16 +03:00
Nichole Mattera bdb21ce3fd Added new FS patches for 10.2.0. 2020-09-15 07:26:27 -04:00
CTCaer 15b46ddb27 hos: Hold more devices in Reset for secmon launch 2020-08-15 12:31:44 +03:00
CTCaer 78c4e6510d hos: Add backup bootloader support 2020-08-15 12:30:18 +03:00
CTCaer fb7c83a66c exo: Fix exo fatal dump's header 2020-08-02 03:51:36 +03:00
CTCaer 2b7722da7d hos: Fix hold usbd in reset 2020-07-19 23:10:21 +03:00
CTCaer b8ca88ee0a exo: Change fatal names and add stack overflow 2020-07-18 12:53:05 +03:00
CTCaer 11df6030f9 Various fixes 2020-07-18 00:54:35 +03:00
CTCaer 32e58d2bb3 hw init: Cosmetic refactoring 2020-07-17 18:08:27 +03:00
CTCaer 638a3909c5 Refactor various variables and names 2020-07-17 18:00:32 +03:00
CTCaer e158d9bc00 clk: Refactor CLK devices bits 2020-07-17 16:50:17 +03:00
CTCaer 3ddd1c26ad pkg1: Fix PK11 component split in pkg1/2 dump tool 2020-07-14 23:29:48 +03:00
CTCaer ab5b59e10d Refactor fatal/hard error names 2020-07-14 22:41:48 +03:00
CTCaer ddc89c9f49 hos: Reduce size of pkg1 id array 2020-06-22 12:04:49 +03:00
CTCaer 9673d5524a hos: Fix pkg2 re-encryption for exo2 & 8.1.0/9.0.X 2020-06-20 21:31:58 +03:00
CTCaer 90ab1e5656 hos: Hold USBD in reset before booting 2020-06-15 17:33:13 +03:00
CTCaer 1369d66043 exo: Use exo new instead of fss ver for new versioning 2020-06-15 10:57:15 +03:00
CTCaer 9e48d64b27 hos: Clear secmon mailbox where appropriate 2020-06-15 10:54:52 +03:00
CTCaer 6e256d29c7 Utilize hekate's BDK for hekate main and Nyx 2020-06-14 16:45:45 +03:00
CTCaer 9489eca487 hos: Add secmon/warmboot base selection 2020-06-14 14:00:07 +03:00
CTCaer 3aa195943d hos: Add identification for hos 5.1.0 2020-06-14 13:58:03 +03:00
CTCaer 3c6c92aa9c exo: Add support for exo2 2020-06-14 13:57:11 +03:00
CTCaer c2160ae367 hos: Fix a long standing bug with kip1 patches
The kip1 patcher since its inception was checking for patches wrongly.
This would create an edge case scenario, where up to 1 patch could be skipped.
2020-06-14 13:55:41 +03:00
CTCaer d607a8830b hos: Support new sept/exo keyslots 2020-06-14 13:53:21 +03:00
CTCaer f7f99bddab hos: Remove emmc reinit for grabbing rsa modulus 2020-06-14 13:49:59 +03:00
CTCaer 4564db0b6d exo: Support new fw versioning 2020-06-14 13:49:03 +03:00
CTCaer 0a44a31f2c hos: Allow booting when kip1 patches failed
This can lead to a hanged boot if kip was corrupted or it can lead to unforeseen results if emummc or nogc patches fail and user chooses to continue.
2020-06-14 13:47:47 +03:00
CTCaer 0692e4de8d hos: Fix some keyslot bugs 2020-06-14 13:45:01 +03:00
CTCaer 92d013dd65 eks: Upgrade to new version and support BIS keys 2020-06-14 13:42:48 +03:00
CTCaer 4d8dbe068d sept: Remove support for obsolete no _00/01 suffix 2020-06-14 13:25:08 +03:00
CTCaer 1c213d73c9 hos: Remove some unneeded secmon patches 2020-06-14 02:24:18 +03:00
CTCaer 3dcd2ad15f hos: Header for pkg2 is now more proper 2020-06-14 02:23:02 +03:00
CTCaer accf226214 hos: Fix bct clear 2020-06-14 02:19:55 +03:00
CTCaer 71df1e2da1 hos: Initialize eMMC only once. Saves half second. 2020-06-14 02:13:18 +03:00
CTCaer ba77de3dc5 exo: Refactor exo_cfg context to exo_ctx 2020-06-14 01:29:41 +03:00
CTCaer 53325617bb hos: Small refactoring 2020-06-14 01:27:08 +03:00
CTCaer 8e836d958f Rename cluster to ccplex 2020-06-14 01:09:17 +03:00
CTCaer 21548545fc Equalize hekate main and Nyx sd based functions 2020-06-13 18:32:40 +03:00
Dave Murphy cc54df87d7 fixes for compiling with gcc 10
gcc 10 no longer lets you get away with not externing global variables in header files. This adds the necessary extern and adds defines in appropriate c files
2020-05-08 23:32:44 +01:00