Commit graph

2465 commits

Author SHA1 Message Date
Michael Scire
73c1615cda exo2: only enforce soc device preconditions when they are guaranteed to apply 2020-06-14 22:07:45 -07:00
Michael Scire
c827c0d599 exo2: properly perform smc restriction 2020-06-14 22:07:45 -07:00
Michael Scire
d165ec7162 stratosphere: fix command availability to include minor versions 2020-06-14 22:07:45 -07:00
Michael Scire
79e4c0ef6e exo2: add security checks, full 2.0.0 support 2020-06-14 22:07:45 -07:00
Michael Scire
37d13f92a8 ams: bump to 0.13.0, add 10.0.4 recognition 2020-06-14 22:07:45 -07:00
Michael Scire
1047ceab98 exo2/fusee: full 1.0.0 support. 2020-06-14 22:07:45 -07:00
Michael Scire
597bdded69 fusee/exo2: more fixes to boot lower firmwares 2020-06-14 22:07:45 -07:00
Michael Scire
47512cc8a2 fusee: always use the exo2 (modern tz) key layout 2020-06-14 22:07:45 -07:00
Michael Scire
6780b096ca exo2: address volca review commentary 2020-06-14 22:07:45 -07:00
Michael Scire
da4107996a exo2: first pass at backwards-compat 2020-06-14 22:07:45 -07:00
Michael Scire
42f1a3bf60 exo2: rename exosphere2 -> exosphere 2020-06-14 22:07:45 -07:00
Michael Scire
282f8f6612 ams: delete exo1 2020-06-14 22:07:45 -07:00
Michael Scire
c75e61a40b fusee: switch to use exo2 instead of exo1 2020-06-14 22:07:45 -07:00
Michael Scire
293c213bf2 exo2: implement warmboot firmware 2020-06-14 22:07:45 -07:00
Michael Scire
ff87ff2592 emummc: update for exo2 2020-06-14 22:07:45 -07:00
Michael Scire
f82954e98b git subrepo clone --force --branch=exo2 https://github.com/m4xw/emummc
subrepo:
  subdir:   "emummc"
  merged:   "3791be9f"
upstream:
  origin:   "https://github.com/m4xw/emummc"
  branch:   "exo2"
  commit:   "3791be9f"
git-subrepo:
  version:  "0.4.1"
  origin:   "???"
  commit:   "???"
2020-06-14 22:07:45 -07:00
Michael Scire
6c145d76c7 exo2: implement SmcIramCopy/reboot to payload/rcm 2020-06-14 22:07:45 -07:00
Michael Scire
bb6671a94a exo2: implement SmcReencryptDeviceUniqueData 2020-06-14 22:07:45 -07:00
Michael Scire
95d38a1a94 exo2: suspend fixes (sleep/wake now works on hardware) 2020-06-14 22:07:45 -07:00
Michael Scire
2fb363dcf0 exo2: implement the rest of cpu suspend (security checks TODO) 2020-06-14 22:07:45 -07:00
Michael Scire
34098f7215 exo2: add sc7fw load, skeleton rest of suspend 2020-06-14 22:07:45 -07:00
Michael Scire
0202a95832 exo2: implement the first half of SmcCpuSuspend 2020-06-14 22:07:45 -07:00
Michael Scire
e1835d9ba2 exo2: correct exception stack calc (fixes smc cpu off) 2020-06-14 22:07:45 -07:00
Michael Scire
068c25ce66 exo2: add a number of minor configuration fixes 2020-06-14 22:07:45 -07:00
Michael Scire
8e401f4daa exo2: implement smc cpu off 2020-06-14 22:07:45 -07:00
Michael Scire
8a4019151b exo2: implement SmcModularExponentiate(ByStorageKey) 2020-06-14 22:07:45 -07:00
Michael Scire
ccba70abfe exo2: implement SmcPrepareEsDeviceUniqueKey, SmcPrepareEsCommonTitleKey, SmcLoadPreparedAesKey 2020-06-14 22:07:45 -07:00
Michael Scire
985e97cf78 exo2: implement SmcGetEmummcConfig 2020-06-14 22:07:45 -07:00
Michael Scire
36754e2c38 exo2: implement the atmosphere extension mappers 2020-06-14 22:07:45 -07:00
Michael Scire
1e0124fb67 exo2: fix bugs in device unique data decrypytion 2020-06-14 22:07:45 -07:00
Michael Scire
b922dff414 exo2: tweak debug for better logging 2020-06-14 22:07:45 -07:00
Michael Scire
1fb9407d5d fusee/sept: changes for exo2 (note: not final) 2020-06-14 22:07:45 -07:00
Michael Scire
91e0bbd9d7 exo2: Implement (untested) SmcDecryptDeviceUniqueData 2020-06-14 22:07:45 -07:00
Michael Scire
4fe42eb997 exo2: implement some mariko TODOs 2020-06-14 22:07:45 -07:00
Michael Scire
99e0448f30 exo2: cache soc type/hardware type for quick lookup 2020-06-14 22:07:45 -07:00
Michael Scire
a0b08d0540 exo2: fix bugs in Cmac and DeviceId calculation 2020-06-14 22:07:45 -07:00
Michael Scire
bb3a8a888f exo2: fix a number of bugs, add temp debug-log code 2020-06-14 22:07:45 -07:00
Michael Scire
aa50944568 exo2: tentative (read: bugged) SmcComputeCmac, SmcGenerateSpecificAesKey, SmcGetSecureData 2020-06-14 22:07:45 -07:00
Michael Scire
e0dbfc69a8 exo2: implement SmcComputeAes, SmcGetResult, SmcGetResultData 2020-06-14 22:07:45 -07:00
Michael Scire
b6b114ec40 exo2: implement SmcSetKernelCarveoutRegion 2020-06-14 22:07:45 -07:00
Michael Scire
bf546d5fb3 exo2: implement SmcGenerateAesKek, SmcLoadAesKey 2020-06-14 22:07:45 -07:00
Michael Scire
864b6085a8 exo2: fix bugs in non-core0 bootup 2020-06-14 22:07:45 -07:00
Michael Scire
fa64bf4951 exo2: implement GenerateRandomBytes 2020-06-14 22:07:45 -07:00
Michael Scire
6bf283ec2e exo2: implement SmcGetConfig 2020-06-14 22:07:45 -07:00
Michael Scire
e3eadcd2e3 exo2: Implement SmcReadWriteRegister 2020-06-14 22:07:45 -07:00
Michael Scire
8c4c1db506 exo2: minor fixes, now completes main and receives SMCs on hw 2020-06-14 22:07:45 -07:00
Michael Scire
27843314a4 exo2: minor stack/mmu fixes, now gets to main on hw 2020-06-14 22:07:45 -07:00
Michael Scire
1fdd83628e exo2: fix typo bug 2020-06-14 22:07:45 -07:00
Michael Scire
3d6baf96a3 exo2: implement SmcPowerCpuOn 2020-06-14 22:07:45 -07:00
Michael Scire
ab703646d5 exo2: by default, map end of iram for debug 2020-06-14 22:07:45 -07:00