Michael Scire
72f83ea43e
exo: reserve a portion of iram for secure monitor debug (including code)
2020-11-14 11:11:41 -08:00
Michael Scire
e5bf06254a
boot: add rgltr/clkrst overrides, skel I2cBusAccessor
2020-11-14 03:37:51 -08:00
SciresM
166318ba77
sdmmc: implement driver suitable for fs + bootloader
...
* sdmmc: begin skeletoning sdmmc driver
* sdmmc: add most of SdHostStandardController
* sdmmc: implement most of SdmmcController
* sdmmc: Sdmmc2Controller
* sdmmc: skeleton implementation of Sdmmc1Controller
* sdmmc: complete abstract logic for Sdmmc1 power controller
* sdmmc: implement gpio handling for sdmmc1-register-control
* sdmmc: implement pinmux handling for sdmmc1-register-control
* sdmmc: fix building for arm32 and in stratosphere context
* sdmmc: implement voltage enable/set for sdmmc1-register-control
* util: move T(V)SNPrintf from kernel to util
* sdmmc: implement BaseDeviceAccessor
* sdmmc: implement MmcDeviceAccessor
* sdmmc: implement clock reset controller for register api
* sdmmc: fix bug in WaitWhileCommandInhibit, add mmc accessors
* exo: add sdmmc test program
* sdmmc: fix speed mode extension, add CheckMmcConnection for debug
* sdmmc: add DeviceDetector, gpio: implement client api
* gpio: modernize client api instead of doing it the lazy way
* sdmmc: SdCardDeviceAccessor impl
* sdmmc: update test program to read first two sectors of sd card
* sdmmc: fix vref sel
* sdmmc: finish outward-facing api (untested)
* ams: changes for libvapours including tegra register defs
* sdmmc: remove hwinit
2020-10-30 11:54:30 -07:00
Michael Scire
cd62d83586
fusee: fix sleep/wake on 6.x
2020-09-07 10:43:35 -07:00
Michael Scire
e435f56367
exo: build with -Wextra
2020-08-17 14:39:18 -07:00
Michael Scire
51b5c3d87d
ams: avoid UB infinite loops
2020-08-13 17:28:29 -07:00
Michael Scire
420bc7df9b
ams: update build system to add generic-fallback support
2020-08-11 11:22:56 -07:00
Michael Scire
b08ccd7341
exo: fixes, now tested working on mariko hardware
2020-07-02 14:06:42 -07:00
Michael Scire
828b170aac
exo: add mariko spare reg write during setup
2020-06-29 05:40:09 -07:00
Michael Scire
e16b87c843
exo: implement mariko fuse driver
2020-06-29 04:40:59 -07:00
Michael Scire
bf92daf055
exo: implement remaining SE changes for mariko support
2020-06-28 21:11:29 -07:00
Michael Scire
5cb9fa510e
exo: implement mariko se/tzram context save
2020-06-28 20:32:45 -07:00
Michael Scire
1473adf5c4
fusee/exo: correct device key management for newer consoles ( closes #1053 )
2020-06-28 05:39:25 -07:00
Michael Scire
c129256dd0
exo: amend pk21 restrictions
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
6780b096ca
exo2: address volca review commentary
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
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
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
ccba70abfe
exo2: implement SmcPrepareEsDeviceUniqueKey, SmcPrepareEsCommonTitleKey, SmcLoadPreparedAesKey
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
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
bf546d5fb3
exo2: implement SmcGenerateAesKek, SmcLoadAesKey
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
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
Michael Scire
b7ff9e8fcc
exo2: reorganize to save >0x300 bytes and 0x100 of stack in main
2020-06-14 22:07:45 -07:00
Michael Scire
ad664daea5
exo2: implement remainder of warmboot tz code
2020-06-14 22:07:45 -07:00
Michael Scire
dc6abf9f68
exo2: Implement the rest of main/return-to-el1
2020-06-14 22:07:45 -07:00
Michael Scire
87bdc46beb
exo2: implement rest of main other than SetupSocProtections
2020-06-14 22:07:45 -07:00
Michael Scire
f391354415
exo2: implement through package2 decryption
2020-06-14 22:07:45 -07:00
Michael Scire
9ddcbe9dc3
exo2: implement main through sync-for-pk21-load
2020-06-14 22:07:45 -07:00
Michael Scire
e11fad6598
exo2: implement through boot config load/validate
2020-06-14 22:07:45 -07:00
Michael Scire
cbcd1d87fb
exo2: implement through end of random cache init
2020-06-14 22:07:45 -07:00
Michael Scire
f66b41c027
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:07:45 -07:00