Commit graph

302 commits

Author SHA1 Message Date
Michael Scire 1a9f095463 Exosphere: Fix relocation bug (warmboot relocs currently broken in edge case) 2018-05-18 03:10:48 -06:00
TuxSH 5b5d3c69c2 [exosphere] Fix bug in package2.c 2018-05-17 16:15:30 +02:00
TuxSH 3dac6c9268 Fix bug in fusee: package2.c, etc. 2018-05-17 16:11:10 +02:00
TuxSH 912590b2fd [exosphere] linker.ld: remove some unneeded "AT" commands 2018-05-11 16:28:55 +02:00
TuxSH 0d8ba7706d [exosphere] Map the crt0 too 2018-05-11 16:14:12 +02:00
TuxSH 05b8b42164 [exosphere] Rewrite crt0/init and ld script 2018-05-11 14:07:37 +02:00
Michael Scire 02e01360fd Exosphere: Fix crt0 bug resulting in bad relocation calculations 2018-05-10 18:37:11 -06:00
Michael Scire ba7d0c2cb6 Exosphere: Add API for retrieving versioning info. 2018-05-09 06:29:56 -06:00
Resaec 1c32f1ae34 replacing tabs with spaces 2018-05-01 18:33:39 +02:00
Resaec 5430415578 somehow forgot to rename them 2018-04-28 01:27:16 +02:00
Resaec dd319debe8 adding comment for uart_wait_idle to warn about a possible dead lock 2018-04-28 01:13:16 +02:00
Resaec 5dcf2cb319 adding UartFifoControl and UartInterruptIdentification for the UART_IIR_FCR_0 register
adding reference manual intem numbers for register enums
2018-04-28 00:58:42 +02:00
Resaec b6b0073178 minor style fixes 2018-04-28 00:55:28 +02:00
Resaec e0f586d2d5 change multiline comments, they game (only?) me strange spacing errors in the VS info popup 2018-04-28 00:54:43 +02:00
Resaec ae69126509 adding UartVendorStatus, UartLineStatus and UartLineControl
refactor defines
edited uart_wait_idle() second parameter type to UartVendorStatus
2018-04-27 23:57:20 +02:00
Resaec b6b8ca0eac ENUMs for APB Slave Security Enable registers (#67)
Exosphere: add enums for the APB_MISC_SECURE registers.
2018-04-25 09:46:17 -07:00
Naomi Peori 0075a42d39 Changed PACKAGE2_MAXVER_400_CURRENT to PACKAGE2_MAXVER_400_410. (#64)
* Changed PACKAGE2_MAXVER_400_CURRENT to PACKAGE2_MAXVER_400_410.

* Added top-level makefile and a .gitignore for thermosphere build files.
2018-04-23 11:07:49 -07:00
Michael Scire 7ddf5a922c Exosphere: Support unsigned/plaintext Package2s if signature is clear. 2018-04-11 21:56:30 -06:00
Michael Scire 3140ddc301 Reserve AMS0 magic for later use, change to eXosphere Boot Config rev 0 2018-03-25 17:02:24 -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
TuxSH 171c82ea9e Add build system for fusee 2018-03-14 21:14:02 +01:00
TuxSH 965971edbd Fix off-by-one mkey revision errors 2018-03-14 16:03:16 +01:00
TuxSH 6a0946378a Remove useless "pack" pragmas 2018-03-11 16:32:33 +01:00
TuxSH 52f7adfc50 Add spsr_el3 to cpu_context 2018-03-11 12:53:52 +01:00
Michael Scire f624cccd0d Fix LP0 TZRAM CMAC calculation 2018-03-10 19:11:58 -08:00
Michael Scire 32bd5b3a73 Fix LP0 entry. Exit still fails in warmboot bin. 2018-03-10 18:57:17 -08:00
Michael Scire ab2b8e4db5 Fix CpuSuspend not making it to finalize_powerdown() 2018-03-09 23:56:48 -08:00
Michael Scire c2676c359c Fix CAR primitives 2018-03-09 15:40:11 -08:00
Michael Scire 88c4dfd444 Fix flow controller set functions 2018-03-09 14:56:16 -08:00
TuxSH 3f627798e7 Fix and/bic inversions in finalize_powerdown 2018-03-09 22:56:41 +01:00
TuxSH 3d72183471 Add 4.x configitem stuff 2018-03-09 12:47:58 +01:00
Michael Scire 1ffa239b5a Fix async expMod output + smcUnwrapAesWrappedTitlekey 2018-03-08 19:48:35 -08:00
Michael Scire 7e780301de Fix AES-GCM code. 2018-03-08 17:26:42 -08:00
Michael Scire 8e5228866c Fix smcComputeCmac, generally improve userpage cache usage 2018-03-08 04:59:00 -08:00
Michael Scire ec8f27f1be Fix AES ECB encryption not encrypting 2018-03-08 03:16:50 -08:00
TuxSH b35c418558 memcpy(x, NULL, 0) is undefined behavior 2018-03-08 11:17:46 +01:00
Michael Scire 3d8ff446ad Implement BootReason config 2018-03-08 01:48:57 -08:00
TuxSH ff9322a468 Use and adapt the UART driver from hekate/hwinit 2018-03-08 01:02:45 +01:00
TuxSH a409016a88 Fix fuse_get_hardware_type for 4.x 2018-03-07 23:24:38 +01:00
TuxSH d5bb96c0f8 Fix and with mask issue in smc_user.c 2018-03-07 19:24:52 +01:00
Mike H 22f6c27654
Fix up comment 2018-03-07 16:11:53 +00:00
TuxSH 54fac349f2 Fix user_generate_specific_aes_key wrong register use 2018-03-07 15:50:50 +01:00
TuxSH 4f0e8b8467 Fix bug in user_generate_specific_aes_key, add other read/write le/be funcs 2018-03-07 15:11:53 +01:00
TuxSH 71f01aaa43 Fix freudian slip 2018-03-07 14:34:47 +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
Michael Scire d4c1e0b982 Merge branch 'master' of https://github.com/SciresM/Atmosphere-NX 2018-03-07 03:44:37 -08:00
Michael Scire 11e694d15c Fix SMMU Enable preventing FS from talking to NAND MMIO 2018-03-07 03:37:11 -08:00
TuxSH d2b1febb43 Implement dbg log interface 2018-03-06 01:29:06 +01: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
Michael Scire 6b10c21a10 Default kernel carveout is ID 4, not 5 2018-03-05 03:27:24 -08:00
TuxSH 5e75d8b2bd Fix func_copy null deref (?) 2018-03-05 09:41:39 +01:00
Michael Scire ffd0181aa1 Fix Stack Overflow in SMC handler 2018-03-04 19:07:17 -08:00
Michael Scire 1fa64fccbf Add pre-defined panic utilities 2018-03-04 17:23:54 -08:00
TuxSH 4c38be1560 Fix lock clear in warmboot_main 2018-03-04 21:57:25 +01:00
TuxSH 3e128a8b3e Add TI charger stuff to warmboot_main, add 4.x hw_type stuff as well 2018-03-04 14:04:49 +01:00
TuxSH ca80408349 Fix latest commit and set MAILBOX_NX_SECMON_BOOT_TIME 2018-03-04 00:36:40 +01:00
Michael Scire 58036dac0b Fix coldboot init (presentations lie) 2018-03-03 12:22:50 -08:00
TuxSH a6c7a2c57e Refactor 32-bit register definitions 2018-03-03 20:23:13 +01:00
TuxSH c0f99fcd1c Fix invalidate_icache_all dsb correctness 2018-03-03 20:03:52 +01:00
TuxSH 3d974857e4 warmboot_main: fix panic reason in panic code 2018-03-03 19:49:25 +01:00
TuxSH 4a2c9229ee Fix warmboot vs cpu_on check 2018-03-03 19:43:44 +01:00
TuxSH 03c1ad7119 Add most of warmboot_main 2018-03-03 19:31:22 +01:00
TuxSH be6b67669f Finish writing warmboot _crt0_ 2018-03-03 16:58:23 +01:00
Michael Scire 48e8d9c7de Fix bugs required to successfully hand off to kernel 2018-03-03 06:15:46 -08:00
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