Commit graph

459 commits

Author SHA1 Message Date
Michael Scire
40b838c896 exo: add extension smc to write to user address 2019-05-28 02:56:15 -07:00
Michael Scire
79d96bbdfd fusee/exo: add emunand configitem support 2019-05-27 12:07:51 -07:00
Michael Scire
bb6cc6532b fusee/exo: add ability to disable user exception handlers
please do not use this
yellows8 needs it to debug am, 99% of use cases want them on
2019-05-10 03:50:25 -07:00
Michael Scire
7c5dc61795 boot: prepare for rewrite of boot sysmodule 2019-04-29 03:25:24 -07:00
Michael Scire
6034beb084 boot_100.kip vs boot_200.kip is gross 2019-04-29 03:00:04 -07:00
Michael Scire
81895c8019 fusee: update to support booting 8.0.0 2019-04-20 10:36:38 -07:00
Michael Scire
ae90a9d7a6 exo/fusee: implement 8.0.0 support (package2 changes still TODO) 2019-04-20 10:36:38 -07:00
Michael Scire
1e5fcff242 exo: always enable usermode exception handlers 2019-04-10 23:30:19 -07:00
2g4y1
3cb60b324b More 2019 Copyrights (#503) 2019-04-08 12:47:01 +02:00
Michael Scire
03e176d7f1 atmosphere: current year is 2019 2019-04-07 19:00:49 -07:00
Michael Scire
262d6af519 bis_protect: guard against autorcm on rcm-patched units 2019-04-01 17:24:15 -07:00
Michael Scire
350dccff3d exo: also check for rcm ipatch (thanks @balika011) 2019-04-01 16:37:04 -07:00
Michael Scire
4d76f4d79c exo: add config item for rcm patch detection (note TODO) 2019-04-01 13:10:45 -07:00
thedax
fd4d6a4e55 exosphere: add new ConfigItem which allows the caller to retrieve the git commit hash. (#493) 2019-03-29 15:16:03 -07:00
Michael Scire
3fcad4bc65 exo: fix SE driver coherency bug (closes #384) 2019-03-14 13:07:54 -07:00
Michael Scire
cfc9576eaf rebootstub: pc-relative load (thanks fincs) 2019-02-21 07:47:49 -08:00
Michael Scire
83f21d7d2a exo: don't forget to dereference your pointers kids 2019-02-21 07:41:09 -08:00
Michael Scire
a0e06cf7b2 exo/bpc.mitm: Add support for proper shutdown. 2019-02-21 07:05:58 -08:00
Michael Scire
85669ef491 Fix off-by-one (thanks @CtCaer) 2019-02-20 04:52:44 -08:00
Michael Scire
a71b2d9329 Exo: update package2 constants 2019-01-31 01:39:53 -08:00
Michael Scire
506ac3f167 exo: theoretical support for moved MAILBOX page 2019-01-30 23:13:27 -08:00
Michael Scire
46f4896992 exo/fusee: add support for new master key 2019-01-30 22:37:26 -08:00
Michael Scire
3d6405be85 exo: change config to its own static page
This is necessary to support both pre-7.0.0 and 7.0.0...
2019-01-30 13:53:16 -08:00
Michael Scire
0e4c300745 exo: fix rebootstub makefile 2019-01-24 09:18:18 -08:00
Michael Scire
c6f06e2c40 exosphere: properly implement reboot-to-payload 2019-01-24 08:12:10 -08:00
Michael Scire
deb124138b exosphere: Implement smc_ams_iram_copy 2019-01-22 05:38:27 -08:00
Michael Scire
eeef08e58e exo: ensure IRAM initialization. 2019-01-22 05:38:27 -08:00
Michael Scire
295574740d exosphere: improve nested switch format 2019-01-22 05:38:27 -08:00
Michael Scire
a52e601f2e exosphere: Add support for rebooting to a payload in IRAM. 2019-01-22 05:38:27 -08:00
Michael Scire
d349bdb1f8 fusee/exo: build warmboot, use instead of Nintendo's. 2019-01-22 05:38:27 -08:00
Michael Scire
caba025e97 warmboot: fix bugs in firmware 2019-01-22 05:38:27 -08:00
Michael Scire
add52b90c9 exosphere: Add support for AMS SMC extensions 2019-01-22 05:38:27 -08:00
Michael Scire
34c16e211f warmboot: make remaining TODOs explicit 2018-12-18 16:02:49 -08:00
Michael Scire
95a9e1e215 warmboot: add code for decrypting/restoring tzram. 2018-12-18 15:55:16 -08:00
Michael Scire
3924a2ef76 warmboot: start secmon_restore_to_tzram 2018-12-18 15:31:34 -08:00
Michael Scire
4f9ecc9d50 warmboot: finish cluster_initialize_cpu 2018-12-17 17:32:44 -08:00
Michael Scire
f6bc4abfd0 warmboot: implement cluster_power_on_cpu 2018-12-17 17:17:19 -08:00
Michael Scire
7a704827f1 warmboot: add flow_perform_ram_repair 2018-12-17 17:13:24 -08:00
Michael Scire
72594c6783 warmboot: add crail power on code 2018-12-17 17:03:39 -08:00
Michael Scire
754aaecc18 warmboot: add i2c code to enable PMIC 2018-12-17 16:48:14 -08:00
Michael Scire
b419c0df29 warmboot: more code, through power on i2c5 2018-12-17 16:34:41 -08:00
Michael Scire
a4ce50ffd5 warmboot: add through dpd disable 2018-12-17 16:18:27 -08:00
Michael Scire
802830d8d4 warmboot: start cluster_init, skeleton all remaining code 2018-12-17 16:04:50 -08:00
Michael Scire
83941f8647 warmboot: add car_mbist_workaround 2018-12-17 15:35:07 -08:00
Michael Scire
8d08e60916 warmboot: add ram config 2018-12-17 14:40:30 -08:00
Michael Scire
0b15539479 warmboot: add car_configure_oscillators 2018-12-17 14:18:04 -08:00
Michael Scire
a94bee71d2 warmboot: add fuse bypass init 2018-12-17 13:58:28 -08:00
Michael Scire
5f905c6b42 warmboot: Add device debug configuration 2018-12-17 13:22:08 -08:00
Michael Scire
e0f1e637f7 Add single source of truth for target firmwares. 2018-12-17 12:40:06 -08:00
Michael Scire
fc4912ef54 exo: add stub warmboot.bin 2018-12-17 12:01:10 -08:00
Michael Scire
dca51291aa Exo: bpmpfw -> sc7fw, lp0 -> sc7 2018-12-17 11:30:59 -08:00
Michael Scire
b72a68f622 exo: follow hekate's example, disable warmboot signature checks via bootrom arbwrite.
(rip mariko)
2018-12-16 17:46:53 -08:00
Michael Scire
d452d6f89d exo: Correct seal key source 2018-12-06 09:29:09 -08:00
Michael Scire
a51d355707 exo: there's no reason to not always init uart to be safe, actually 2018-12-04 16:01:26 -08:00
Michael Scire
a79f4cf6f6 exosphere: fix sleep mode when debugmode is enabled 2018-12-04 15:59:30 -08:00
Michael Scire
fc426a06b2 exo: fix vaddr/paddr confusion in rcm reboot code 2018-12-01 13:56:13 -08:00
Michael Scire
be5b58d033 fatal: Reboot to RCM if VOL is pressed instead of PWR. 2018-11-30 05:33:35 -08:00
Michael Scire
8d3b8354c3 Exosphere: Add extension to perform a reboot to rcm. 2018-11-30 04:57:17 -08:00
Michael Scire
72a2c10896 exosphere: Add support for enabling debugmode via BCT.ini 2018-11-30 03:10:27 -08:00
SciresM
ab33329129
Merge pull request #266 from Atmosphere-NX/fatal
Implement custom fatal sysmodule.
2018-11-29 12:04:40 -08:00
Michael Scire
767a4b3606 fusee/exo: BYOK support for 6.2.0. Proper support TODO. 2018-11-25 22:37:24 -08:00
Michael Scire
a71d98d78b exosphere: Implement optional 6.2.0+ keygen 2018-11-25 17:11:21 -08:00
Michael Scire
eab5e0df9b exosphere: add EXOSPHERE_TARGET_FIRMWARE_620 2018-11-25 16:06:46 -08:00
Michael Scire
e214f4d325 exosphere: update for new master key 2018-11-25 15:51:04 -08:00
hexkyz
7e3b5c37d0
exosphere: Add missing register write. 2018-11-15 21:38:32 +00:00
SciresM
c530bb8910
Merge branch 'master' into fatal 2018-11-14 14:15:01 -08:00
hexkyz
7c61e935ee exosphere: Fix virtual mapping of MC_SECURITY_CFG3.
Allow DRAM magic test value to be written on < 4.0.0.
2018-11-14 21:12:36 +00:00
hexkyz
e5e9968d22 fusee: Remove obsolete MC carveout configuration.
exosphere: Fix client access for MC carveout 2.
2018-11-14 20:14:41 +00:00
Michael Scire
2838e41819 Add defines for atmosphere git revision. 2018-11-13 12:42:35 -08:00
Michael Scire
f9f9997d3f Exosphere: fix warmboot constant for 4.0.0-4.1.0 2018-10-17 16:40:57 -07:00
Michael Scire
6711cd93a8 atmosphere: extract API version management to common folder 2018-10-16 17:54:50 -07:00
Michael Scire
412511f32a Exosphere: Bump version to 0.7.0 2018-10-16 17:30:24 -07:00
Michael Scire
11159f5fa9 exosphere: Add package2 support for 6.0.0 2018-10-16 14:10:00 -07:00
TuxSH
06088d4c60 exosphere: fix neon regs being used => don't link against newlib, use -mgeneral-regs-only 2018-09-27 23:56:01 +02:00
TuxSH
210c6425c3 Cull unmainted exosphere/src/dbg folder 2018-09-27 22:54:30 +02:00
Michael Scire
a2b4d9168d exosphere: ConfigItem_IsQuestUnit was added in 3.0, not 4.0 2018-09-20 13:47:20 -07:00
hexkyz
39d812f434 fusee: Move nxboot hand-off to IRAM.
fusee/exosphere: Minor cleanup.
2018-09-15 21:08:58 +01:00
Michael Scire
fa0e906129 exosphere: Add support for 6.0.0. 2018-09-08 23:51:52 -07:00
hexkyz
28e4d4411d Add and fix copyright notices for better GPL compliance (thanks @naehrwert and @CTCaer). 2018-09-07 16:00:13 +01:00
Resaec
d8451eb804 Merge branch 'master' of https://github.com/Atmosphere-NX/Atmosphere 2018-09-05 05:56:06 +02:00
Resaec
1c8abb4afb name some MC registers
replace hex values with enum
cleanup code for better readability
2018-09-05 05:55:46 +02:00
hexkyz
a8ac5c651f
exosphere: Add SYSCTR0 register definitions. 2018-08-31 22:38:46 +00:00
hexkyz
611e85e6ee fusee: Implement BootConfig and Boot Reason handling. 2018-08-29 18:28:21 +01:00
Michael Scire
c40bb9b317 Exosphere: Fix crash for certain games on newer firmwares 2018-08-20 19:31:15 -07:00
SciresM
b5234e9efb
exo: cleanup + (theoretical) 1.0.0 support in smcCpuSuspend 2018-08-20 14:38:39 +09:00
Michael Scire
d9f83ce368 exosphere: add theoretical dev unit key support 2018-08-16 22:13:29 -07:00
Michael Scire
7346ede1e1 exosphere: use our open source bpmpfw (warmboot still works) 2018-08-16 20:46:33 -07:00
Michael Scire
46f68fcbff Exosphere: Fix carveout saving (warmboot now works on 5.1.0) 2018-08-16 20:17:37 -07:00
Michael Scire
a0deea8ae0 exo: fix SAVE_WP_REG definition 2018-08-16 18:56:49 -07:00
Michael Scire
ee0117b59e exo: tabs->spaces... 2018-08-16 18:56:04 -07:00
Michael Scire
f41aaccaa2 exosphere: commit WIP warmboot progress
-15+ bugs fixed
-We now receive ~0x400 SMCs from user processes
 (including from psm) on wake-from-sleep
2018-08-16 18:45:38 -07:00
Michael Scire
adc496b6a7 Exosphere: Change physical segment maps depending on firmware version 2018-08-02 21:33:55 -07:00
Michael Scire
a9b20b5553 Exosphere: Fix CFLAGs for latest devkitA64 2018-07-29 11:02:20 -07:00
hexkyz
7836609839 Fix multiple issues reported by Coverity Scan 2018-07-26 18:45:18 +01:00
hexkyz
116eb6c67c
Merge pull request #73 from Resaec/uart
Add UART register enumerators
2018-06-04 16:33:43 +01:00
Michael Scire
fa4c219395 Exosphere: Fix bugs, now boots 5.1.0 successfully. 2018-06-01 22:20:04 -06:00
Michael Scire
b566d04036 Exosphere: Fix 4.0+ hang while waiting for BPMP shutdown. 2018-06-01 01:39:08 -06:00
Michael Scire
af9bee6e7f Exosphere: Fix SE definition bug, misc other bugs. Now boots on 1.0.0 2018-06-01 00:46:05 -06:00
Michael Scire
1058ac7b2d Exosphere: Fix MMIO configuration on low firmware versions. 2018-05-31 18:32:51 -06:00
TuxSH
ad5be3cae5 Refactor exosphère's linker script
To properly separate text/rodata/data+bss, page-alignment needs to be added, as well as some symbol definitions and support code...
2018-05-27 00:36:41 +02:00
Michael Scire
ef9adabb40 Exosphere: Fix MC carveout setup bug, now receives smcCpuOn from kernel on 1.0.0. 2018-05-21 20:14:18 -06:00
TuxSH
561fa90669 Use uintX_t for the SE & copy bugfixed SE struct definition 2018-05-21 19:05:00 +02:00
Michael Scire
366cc5e189 Exosphere: Fix extremely spooky Security Engine bugs, now makes it to the end of package2loader. 2018-05-21 04:30:53 -06:00
TuxSH
b4eeddd7e1 Revamp all the Makefiles (thanks @fincs @WinterMute)
... dependencies are now properly handled (e.g. header changes, etc.)
2018-05-19 01:07:27 +02:00
Michael Scire
9424510f8f Exosphere: Fix remaining crt0 bugs, we now make it to pk2ldr. 2018-05-18 07:16:41 -06:00
Michael Scire
6954925f71 Exosphere: Fix bug, we now make it past MMU enable. 2018-05-18 06:58:49 -06:00
Michael Scire
ea905725c4 Exosphere: Copy initial data image to DRAM for coldboot init. 2018-05-18 06:49:49 -06:00
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