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
CTCaer
822e0dcd98
Various small fixes
2020-05-05 19:11:39 +03:00
CTCaer
c7ab404fc1
exo: Fix prodinfo blanking overriding
2020-05-05 18:58:53 +03:00
CTCaer
da8c040c08
hos: Fix exosphere.ini parsing
2020-05-01 20:30:17 +03:00
CTCaer
9850dc305c
sept: Make parsing more readable
2020-04-30 16:34:24 +03:00
CTCaer
2094ac2bba
exo: Add exosphere.ini support and cal0 blanking
...
exosphere.ini will always be loaded and the values set by it.
User can still choose to override them with the `cal0blank` and `cal0writesys` in a boot entry.
Override keys get a 0 or 1.
2020-04-30 16:21:38 +03:00
CTCaer
f9b0ff70f7
hos: Disallow Auto NOGC for stock
...
If you still want to use it, you must use `kip1patch=nogc` in your boot entry to force it.
2020-04-30 16:15:49 +03:00
CTCaer
7e96a4dd3a
nyx: Keep last close button to a var
2020-04-30 04:25:51 +03:00
CTCaer
c2e8d51115
hos: Add EKS
2020-04-30 03:43:29 +03:00
CTCaer
8c762c52e2
Various fixes and whitespace removal
2020-04-30 03:25:22 +03:00
CTCaer
034f680a8e
sd fs: Move sd init/mount/helpers to their own object
2020-04-29 23:20:18 +03:00
CTCaer
5442547a59
sdmmc v2: Name eMMC physical partitions
2020-04-29 22:06:33 +03:00
CTCaer
5b0a0070c7
sdmmc v2: Refactor everything
2020-04-29 18:53:29 +03:00
CTCaer
cadb95e3ce
hos: Add emummcforce key
...
This disallows booting if emummc.ini is missing or emuMMC is disabled. Useful when sysmmc must be avoided at all cases.
2020-04-27 09:44:06 +03:00
CTCaer
f148757110
hos: Disallow booting CFW if normal FS and exFAT sd
...
This will stop black screens when user boots CFW with an exFAT sd card and without having the exFAT microupdate.
2020-04-27 09:41:13 +03:00
CTCaer
6e538cd291
hos: Improve kip patching
...
Allows more kip names to be added. To use it on them you will need to dump the kips via the Dump pkg1/2 function and then sha256 to get the hash.
The name must be used as is, otherwise the name compare will fail.
Because of that, also allow unordered parsing and gluing.
2020-04-27 09:38:09 +03:00
CTCaer
62a73ee612
ini: Always clear the section allocations
2020-04-27 09:33:21 +03:00
CTCaer
281e5a138e
sept: Create sept folder if missing
2020-04-14 17:45:34 +03:00
CTCaer
e7f8b2c6c2
hos: Add HOS 10.0.0 support
2020-04-14 17:43:43 +03:00
CTCaer
3d9c64d548
hos: Use a new method to get kernel/ini1 offsets
2020-04-14 17:40:41 +03:00
CTCaer
a8db070755
fss: Fix launching CFW on sys for < 7.0.0
2020-03-21 13:15:24 +02:00
CTCaer
f5040f1e41
Update and add missing copyrights
...
Probably more need to change.
2020-03-14 09:24:24 +02:00
CTCaer
8b74c487eb
exo: Add support for fatal version AFE2
2020-03-09 09:09:25 +02:00
CTCaer
8abda7f259
fss0: Support experimental content
...
Use key `fss0experimental=1` in a boot entry with `fss0=` defined to enable experimental content.
(Older versions of hekate will just skip any experimental content.)
2020-03-09 08:58:12 +02:00
CTCaer
03a8a11933
Small fixes and changes
...
- Allow printing of more log on HOS boot when LOGS are OFF.
- A small name refactoring
- Add battery warning symbol when battery < 3200mV
2020-03-03 04:11:13 +02:00
CTCaer
c474e35732
hos: 9.2.0 support
2020-03-03 03:32:45 +02:00
CTCaer
4c1f67d022
Fix build errors
2020-01-19 15:22:59 +02:00
CTCaer
5a9bbaf900
fss0: Fix parsing Sept from fusee-secondary
2020-01-17 09:27:53 +02:00
CTCaer
01a767cbfa
fss0: Fix heap corruption when sept is loaded from fss
2020-01-17 09:26:13 +02:00
CTCaer
8584493c7f
sept: Add support for loading sept from fss0
...
If `fss0=` key is detected, sept will be loaded from fusee-secondary.bin instead of `sept/sept_*`.
This will negate missing sept and failed to decrypt pkg2 errors, when booting HOS, for users that forget to update sept folder.
2019-12-16 00:53:22 +02:00
CTCaer
9b2d906648
hos: Add message for possible cause of unk pkg1
2019-12-14 22:43:00 +02:00
CTCaer
a664118fc7
r2p: Update r2p payload
...
2 modes:
- With updater2p; Forces the reboot to payload binary to be hekate
- Without; Checks if hekate and then if old
2019-12-12 00:13:32 +02:00
CTCaer
24d30a40f9
hos: Add Atmosphere's system mem increase patches
2019-12-10 19:20:02 +02:00
CTCaer
4c5a78de6f
hos: Fix pkg2 keygen with newer sept
...
This change also adds support for older sept binaries.
2019-12-08 18:32:09 +02:00
CTCaer
97d3b745d9
exo: Add support for user access to PMU flag
2019-12-08 03:02:17 +02:00
CTCaer
c12c696e53
hos: Add 9.1.0 support
2019-12-08 03:01:21 +02:00
CTCaer
641a57a4f6
hos/mtc: Add FSP WAR and boost HOS booting times
...
By implementing FSP WAR we can allow HOS to boot in 1600MHz and be able to switch frequency without hanging.
2019-12-04 21:59:58 +02:00
CTCaer
9476e0ab45
kip patches: Allow double defined patchset names
...
This fixes an issue when NOGC patch was defined 2 times when user wants it forced via `kip1patch=nogc` and AutoNOGC was also procced via fuses.
2019-12-04 18:48:00 +02:00
CTCaer
ccf36fd2cb
ext kip patches: Disallow empty patches
...
Allow the patch loop to end via empty source data as per original spec and error out on 0 length if source data is not null.
emuMMC force decompression patch safely avoids that.
2019-12-04 18:44:59 +02:00
CTCaer
9a082c1b18
hos: Improve errors more for HOS launch
2019-12-04 17:46:12 +02:00
CTCaer
2c1da3a97d
se: Upgrade SE and allow SHA calc continue
...
- Allow SHA to calculate sizes > 16MB and refactor sha function
- Name various registers and magic numbers
- Fix various key access bugs
In a later commit this new design will boost verification times significantly and also allow full SHA256 hashes.
2019-12-04 17:18:16 +02:00
CTCaer
29a51124fd
Simplify string ops with already compiled-in functions
2019-12-04 15:56:53 +02:00
Kostas Missos
598073e50c
ext patches: Remove patches_template.ini load
...
Remove patches_template.ini load.
- It has useless patches, which some times, users confuse them for "bad" patches, even though they aren't.
- No one reads on how it works and it's constantly mishandled when there's no patches.ini (which completely overrides it).
- It was not supposed to be edited.
Also release will not include it anymore.
Template will still exist for demonstrating the syntax of `patches.ini`
This commit also corrects the patches.ini encoding note as ASCII.
2019-10-31 16:26:46 +02:00
Kostas Missos
7c42f72b8a
refactor: Remove all unwanted whitespace
2019-10-18 18:02:06 +03:00
CTCaer
9104b85143
hos: Improve boot error display
2019-10-09 00:42:13 +03:00
CTCaer
6a261e356f
hos: Update NOGC for LAFW v3
...
And also add emuMMC reverse protection by disabling GC when 9.0.0 fuses are burnt and emuMMC is lower than this.
This avoids fatals on boot.
2019-09-12 23:53:46 +03:00
CTCaer
e24bb44adf
hos: Add full 9.0.0 support
2019-09-12 23:41:08 +03:00
CTCaer
40afcfd686
hos: Support pkg2 encrypted with newer mkeys
2019-09-12 23:39:47 +03:00
CTCaer
658c3c112f
hos: automatically find new kernel ini1 offset
2019-09-12 23:37:00 +03:00
CTCaer
3b16b086f8
pkg2: Remove duplicate patches
2019-09-12 23:29:25 +03:00
CTCaer
4dcb2c6343
autoboot: Allow critical info to be shown
...
This is part of the big refactoring which had all HOS fatal errors.
2019-09-12 23:22:42 +03:00
CTCaer
8cef81c901
nyx: Fix some inconsistencies with transparency
2019-09-12 23:20:38 +03:00
CTCaer
a8d529cf6a
Refactoring and comment adding
2019-09-12 23:08:38 +03:00
Kostas Missos
b74b449601
hos: Add exosphere no user exceptions handle cfg
2019-09-09 17:00:13 +03:00
Kostas Missos
718e502983
Add more register names + refactoring
2019-09-09 16:56:37 +03:00
CTCaer
02826dd9a6
sdmmc: Streamline power cycle wait for Sandisks U1
2019-08-28 02:39:43 +03:00
CTCaer
565956482a
hos: Fix SaltyNX on emuMMC
...
This actually fixes the send process id patch that SaltyNX depends on.
Why it only breaks on emuMMC is unknown.
2019-08-28 01:55:19 +03:00
CTCaer
3472e7e7fb
Various bugfixes
2019-08-28 01:08:57 +03:00
ctcaer@gmail.com
c40c125462
[emuMMC] Disable stock emuMMC unti it's fixed
2019-07-06 22:30:22 +03:00
ctcaer@gmail.com
18a29c641c
[HOS] Easier kip patching update from release
...
Kip patches will be loaded from patches.ini.
If that's not found, then patches_template.ini will be used.
2019-07-06 22:18:32 +03:00
ctcaer@gmail.com
0862cb1e7e
[HOS] Fixed 6.0.x/6.1.0 stock
2019-07-06 22:16:42 +03:00
ctcaer@gmail.com
f26cfac10d
[HOS] Add CFW custom keygen for 6.2.0
2019-07-06 22:10:23 +03:00
ctcaer@gmail.com
08b84384a6
Bugfixes and cleanup
2019-07-06 22:08:37 +03:00
ctcaer@gmail.com
a1a0d8db49
[Exo] Add support for new panic format
2019-06-30 03:55:52 +03:00
ctcaer@gmail.com
03872e814a
[Nyx] Prep hekate main for nyx
2019-06-30 03:55:19 +03:00
ctcaer@gmail.com
52478833de
[MTC] Utilize Minerva Training Cell
2019-06-30 03:49:33 +03:00
ctcaer@gmail.com
ba0f29bc5c
[PKG2] Add external kip1 patches support via .ini
...
The format is described in patches.ini.
For now it only supports the kips defined in hekate's code.
Next versions will add support for defining other kips.
2019-06-30 03:45:18 +03:00
ctcaer@gmail.com
f3dcfab095
More bugfixes
2019-06-30 03:40:37 +03:00
ctcaer@gmail.com
12f8f055eb
[HOS] Add 8.1.0 support
2019-06-30 03:29:46 +03:00
ctcaer@gmail.com
bd7f572989
[emuMMC] Add support
2019-06-30 03:24:58 +03:00
ctcaer@gmail.com
8101fd3f7f
Various bugfixes
2019-06-30 03:15:46 +03:00
ctcaer@gmail.com
072bbcabf4
[HOS] Use sha256 for kernel hashing
2019-04-23 18:17:55 +03:00
ctcaer@gmail.com
7c877c5bce
[HOS] Normalize new pkg2 identification
2019-04-23 03:41:07 +03:00
ctcaer@gmail.com
6aa1bdd1c6
[HOS] Fix pk2 decr after running 2nd time on 7.x+
...
This could happen after a pkg1/2 dump or a failed hos launch.
The 2nd time a dump or launch would be attempted, it would fail.
2019-04-23 03:38:35 +03:00
ctcaer@gmail.com
fd0dc04953
[HOS] Add full 8.0.0 support
...
Additionally, allow pkg1 to be dumped if unknown fw version.
2019-04-21 17:37:12 +03:00
ctcaer@gmail.com
8eb5ee867d
[GFX] Finish ctxt global usage
...
Plus:
- Some whitespace fixes
- Allow UHS bus to reach max 102MB/s from 81.6MB/s
2019-04-21 17:33:39 +03:00
ctcaer@gmail.com
07fe94b6d4
[exo] Add exosphere panic report save to sd
2019-04-14 04:24:37 +03:00
ctcaer@gmail.com
b0af57f98a
[GFX] Refactor gfx to utilize global contexts
2019-04-14 02:30:14 +03:00
ctcaer@gmail.com
5ba4848571
Various bugfixes
...
- Add error msg for what fails in a particular ini boot entry
- Fix wrongly defined s8 type
- Change raw fuse dump to correct size
2019-04-14 02:19:04 +03:00
ctcaer@gmail.com
961768e14e
[sd tools] Utilize sd_file_read better
...
Additionally fix a long standing fread/fwrite bug, via a FatFS fix.
(Doesn't affect Tegra arch though)
2019-03-16 23:35:43 +02:00
Kostas Missos
14c50ed7f8
[Stock] Add cleaner stock
...
[Stock]
fss0={sd path}
stock=1
Can now work for both older and new HOS versions.
- <= 6.2.0 loads nothing and removes kernel patching.
- >= 7.0.0 loads exo, wb and removes kernel patching.
This requires that fss0 {sd path} is valid. Otherwise it will fail on ini cfg parsing.
If <= 6.2.0 and no FSS0
[Stock]
stock=1
will provide a cleaner stock with no kernel patching.
2019-03-09 20:49:00 +02:00
Kostas Missos
f139f9c56f
[FSS0] Add Fusee secondary storage parser
...
Using "fss0={sd path}" allows you to parse kips, exosphere and warmboot from a fusee secondary binary.
Exosphere and warmboot are overridable if these entries are defined after that.
Additionally any extra kip can be loaded as before via
kip1={sd path}/* for many
or
kip1={sd path} for a sigle one
Warning: Don't double load core kips like loader, pm, sm and ams_mitm. The result will be a hang.
2019-03-08 01:14:43 +02:00
Kostas Missos
0ddc1c71a8
Bugfixes and hardcoded naming
...
- Make debugmode for exosphere mandatory
- Support dev RSA modulus for warmboot
- Fix a critical bug where it allowed free() to be used on a non-heap address.
- Better the makefile
2019-03-08 00:19:04 +02:00
Kostas Missos
4e7c39d6a0
[Logos] Optimize logos and save ~7KB
...
Additionally stop unneeded frees of menu logo to increase redrwaing performance.
2019-03-08 00:08:39 +02:00
Kostas Missos
72a81e7c2a
[gfx] Make gfx context and macros global
2019-03-08 00:02:37 +02:00
Kostas Missos
2e9a89aa20
[Versioning] Better and smarter for update and sept
...
- Still compatible with old hekate.
- Allows for hotfix control
- Sept is now copied from actual running payload, negating the need to check update.bin
- If a foreign payload is found in sept then it is renamed and hekate copies itself. After sept run, it renames it back and continues with boot.
2019-03-07 23:53:58 +02:00
Kostas Missos
ca68818efe
[Boot cfg] Proper usage of storage and structs
2019-03-07 23:41:07 +02:00
Kostas Missos
f911fab9f2
[7.0.0-7.0.1] Add full support via Atmosphere's sept
2019-02-24 03:03:17 +02:00