Commit graph

4092 commits

Author SHA1 Message Date
TuxSH 93864f2289 Use the boot critical section 2018-03-03 03:43:46 +01:00
TuxSH 92d2abaf1c Fix section alignment, attempt to clean up the crt0 a bit 2018-03-03 02:02:10 +01:00
Michael Scire 661bcaa3ec Change 'success' panic location to end of coldboot_main() 2018-03-02 15:09:51 -08:00
Michael Scire 102fb5004f Cleanup TODOs, implement bootconfig SCR_EL3 bit setting 2018-03-02 15:04:16 -08: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 301b166684 Implement CPU state init, fix bug in cpu_context restore 2018-03-02 14:16:54 -08:00
Michael Scire a292e95c2f Finish bootup_misc_mmio() - Cur build gets to end of pk2ldr. 2018-03-02 13:44:21 -08:00
Michael Scire ca7b441079 Add call to se_generate_stored_vector() before validating 2018-03-02 12:59:12 -08:00
Michael Scire 3388198a26 Add coldboot mmio init (for non 4.x), required for FLOW writes to succeed. 2018-03-02 12:45:37 -08:00
Michael Scire e7e62ef90b Implement half of bootup_misc_mmio() 2018-03-02 12:16:30 -08:00
Michael Scire b3dbfd8ee0 Update pk2ldr outline, prepare for bootup_misc_mmio() impl 2018-03-02 11:28:05 -08:00
Michael Scire 303e189559 Implement a few TODOs with CAR driver. 2018-03-01 23:33:43 -08:00
Michael Scire 5f7308efd1 Implement Clock/Reset Driver. 2018-03-01 22:50:07 -08:00
TuxSH cad9cdc6e0 Reintroduce unmap_* in package2.c 2018-03-02 07:33:47 +01:00
Michael Scire 78bee60485 Fix dangling comments 2018-03-01 21:24:22 -08:00
Michael Scire 7b6d15ec36 Fix up package2.c, current build makes it to the panic() on hardware 2018-03-01 21:15:19 -08:00
Michael Scire 2390df4d07 Fix start.s to pass reloc_list properly to package2ldr 2018-03-01 20:39:49 -08:00
Michael Scire 0a80a7caf5 Fix coldboot init, Exosphere makes it to PK2LDR in this commit. 2018-03-01 20:10:05 -08:00
TuxSH 63d0b08ac4 Rewrite relocation stuff 2018-03-02 02:47:19 +01:00
TuxSH 6903b20579 Fix wrong subsection name 2018-03-01 21:28:50 +01:00
TuxSH 82f10b4320 Implements missings parts of pk2ldr, refactor relocation a bit 2018-03-01 19:11:09 +01:00
TuxSH 568781bc7e Strongly validate SPL's buffer address 2018-03-01 12:35:02 +01:00
Michael Scire 9553c69c8f Properly detect PK21 master key rev. 2018-03-01 03:28:34 -08:00
Michael Scire 205d3b8b80 Fix PK2LDR bugs, Fix SE bugs 2018-03-01 03:25:12 -08:00
TuxSH 7850d3fd57 Put the loaded bootconfig in the evt page 2018-03-01 11:06:55 +01:00
Michael Scire b67ce08f84 Fix Modulus Exponentiation in SE driver 2018-03-01 02:00:39 -08:00
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