Commit Graph
100 Commits
Author SHA1 Message Date
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
Michael Scire 3d8ff446ad Implement BootReason config 2018-03-08 01:48:57 -08: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
Michael Scire 6b10c21a10 Default kernel carveout is ID 4, not 5 2018-03-05 03:27:24 -08: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
Michael Scire 58036dac0b Fix coldboot init (presentations lie) 2018-03-03 12:22:50 -08:00
Michael Scire 48e8d9c7de Fix bugs required to successfully hand off to kernel 2018-03-03 06:15:46 -08: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
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
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
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
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
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
Michael Scire 924d469344 Implement the rest of smcCpuSuspend with skeleton SE API calls. 2018-02-27 17:07:30 -08: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
Michael Scire c4789a5a11 Skeleton smcCpuOff, fix building, fix smcConfigureCarveout 2018-02-26 17:41:31 -08:00
Michael Scire bda9dcbe73 Start implementing smcCpuSuspend 2018-02-26 02:00:17 -08: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
Michael Scire ed5850ebbf Implement se_trigger_interrupt, fix up some configitems 2018-02-24 07:25:38 -08:00
Michael Scire e8b1e0b965 Implement exception vectors. 2018-02-24 07:06:29 -08:00
Michael Scire 422cd14aac Implement driver for the GIC-400. 2018-02-24 05:33:16 -08:00
Michael Scire c94fe287cb Exosphere I2C Driver. 2018-02-24 04:27:34 -08:00
Michael Scire 672d76cb31 Fix I2C success mask 2018-02-24 04:27:34 -08:00
Michael Scire dbf2eb7ed1 Clean up BPMPFW I2C prototypes.
Prototypes for internal functions shouldn't be in shared headers.
2018-02-23 12:07:02 -08:00
Michael Scire 90f792b1cc Remove Makefile copy/paste leftovers for bpmpfw 2018-02-23 04:15:14 -08:00
Michael Scire 5370c7b150 Implement LP0-Entry BPMP Firmware 2018-02-23 04:13:18 -08:00
Michael Scire f7598cb433 Implement smcConfigureCarveout 2018-02-23 01:12:38 -08:00
Michael Scire b2dc858738 Implement smcReadWriteRegister 2018-02-23 00:20:51 -08:00
Michael Scire a007e98e17 Fix SE access typo 2018-02-22 17:58:48 -08:00
Michael Scire d1d8d3da34 Switch all MMIO to the new access style 2018-02-22 17:50:37 -08:00
Michael Scire 215ae12b50 Access NX_BOOTLOADER_MAILBOXEN via mmu defs 2018-02-22 17:08:54 -08:00
Michael Scire 72da8dcf5a Finish SE API operations other than context-saving. 2018-02-22 17:05:36 -08:00
Michael Scire 0ef8f1db2e Implement SE secure AES API. 2018-02-22 16:17:12 -08:00
Michael Scire ead0e2ba86 Implement RSA2048-PSS validation. 2018-02-22 15:19:29 -08:00
SciresM c032bd812c Merge pull request #15 from MerryMage/uart
UART
2018-02-22 14:18:09 -08:00
Michael Scire b00df2032d Clarify package2 relocation comment 2018-02-21 13:48:36 -08:00
Michael Scire d0e28890b0 Finish actual Package2 loading code. 2018-02-21 13:38:55 -08:00
Michael Scire 896d167b64 Add more WIP Package2 loading code. 2018-02-21 11:52:39 -08:00
Michael Scire 904ed3ad4e Fix mangled register name. 2018-02-21 10:58:50 -08:00
Michael Scire f0d0ec0dca Push WIP NX_BOOTLOADER sync code (for coldboots) 2018-02-21 10:57:51 -08:00
Michael Scire 330f8a0f8b Fix SMC names. 2018-02-20 18:48:09 -08:00
Michael Scire 9baab1aebc Clarify PASLR commentary 2018-02-20 13:51:17 -08:00
Michael Scire d3d65f4800 smcGenerateSpecificAesKey, smcLoadRsaPrivateKey, smcLoadRsaOaepKey 2018-02-20 13:25:57 -08:00
Michael Scire 3d80b4edbc smcDecryptRsaPrivateKey 2018-02-20 12:56:41 -08:00
Michael Scire 25e6317272 Fix GHASH comment. 2018-02-20 09:41:16 -08:00
Michael Scire 77c93221e9 Implement Nintendo's non-standard AES-GCM. 2018-02-20 09:39:50 -08:00
Michael Scire cec055a44b smcGetRandomFor{User,Priv} Implementations. 2018-02-20 03:19:35 -08:00
Michael Scire 34667a65f9 Implement titlekey unwrapping. 2018-02-20 01:49:10 -08:00
Michael Scire cbdd130917 Fix Seal Key sources. 2018-02-20 01:03:53 -08:00
Michael Scire 4030c6eb20 smcGenerateAesKek + Key sealing. 2018-02-20 01:02:01 -08:00
Michael Scire 07f9e9500e Implement masterkey logic, KEYSLOT defines. 2018-02-19 23:41:27 -08:00
Michael Scire 61f8886879 Implement titlekey SMCs (with skeleton tkey API) 2018-02-19 21:47:11 -08:00
Michael Scire 59281c5a97 Implement smcRsaOaep 2018-02-19 21:09:53 -08:00
Michael Scire f1c521a5d6 Implement smcExpMod. 2018-02-19 20:56:12 -08:00
Michael Scire 9b54bc536b Add missing userToSecure args in smcComputeCmac 2018-02-19 20:31:04 -08:00
Michael Scire 0340085c67 smcComputeCmac implementation. 2018-02-19 20:28:37 -08:00
Michael Scire ff07451280 Outline user<->secure page copying. 2018-02-19 20:18:53 -08:00
Michael Scire d0beae376f SMCCryptAes + Skeleton blocking AES API 2018-02-19 13:27:18 -08:00
Michael Scire 21c2405f15 Async SE AES API 2018-02-19 13:00:12 -08:00
Michael Scire 83fd2c43a3 Flesh out more of the SE driver 2018-02-19 01:27:50 -08:00
Michael Scire f77cae48d0 Skeleton for smcGetConfig and smcSetConfig 2018-02-19 00:41:19 -08:00
Michael Scire a800c3c2e7 Add some more MMIO, smcCpuOn 2018-02-17 18:50:39 -08:00
Michael Scire 5c24f58402 Example SMC implementation (load_aes_key) 2018-02-17 16:34:31 -08:00
Michael Scire 49e1e6f41e Add wrapper for async SMCs 2018-02-17 16:00:53 -08:00
Michael Scire 8ea1ac0ecc Basic API for SMC handlers. 2018-02-17 15:48:49 -08:00
SciresM 049553aa91 Merge pull request #14 from Thog/exosphère-fix-french
Improve french for Exosphère
2018-02-17 14:58:57 -08:00
Michael Scire 77ff68a69d Flesh out the SE driver, some 2018-02-17 14:54:00 -08:00