Commit graph

3324 commits

Author SHA1 Message Date
Michael Scire
d6e3a2f8c3 fusee_cpp: emummc implies decompressed text segment 2021-09-03 00:43:34 -07:00
Michael Scire
891f93f9d7 fusee_cpp: implement ips patching of kips 2021-09-03 00:40:26 -07:00
Michael Scire
50bd57449d fusee_cpp: implement nogc patches 2021-09-02 23:45:51 -07:00
Michael Scire
6856cba00d fusee_cpp: implement KIP selection 2021-09-02 20:40:15 -07:00
Michael Scire
38ed1743b8 fusee_cpp: we're over the size limit with mtc in nv-text 2021-09-01 23:51:51 -07:00
Michael Scire
3e67ebb025 fusee_cpp: only check pk11 header2 on mariko (thanks @slp32) 2021-09-01 23:16:40 -07:00
Michael Scire
6a33485623 fusee_cpp: import mariko mtc 2021-09-01 23:15:49 -07:00
Michael Scire
cdfb67eeb0 fusee_cpp: begin mariko mtc work 2021-09-01 19:06:46 -07:00
Michael Scire
b19fb5cbf4 fusee_cpp: move mtc code/used-tables to nv memory (needed for mariko downtrain fix) 2021-09-01 18:25:36 -07:00
Michael Scire
42f3514c60 fusee_cpp: implement cpu startup 2021-09-01 18:11:14 -07:00
Michael Scire
c4be88794d fusee_cpp: fix some careless search/replace mistakes 2021-09-01 14:08:39 -07:00
Michael Scire
c79e91f48c fusee_cpp: implement exosphere load/configuration 2021-09-01 14:05:39 -07:00
Michael Scire
ff28d8836d fusee_cpp: implement warmboot firmware load 2021-09-01 10:37:01 -07:00
Michael Scire
4b3e4664dc fusee_cpp: implement read/decryption of package2 2021-09-01 00:50:52 -07:00
Michael Scire
3bcd629e76 fusee_cpp: list remaining tasks for setup 2021-09-01 00:16:53 -07:00
Michael Scire
042f260047 fusee_cpp: implement target firmware detection 2021-08-31 23:17:40 -07:00
Michael Scire
fc89e3a593 fusee_cpp: implement emummc/system partition mounting 2021-08-31 22:51:51 -07:00
Michael Scire
1e2949149a fusee: implement parsing for emummc.ini 2021-08-31 16:50:31 -07:00
Michael Scire
cf86abf30c fusee_cpp: implement all required key derivation 2021-08-31 16:50:31 -07:00
Michael Scire
c3de7b4eee fusee_cpp: implement tsec_keygen firmware execution 2021-08-31 16:50:31 -07:00
Michael Scire
b3fdf36275 fusee_cpp: skeleton the remaining code flow 2021-08-31 16:50:31 -07:00
Michael Scire
718031d210 fusee_cpp: import full erista mtc logic 2021-08-31 16:50:31 -07:00
Michael Scire
4f2811e2c8 fusee_cpp: implement mtc erista patram writes 2021-08-31 16:50:31 -07:00
Michael Scire
6f260a0068 fusee_cpp: implement erista pll selection logic for mtc 2021-08-31 16:50:31 -07:00
Michael Scire
15e185d3cb fusee_cpp: implement inline storage of EmcDvfsTimingTables 2021-08-31 16:50:30 -07:00
Michael Scire
4d18e67713 fusee_cpp: add logic for loading mtc overlays 2021-08-31 16:50:30 -07:00
Michael Scire
44a9330502 fusee_cpp: implement bpmp overclock 2021-08-31 16:50:30 -07:00
Michael Scire
ad64043db4 fusee_cpp: Implement fatal display, reading of fusee-secondary 2021-08-31 16:50:30 -07:00
Michael Scire
e7e596049f fusee_cpp: Add display init/fatal error display logic 2021-08-31 16:50:30 -07:00
Michael Scire
dedf83e754 fusee_cpp: cache cleanup, confirmed working on hardware 2021-08-31 16:50:30 -07:00
Michael Scire
9460bd3094 fusee_cpp: implement bpmp cache driver 2021-08-31 16:50:30 -07:00
Michael Scire
fe02278069 fusee_cpp: implement sd card init 2021-08-31 16:50:29 -07:00
Michael Scire
749265f905 fusee_cpp: implement sdram lp0 scratch param save 2021-08-31 16:50:29 -07:00
Michael Scire
97f56fdd25 fusee-cpp: minor fixes (thanks @hexkyz) 2021-08-31 16:50:29 -07:00
Michael Scire
d06d705dfa fusee_cpp: implement SDRAM initialization 2021-08-31 16:50:29 -07:00
Michael Scire
697303e1a2 fusee_cpp: tweaks, now completes SecureInitialize on hardware 2021-08-31 16:50:29 -07:00
Michael Scire
015b810c03 fusee-cpp: a little more init in SecureInitialize 2021-08-31 16:50:29 -07:00
Michael Scire
3989f44713 fusee-cpp: finish SecureInitialize 2021-08-31 16:50:29 -07:00
Michael Scire
4f930505bc fusee-cpp: implement SecureInitialize besides InitializeClock() 2021-08-31 16:50:29 -07:00
Michael Scire
d046225a65 fusee-cpp: sketch out remainder of secure initialize 2021-08-31 16:50:29 -07:00
Michael Scire
89b3d8c332 fusee-cpp: Implement mbist workaround 2021-08-31 16:50:29 -07:00
Michael Scire
0b76a6ae6d fusee-cpp: setup exception handlers during crt0 2021-08-31 16:50:28 -07:00
Michael Scire
f5ed221a21 fusee-cpp: add basic structural stubs 2021-08-31 16:50:28 -07:00
Michael Scire
165c926135 ams: bump version to 0.20.1 2021-08-30 07:32:35 -07:00
Michael Scire
d43bc68d0b fusee: fix MSELECT clkrst values 2021-08-30 07:24:36 -07:00
Michael Scire
c5edb031fa fusee: restore DRAM to 204MHz before starting main cpu on Mariko (closes #1600).
Nintendo's Mariko tables result in trained frequency of 1599999 instead of 1600000.

PCV checks for rate == 1600000 exactly, when doing EMC init.

Thus EMC init does not succeed if we are trained to 1600000.

PCV has a fudge factor of 1000 used in SetEmcDvfsFreq, but this is not used in InitEmcDvfs.

This failure means that PCV cannot change rate back to 204MHz before sleep, and then after
wake extremely degraded performance is observed.

Restoring DRAM to 204MHz before boot causes EMC init to succeed/fixes performance degradation.
2021-08-30 07:19:28 -07:00
Michael Scire
1f065e3bac git subrepo push libraries
subrepo:
  subdir:   "libraries"
  merged:   "87a1de0b"
upstream:
  origin:   "https://github.com/Atmosphere-NX/Atmosphere-libs"
  branch:   "master"
  commit:   "87a1de0b"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2021-08-20 13:34:30 -07:00
Michael Scire
9296a56303 ams: bump to 0.2.0
NOTE: Release will not occur until hekate is ready to handle new sept-less release format.
2021-08-20 13:31:59 -07:00
Michael Scire
481b209ae8 docs: wipe sept from the docs 2021-08-20 13:17:11 -07:00
SciresM
17ca463c3f
ams: replace sept with tsec firmware (#1594)
* ams: replace sept with tsec firmware

This replaces sept with a custom tsec key derivation firmware.

NOTE: This does not use any TSEC exploits whatsoever; it is a well-signed
TSEC binary assembled with envyas and signed with the real cauth key.

For more details, contact SciresM#0524.

* fusee: only set SBK if it's readable
2021-08-20 13:13:29 -07:00