Commit Graph

  • 102fb5004f Cleanup TODOs, implement bootconfig SCR_EL3 bit setting Michael Scire 2018-03-02 15:04:16 -08:00
  • bf63a077b1 Implement critical section (Lamport's Baker s algorithm)... TuxSH 2018-03-02 23:32:50 +01:00
  • 301b166684 Implement CPU state init, fix bug in cpu_context restore Michael Scire 2018-03-02 14:16:54 -08:00
  • a292e95c2f Finish bootup_misc_mmio() - Cur build gets to end of pk2ldr. Michael Scire 2018-03-02 13:44:21 -08:00
  • ca7b441079 Add call to se_generate_stored_vector() before validating Michael Scire 2018-03-02 12:59:12 -08:00
  • 3388198a26 Add coldboot mmio init (for non 4.x), required for FLOW writes to succeed. Michael Scire 2018-03-02 12:45:37 -08:00
  • e7e62ef90b Implement half of bootup_misc_mmio() Michael Scire 2018-03-02 12:16:30 -08:00
  • b3dbfd8ee0 Update pk2ldr outline, prepare for bootup_misc_mmio() impl Michael Scire 2018-03-02 11:28:05 -08:00
  • a2d2f2b5de Fix alignment issues and subsequently, reloc_alignment_fixup TuxSH 2018-03-02 09:43:33 +01:00
  • 303e189559 Implement a few TODOs with CAR driver. Michael Scire 2018-03-01 23:33:43 -08:00
  • 5f7308efd1 Implement Clock/Reset Driver. Michael Scire 2018-03-01 22:50:00 -08:00
  • cad9cdc6e0 Reintroduce unmap_* in package2.c TuxSH 2018-03-02 07:33:47 +01:00
  • 78bee60485 Fix dangling comments Michael Scire 2018-03-01 21:24:22 -08:00
  • 7b6d15ec36 Fix up package2.c, current build makes it to the panic() on hardware Michael Scire 2018-03-01 21:15:19 -08:00
  • 2390df4d07 Fix start.s to pass reloc_list properly to package2ldr Michael Scire 2018-03-01 20:39:49 -08:00
  • 0a80a7caf5 Fix coldboot init, Exosphere makes it to PK2LDR in this commit. Michael Scire 2018-03-01 20:10:05 -08:00
  • 63d0b08ac4 Rewrite relocation stuff TuxSH 2018-03-02 02:19:35 +01:00
  • 6903b20579 Fix wrong subsection name TuxSH 2018-03-01 21:28:50 +01:00
  • 82f10b4320 Implements missings parts of pk2ldr, refactor relocation a bit TuxSH 2018-03-01 19:11:09 +01:00
  • 568781bc7e Strongly validate SPL's buffer address TuxSH 2018-03-01 12:30:24 +01:00
  • 9553c69c8f Properly detect PK21 master key rev. Michael Scire 2018-03-01 03:28:34 -08:00
  • 205d3b8b80 Fix PK2LDR bugs, Fix SE bugs Michael Scire 2018-03-01 03:24:45 -08:00
  • 7850d3fd57 Put the loaded bootconfig in the evt page TuxSH 2018-03-01 11:06:55 +01:00
  • b67ce08f84 Fix Modulus Exponentiation in SE driver Michael Scire 2018-03-01 02:00:39 -08:00
  • 4025781f1c Make clear_bss work regardless of load address Michael Scire 2018-03-01 00:59:08 -08:00
  • 1d621f3bf4 Fix tzram_map_all_segments TuxSH 2018-03-01 02:36:16 +01:00
  • 78b9698260 Finish writing coldboot_main TuxSH 2018-03-01 01:40:09 +01:00
  • 19dda5ed48 Can't copy to VAs if VA don't exist (at that point of the program) TuxSH 2018-03-01 01:13:10 +01:00
  • e34d86b16f Fix the set_memory_registers_enable_mmu call TuxSH 2018-03-01 00:05:18 +01:00
  • 3d4dcdde13 Fix ttbl init pointer arith bug, other fixes TuxSH 2018-02-28 23:35:30 +01:00
  • 0a89831193 Clear bss at runtime like Nintendo actually does TuxSH 2018-02-28 22:29:17 +01:00
  • 303774aeb7 Use bic instead of and in finalize_powerdown TuxSH 2018-02-28 19:58:59 +01:00
  • 6be5b0a52f Implement flush_dcache_all_tzram_pa and invalidate_icache_all_inner_shareable_tzram_pa for the crt0s TuxSH 2018-02-28 19:06:41 +01:00
  • e5f293e004 Implement and use set_memory_registers_enable_mmu TuxSH 2018-02-28 13:32:18 +01:00
  • 64c8612342 Fix wrongly named register in __set_memory_registers, add prototype TuxSH 2018-02-28 07:32:14 +01:00
  • c5b0639b8a Implement BootConfig. Michael Scire 2018-02-27 20:28:34 -08:00
  • d0b74d7751 Panic Bright Red on failed master key detection. Michael Scire 2018-02-27 20:00:48 -08:00
  • 694872b4cc Fix decrypt_data_into_keyslot Michael Scire 2018-02-27 19:59:51 -08:00
  • 0508ee29d8 Clean up SE TODOs, implement GIC nonsecure init Michael Scire 2018-02-27 19:58:56 -08:00
  • 1463266190 Status callback keys have guaranteed atomicity from caller locks. Michael Scire 2018-02-27 19:50:31 -08:00
  • 66b3b3a706 Implement Panic() stub. Michael Scire 2018-02-27 19:43:07 -08:00
  • fba3d1c2d9 Finish implementing Security Engine context save Michael Scire 2018-02-27 19:05:45 -08:00
  • a8a2f8c3f6 Implement more SE context save functionality Michael Scire 2018-02-27 17:40:47 -08:00
  • 93634d08e3 Implement __set_memory_registers TuxSH 2018-02-28 02:37:08 +01:00
  • 924d469344 Implement the rest of smcCpuSuspend with skeleton SE API calls. Michael Scire 2018-02-27 17:07:30 -08:00
  • a90a431d61 Refactor save/restore_current_core_context, fix memory ordering issue with inline asm TuxSH 2018-02-28 01:59:50 +01:00
  • c18af9f3d2 Finish smcCpuOff Michael Scire 2018-02-27 16:35:35 -08:00
  • 7a9e031bff Uncomment more sleep/suspend code Michael Scire 2018-02-27 16:10:51 -08:00
  • 235b7b65e1 Uncomment BPMP firmware copy in LP0 Michael Scire 2018-02-27 16:01:09 -08:00
  • c2c6745f60 Implement save/restore current core context Michael Scire 2018-02-27 15:40:05 -08:00
  • 9a5bc05259 Fix missing titlekey revision assignment Michael Scire 2018-02-27 15:14:23 -08:00
  • 602507ee8f Rename cache.s/.h to arm.s/.h TuxSH 2018-02-27 22:29:47 +01:00
  • 5bade9ee1c Use specs file, remove -nostartfiles TuxSH 2018-02-27 20:14:12 +01:00
  • 0258324872 Use provided __libc_init_array and __libc_fini_array, bugfixes TuxSH 2018-02-27 16:10:56 +01:00
  • 24b15dad40 Unstub lma2vma code TuxSH 2018-02-27 13:26:51 +01:00
  • b0cb819b06 Add proper linkscript... TuxSH 2018-02-27 04:19:38 +01:00
  • c4789a5a11 Skeleton smcCpuOff, fix building, fix smcConfigureCarveout Michael Scire 2018-02-26 17:41:31 -08:00
  • 23e9a8369a Fix Makefile TuxSH 2018-02-27 01:00:58 +01:00
  • 9384546753 Adapt code to match last commit, link in bpmpfw_bin(_size) TuxSH 2018-02-26 22:30:51 +01:00
  • 984ade3ede Merge pull request #58 from MerryMage/context_id-rename TuxSH 2018-02-26 22:26:46 +01:00
  • c7d83c6eb6 Rewrite the memory map-related code... TuxSH 2018-02-26 22:09:35 +01:00
  • 3d40051146 Rename set_core_entrypoint_and_context_id MerryMage 2018-02-26 17:11:49 +00:00
  • bda9dcbe73 Start implementing smcCpuSuspend Michael Scire 2018-02-26 02:00:02 -08:00
  • 18d0a81bd5 Merge pull request #51 from lioncash/const TuxSH 2018-02-26 10:26:58 +01:00
  • 1de6b336bb all: Make file-scope variables internally linked where applicable (#57) Mat M 2018-02-26 03:42:21 -05:00
  • c94cfe4898 lock: Use stdatomic.h (#56) Mat M 2018-02-26 01:59:48 -05:00
  • 461105a501 fuse: simplify checks in fuse_get_reserved_odm and fuse_get_spare_bit (#54) Mat M 2018-02-26 00:23:31 -05:00
  • fff3912c81 mc: Remove dead code in get_carveout_by_id (#52) Mat M 2018-02-26 00:13:07 -05:00
  • 991d4f1355 se: Remove memset in se_perform_aes_block_operation (#53) Mat M 2018-02-26 00:12:49 -05:00
  • b328effd9b memory_map: Remove unnecessary const Lioncash 2018-02-25 23:56:44 -05:00
  • 4d3f1f6ae8 Remove built files that somehow got here TuxSH 2018-02-25 22:36:32 +01:00
  • 969b781a68 Failed attempt to fix loops not being unrolled, other fixes. TuxSH 2018-02-25 21:41:16 +01:00
  • ed5f43ef39 Update .gitignore TuxSH 2018-02-25 20:03:30 +01:00
  • b0ea9c1a0b Move source files to src/, add Makefile, fix all build and linkage errors, etc. TuxSH 2018-02-25 20:00:50 +01:00
  • 4c7aa566f0 Fix user page mmu mapping and naming scheme TuxSH 2018-02-25 15:05:52 +01:00
  • ab38217720 Fix mmu descriptor mistakes TuxSH 2018-02-25 14:37:44 +01:00
  • c46a3cc794 Map userpage in at appropriate address (TODO: Invalidate TLB) Michael Scire 2018-02-25 01:31:45 -08:00
  • 78c8fe36fe Fix read64le Michael Scire 2018-02-25 01:26:40 -08:00
  • 82b4c6763d Implement getters for fuse values, fill out smcGetConfig Michael Scire 2018-02-25 01:21:52 -08:00
  • b0079e404d Clear pk2ldr in coldboot_main TuxSH 2018-02-25 03:54:28 +01:00
  • a00e68e94a Write a significant chunk of coldboot init... TuxSH 2018-02-25 03:34:15 +01:00
  • be67169390 Merge pull request #50 from lioncash/error TuxSH 2018-02-25 00:14:50 +01:00
  • a081c93094 bootconfig/configitem: Fix includes and identifiers (#49) Mat M 2018-02-24 15:46:57 -05:00
  • a34813bcf4 memory_map: Fix most compilation issues Lioncash 2018-02-24 15:38:24 -05:00
  • f6008d947d More previously unknown fuses Mike H 2018-02-24 18:48:11 +00:00
  • 3929ba77e6 Adding FUSE_RESERVED_SW Mike H 2018-02-24 18:34:49 +00:00
  • e2d45878c3 Preliminary Exosphere FUSE driver hexkyz 2018-02-24 18:15:47 +00:00
  • cc4f6f7f84 Introduce memory_map.h TuxSH 2018-02-24 17:13:42 +01:00
  • ed5850ebbf Implement se_trigger_interrupt, fix up some configitems Michael Scire 2018-02-24 07:25:38 -08:00
  • e8b1e0b965 Implement exception vectors. Michael Scire 2018-02-24 06:20:45 -08:00
  • 422cd14aac Implement driver for the GIC-400. Michael Scire 2018-02-24 05:33:16 -08:00
  • c94fe287cb Exosphere I2C Driver. Michael Scire 2018-02-24 04:27:23 -08:00
  • 672d76cb31 Fix I2C success mask Michael Scire 2018-02-23 22:03:13 -08:00
  • 56f5b56235 smc_user: Correct cache_flush to flush_dcache_range (#48) Mat M 2018-02-23 23:38:21 -05:00
  • 44a2b7a344 smc_user: Add missing gcm.h include (#47) Mat M 2018-02-23 19:09:55 -05:00
  • e3897bb731 se: Add missing string.h include (#46) Mat M 2018-02-23 19:09:44 -05:00
  • 34d8a859ab timers: Fix identifier name in wait's spin-lock (#45) Mat M 2018-02-23 19:09:34 -05:00
  • dbf2eb7ed1 Clean up BPMPFW I2C prototypes. Michael Scire 2018-02-23 12:07:02 -08:00
  • 0a0a1b088d Merge pull request #43 from lioncash/prototype TuxSH 2018-02-23 19:18:46 +01:00
  • b3f8908ece Merge pull request #44 from lioncash/mmu TuxSH 2018-02-23 19:18:06 +01:00