Commit Graph

422 Commits

Author SHA1 Message Date
Michael Scire
22bb619873 kern: add new KMemoryState 2021-09-19 10:35:37 -07:00
Michael Scire
b4c67d9c3b kern: update GetInfo logic for tick count InfoTypes 2021-09-19 10:35:35 -07:00
Adubbz
66104b830a ncm: skeleton new commands 2021-09-19 10:35:34 -07:00
Michael Scire
a8bccc95ab sprofile: fully reimplement sprof:bg + sprof:sp 2021-09-19 10:35:33 -07:00
Michael Scire
8a35d51406 sprofile: implement non-importer bgagent commands 2021-09-19 10:35:33 -07:00
Michael Scire
196c524768 sprofile: implement OpenProfileUpdateObserver 2021-09-19 10:35:33 -07:00
Michael Scire
6c012b8371 ams: update current target firmware 2021-09-19 10:35:32 -07:00
Michael Scire
a669f3dcfa fusee/exo: update for recognition of 13.0.0 2021-09-19 10:35:31 -07:00
Michael Scire
33d58424c7 kern: add hardware single step extension 2021-09-19 10:35:28 -07:00
Michael Scire
7bb3153938 osdbg: implement thread info api 2021-09-19 10:35:27 -07:00
SciresM
277d2193e2 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-19 10:35:25 -07:00
Michael Scire
7375d583c6 fusee: tactically don't trash PLLA1, fixes audio corruption on boot 2021-09-06 16:32:49 -07:00
Michael Scire
9c523b98fd ams-1.0.0: bump version number well ahead of time 2021-09-06 16:32:48 -07:00
Michael Scire
95eca16642 fusee_cpp: import mariko mtc 2021-09-06 16:32:43 -07:00
Michael Scire
6c6694d2c9 fusee_cpp: begin mariko mtc work 2021-09-06 16:32:43 -07:00
Michael Scire
a64b838b9c fusee_cpp: implement cpu startup 2021-09-06 16:32:42 -07:00
Michael Scire
0d31962902 fusee_cpp: import full erista mtc logic 2021-09-06 16:32:39 -07:00
Michael Scire
91d23d9634 fusee_cpp: implement erista pll selection logic for mtc 2021-09-06 16:32:38 -07:00
Michael Scire
797c61b066 fusee_cpp: implement bpmp overclock 2021-09-06 16:32:37 -07:00
Michael Scire
ba768c7f62 fusee_cpp: cache cleanup, confirmed working on hardware 2021-09-06 16:32:36 -07:00
Michael Scire
30725cfdec fusee_cpp: implement bpmp cache driver 2021-09-06 16:32:36 -07:00
Michael Scire
08b7808b2a fusee_cpp: implement sd card init 2021-09-06 16:32:36 -07:00
Michael Scire
6016ab3447 fusee_cpp: implement sdram lp0 scratch param save 2021-09-06 16:32:35 -07:00
Michael Scire
fdab233923 fusee_cpp: implement SDRAM initialization 2021-09-06 16:32:35 -07:00
Michael Scire
26d94b940e fusee-cpp: a little more init in SecureInitialize 2021-09-06 16:32:34 -07:00
Michael Scire
660f1c61f2 fusee-cpp: finish SecureInitialize 2021-09-06 16:32:34 -07:00
Michael Scire
98df0a1906 fusee-cpp: implement SecureInitialize besides InitializeClock() 2021-09-06 16:32:34 -07:00
Michael Scire
6550e73754 fusee-cpp: sketch out remainder of secure initialize 2021-09-06 16:32:33 -07:00
Michael Scire
bc3bcb02ce fusee-cpp: Implement mbist workaround 2021-09-06 16:32:33 -07:00
Michael Scire
2d2f6d4237 ams: bump version to 0.20.1 2021-09-06 16:32:32 -07:00
Michael Scire
87a1de0b1d 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:34:02 -07:00
Michael Scire
dc3f54a713 ams: std::optional -> util::optional 2021-07-12 01:59:51 -07:00
Michael Scire
eb667fea51 ams: basic support for 12.1.0 2021-07-06 07:28:33 -07:00
Michael Scire
11ea38a7d7 ams: bump version to 0.19.4 2021-06-08 08:09:23 -07:00
Michael Scire
9ac6f527e2 ams: update for 12.0.2 2021-05-12 09:09:44 -07:00
Michael Scire
acee57e888 loader: avoid UB when doing count trailing zeros 2021-04-30 10:04:09 -07:00
Michael Scire
d78e6dfd60 ams: bump api version to 0.19.2 2021-04-30 08:56:10 -07:00
Michael Scire
5deb52d1eb erpt: implement forced shutdown detection 2021-04-30 08:56:10 -07:00
Michael Scire
888b39fa50 ams: assume gcc 11 2021-04-29 03:04:54 -07:00
Michael Scire
d8e35f2277 exo/meso: update for gcc 11 compatibility 2021-04-29 03:04:54 -07:00
Michael Scire
2d67f66c44 util: add compile-time validation tests for intrusive red black trees 2021-04-29 03:04:53 -07:00
Michael Scire
2ccba9adbb util: implement red black trees as templates over macros 2021-04-29 03:04:53 -07:00
Michael Scire
7111b5cce6 strat: no longer materially constrained by sm session limit 2021-04-29 03:04:50 -07:00
Michael Scire
86c2eec8e9 ams: bump to 0.19.1 2021-04-12 17:14:19 -07:00
Michael Scire
2542f282e0 sm: reimplement using tipc instead of cmif (probably broken, untested) 2021-04-11 03:59:24 -07:00
Michael Scire
8301b868fd tipc: fix compilation issues with core serialization routines 2021-04-11 03:59:21 -07:00
Michael Scire
7145b887bd tipc: tentative core serialization logic (missing imports, won't compile) 2021-04-11 03:59:21 -07:00
Michael Scire
4346c028a8 ams: add target firmware 12.0.0, fusee recognition 2021-04-11 03:59:20 -07:00
Michael Scire
f863ad0a32 kern: mesosphere now implements kernel/sdk 12.3 2021-04-11 03:59:20 -07:00
Michael Scire
3ebf91304e kern: update Initialize0 for new changes 2021-04-11 03:59:15 -07:00
Michael Scire
afaccc9576 svc: sanitize booleans in autogenerated abi stubs 2021-04-11 03:59:07 -07:00
Michael Scire
9b47aa6e08 ams: prefer construct_at/destroy_at over placement new/explicit destructor 2021-04-11 03:59:04 -07:00
Michael Scire
1861791c1c ams: remove TYPED_STORAGE() macro in favor of template 2021-04-11 03:59:03 -07:00
Michael Scire
db61376b5b ams: bump version to 0.19.0.
Release (probably) not actually imminent, I just don't want to forget.
2021-04-11 03:59:02 -07:00
Michael Scire
f09107ff50 kern: add extension InfoType for retrieving current process handle. 2021-04-11 03:59:01 -07:00
SciresM
e000dc9745 [tma2] [Ongoing] Continue implementing modules for tma2. (#1388)
* cs: add stub sysmodule to host command shell server

* cs: implement logic for main (linker error paradise, for now)

* cs: implement more of the system module's skeleton

* htcs: update client type names for libnx pr merge
2021-04-11 03:59:01 -07:00
Michael Scire
09f34b1323 ams: implement socket api for htclow socket driver 2021-04-11 03:58:55 -07:00
Michael Scire
7d528a30df htc: implement socket driver (socket api not really impl'd yet) 2021-04-11 03:58:54 -07:00
Michael Scire
353e7f1a2c htc: implement htcmisc service object commands 2021-04-11 03:58:54 -07:00
Michael Scire
013a073a34 htcs: implement rpc tasks 2021-04-11 03:58:51 -07:00
Michael Scire
2850786a0b htcs: hook up HtcsService to rpc client 2021-04-11 03:58:51 -07:00
Michael Scire
4006c4e7b9 htcs: fix magic template argument deduction, do Close/Connect/Bind 2021-04-11 03:58:51 -07:00
Michael Scire
a14d7222d0 htcs: hook up CreateSocket/RpcClient Begin<>/End<> 2021-04-11 03:58:50 -07:00
Michael Scire
9c78a955ce htcs: hook up manager impl to (unimplemented) service 2021-04-11 03:58:50 -07:00
Michael Scire
98b482a766 htcs: hook manager up to (unimplemented) manager impl 2021-04-11 03:58:49 -07:00
Michael Scire
099594469b htcs: hook service objects up to (unimplemented) manager apis 2021-04-11 03:58:49 -07:00
Michael Scire
149cfe4abc htc: Implement (almost) all host-directory commands 2021-04-11 03:58:47 -07:00
Michael Scire
1af323f5b8 htcfs: implement OpenDirectory/CloseDirectory 2021-04-11 03:58:47 -07:00
Michael Scire
b56c5aaaeb htc: implement htcfs protocol bringup 2021-04-11 03:58:46 -07:00
Michael Scire
435211a044 htclow: add Channel wrapper class 2021-04-11 03:58:44 -07:00
Michael Scire
bd05b91eb0 htc: Implement RpcClient::ReceiveThread + SendThread 2021-04-11 03:58:41 -07:00
Michael Scire
8d3f11796a htc: add RpcTaskQueue/RpcTaskIdFreeList 2021-04-11 03:58:40 -07:00
Michael Scire
3d4fa15b09 htc: implement htcmisc rpc tasks 2021-04-11 03:58:39 -07:00
Michael Scire
6a99b7fcd5 htc: implement mux side of connecting (and more) 2021-04-11 03:58:38 -07:00
Michael Scire
fda4ddca62 htc: declare and begin impl of HtclowManagerImpl interface 2021-04-11 03:58:37 -07:00
Michael Scire
042de46692 htc: implement HtclowDriver 2021-04-11 03:58:35 -07:00
Michael Scire
e1b47dab0e htc: implement remaining worker thread send logic (for channel mux) 2021-04-11 03:58:34 -07:00
Michael Scire
cb8ed30517 htc: add remaining worker receive thread logic 2021-04-11 03:58:32 -07:00
Michael Scire
c44177cbcc htc: implement service channel parsing (ReceiveReadyPacket) 2021-04-11 03:58:32 -07:00
Michael Scire
c19e50bff1 htc: implement much of worker receive logic 2021-04-11 03:58:31 -07:00
Michael Scire
9fd6ed27af htc: implement htclow listener thread 2021-04-11 03:58:30 -07:00
Michael Scire
a56a4aed77 htc: implement complete usb driver 2021-04-11 03:58:29 -07:00
Michael Scire
7f16e202eb htc: implement (fixing linker errors) through HtclowManagerImpl::OpenDriver 2021-04-11 03:58:29 -07:00
Michael Scire
bc08912dd3 ams: bump version to 0.18.1 2021-02-15 19:51:59 -08:00
Michael Scire
570e5ceccb usb: add ds client api 2021-02-15 19:51:58 -08:00
Michael Scire
e4d44fb376 util: add FixedSet 2021-02-15 19:51:57 -08:00
Michael Scire
5f5b9a2831 util: add FixedMap::clear 2021-02-15 19:51:57 -08:00
Michael Scire
663e99d1f3 util: various FixedMap fixes 2021-02-15 19:51:56 -08:00
Michael Scire
6f7afd1812 util: add FixedMap/FixedTree 2021-02-15 19:51:56 -08:00
Michael Scire
8827c7da7b util: impl::AvailableIndexFinder 2021-02-15 19:51:56 -08:00
Michael Scire
90d85295bb ams: bump version to 0.18.0 2021-02-02 12:16:31 -08:00
Michael Scire
66212b7926 dns.mitm: support % in hosts file as stand-in for environment identifier 2021-02-02 12:16:30 -08:00
Michael Scire
bdb87ff590 ams: take three tries to edit a structure 2021-02-02 12:16:29 -08:00
Michael Scire
eb0b06b201 ams: afsr0 -> 32 bits in fatal error 2021-02-02 12:16:29 -08:00
Michael Scire
280dd79270 ams: fix fatal error context 2021-02-02 12:16:28 -08:00
Michael Scire
36616d6e0b timespan: explicitly require TimeSpanType as is_pod 2021-02-02 12:16:25 -08:00
Michael Scire
ae4243e412 boot: update for new sf-semantics 2021-02-02 12:16:24 -08:00
Michael Scire
0b2c4bb70e util::unique_lock, update loader to new sf semantics 2021-02-02 12:16:22 -08:00
Michael Scire
29b3baf678 util::string_view, update pgl for new sf semantics 2021-02-02 12:16:21 -08:00
Michael Scire
637c44f64d libstrat: convert to experimental new (super-accurate) sf allocation semantics 2021-02-02 12:16:20 -08:00
Michael Scire
6c11c07e2a ams: bump version to 0.17.1 2021-01-13 10:41:30 -08:00
Michael Scire
f62751fe0f os: implement 11.x SdkReplyAndReceive 2021-01-13 10:41:29 -08:00
Michael Scire
20f8c05114 util: fix header dependence 2021-01-13 10:41:29 -08:00
Michael Scire
26369e34f1 ams: use util::SNPrintf over std:: (size/linker improvements) 2021-01-13 10:41:28 -08:00
Michael Scire
673c988ed1 util: faster constexpr offsetof calc, at the cost of standards compliance 2021-01-13 10:41:27 -08:00
Michael Scire
b3eef9315b kern: further codegen tweaks 2021-01-13 10:41:27 -08:00
Michael Scire
ca5e69f16d kern: greatly improve codegen for atomics, scheduler 2021-01-13 10:41:26 -08:00
Michael Scire
a85526a6eb ams: mariko support implies 0.17.0 2021-01-05 15:14:11 -08:00
Michael Scire
b05ba02f04 libmeso: explicitly blacklist ::sdmmc::, instead of relying on incorrect board tricks 2020-12-29 13:07:58 -08:00
Michael Scire
e82a57dc85 ams: resolve source dir inconsistency 2020-12-29 13:07:57 -08:00
Michael Scire
be8388d6ea svc: we support kernel version 15.4 2020-12-28 17:34:07 -08:00
Michael Scire
886dfaf6d5 ams: bump version to 0.16.2 2020-12-19 10:21:52 -08:00
Michael Scire
54872f504c ams: bump version to 0.16.1 2020-12-11 03:49:03 -08:00
Michael Scire
49f619600b fusee: update for 11.0.1 2020-12-11 03:49:02 -08:00
Michael Scire
eb621c6aae kern: implement memory debug 2020-12-11 03:49:02 -08:00
Michael Scire
7519d17941 kern: add kernel object debug 2020-12-11 03:49:01 -08:00
Michael Scire
4c0b780017 kern: implement port debug 2020-12-11 03:49:01 -08:00
Michael Scire
f3882fa0f7 kern: add handle table/process/suspend/resume debug 2020-12-11 03:49:01 -08:00
Michael Scire
9784530bcf kern: implement thread call stack debug 2020-12-11 03:49:00 -08:00
Michael Scire
a7b7dd1257 kern: add debug thread dump 2020-12-11 03:49:00 -08:00
Michael Scire
fd5212f399 fs: update + consolidate path normalization logic 2020-12-11 03:48:57 -08:00
Michael Scire
ccd1f3b982 kern: add support for InfoType_FreeThreadCount 2020-12-11 03:48:56 -08:00
Michael Scire
49c1ace890 erpt: update for 11.0.0 (closes #1218) 2020-12-03 12:48:16 -08:00
Michael Scire
9586142e90 kern: tweak optimization settings for hot paths 2020-12-02 06:53:22 -08:00
Michael Scire
4faa6940ce kern: more iterator adjustments 2020-12-02 06:53:22 -08:00
Michael Scire
72e1ac5093 ams: this version will be 0.16.0 2020-12-02 06:53:21 -08:00
Michael Scire
8209a85205 hot path: just in case 2020-12-02 06:53:20 -08:00
Michael Scire
b9504f356f microkernel: hot paths are pretty fucking hot 2020-12-02 06:53:20 -08:00
Michael Scire
7779d7d06d kern: stubs for Svc39, 3A, 46, 47 2020-12-02 06:53:16 -08:00
Michael Scire
c24ba715b4 KConditionVariable/KAddressArbiter: no need for global compare thread 2020-12-02 06:53:15 -08:00
Michael Scire
a57c7f7a48 kern: cleanup KThread, optimize/normalize KThreadQueue/KWaitObject 2020-12-02 06:53:14 -08:00
Michael Scire
0063ede635 kern: SvcGetResourceLimitPeakValue 2020-12-02 06:53:10 -08:00
Michael Scire
d3841d4e60 pgl: update for 11.0.0 2020-12-02 06:53:06 -08:00
Michael Scire
4d1664157d exo: update for 11.0.0 2020-12-02 06:53:05 -08:00
Michael Scire
db30a334d0 result: update for accurate ::Includes 2020-12-02 06:53:05 -08:00
Michael Scire
9a08bf8f08 exo/mariko fatal: print descriptor for fatal error report 2020-12-02 06:53:01 -08:00
Michael Scire
c891dfcff7 sdmmc: fix UHS-I tuning init for SD cards 2020-12-02 06:52:58 -08:00
Michael Scire
5aae240bc9 sdmmc: various fixes + logging as bugs are debugged 2020-12-02 06:52:58 -08:00
Michael Scire
3f4e0b4912 exo: read first two sd card sectors in mariko_fatal 2020-12-02 06:52:57 -08:00
Michael Scire
23609fb983 exo: implement start of mariko fatal handler 2020-12-02 06:52:57 -08:00
Michael Scire
c9cc686344 exo: disable untranslated gpu accesses on mariko 2020-12-02 06:52:54 -08:00
Michael Scire
fcde887f21 exo/program: release, debug, audit configs 2020-12-02 06:52:53 -08:00
Michael Scire
3cfd412e6a libexo/sc7fw: support release/debug/audit 2020-12-02 06:52:53 -08:00
Michael Scire
0ca028cfbc boot: various bugfixes (b/w logo displays now) 2020-12-02 06:52:50 -08:00
Michael Scire
423f979a0a boot: update/refactor display management to support hw type 5/display 0x1040/0x2050 2020-12-02 06:52:48 -08:00
Michael Scire
0804f0e3b5 dd: implement DeviceAddressSpaceType api 2020-12-02 06:52:48 -08:00
Michael Scire
d2b6c6c818 powctl: implement client api (needs board-specific impl) 2020-12-02 06:52:47 -08:00
Michael Scire
baef1c5151 pwm: implement driver for boot sysmodule 2020-12-02 06:52:47 -08:00
Michael Scire
9d7632a0d2 gpio: add missing driver functions for boot 2020-12-02 06:52:46 -08:00
Michael Scire
442c15d78c i2c: implement remaining required driver logic 2020-12-02 06:52:46 -08:00