Commit Graph

41 Commits

Author SHA1 Message Date
Michael Scire
178deebf24 exo: fixes, now tested working on mariko hardware 2020-08-01 15:30:55 -07:00
Michael Scire
3d529522d3 exo: add mariko spare reg write during setup 2020-08-01 15:30:54 -07:00
Michael Scire
8f2c7eef54 exo: implement mariko fuse driver 2020-08-01 15:30:53 -07:00
Michael Scire
7de919f3df exo: implement remaining SE changes for mariko support 2020-08-01 15:30:52 -07:00
Michael Scire
1f252dfa43 exo: implement mariko se/tzram context save 2020-08-01 15:30:52 -07:00
Michael Scire
1e0ca0e9cc fusee/exo: correct device key management for newer consoles (closes #1053) 2020-06-28 19:41:11 -07:00
Michael Scire
a27e9f1595 exo: amend pk21 restrictions 2020-06-14 22:54:09 -07:00
Michael Scire
000e845cd2 exo2: add security checks, full 2.0.0 support 2020-06-14 22:54:08 -07:00
Michael Scire
339dd49c20 exo2: address volca review commentary 2020-06-14 22:54:07 -07:00
Michael Scire
1674d4d220 exo2: implement warmboot firmware 2020-06-14 22:54:06 -07:00
Michael Scire
46983d7b6f exo2: implement SmcIramCopy/reboot to payload/rcm 2020-06-14 22:54:05 -07:00
Michael Scire
3d96ce7512 exo2: implement SmcReencryptDeviceUniqueData 2020-06-14 22:54:04 -07:00
Michael Scire
43569123cd exo2: suspend fixes (sleep/wake now works on hardware) 2020-06-14 22:54:04 -07:00
Michael Scire
4ba07f80f8 exo2: implement the rest of cpu suspend (security checks TODO) 2020-06-14 22:54:04 -07:00
Michael Scire
72a7b840d3 exo2: add sc7fw load, skeleton rest of suspend 2020-06-14 22:54:04 -07:00
Michael Scire
b8ae1b1799 exo2: implement the first half of SmcCpuSuspend 2020-06-14 22:54:03 -07:00
Michael Scire
e9100b287d exo2: add a number of minor configuration fixes 2020-06-14 22:54:03 -07:00
Michael Scire
b3819a1e29 exo2: implement smc cpu off 2020-06-14 22:54:03 -07:00
Michael Scire
810419f2da exo2: implement SmcPrepareEsDeviceUniqueKey, SmcPrepareEsCommonTitleKey, SmcLoadPreparedAesKey 2020-06-14 22:54:02 -07:00
Michael Scire
7561db5ed2 exo2: Implement (untested) SmcDecryptDeviceUniqueData 2020-06-14 22:54:01 -07:00
Michael Scire
ec2ec1feef exo2: implement some mariko TODOs 2020-06-14 22:54:00 -07:00
Michael Scire
68398407e0 exo2: cache soc type/hardware type for quick lookup 2020-06-14 22:54:00 -07:00
Michael Scire
60416d1439 exo2: fix bugs in Cmac and DeviceId calculation 2020-06-14 22:54:00 -07:00
Michael Scire
49fc2acc9f exo2: tentative (read: bugged) SmcComputeCmac, SmcGenerateSpecificAesKey, SmcGetSecureData 2020-06-14 22:53:59 -07:00
Michael Scire
8b80e0ec23 exo2: implement SmcComputeAes, SmcGetResult, SmcGetResultData 2020-06-14 22:53:59 -07:00
Michael Scire
10f12f49e7 exo2: implement SmcGenerateAesKek, SmcLoadAesKey 2020-06-14 22:53:58 -07:00
Michael Scire
94a8be89ac exo2: implement SmcGetConfig 2020-06-14 22:53:58 -07:00
Michael Scire
9819c15c5b exo2: Implement SmcReadWriteRegister 2020-06-14 22:53:57 -07:00
Michael Scire
13ee5bab6a exo2: minor fixes, now completes main and receives SMCs on hw 2020-06-14 22:53:57 -07:00
Michael Scire
9251c28a34 exo2: minor stack/mmu fixes, now gets to main on hw 2020-06-14 22:53:57 -07:00
Michael Scire
35503a36d7 exo2: implement SmcPowerCpuOn 2020-06-14 22:53:56 -07:00
Michael Scire
eb348f7da2 exo2: by default, map end of iram for debug 2020-06-14 22:53:56 -07:00
Michael Scire
43a1908de7 exo2: reorganize to save >0x300 bytes and 0x100 of stack in main 2020-06-14 22:53:55 -07:00
Michael Scire
ffb3493ab5 exo2: implement remainder of warmboot tz code 2020-06-14 22:53:55 -07:00
Michael Scire
6b7954ad58 exo2: Implement the rest of main/return-to-el1 2020-06-14 22:53:54 -07:00
Michael Scire
f47147653e exo2: implement rest of main other than SetupSocProtections 2020-06-14 22:53:54 -07:00
Michael Scire
91bcead046 exo2: implement through package2 decryption 2020-06-14 22:53:54 -07:00
Michael Scire
cf923dc0fe exo2: implement main through sync-for-pk21-load 2020-06-14 22:53:54 -07:00
Michael Scire
eb2595ed6c exo2: implement through boot config load/validate 2020-06-14 22:53:53 -07:00
Michael Scire
314b423ddc exo2: implement through end of random cache init 2020-06-14 22:53:53 -07:00
Michael Scire
bc653fa855 exo2: Initial work on the exosphere rewrite.
exo2: Implement uncompressor stub and boot code up to Main().

exo2: implement some more init (uart/gic)

exo2: implement more of init

exo2: improve reg api, add keyslot flag setters

exo2: implement se aes decryption/enc

exo2: fix bugs in loader stub/mmu mappings

exo2: start skeletoning bootconfig/global context types

arch: fix makefile flags

exo2: implement through master key derivation

exo2: implement device master keygen

exo2: more init through start of SetupSocSecurity

exo2: implement pmc secure scratch management

se: implement sticky bit validation

libexosphere: fix building for arm32

libexo: fix makefile flags

libexo: support building for arm64/arm

sc7fw: skeleton binary

sc7fw: skeleton a little more

sc7fw: implement all non-dram functionality

exo2: fix DivideUp error

sc7fw: implement more dram code, fix reg library errors

sc7fw: complete sc7fw impl.

exo2: skeleton the rest of SetupSocSecurity

exo2: implement fiq interrupt handler

exo2: implement all exception handlers

exo2: skeleton the entire smc api, implement the svc invoker

exo2: implement rest of SetupSocSecurity

exo2: correct slave security errors

exo2: fix register definition

exo2: minor fixes
2020-06-14 22:53:53 -07:00