Commit Graph

41 Commits

Author SHA1 Message Date
Michael Scire
6a5d2ced4b ams: globally prefer R_RETURN to return for ams::Result 2022-04-04 17:46:58 -07:00
Michael Scire
6f4618ea60 ams: use R_SUCCEED, R_THROW globally 2022-04-04 17:46:57 -07:00
Michael Scire
d7a9c7ec4c ams: support building unit test programs on windows/linux/macos 2022-03-23 09:15:46 -07:00
Michael Scire
8a8631ebcb strat: build sysmodules with -Wextra/-Werror 2021-10-07 23:06:29 -07:00
Michael Scire
843dc8e521 libstrat: fix compilation without pre-compiled header/without lto 2021-10-07 23:06:28 -07:00
Michael Scire
fd1b6d4578 libstrat: enable -Wextra, -Werror
This caught an embarrassingly large number of bugs.
2021-10-07 23:06:28 -07:00
Michael Scire
4ce6273f2b strat: use sf::NativeHandle for ipc templating 2021-10-07 23:06:27 -07:00
Michael Scire
612b9e2f01 strat: prefer os::NativeHandle to Handle/svc::Handle where sensible 2021-10-07 23:06:26 -07:00
Michael Scire
002422d5dc ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals 2021-10-07 23:06:25 -07:00
Michael Scire
728191da43 scs: implement EventHandlerThread for shell 2021-09-19 10:35:25 -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
0345840a88 ams: convert to util::ConstructAt where appropriate 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
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
353e7f1a2c htc: implement htcmisc service object commands 2021-04-11 03:58:54 -07:00
Michael Scire
d23bc85d38 htcs: fixes, echo server is now fully functional 2021-04-11 03:58:53 -07:00
Michael Scire
d5e748ec4f htcs: implement virtual socket collection 2021-04-11 03:58:52 -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
6f9aad70da htcs: declare all rpc tasks 2021-04-11 03:58:50 -07:00
Michael Scire
a14d7222d0 htcs: hook up CreateSocket/RpcClient Begin<>/End<> 2021-04-11 03:58:50 -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
cf07075828 htc: finish last code for Main() 2021-04-11 03:58:45 -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
fda4ddca62 htc: declare and begin impl of HtclowManagerImpl interface 2021-04-11 03:58:37 -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