Commit Graph

356 Commits

Author SHA1 Message Date
Michael Scire
e788e76571 htc: fixes for WriteFileLarge/sending over data channel 2021-04-11 03:58:49 -07:00
Michael Scire
8ebd4bc568 htcfs: fix CreateFile packet header 2021-04-11 03:58:48 -07:00
Michael Scire
041f8cd7db htc: implement the remaining commands for htcfs 2021-04-11 03:58:48 -07:00
Michael Scire
6068b21626 htc: ReadDirectoryLarge/data channel support 2021-04-11 03:58:48 -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
1261e3447b htc: fix event wait loops for rpc clients 2021-04-11 03:58:46 -07:00
Michael Scire
6737e4220e htc: fixes, can now enter ReadyState with wip starlink code 2021-04-11 03:58:45 -07:00
Michael Scire
116e4e88b3 htc: fix htcfs sf definition 2021-04-11 03:58:45 -07:00
Michael Scire
cf07075828 htc: finish last code for Main() 2021-04-11 03:58:45 -07:00
Michael Scire
1af137ab1b htc: add htcfs server/service object skeletons 2021-04-11 03:58:44 -07:00
Michael Scire
435211a044 htclow: add Channel wrapper class 2021-04-11 03:58:44 -07:00
Michael Scire
5199b3edaa htcs: add hipc server/service object skeletons 2021-04-11 03:58:43 -07:00
Michael Scire
93966fd4b1 htc: skeleton HtcsManagerImpl, implement HtcsMonitor 2021-04-11 03:58:43 -07:00
Michael Scire
ddadc3e579 htc: ObserverThread (mostly), system now boots + works with htc in bg 2021-04-11 03:58:42 -07:00
Michael Scire
46653ac05a htc: implement psc/pm loop 2021-04-11 03:58:42 -07:00
Michael Scire
d2a70847d4 htc: implement HtcmiscImpl::ServerThread/HtcmiscRpcServer::ReceiveThread 2021-04-11 03:58:41 -07:00
Michael Scire
bd05b91eb0 htc: Implement RpcClient::ReceiveThread + SendThread 2021-04-11 03:58:41 -07:00
Michael Scire
21b2112bcc htc: Implement HtcmiscImpl::ClientThread 2021-04-11 03:58:40 -07:00
Michael Scire
8d3f11796a htc: add RpcTaskQueue/RpcTaskIdFreeList 2021-04-11 03:58:40 -07:00
Michael Scire
f2b51e2130 htc: nullptr != false 2021-04-11 03:58:39 -07:00
Michael Scire
0286aacf33 htc: add RpcTaskTable 2021-04-11 03:58:39 -07:00
Michael Scire
3d4fa15b09 htc: implement htcmisc rpc tasks 2021-04-11 03:58:39 -07:00
Michael Scire
8d6c9bb9ee htc: skeleton constructors for htcmisc 2021-04-11 03:58:38 -07:00
Michael Scire
a1e57a7413 htc: implement remainder of Mux/Tasks 2021-04-11 03:58:38 -07:00
Michael Scire
6a99b7fcd5 htc: implement mux side of connecting (and more) 2021-04-11 03:58:38 -07:00
Michael Scire
67c293faba htc: fix driver manager c/p error 2021-04-11 03:58:37 -07:00
Michael Scire
8bfa4d662e htc: implement remaining htclow::HtclowManagerImpl funcs (mux impls pending) 2021-04-11 03:58:37 -07:00
Michael Scire
fda4ddca62 htc: declare and begin impl of HtclowManagerImpl interface 2021-04-11 03:58:37 -07:00
Michael Scire
996e21863a htc: optimize Mux::QuerySendPacket 2021-04-11 03:58:36 -07:00
Michael Scire
33100d9fbb mux: optimize many accesses to O(log(n)) vs Nintendo's O(log(n)^2) 2021-04-11 03:58:36 -07:00
Michael Scire
042de46692 htc: implement HtclowDriver 2021-04-11 03:58:35 -07:00
Michael Scire
b6d73580ed htc: begin skeletoning types for HtcmiscImpl 2021-04-11 03:58:35 -07:00
Michael Scire
53b04c5225 htc: hook up creation of the htc manager service object 2021-04-11 03:58:35 -07:00
Michael Scire
276c3f8434 htc: module id names, skeleton rest of main 2021-04-11 03:58:34 -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
aceea1eaa7 htc: send logic for HtcctrlService, bugfixes (thanks @misson20000) 2021-04-11 03:58:33 -07:00
Michael Scire
e5c573e354 rapidjson: add customization point for allocation/asserts 2021-04-11 03:58:33 -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
f8389f9460 htc: fix copy/paste error in usb driver 2021-04-11 03:58:31 -07:00
Michael Scire
6a4247a6ed htc: free ourselves from the tyranny of numerical enums 2021-04-11 03:58:30 -07:00
Michael Scire
9fd6ed27af htc: implement htclow listener thread 2021-04-11 03:58:30 -07:00
Michael Scire
5586a4fb2e htc: actually use the usb driver 2021-04-11 03:58:29 -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
d664c8ed8a htclow: fix copyright headers, skeleton more manager types 2021-04-11 03:58:28 -07:00
Michael Scire
3d535e6103 htc: skeleton much of the type hierarchy for htclow manager 2021-04-11 03:58:28 -07:00
Michael Scire
d2102cb585 htc: skeleton some more of main 2021-04-11 03:58:28 -07:00
Michael Scire
2f17a76901 psc: fix pm module init 2021-02-15 19:51:58 -08:00
Michael Scire
89b7a83d3b usb: fix wrong command id for AppendConfigurationData 2021-02-15 19:51:58 -08:00
Michael Scire
570e5ceccb usb: add ds client api 2021-02-15 19:51:58 -08:00
Michael Scire
17960517ba hid: fix sm usage 2021-02-02 18:32:59 -08:00
Michael Scire
834549081a ncm: fix ContentStorageImplBase constructor 2021-02-02 18:32:59 -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
fb48bd2766 dns.mitm: add GetAddrInfo redir, AtmosphereReloadHostsFile, debug logging control 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
906a450ac3 dns.mitm: parse redirections from hosts file 2021-02-02 12:16:28 -08:00
Michael Scire
1314374890 dns: implement GetHostByName redirection (backend TODO) 2021-02-02 12:16:27 -08:00
Michael Scire
dfdd58ab7f fssystem: fix bug in BufferedStorage 2021-02-02 12:16:27 -08:00
Michael Scire
7c377daaa4 result: always prefer diag::Abort to fatal 2021-02-02 12:16:26 -08:00
Michael Scire
fdd1ccf87a sm: supercede ams extension via DetachClient 2021-02-02 12:16:26 -08:00
Michael Scire
efe104b0ea ams: communicate status to libnx 2021-02-02 12:16:25 -08:00
Michael Scire
b209249e12 ams_mitm: update for new sf semantics 2021-02-02 12:16:24 -08:00
Michael Scire
85348a7664 boot2: update for new sf semantics 2021-02-02 12:16:24 -08:00
Michael Scire
ded84a211e libstrat: move weak HasLaunchedBootProgram to non-lto object file 2021-02-02 12:16:23 -08:00
Michael Scire
0b2c4bb70e util::unique_lock, update loader to new sf semantics 2021-02-02 12:16:22 -08:00
Michael Scire
a1504c0df4 string_view: remove now unecessary comment 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
7eb0be284d pm: update for new sf semantics 2021-02-02 12:16:21 -08:00
Michael Scire
9ce7e67114 erpt: update for new sf semantics 2021-02-02 12:16:21 -08:00
Michael Scire
b58f3d9174 ro: reduce memory usage by excising (unused) std::malloc 2021-02-02 12:16:21 -08:00
Michael Scire
af65f58109 ro: update for new sf semantics 2021-02-02 12:16:20 -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
5c40e39e27 os: fix missing logic in SdkReplyAndReceive 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
5a3c0620e1 fs: fix keyslotcache unique_lock usage 2021-01-13 10:41:29 -08:00
Michael Scire
270766dbd1 strat: avoid using unique_lock in a few places 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
803257776c ams: save 0x11000 of memory in spl via minor tweaks 2021-01-13 10:41:28 -08:00
Michael Scire
ced1312dc7 sm: implement accurate request deferral semantics 2021-01-05 15:14:01 -08:00
Michael Scire
90f2c7b349 strat: fix board namespacing for nintendo::nx 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
c4215bc6dd ams: update five -> aula, per CalWriterManu 2020-12-28 17:34:07 -08:00
Michael Scire
cf1e61819f pgl: add new snapshotdump logic 2020-12-19 10:21:50 -08:00
Michael Scire
04459de121 pgl: update for 11.0.0 behavior 2020-12-19 10:21:50 -08:00
Michael Scire
fd5212f399 fs: update + consolidate path normalization logic 2020-12-11 03:48:57 -08:00
Michael Scire
1aa8a27f17 fs: move file storage to common 2020-12-11 03:48:57 -08:00
Michael Scire
8aa6f4253d IStorage: rename access check helpers 2020-12-11 03:48:57 -08:00
Michael Scire
7c4ada41fc fsa: *Impl -> Do* 2020-12-11 03:48:56 -08:00
Michael Scire
e5bb9eded1 fs/system: deduplicate RomFs code 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
8233fa00ac fssystem: fix bug in BufferedStorage 2020-12-02 06:53:24 -08:00
fincs
ea4923ce2b strat/cfg: Update for new libnx HID interface 2020-12-02 06:53:14 -08:00
fincs
782272d092 strat/hid: Update for new libnx HID interface 2020-12-02 06:53:14 -08:00
Michael Scire
4958ea6d93 erpt: lightly update (TODO: use context, do new svc stuff) 2020-12-02 06:53:07 -08:00
Michael Scire
d3841d4e60 pgl: update for 11.0.0 2020-12-02 06:53:06 -08:00
Michael Scire
e44d2a211c ncm: fix abort in ListContentMetaInfo 2020-12-02 06:53:04 -08:00
Michael Scire
d488683b94 fs: fix bug in buffer manager 2020-12-02 06:53:03 -08:00
Michael Scire
33ea9ed3aa fs: fix RomFs GetEntryType (fixes mariko daybreak) 2020-12-02 06:53:00 -08:00
Michael Scire
159ca97a9d os: remove completed TODO 2020-12-02 06:53:00 -08:00
Michael Scire
b09571b57e os: do not use deprecated libnx ::virtmemReserve api 2020-12-02 06:53:00 -08:00
Michael Scire
e133d475ee ldr/hbl: support address space width overrides 2020-12-02 06:52:59 -08:00
Michael Scire
23609fb983 exo: implement start of mariko fatal handler 2020-12-02 06:52:57 -08:00
Michael Scire
3cfd412e6a libexo/sc7fw: support release/debug/audit 2020-12-02 06:52:53 -08:00
Michael Scire
014ac8efc7 boot2: don't wait for bpc.mitm on mariko 2020-12-02 06:52:52 -08:00
Michael Scire
aa7ed49d2d i2c: correct missing destruction 2020-12-02 06:52:51 -08:00
Michael Scire
434ae67d99 wec: whoops 2020-12-02 06:52:51 -08:00
Michael Scire
df18fe68c7 updater: don't overwrite custom-public-key BCTs 2020-12-02 06:52:51 -08:00
Michael Scire
dd0fc9e7be pinmux: whoops 2020-12-02 06:52:50 -08:00
Michael Scire
776947e28f boot/powctl/i2c: more miscellaneous fixes 2020-12-02 06:52:50 -08:00
Michael Scire
0ca028cfbc boot: various bugfixes (b/w logo displays now) 2020-12-02 06:52:50 -08:00
Michael Scire
fcc7a54b02 powctl: implement max17050 driver 2020-12-02 06:52:50 -08:00
Michael Scire
5eba001491 powctl: add battery driver logic (missing impl) 2020-12-02 06:52:49 -08:00
Michael Scire
d50eca6669 powctl: implement max17050 custom parameter init 2020-12-02 06:52:49 -08:00
Michael Scire
11e010b0e6 powctl: implement full bq24193 driver 2020-12-02 06:52:49 -08:00
Michael Scire
0710185c28 i2c: add register acccessor helpers 2020-12-02 06:52:49 -08:00
Michael Scire
5b228da4b4 powctl: add ChargerDriver body (needs impl) 2020-12-02 06:52:48 -08:00
Michael Scire
8251ade5a0 pinmux: implement updated initial config api 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
f11884e0fe boot: refactor battery checking to use new powctl apis 2020-12-02 06:52:47 -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
Michael Scire
3d423c4e0e i2c: command list format, get boot down to linker errors 2020-12-02 06:52:46 -08:00
Michael Scire
134d7f2d9f i2c/gpio: hook up open session for sf interface 2020-12-02 06:52:46 -08:00
Michael Scire
8e2101c403 i2c: implement driver init api 2020-12-02 06:52:45 -08:00
Michael Scire
56b8374ef9 i2c: finish I2cBusAccessor 2020-12-02 06:52:45 -08:00
Michael Scire
fecad158f3 i2c: implement BusAccessor::WriteHeader 2020-12-02 06:52:45 -08:00
Michael Scire
462ab175af i2c: implement BusAccessor except Send/Receive/WriteHeader 2020-12-02 06:52:45 -08:00
Michael Scire
f99c30920b boot: add rgltr/clkrst overrides, skel I2cBusAccessor 2020-12-02 06:52:44 -08:00
Michael Scire
de95812488 i2c: add auto-generated bus/device map 2020-12-02 06:52:44 -08:00
Michael Scire
778bea6e41 i2c: begin skeleton device driver framework 2020-12-02 06:52:44 -08:00
Michael Scire
41bcdc9c1f gpio: implement more of server library for boot sysmodule client usage 2020-12-02 06:52:43 -08:00
Michael Scire
3756f81d9e wec: implement wec driver components for boot sysmodule 2020-12-02 06:52:43 -08:00
Michael Scire
57c40bca06 gpio: add (most of) driver framework for boot sysmodule usage 2020-12-02 06:52:43 -08:00
Michael Scire
120c63b612 ddsf: implement namespace 2020-12-02 06:52:42 -08:00
SciresM
791b402320 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-12-02 06:52:42 -08:00
Michael Scire
10e9e0e8f9 docs/fatal error: update for 0.15.0 2020-10-26 16:03:09 -07:00
Michael Scire
72def8c75d erpt: fix attachment-in-save paths (closes #1124, #1145) 2020-10-26 16:03:07 -07:00
Michael Scire
dbbf26f03c ams: expose reboot payload for kernel panic 2020-10-26 16:03:06 -07:00
Michael Scire
4c51c55d1a loader: improve verification terminology 2020-09-14 18:13:42 -07:00
Michael Scire
fea438eb76 sm: fix deadlock semantics surrounding mitm installation 2020-09-07 10:51:46 -07:00
Michael Scire
5a60240fc8 strat: fix inclusion/ordering for some c headers 2020-08-14 17:36:37 -07:00
Michael Scire
9f7bc49438 ams: avoid UB infinite loops 2020-08-14 17:36:37 -07:00
Michael Scire
9f765dd4ee sf: handle serialization errors more accurately and gracefully 2020-08-14 17:36:36 -07:00
Michael Scire
5ca2b62e1c boot2: work around pcv<->fs<->settings race condition 2020-08-01 15:31:27 -07:00