2
0
Fork 0
mirror of https://github.com/Atmosphere-NX/Atmosphere synced 2025-01-05 13:38:43 +00:00
Commit graph

2002 commits

Author SHA1 Message Date
Michael Scire
0508ee29d8 Clean up SE TODOs, implement GIC nonsecure init 2018-02-27 19:58:56 -08: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
fba3d1c2d9 Finish implementing Security Engine context save 2018-02-27 19:05:45 -08:00
Michael Scire
a8a2f8c3f6 Implement more SE context save functionality 2018-02-27 17:40:59 -08:00
TuxSH
93634d08e3 Implement __set_memory_registers 2018-02-28 02:37:08 +01:00
Michael Scire
924d469344 Implement the rest of smcCpuSuspend with skeleton SE API calls. 2018-02-27 17:07:30 -08:00
TuxSH
a90a431d61 Refactor save/restore_current_core_context, fix memory ordering issue with inline asm 2018-02-28 01:59:50 +01:00
Michael Scire
c18af9f3d2 Finish smcCpuOff 2018-02-27 16:35:35 -08:00
Michael Scire
7a9e031bff Uncomment more sleep/suspend code 2018-02-27 16:10:51 -08:00
Michael Scire
235b7b65e1 Uncomment BPMP firmware copy in LP0 2018-02-27 16:01:09 -08:00
Michael Scire
c2c6745f60 Implement save/restore current core context 2018-02-27 15:40:05 -08:00
Michael Scire
9a5bc05259 Fix missing titlekey revision assignment 2018-02-27 15:14:23 -08:00
TuxSH
602507ee8f Rename cache.s/.h to arm.s/.h 2018-02-27 22:29:47 +01:00
TuxSH
5bade9ee1c Use specs file, remove -nostartfiles 2018-02-27 20:14:12 +01:00
TuxSH
0258324872 Use provided __libc_init_array and __libc_fini_array, bugfixes 2018-02-27 16:10:56 +01:00
TuxSH
24b15dad40 Unstub lma2vma code 2018-02-27 13:26:51 +01:00
TuxSH
b0cb819b06 Add proper linkscript...
...adapted from @fincs' own linkscripts
2018-02-27 04:19:38 +01:00
Michael Scire
c4789a5a11 Skeleton smcCpuOff, fix building, fix smcConfigureCarveout 2018-02-26 17:41:31 -08:00
TuxSH
23e9a8369a Fix Makefile 2018-02-27 01:00:58 +01:00
TuxSH
9384546753 Adapt code to match last commit, link in bpmpfw_bin(_size) 2018-02-26 22:30:51 +01:00
TuxSH
984ade3ede
Merge pull request from MerryMage/context_id-rename
Rename set_core_entrypoint_and_context_id
2018-02-26 22:26:46 +01:00
TuxSH
c7d83c6eb6 Rewrite the memory map-related code...
...other style fixes, etc.
2018-02-26 22:09:35 +01:00
MerryMage
3d40051146 Rename set_core_entrypoint_and_context_id 2018-02-26 17:11:49 +00:00
Michael Scire
bda9dcbe73 Start implementing smcCpuSuspend 2018-02-26 02:00:17 -08:00
TuxSH
18d0a81bd5
Merge pull request from lioncash/const
memory_map: Remove unnecessary const
2018-02-26 10:26:58 +01:00
Mat M
1de6b336bb all: Make file-scope variables internally linked where applicable ()
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 ()
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                    // 
   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
Mat M
461105a501 fuse: simplify checks in fuse_get_reserved_odm and fuse_get_spare_bit ()
A separate variable isn't particularly necessary here, and given that the type
is unsigned, we only need to test the upper bound.

This also resolves two -Wtype-limits warnings
2018-02-25 21:23:31 -08:00
Mat M
fff3912c81 mc: Remove dead code in get_carveout_by_id () 2018-02-25 21:13:07 -08:00
Mat M
991d4f1355 se: Remove memset in se_perform_aes_block_operation ()
We can just initialize the array to be zeroed out. This is safer and less error-prone,
since the initializer is now associated with the variable directly, making it
impossible to put code relying on the zeroed out state before it (unlike with memset).
2018-02-25 21:12:49 -08:00
Lioncash
b328effd9b
memory_map: Remove unnecessary const
Since the return value isn't a pointer thing doesn't have much use.
2018-02-25 23:56:47 -05:00
TuxSH
4d3f1f6ae8 Remove built files that somehow got here 2018-02-25 22:36:32 +01:00
TuxSH
969b781a68 Failed attempt to fix loops not being unrolled, other fixes. 2018-02-25 21:41:16 +01:00
TuxSH
ed5f43ef39 Update .gitignore 2018-02-25 20:03:30 +01: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
TuxSH
4c7aa566f0 Fix user page mmu mapping and naming scheme 2018-02-25 15:12:49 +01:00
TuxSH
ab38217720 Fix mmu descriptor mistakes 2018-02-25 14:37:44 +01:00
Michael Scire
c46a3cc794 Map userpage in at appropriate address (TODO: Invalidate TLB) 2018-02-25 01:31:45 -08:00
Michael Scire
78c8fe36fe Fix read64le 2018-02-25 01:26:40 -08:00
Michael Scire
82b4c6763d Implement getters for fuse values, fill out smcGetConfig 2018-02-25 01:21:52 -08:00
TuxSH
b0079e404d Clear pk2ldr in coldboot_main 2018-02-25 03:54:28 +01:00
TuxSH
a00e68e94a Write a significant chunk of coldboot init...
...merge start.cold.s and start.warm.s, other changes, etc.
2018-02-25 03:34:15 +01:00
TuxSH
be67169390
Merge pull request from lioncash/error
memory_map: Fix most compilation issues
2018-02-25 00:14:50 +01:00
Mat M
a081c93094 bootconfig/configitem: Fix includes and identifiers () 2018-02-24 12:46:57 -08:00
Lioncash
a34813bcf4
memory_map: Fix most compilation issues 2018-02-24 15:38:48 -05:00
Mike H
f6008d947d
More previously unknown fuses 2018-02-24 18:48:11 +00:00
Mike H
3929ba77e6
Adding FUSE_RESERVED_SW 2018-02-24 18:34:49 +00:00
hexkyz
e2d45878c3 Preliminary Exosphere FUSE driver 2018-02-24 18:15:47 +00:00
TuxSH
cc4f6f7f84 Introduce memory_map.h 2018-02-24 17:22:55 +01:00