Michael Scire
f41aaccaa2
exosphere: commit WIP warmboot progress
...
-15+ bugs fixed
-We now receive ~0x400 SMCs from user processes
(including from psm) on wake-from-sleep
2018-08-16 18:45:38 -07:00
Michael Scire
fa4c219395
Exosphere: Fix bugs, now boots 5.1.0 successfully.
2018-06-01 22:20:04 -06:00
Michael Scire
af9bee6e7f
Exosphere: Fix SE definition bug, misc other bugs. Now boots on 1.0.0
2018-06-01 00:46:05 -06:00
Michael Scire
ef9adabb40
Exosphere: Fix MC carveout setup bug, now receives smcCpuOn from kernel on 1.0.0.
2018-05-21 20:14:18 -06:00
Michael Scire
c2eed3caf6
Integrate 5.x SMC API changes, add 4.x specific setup, implement target firmware selection
2018-03-25 15:05:08 -06:00
Michael Scire
1ffa239b5a
Fix async expMod output + smcUnwrapAesWrappedTitlekey
2018-03-08 19:48:35 -08:00
TuxSH
a409016a88
Fix fuse_get_hardware_type for 4.x
2018-03-07 23:24:38 +01:00
Michael Scire
6592744b3b
Add debug region to mapped memory
2018-03-07 04:00:19 -08:00
Michael Scire
b26b8e1f5c
Fix smcConfigureCarveout
2018-03-07 03:45:27 -08:00
TuxSH
a65d380889
Make enum names consistent
2018-03-05 23:59:46 +01:00
TuxSH
827280ca12
Fix lock_try_acquire(&g_is_user_smc_in_progress) calls
2018-03-05 21:07:09 +01:00
TuxSH
4c38be1560
Fix lock clear in warmboot_main
2018-03-04 21:57:25 +01:00
TuxSH
bf63a077b1
Implement critical section (Lamport's Baker s algorithm)...
...
thanks @fincs for sample code
2018-03-02 23:37:36 +01:00
Michael Scire
1463266190
Status callback keys have guaranteed atomicity from caller locks.
2018-02-27 19:50:31 -08:00
Michael Scire
66b3b3a706
Implement Panic() stub.
2018-02-27 19:43:07 -08:00
Michael Scire
c4789a5a11
Skeleton smcCpuOff, fix building, fix smcConfigureCarveout
2018-02-26 17:41:31 -08:00
TuxSH
c7d83c6eb6
Rewrite the memory map-related code...
...
...other style fixes, etc.
2018-02-26 22:09:35 +01:00
Michael Scire
bda9dcbe73
Start implementing smcCpuSuspend
2018-02-26 02:00:17 -08:00
Mat M
1de6b336bb
all: Make file-scope variables internally linked where applicable ( #57 )
...
Narrows the scope of visible symbols to where they're actually used. Also
makes it easier to see true globals in source files
(ones used from multiple translation units)
2018-02-26 00:42:21 -08:00
Mat M
c94cfe4898
lock: Use stdatomic.h ( #56 )
...
Provides the same assembly output while using the standardized interface
e.g.
0000000000000000 <set_priv_smc_in_progress>:
0: 90000000 adrp x0, 0 <set_priv_smc_in_progress>
4: 91000000 add x0, x0, #0x0
8: 52800022 mov w2, #0x1 // #1
c: d503201f nop
10: 085ffc01 ldaxrb w1, [x0]
14: 08037c02 stxrb w3, w2, [x0]
18: 35ffffc3 cbnz w3, 10 <set_priv_smc_in_progress+0x10>
1c: 72001c3f tst w1, #0xff
20: 54ffff81 b.ne 10 <set_priv_smc_in_progress+0x10> // b.any
24: d65f03c0 ret
2018-02-25 22:59:48 -08:00
TuxSH
b0ea9c1a0b
Move source files to src/, add Makefile, fix all build and linkage errors, etc.
2018-02-25 20:00:50 +01:00