Michael Scire
9f1f0c7cbd
dmnt: add attach support to gdbstub
2021-09-11 19:41:47 -07:00
Michael Scire
649a0052d0
dmnt: refactor/add support for getting process list in gdb
2021-09-11 19:41:47 -07:00
Michael Scire
a7f9729f63
dmnt: begin working on packet parser
2021-09-11 19:41:47 -07:00
Michael Scire
f85df27875
dmnt: add basic gdb packet receive logic
2021-09-11 19:41:47 -07:00
Michael Scire
db7268de2e
dmnt2: add logging logic, for use with gdbstub development
2021-09-11 19:41:47 -07:00
Michael Scire
a2c0cc924b
fix dmnt.gen2 title id (not sure how I typo'd this)
2021-09-11 19:41:47 -07:00
Michael Scire
206516411f
boot2: launch dmnt.gen2 over dmnt, when using htc
2021-09-11 19:41:47 -07:00
Michael Scire
b61797224d
tma2: include sysmodules in stratosphere.romfs
2021-09-11 19:41:47 -07:00
Michael Scire
899efec302
cs: implement GetFirmwareVersion command
2021-09-11 19:41:47 -07:00
Michael Scire
1a1b1355ba
scs: implement EventHandlerThread for shell
2021-09-11 19:41:47 -07:00
Michael Scire
aa2dce7316
scs: implement DoShellServer
2021-09-11 19:41:47 -07:00
SciresM
e9849c74cf
LogManager: implement system module, client api, logging api ( #1617 )
...
Some notes:
* Unless `atmosphere!enable_log_manager` is true, Nintendo's log manager will be used instead.
* This prevents paying memory costs for LM when not enabling logging.
* To facilitate this, Atmosphere's log manager has a different program id from Nintendo's.
* `atmosphere!enable_htc` implies `atmosphere!enable_log_manager`.
* LogManager logs to tma, and the SD card (if `lm!enable_sd_card_logging` is true, which it is by default).
* Binary logs are saved to `lm!sd_card_log_output_directory`, which is `atmosphere/binlogs` by default.
2021-09-11 19:32:14 -07:00
Michael Scire
bfeba7c1e8
build: fix building with directory existing
2021-09-09 00:15:35 -07:00
Michael Scire
31d44d821f
fusee: fix log_inverted flag parse
2021-09-08 14:32:15 -07:00
Michael Scire
44beeecc9e
fusee: fix prodinfo blanking flag detection for sysmmc ( closes #1610 )
2021-09-07 04:34:57 -07:00
Michael Scire
844e88bdfe
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "0c0bb815"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "0c0bb815"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-09-06 16:33:59 -07:00
Michael Scire
a1af1af74d
docs: mention custom splash script in changelog
...
Also, bring commit count for the fusee_cpp PR to a nice point before merging.
2021-09-06 16:26:50 -07:00
Michael Scire
5e64460bb9
utils: add script for inserting custom image into package3
2021-09-06 16:26:50 -07:00
Michael Scire
960161741d
ams: docs/build update
2021-09-06 16:26:50 -07:00
Michael Scire
443271de35
fusee: accept spaces inside ini values (we still left/right strip)
2021-09-06 16:26:50 -07:00
Michael Scire
4ad300c33c
fusee: add package3 magic
2021-09-06 16:26:50 -07:00
Michael Scire
715eacbf8e
fusee: accept ini files without empty line at end
2021-09-06 16:26:50 -07:00
Michael Scire
dda7ea6ac2
fusee: attempt reboot to self if possible, better abort/fatal handlers
2021-09-06 16:26:50 -07:00
Michael Scire
005aac5a2b
package3: fix hekate compatibility (use real sizes)
2021-09-06 16:26:50 -07:00
Michael Scire
1e4356cdb9
build: fix clean target
2021-09-06 16:26:50 -07:00
Michael Scire
e0f45d54f1
stratosphere: remove 0.19.0 update cleanup logic.
2021-09-06 16:26:50 -07:00
Michael Scire
8da223468f
fusee: remove TODO comments in buildscript
2021-09-06 16:26:50 -07:00
Michael Scire
045f9b2f15
fusee: fix buildsystem, rename secondary -> package3
2021-09-06 16:26:50 -07:00
Michael Scire
b7521465ee
fusee: tactically don't trash PLLA1, fixes audio corruption on boot
2021-09-06 16:26:50 -07:00
Michael Scire
a8f898b591
patches: nogc patches now embedded in fusee rather than being .ips
2021-09-06 16:26:50 -07:00
Michael Scire
158da95b9f
config: BCT.ini no longer exists
2021-09-06 16:26:50 -07:00
Michael Scire
36c470ad11
ams-1.0.0: bump version number well ahead of time
2021-09-06 16:26:50 -07:00
Michael Scire
62f8408a2e
fusee_cpp: rename source dir to fusee
2021-09-06 16:26:50 -07:00
Michael Scire
a6ea490615
fusee: delete fusee (this will break build temporarily)
2021-09-06 16:26:50 -07:00
Michael Scire
da208f8001
ams-1.0.0: meso no longer optional, remove conditional logic
2021-09-06 16:26:50 -07:00
Michael Scire
320f0bbcfd
fusee_cpp: improve/fix file-based emummc
2021-09-06 16:26:50 -07:00
Michael Scire
2247f97cdc
fusee: fix sd card size detection for emummc
2021-09-06 16:26:50 -07:00
Michael Scire
0ef9f7ccc8
fusee_cpp: improved relocation logic
2021-09-06 16:26:50 -07:00
Michael Scire
596f5c3f52
fusee_cpp: various fixes, unpatched erista boots now
2021-09-06 16:26:50 -07:00
Michael Scire
e5106ffa2c
fusee_cpp: implement package2 rebuild/kip patching
2021-09-06 16:26:50 -07:00
Michael Scire
968ced677e
fusee_cpp: fix mariko mtc (mariko now gets as far as erista)
2021-09-06 16:26:50 -07:00
Michael Scire
5950ff5b5e
fusee_cpp: validate mtc overlay before jumping to it.
...
mtc will jump back to us, so we need a compatible binary.
This also makes some changes to our layout to minimize the likelihood of
an incompatible mtc binary (I made some arbitrary .text/.rodata/.rwdata changes)
and saw identical mtc binaries, so hopefully this all works out.
2021-09-06 16:26:50 -07:00
Michael Scire
b520f5c53b
fusee_cpp: emummc implies decompressed text segment
2021-09-06 16:26:50 -07:00
Michael Scire
c5d021c172
fusee_cpp: implement ips patching of kips
2021-09-06 16:26:50 -07:00
Michael Scire
07779b787a
fusee_cpp: implement nogc patches
2021-09-06 16:26:50 -07:00
Michael Scire
cefdda77e5
fusee_cpp: implement KIP selection
2021-09-06 16:26:50 -07:00
Michael Scire
622650623c
fusee_cpp: we're over the size limit with mtc in nv-text
2021-09-06 16:26:50 -07:00
Michael Scire
7ea9b533d9
fusee_cpp: only check pk11 header2 on mariko (thanks @slp32)
2021-09-06 16:26:50 -07:00
Michael Scire
c2a930965a
fusee_cpp: import mariko mtc
2021-09-06 16:26:50 -07:00
Michael Scire
c4fee796ea
fusee_cpp: begin mariko mtc work
2021-09-06 16:26:50 -07:00
Michael Scire
598edc0a46
fusee_cpp: move mtc code/used-tables to nv memory (needed for mariko downtrain fix)
2021-09-06 16:26:50 -07:00
Michael Scire
40e2d4bbe6
fusee_cpp: implement cpu startup
2021-09-06 16:26:50 -07:00
Michael Scire
648ad51056
fusee_cpp: fix some careless search/replace mistakes
2021-09-06 16:26:50 -07:00
Michael Scire
e0a41e9d33
fusee_cpp: implement exosphere load/configuration
2021-09-06 16:26:50 -07:00
Michael Scire
1dd0297db3
fusee_cpp: implement warmboot firmware load
2021-09-06 16:26:50 -07:00
Michael Scire
4355a2b036
fusee_cpp: implement read/decryption of package2
2021-09-06 16:26:50 -07:00
Michael Scire
dbad464323
fusee_cpp: list remaining tasks for setup
2021-09-06 16:26:50 -07:00
Michael Scire
565282d06e
fusee_cpp: implement target firmware detection
2021-09-06 16:26:50 -07:00
Michael Scire
2f7012cbc6
fusee_cpp: implement emummc/system partition mounting
2021-09-06 16:26:50 -07:00
Michael Scire
8560713a60
fusee: implement parsing for emummc.ini
2021-09-06 16:26:50 -07:00
Michael Scire
6c5f2804ab
fusee_cpp: implement all required key derivation
2021-09-06 16:26:50 -07:00
Michael Scire
51cf28339b
fusee_cpp: implement tsec_keygen firmware execution
2021-09-06 16:26:50 -07:00
Michael Scire
80999988d4
fusee_cpp: skeleton the remaining code flow
2021-09-06 16:26:50 -07:00
Michael Scire
ecbf13e45d
fusee_cpp: import full erista mtc logic
2021-09-06 16:26:50 -07:00
Michael Scire
237b11892e
fusee_cpp: implement mtc erista patram writes
2021-09-06 16:26:50 -07:00
Michael Scire
d7192343d8
fusee_cpp: implement erista pll selection logic for mtc
2021-09-06 16:26:50 -07:00
Michael Scire
d2f3b806d6
fusee_cpp: implement inline storage of EmcDvfsTimingTables
2021-09-06 16:26:50 -07:00
Michael Scire
3bcdd0c3c8
fusee_cpp: add logic for loading mtc overlays
2021-09-06 16:26:50 -07:00
Michael Scire
4480e7a8a5
fusee_cpp: implement bpmp overclock
2021-09-06 16:26:50 -07:00
Michael Scire
1a8f886a6e
fusee_cpp: Implement fatal display, reading of fusee-secondary
2021-09-06 16:26:50 -07:00
Michael Scire
ee1d1ea527
fusee_cpp: Add display init/fatal error display logic
2021-09-06 16:26:50 -07:00
Michael Scire
e7d7d8adfb
fusee_cpp: cache cleanup, confirmed working on hardware
2021-09-06 16:26:50 -07:00
Michael Scire
5cff5e629b
fusee_cpp: implement bpmp cache driver
2021-09-06 16:26:50 -07:00
Michael Scire
49d0a51d6b
fusee_cpp: implement sd card init
2021-09-06 16:26:50 -07:00
Michael Scire
25cd3d17de
fusee_cpp: implement sdram lp0 scratch param save
2021-09-06 16:26:50 -07:00
Michael Scire
3b460e94d4
fusee-cpp: minor fixes (thanks @hexkyz)
2021-09-06 16:26:50 -07:00
Michael Scire
349a16ce39
fusee_cpp: implement SDRAM initialization
2021-09-06 16:26:50 -07:00
Michael Scire
f2a1c60218
fusee_cpp: tweaks, now completes SecureInitialize on hardware
2021-09-06 16:26:50 -07:00
Michael Scire
c91f95e8f6
fusee-cpp: a little more init in SecureInitialize
2021-09-06 16:26:50 -07:00
Michael Scire
53ede217a5
fusee-cpp: finish SecureInitialize
2021-09-06 16:26:50 -07:00
Michael Scire
669564b022
fusee-cpp: implement SecureInitialize besides InitializeClock()
2021-09-06 16:26:50 -07:00
Michael Scire
c9bd97192f
fusee-cpp: sketch out remainder of secure initialize
2021-09-06 16:26:50 -07:00
Michael Scire
c333a84b6b
fusee-cpp: Implement mbist workaround
2021-09-06 16:26:50 -07:00
Michael Scire
3e81796db7
fusee-cpp: setup exception handlers during crt0
2021-09-06 16:26:50 -07:00
Michael Scire
5f60bc7186
fusee-cpp: add basic structural stubs
2021-09-06 16:26:50 -07:00
Michael Scire
165c926135
ams: bump version to 0.20.1
2021-08-30 07:32:35 -07:00
Michael Scire
d43bc68d0b
fusee: fix MSELECT clkrst values
2021-08-30 07:24:36 -07:00
Michael Scire
c5edb031fa
fusee: restore DRAM to 204MHz before starting main cpu on Mariko ( closes #1600 ).
...
Nintendo's Mariko tables result in trained frequency of 1599999 instead of 1600000.
PCV checks for rate == 1600000 exactly, when doing EMC init.
Thus EMC init does not succeed if we are trained to 1600000.
PCV has a fudge factor of 1000 used in SetEmcDvfsFreq, but this is not used in InitEmcDvfs.
This failure means that PCV cannot change rate back to 204MHz before sleep, and then after
wake extremely degraded performance is observed.
Restoring DRAM to 204MHz before boot causes EMC init to succeed/fixes performance degradation.
2021-08-30 07:19:28 -07:00
Michael Scire
1f065e3bac
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "87a1de0b"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "87a1de0b"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-08-20 13:34:30 -07:00
Michael Scire
9296a56303
ams: bump to 0.2.0
...
NOTE: Release will not occur until hekate is ready to handle new sept-less release format.
2021-08-20 13:31:59 -07:00
Michael Scire
481b209ae8
docs: wipe sept from the docs
2021-08-20 13:17:11 -07:00
SciresM
17ca463c3f
ams: replace sept with tsec firmware ( #1594 )
...
* ams: replace sept with tsec firmware
This replaces sept with a custom tsec key derivation firmware.
NOTE: This does not use any TSEC exploits whatsoever; it is a well-signed
TSEC binary assembled with envyas and signed with the real cauth key.
For more details, contact SciresM#0524.
* fusee: only set SBK if it's readable
2021-08-20 13:13:29 -07:00
Michael Scire
f175802136
kern: improve some debug output
2021-08-20 00:06:43 -07:00
Michael Scire
fe79bc253a
kern: fix same is_current check in GetThreadContext
2021-08-19 07:38:25 -07:00
Michael Scire
81bf8c577a
kern: fix check for thread-is-current in KDebugBase::SetThreadContext
2021-08-19 07:34:08 -07:00
SciresM
aee89db748
mtc: implement memory training for mariko ( #1593 )
...
* mtc: implement memory training for mariko
* mtc: fix apply_periodic_compensation_trimmer, train_wr_vref results
* mtc: fix clktree calculations
2021-08-17 17:27:12 -07:00
Michael Scire
f5704d25f8
kern: remove firmare-specific SignalAndModify impl
...
Nintendo made this breaking change because there was zero official software relying on it,
so it's safe for us to make the same change.
2021-07-22 15:56:45 -07:00
Michael Scire
73afa042f1
dmnt: fix opcode decoding ( closes #1575 )
2021-07-22 06:06:48 -07:00
Michael Scire
2da31b122f
kern: fix hardware watchpoint detection
2021-07-22 00:35:40 -07:00
Michael Scire
43bbfd29bb
kern: fix inverted condition in context breakpoint validation
2021-07-21 23:56:28 -07:00