Michael Scire
597bdded69
fusee/exo2: more fixes to boot lower firmwares
2020-06-14 22:07:45 -07:00
Michael Scire
6780b096ca
exo2: address volca review commentary
2020-06-14 22:07:45 -07:00
Michael Scire
da4107996a
exo2: first pass at backwards-compat
2020-06-14 22:07:45 -07:00
Michael Scire
42f1a3bf60
exo2: rename exosphere2 -> exosphere
2020-06-14 22:07:45 -07:00
Michael Scire
282f8f6612
ams: delete exo1
2020-06-14 22:07:45 -07:00
Michael Scire
95d38a1a94
exo2: suspend fixes (sleep/wake now works on hardware)
2020-06-14 22:07:45 -07:00
Michael Scire
f66b41c027
exo2: Initial work on the exosphere rewrite.
...
exo2: Implement uncompressor stub and boot code up to Main().
exo2: implement some more init (uart/gic)
exo2: implement more of init
exo2: improve reg api, add keyslot flag setters
exo2: implement se aes decryption/enc
exo2: fix bugs in loader stub/mmu mappings
exo2: start skeletoning bootconfig/global context types
arch: fix makefile flags
exo2: implement through master key derivation
exo2: implement device master keygen
exo2: more init through start of SetupSocSecurity
exo2: implement pmc secure scratch management
se: implement sticky bit validation
libexosphere: fix building for arm32
libexo: fix makefile flags
libexo: support building for arm64/arm
sc7fw: skeleton binary
sc7fw: skeleton a little more
sc7fw: implement all non-dram functionality
exo2: fix DivideUp error
sc7fw: implement more dram code, fix reg library errors
sc7fw: complete sc7fw impl.
exo2: skeleton the rest of SetupSocSecurity
exo2: implement fiq interrupt handler
exo2: implement all exception handlers
exo2: skeleton the entire smc api, implement the svc invoker
exo2: implement rest of SetupSocSecurity
exo2: correct slave security errors
exo2: fix register definition
exo2: minor fixes
2020-06-14 22:07:45 -07:00
Michael Scire
a2496e5462
exo: fix warmboot memory address error
2020-05-18 08:57:20 -07:00
SciresM
3a1ccdd919
Switch atmosphere's build target to C++20. ( #952 )
...
* ams: update to build with gcc10/c++20
* remove mno-outline-atomics
* ams: take care of most TODO C++20s
* fusee/sept: update for gcc10
* whoosh, your code now uses pre-compiled headers
* make: dependency fixes
2020-05-11 15:02:10 -07:00
Michael Scire
8e75a4169d
ams: revamp target firmware
2020-05-06 22:29:07 -07:00
Michael Scire
7bc0250cea
exosphere: correct reencryption of rsa private keys
2020-04-24 17:36:37 -07:00
SciresM
3bc2d79384
PRODINFO: Revamp blanking/write disallow policy. ( #913 )
...
* exo/fusee: hookup new prodinfo settings
* fusee: new scheme doesn't need FLAGS_DEFAULT
* fusee: fix c/p errors
* ams.mitm: completely revamp prodinfo backup mechanism
* ams.mitm: Implement revamped blanking/write policy
* strat: make early boot more debuggable
* exo: condense flag logic
2020-04-22 16:22:14 -07:00
Michael Scire
1d9a4f47fd
exosphere: set cpuactlr to guarantee it holds non reset value
2020-04-15 01:26:28 -07:00
Michael Scire
3f5f9b60ea
exosphere: ...
2020-04-15 00:14:36 -07:00
Michael Scire
7d30460214
exosphere: fix reentrancy of se interrupt handler
2020-04-14 12:23:08 -07:00
Michael Scire
4a38a36036
exo: fix c/p error
2020-04-14 03:03:04 -07:00
Michael Scire
aa4c79cd9c
exosphere: update to support 10.0.0
2020-04-13 23:30:54 -07:00
hexkyz
b4856a2d07
exo/fusee/sept: fix uart pinmuxing (thanks @CTCaer and @TuxSH)
2020-03-09 19:38:56 +00:00
Michael Scire
6ecf04c3b7
find -exec sed -i'' -e 's/2018-2019 Atmo/2018-2020 Atmo/g' {} +
2020-01-24 02:10:40 -08:00
Jan4V
471bc7cc92
fusee/exo/sept: fix dev key derivation
2020-01-21 13:07:07 -08:00
Michael Scire
2e8f06ef44
exo: fix data abort in car access
2019-12-31 13:48:35 -08:00
Michael Scire
5fbd728962
exo: fix off-by-one
2019-12-31 13:29:08 -08:00
Michael Scire
11ec6a6912
fusee/exo/sept: additional fixes
2019-12-31 13:26:15 -08:00
hexkyz
b89f0e45ec
Cleanup FUSE, TSEC and SE code and add KFUSE state check during TSEC initialization (thanks @CTCaer).
2019-12-31 17:59:15 +00:00
Michael Scire
2866cb5fe6
mesosphere: Implement kernelldr through first page table mapping
2019-12-31 00:46:09 -08:00
Michael Scire
d4f99ddb4d
libstratosphere: use from /atmosphere/libraries
2019-12-09 18:54:29 -08:00
Michael Scire
7e6ff1f327
exosphere: support enabling usermode pmu regs ( closes #703 )
2019-12-07 15:35:34 -08:00
Michael Scire
33827fe3a3
Implement support for 9.1.0
2019-12-07 13:44:08 -08:00
Michael Scire
93d83c5bb9
ams: initial support for 9.0.0
2019-09-14 10:43:39 -07:00
hexkyz
0c3a294cbe
Minor information update regarding previously unknown mysteries
2019-08-22 20:52:40 +01:00
TuxSH
72dd25a99e
Fix uart init
2019-07-24 00:52:02 +02:00
hexkyz
0c688189f6
Fix uart pinmux configuration
2019-07-21 21:21:13 +01:00
hexkyz
7cee36544c
Cleanup and re-write uart code
2019-07-21 19:18:15 +01:00
hexkyz
85bf7c86e0
fusee: cleanup and optimize boot sequence
2019-07-06 20:58:01 +01:00
Michael Scire
493b074a9e
exo: support for 8.1.0
2019-06-18 23:54:53 -07:00
Michael Scire
befd912a88
sept: update to support 8.1.0
2019-06-18 23:23:31 -07:00
Michael Scire
c96ae0148e
Revise sept key generation methodology.
2019-06-18 22:22:40 -07:00
Michael Scire
0dcb496522
Fix emummc nintendo dir redirection
2019-06-14 21:20:53 -07:00
Michael Scire
8bd79e8299
fusee: add automatic emummc injection support
2019-06-14 06:37:25 -07:00
Michael Scire
4f8ab5c599
exo: add smcAmsGetEmummcConfig
2019-06-14 04:06:33 -07:00
Michael Scire
6dd366cb22
Fix emunand SMC behaviors
2019-05-28 13:25:12 -07:00
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