Michael Scire
a203ac3f80
exo: free space by moving keys to volatile iram, support logging under debug config
2020-11-15 02:47:44 -08:00
Michael Scire
2ef41f0027
exo: shuffle logic around to support debug code region in iram
2020-11-15 01:36:50 -08:00
Michael Scire
ee3a7e7740
exo: disable untranslated gpu accesses on mariko
2020-11-15 00:45:41 -08:00
Michael Scire
3c595994df
exosphere: release, debug, audit configs
2020-11-14 14:40:16 -08:00
Michael Scire
b4c908ba9f
exo/program: release, debug, audit configs
2020-11-14 14:14:07 -08:00
Michael Scire
c572024a5e
rebootstub: audit/debug/release
2020-11-14 12:19:01 -08:00
Michael Scire
71a38ae74d
libexo/sc7fw: support release/debug/audit
2020-11-14 12:17:38 -08:00
Michael Scire
72f83ea43e
exo: reserve a portion of iram for secure monitor debug (including code)
2020-11-14 11:11:41 -08:00
SciresM
166318ba77
sdmmc: implement driver suitable for fs + bootloader
...
* sdmmc: begin skeletoning sdmmc driver
* sdmmc: add most of SdHostStandardController
* sdmmc: implement most of SdmmcController
* sdmmc: Sdmmc2Controller
* sdmmc: skeleton implementation of Sdmmc1Controller
* sdmmc: complete abstract logic for Sdmmc1 power controller
* sdmmc: implement gpio handling for sdmmc1-register-control
* sdmmc: implement pinmux handling for sdmmc1-register-control
* sdmmc: fix building for arm32 and in stratosphere context
* sdmmc: implement voltage enable/set for sdmmc1-register-control
* util: move T(V)SNPrintf from kernel to util
* sdmmc: implement BaseDeviceAccessor
* sdmmc: implement MmcDeviceAccessor
* sdmmc: implement clock reset controller for register api
* sdmmc: fix bug in WaitWhileCommandInhibit, add mmc accessors
* exo: add sdmmc test program
* sdmmc: fix speed mode extension, add CheckMmcConnection for debug
* sdmmc: add DeviceDetector, gpio: implement client api
* gpio: modernize client api instead of doing it the lazy way
* sdmmc: SdCardDeviceAccessor impl
* sdmmc: update test program to read first two sectors of sd card
* sdmmc: fix vref sel
* sdmmc: finish outward-facing api (untested)
* ams: changes for libvapours including tegra register defs
* sdmmc: remove hwinit
2020-10-30 11:54:30 -07:00
Michael Scire
48b4dd48a4
ams: expose reboot payload for kernel panic
2020-09-18 00:43:55 -07:00
Michael Scire
cc6b8ea4d1
exo/kern: 1.0.0 requires access to bpmp smmu regs, userland (am) needs to map bpmp exception vectors
2020-09-07 10:43:35 -07:00
Michael Scire
e435f56367
exo: build with -Wextra
2020-08-17 14:39:18 -07:00
Michael Scire
51b5c3d87d
ams: avoid UB infinite loops
2020-08-13 17:28:29 -07:00
Michael Scire
420bc7df9b
ams: update build system to add generic-fallback support
2020-08-11 11:22:56 -07:00
Michael Scire
9bd6916646
ams: bump version to 0.14.0, add emummc info configitem
2020-07-08 17:36:52 -07:00
Michael Scire
aa2d1e15ab
exo: integrate multiple PRs' split_program changes
2020-07-07 20:28:42 -07:00
Michael Scire
b08ccd7341
exo: fixes, now tested working on mariko hardware
2020-07-02 14:06:42 -07:00
Michael Scire
828b170aac
exo: add mariko spare reg write during setup
2020-06-29 05:40:09 -07:00
Michael Scire
1084817d84
exo: kernel saves dbg* registers
2020-06-29 05:14:49 -07:00
Michael Scire
f7f284e5c0
exo: add note to mariko keygen for future sciresm
2020-06-28 21:14:32 -07:00
Michael Scire
bf92daf055
exo: implement remaining SE changes for mariko support
2020-06-28 21:11:29 -07:00
Michael Scire
5cb9fa510e
exo: implement mariko se/tzram context save
2020-06-28 20:32:45 -07:00
Michael Scire
1473adf5c4
fusee/exo: correct device key management for newer consoles ( closes #1053 )
2020-06-28 05:39:25 -07:00
Michael Scire
0698338312
exo2: resolve remaining erista TODOs, clean up debugging code
2020-06-14 22:07:45 -07:00
Michael Scire
b966345b25
exo2: correct pkg2 encryption key load
2020-06-14 22:07:45 -07:00
Michael Scire
c129256dd0
exo: amend pk21 restrictions
2020-06-14 22:07:45 -07:00
Michael Scire
43f5a0ef45
exo2: account for sleep/wake enabling jtag
2020-06-14 22:07:45 -07:00
Michael Scire
73c1615cda
exo2: only enforce soc device preconditions when they are guaranteed to apply
2020-06-14 22:07:45 -07:00
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