2
0
Fork 0
mirror of https://github.com/Atmosphere-NX/Atmosphere synced 2024-12-18 13:43:06 +00:00
Commit graph

1816 commits

Author SHA1 Message Date
Michael Scire
4025781f1c Make clear_bss work regardless of load address 2018-03-01 00:59:48 -08:00
TuxSH
1d621f3bf4 Fix tzram_map_all_segments 2018-03-01 02:36:16 +01:00
TuxSH
78b9698260 Finish writing coldboot_main 2018-03-01 01:40:09 +01:00
TuxSH
19dda5ed48 Can't copy to VAs if VA don't exist (at that point of the program) 2018-03-01 01:13:10 +01:00
TuxSH
e34d86b16f Fix the set_memory_registers_enable_mmu call 2018-03-01 00:05:18 +01:00
TuxSH
3d4dcdde13 Fix ttbl init pointer arith bug, other fixes 2018-02-28 23:35:30 +01:00
TuxSH
0a89831193 Clear bss at runtime like Nintendo actually does 2018-02-28 22:29:17 +01:00
TuxSH
303774aeb7 Use bic instead of and in finalize_powerdown 2018-02-28 20:01:42 +01:00
TuxSH
6be5b0a52f Implement flush_dcache_all_tzram_pa and invalidate_icache_all_inner_shareable_tzram_pa for the crt0s 2018-02-28 19:06:41 +01:00
TuxSH
e5f293e004 Implement and use set_memory_registers_enable_mmu 2018-02-28 13:32:18 +01:00
TuxSH
64c8612342 Fix wrongly named register in __set_memory_registers, add prototype 2018-02-28 07:32:14 +01:00
Michael Scire
c5b0639b8a Implement BootConfig. 2018-02-27 20:28:34 -08:00
Michael Scire
d0b74d7751 Panic Bright Red on failed master key detection. 2018-02-27 20:00:48 -08:00
Michael Scire
694872b4cc Fix decrypt_data_into_keyslot 2018-02-27 19:59:51 -08:00
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