Michael Scire
c827c0d599
exo2: properly perform smc restriction
2020-06-14 22:07:45 -07:00
Michael Scire
79e4c0ef6e
exo2: add security checks, full 2.0.0 support
2020-06-14 22:07:45 -07:00
Michael Scire
1047ceab98
exo2/fusee: full 1.0.0 support.
2020-06-14 22:07:45 -07:00
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