Commit graph

1036 commits

Author SHA1 Message Date
Michael Scire 4c920dfe92 fs.mitm: Optimize out remaining O(n^2) op. BotW is very fast. 2018-06-28 23:24:08 -06:00
Michael Scire 90226ec438 fs.mitm: Fix typo. map impl takes 2-3 seconds to boot botw. 2018-06-28 23:18:35 -06:00
Michael Scire c536665fe9 fs.mitm: Use std::map for RomFS building 2018-06-28 22:40:18 -06:00
Michael Scire fb0c1b1ac7 fs.mitm: Fix debug-commented-out command 2018-06-28 20:42:27 -06:00
Michael Scire caac5f9078 fs.mitm: Simplify source merging condition thanks to padding guarantees 2018-06-28 20:41:36 -06:00
Michael Scire a95836552e fs.mitm: Use less path memory, fix source concat. (Fixes BotW, probably others) 2018-06-28 20:39:23 -06:00
Michael Scire 8da27723fc fs.mitm: Fix c++ modernization breaking changes 2018-06-27 23:02:06 -06:00
hexkyz ed718e007f
Merge pull request #156 from Benoit7413/patch-1
Replace NAND by eMMC
2018-06-26 16:33:18 +01:00
Michael Scire 6fd82b7947 creport: Add dying message to output report, if relevant. 2018-06-26 00:51:53 -06:00
Benoit7413 0f6d4baa8e
Replace NAND by eMMC
Using NAND doens't really make sense
2018-06-26 08:49:50 +02:00
Michael Scire 4eadeb021b creport: Complete crash report saving. 2018-06-26 00:44:58 -06:00
Michael Scire d5b303f852 creport: Clean up bugs, now saves (empty) reports to the SD successfully 2018-06-25 22:27:33 -06:00
Michael Scire 12236eae9e creport: Fix bad constructor for ThreadInfo 2018-06-25 20:40:33 -06:00
Michael Scire 71e87e9e35 creport: fix a bunch of trivial errors 2018-06-25 10:25:14 -06:00
Michael Scire fc36429b99 creport: fix typo in json 2018-06-25 10:23:37 -06:00
Michael Scire b8e0c2855f creport: Further Skeleton Report saving. 2018-06-25 10:22:37 -06:00
Michael Scire 92bc396972 creport: Implement reading name/build id from .rodata 2018-06-25 09:50:36 -06:00
Michael Scire f189610af8 creport: Skeleton reading of Code Regions. 2018-06-25 04:38:54 -06:00
Michael Scire fd6fa89122 creport: fix thread_list access style 2018-06-25 04:08:42 -06:00
Michael Scire d65255acb8 creport: Implement reading info about all threads. 2018-06-25 04:07:44 -06:00
Michael Scire 5268a9f9f3 creport: Implement reading a dying message 2018-06-25 03:40:32 -06:00
Michael Scire e6b7793916 creport: Parse info for crashed thread 2018-06-25 03:04:17 -06:00
Michael Scire 7cd44e8980 creport: Read exception info properly (except for crashed thread info) 2018-06-25 02:18:26 -06:00
Michael Scire 4e7fcc1a50 creport: Solidify main() logic. 2018-06-25 01:58:44 -06:00
Michael Scire 851d21a276 creport: Implement process open, stub exception parsing. 2018-06-25 01:45:25 -06:00
Michael Scire 6ffc9bd8e0 creport: Further skeleton the CrashReport object. 2018-06-25 00:42:26 -06:00
Michael Scire af4485d533 creport: Add skeleton. Doesn't actually generate reports yet. 2018-06-24 22:46:20 -06:00
Michael Scire bcf81fe957 Loader: Fix argument passing. 2018-06-24 21:39:05 -06:00
Michael Scire 9687218fbc Fusee: lfs kernel patches for 3.0.0/3.0.2 2018-06-24 16:24:22 -06:00
Michael Scire 1252c4d5e1 Fusee: Complete hashes (Thanks @Thog), lfs patches for 2.0.0 2018-06-24 15:51:29 -06:00
Michael Scire 040cfa90d3 Fusee: Add kernel patches for 1.0.0. 2018-06-24 15:20:16 -06:00
Michael Scire 284677c486 libstratosphere: Cleanup resources when doing OutSession for domains. 2018-06-24 12:39:09 -06:00
Tony Wasserka ad636f7216 Modernize C++ usage (#144)
* Stratosphere: Use modern C++ idioms in some places

* algorithms like std::for_each are used instead of raw loops

* Stratosphere: Replace more raw loops with algorithms

* Stratosphere: Add a utility predicate function to test for equality with a reference element

This can be used to rewrite some common raw loops using algorithms instead

* fs.mitm: Use variant

* fs.mitm: Use enum class

* fs.mitm: Turn RomFSSourceInfo::Cleanup into a destructor

This obsoletes the need for a custom deleter in other places

* fs.mitm: Use enum class some more

* fs.mitm: Use unique_ptr

* fs.mitm: Simplify initialization

* Stratosphere: Simplify initialization

* fs.mitm: Use unique_ptr (fix memory leak along the way)

The previous code was using "delete" rather than "delete[]"

* fs.mitm: Use vector::emplace_back rather than push_back

emplace_back constructs elements in-place, hence avoiding a redundant element copy.

* Stratosphere: Replace more raw loops with algorithms

* Stratosphere: Use unique_ptr

* fs.mitm: Replace more raw loops with algorithms

* Stratosphere: Prefer move-construction over copy-construction when moving sink parameters around
2018-06-19 11:07:31 -07:00
hexkyz f1c326aec3
Merge pull request #147 from TheDgtl/fusee_stage2_patch_fix
Fix a few issues in the secondary kernel_patches.c file
2018-06-18 16:06:01 +01:00
Drakia a446aca2c4 Fix a few issues in the secondary kernel_patches.c file 2018-06-17 19:28:19 -07:00
hexkyz fca9ed2a15
Merge pull request #145 from Traiver/master
fusee: Add 4.1.0 kernel patch definitions
2018-06-17 16:56:36 +01:00
hexkyz f32f42e791
Merge pull request #141 from DavidBuchanan314/master
fusee: Add 3.0.0/3.0.1 kernel hash, corrected 4.x free_code_space_offset
2018-06-17 16:48:41 +01:00
Traiver 33af704ee2
Update kernel_patches.c 2018-06-17 15:54:06 +02:00
Traiver 57819fa345
Update kernel_patches.c 2018-06-17 14:02:08 +02:00
Traiver 0295c8a51d
Update kernel_patches.c 2018-06-17 12:38:57 +02:00
Traiver b211a7cf05
add kernel patches for 4.1.0 2018-06-17 11:00:42 +02:00
Michael Scire f41b780c0a PM: Fix remaining issues, now works properly again. 2018-06-15 00:47:07 -06:00
Michael Scire 4d36697080 Make PM Compile. Note: Currently broken. 2018-06-14 23:32:01 -06:00
Michael Scire c2d9ac8f5c fs.mitm: WIP LayeredFS impl (NOTE: UNUSABLE ATM)
Also greatly refactors libstratosphere, and does a lot of other things.
There is a lot of code in this one.
2018-06-14 17:51:18 -06:00
DavidBuchanan314 20a721a4a6 fusee: correct 4.x free_code_space_offset value 2018-06-13 22:26:00 +01:00
DavidBuchanan314 58d2f8f0a5 fusee: Add 3.0.0-3.0.1 kernel hash (and free_code_space_offset) 2018-06-13 22:08:18 +01:00
TuxSH 82b248aeac
Merge pull request #138 from desowin/sdmmc-frequency
Rework sdmmc clocking configuration
2018-06-13 17:31:19 +02:00
Michael Scire 237ff0d1e7 libstratosphere/fs.mitm: Push WIP support for Domains. Not yet fully working. 2018-06-12 16:01:04 -06:00
Tomasz Moń 206c10f333 Rework sdmmc clocking configuration
Use 204 MHz as host clock in SDR104 mode instead of 136 MHz.
Due to this, also change the frequency init divider so the
initialization frequency is below 400 kHz.
This makes the clocks for SDMMC1 in all modes to match the TRM table.

Make it clear in the code that HS200/HS400 modes in fact use PLLP_OUT0
and not PLLC4_OUT2_LJ like the comment suggest. In fact selecting the
PLLC4_OUT2_LJ as clock source results in freeze after switching to
HS200/HS400 mode. This is most likely related to the PLLC4 not being
enabled, but it should be checked later.

Set the HS200/HS400 divider to 3, as this is what the code really did
set prior to this change - so this commit does not change that.

Configure Legacy 12 MHz clock to run at 12 MHz using the SW default
configuration (as per TRM) for the SDMMC legacy timer.

Introduce initial version of sdmmc_host_clock_delay() in order to use it
in places where the wait is host clock dependent. The way it is
implemented now does not change the sleep that was used instead.
2018-06-12 17:20:15 +02:00
Max K d8c9399cff fusee: Run periodic autocal only on the uSD controller (#137) 2018-06-10 21:09:48 -07:00