Commit Graph

456 Commits

Author SHA1 Message Date
Michael Scire
ea0de678ac lr: fix EraseRedirection hang introduced by refactoring 2021-10-26 01:11:11 -07:00
Michael Scire
960c5c19f9 ams: improve offsetof style consistency 2021-10-26 01:11:10 -07:00
Michael Scire
21cb300537 constexpr: resign ourselves to gcc dropping void -> T support 2021-10-26 01:11:10 -07:00
Michael Scire
d5ea59d8f8 powctl: remove unused arm_neon header after last commit 2021-10-26 01:11:09 -07:00
Michael Scire
6da57eff75 powctl: don't require arm64 arch for floating -> fixed conversion 2021-10-26 01:11:09 -07:00
Michael Scire
cf765c0946 tipc: implement special-case templating used by 13.0.0 pgl 2021-10-15 23:54:40 -07:00
Michael Scire
dbd0b13002 boot: update for 13.0.0/aula parameter changes (closes #1477) 2021-10-15 23:54:40 -07:00
Michael Scire
17bf5ee002 powctl: integrate 13.0.0 changes (aula params not done yet) 2021-10-15 23:54:40 -07:00
Michael Scire
68e9f7c853 strat: fix some mitm server management logic 2021-10-15 23:54:39 -07:00
Michael Scire
15b3f9545f sm/tipc: minor cleanup 2021-10-15 23:54:39 -07:00
Michael Scire
02c1d19605 strat: don't force fs globals to link into every process 2021-10-15 23:54:38 -07:00
Michael Scire
a9322a7245 sf: prevent emitting mitm/defer code unless server in process supports it 2021-10-15 23:54:38 -07:00
Michael Scire
3bef5b7d5a ams: allow bootloader to merely approximate correct target firmware 2021-10-15 23:54:37 -07:00
Michael Scire
3218308524 loader: refactor ro manager/improve accuracy 2021-10-15 23:54:36 -07:00
Michael Scire
0abb1e474e spl: refactor for accuracy/move into libstrat 2021-10-15 23:54:36 -07:00
Michael Scire
11e9dcfe11 os: add FlushDataCache 2021-10-15 23:54:36 -07:00
Michael Scire
3e33fb6361 strat: use m_ for member variables 2021-10-15 23:54:35 -07:00
Michael Scire
3b5f56ab9f ams: replace most remaining operator & with std::addressof 2021-10-15 23:54:34 -07:00
Michael Scire
02e98d84d7 settings: fix correctness issue in LazyFileAccessor 2021-10-15 23:54:34 -07:00
Michael Scire
5c32ec11ea strat: refactor address taking of form &var[...] 2021-10-15 23:54:34 -07:00
Michael Scire
e2df2f98a3 strat: always use explicit result namespacing 2021-10-15 23:54:33 -07:00
Adubbz
ea0bb620f2 settings: implement KeyValueStore (#1659)
* settings: implement KeyValueStore and dependencies

* settings: update KeyValueStore for recent refactoring

* settings: address feedback
2021-10-15 23:54:33 -07:00
Michael Scire
0a4c2759a1 os: fix mutex push/pop prototypes 2021-10-07 23:38:32 -07:00
Michael Scire
80d72af9f3 cs: prevent exceptions from manifesting 2021-10-07 23:06:30 -07:00
Michael Scire
3fcc3c8e72 boot: save 12KB 2021-10-07 23:06:29 -07:00
Michael Scire
c3583b8604 erpt: save 8KB 2021-10-07 23:06:29 -07:00
Michael Scire
2905319d46 strat: use ams::Main() instead of main(argc, argv) 2021-10-07 23:06:29 -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
408173da12 os: fix MapTransferMemory output not being set 2021-10-07 23:06:28 -07:00
Michael Scire
390ce66da1 svc: refactor/rename MemoryInfo fields 2021-10-07 23:06:28 -07:00
Michael Scire
782e449543 strat: remove map namespace, svc: add address space defs 2021-10-07 23:06:27 -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
09a9fdb2c3 pm: use svc::LimitableResource where relevant 2021-10-07 23:06:26 -07:00
Michael Scire
5a71876ca8 strat: use svc:: over ::svc 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
304b0f8016 os: remove ManagedHandle, refactor to use NativeHandle typename 2021-10-07 23:06:25 -07:00
Michael Scire
4390df76ad pm/cfg: simplify initial process id range logic 2021-10-07 23:06:25 -07:00
Michael Scire
28756234d9 strat: automatic program id detection 2021-10-07 23:06:25 -07:00
Michael Scire
828506218f os: adopt nintendo ReaderWriter naming over ReadWrite 2021-10-07 23:06:24 -07:00
Michael Scire
a582429e6d os: amend io region api 2021-10-07 23:06:24 -07:00
Michael Scire
cc4133c1b7 os: improve thread name codegen 2021-10-07 23:06:24 -07:00
Michael Scire
d1c6b77f13 os: implement SharedMemory, update AslrSpaceManager 2021-10-07 23:06:23 -07:00
Michael Scire
b690bc1472 os: fix AttachTransferMemory return type 2021-10-07 23:06:23 -07:00
Michael Scire
6125281acd os: adopt multiwait naming over waitable 2021-10-07 23:06:23 -07:00
Michael Scire
71b389c9e4 os: add tentative IoRegionType 2021-10-07 23:06:22 -07:00
Michael Scire
28edc0ca8f lmem: fix assert with side effects 2021-10-07 23:06:22 -07:00
Michael Scire
c68298a00e stratosphere: use SdkMutex/SdkRecursiveMutex over Mutex 2021-10-07 23:06:22 -07:00
Michael Scire
6fdac55fd1 libstrat: uncomment some asserts 2021-10-07 23:06:21 -07:00
Michael Scire
7665721e03 ams-libs: AMS_ASSERT no longer invokes expression 2021-10-07 23:06:21 -07:00
Michael Scire
3ef8f0f73f os: implement Barrier 2021-10-07 23:06:21 -07:00
Michael Scire
389018db64 os: implement SdkRecursiveMutex 2021-10-07 23:06:21 -07:00
Michael Scire
47bbff43c5 os: add unit tests for ExpandUnsignedValueToAscii 2021-10-07 23:06:20 -07:00
Michael Scire
c357cf7b87 os: implement ExpandUnsignedValueToAscii
Nintendo does this as of latest firmware.

It's desirable because it removes the only usage of util::SNPrintf() from os library,
which means programs which don't otherwise use SNPrintf do not need to link it into .text.

This saves ~0xD40 of .text as of time-of-commit when successfully unlinking, and e.g.
reduces our sm (and other modules) memory size by a page.
2021-10-07 23:06:20 -07:00
Michael Scire
6f53cbbe79 os: implement LightSemaphore 2021-10-07 23:06:20 -07:00
Michael Scire
41495ef51b os: implement LightMessageQueue 2021-10-07 23:06:19 -07:00
Michael Scire
c00d83204f os: refactor MessageQueue to use new MessageQueueHelper template 2021-10-07 23:06:19 -07:00
Michael Scire
9035b840a2 os: tweak LightEvent codegen 2021-10-07 23:06:19 -07:00
Michael Scire
3d6e8d5281 os: implement LightEvent 2021-10-07 23:06:19 -07:00
Michael Scire
57e380b2d6 os: implement ReadWriteBusyMutex 2021-10-07 23:06:18 -07:00
Michael Scire
6c98cd1ce2 os: implement BusyMutex 2021-10-07 23:06:18 -07:00
Michael Scire
dc52a32285 ncm: fix destructor availability 2021-09-19 11:01:04 -07:00
Michael Scire
b579a6d75e svc/kern/dd: remove MapDeviceAddressSpace() 2021-09-19 10:35:39 -07:00
Adubbz
4afce6965f ncm: updated to 13.0.0 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
6b66af37cd erpt: skeleton sprofile apis 2021-09-19 10:35:32 -07:00
Michael Scire
f85afd2980 boot2: launch nintendo lm from built in system, not none 2021-09-19 10:35:31 -07:00
Michael Scire
2ab649f2b0 cs: fix launching of tio server 2021-09-19 10:35:30 -07:00
Michael Scire
ad9c7eb4dd cs: fix screenshot packet semantics 2021-09-19 10:35:30 -07:00
Michael Scire
c53eeb27f3 cs: implement TakeScreenShot command 2021-09-19 10:35:30 -07:00
Michael Scire
c31069cc88 cs: fix allocator aborts 2021-09-19 10:35:30 -07:00
Michael Scire
7bb3153938 osdbg: implement thread info api 2021-09-19 10:35:27 -07:00
Michael Scire
f29660c335 boot2: launch dmnt.gen2 over dmnt, when using htc 2021-09-19 10:35:26 -07:00
Michael Scire
bd1fab8516 cs: implement GetFirmwareVersion command 2021-09-19 10:35:25 -07:00
Michael Scire
728191da43 scs: implement EventHandlerThread for shell 2021-09-19 10:35:25 -07:00
Michael Scire
a949c14c95 scs: implement DoShellServer 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
0c0bb8153a fusee: attempt reboot to self if possible, better abort/fatal handlers 2021-09-06 16:32:50 -07:00
Michael Scire
f78be93eac stratosphere: remove 0.19.0 update cleanup logic. 2021-09-06 16:32:49 -07:00
Michael Scire
fe21509991 ams-1.0.0: meso no longer optional, remove conditional logic 2021-09-06 16:32:47 -07:00
Michael Scire
5c215383b2 dmnt: various cheat changes/suggestions that have been cooking a while 2021-08-20 13:34:00 -07:00
Michael Scire
dc3f54a713 ams: std::optional -> util::optional 2021-07-12 01:59:51 -07:00
Michael Scire
2945208d6e erpt: fix 0x100 byte memory leak on creation of new report 2021-07-06 07:28:31 -07:00
Michael Scire
5a133af896 mem: actually fully fix the heap bug, add comments for future self 2021-06-08 08:09:22 -07:00
Michael Scire
b1f5e24044 mem: fix rare crash/logic error in heap allocation code 2021-06-08 08:09:21 -07:00
Michael Scire
156a5ceba2 libstrat: fix override operator new to be noexcept (closes #1494) 2021-06-08 08:09:21 -07:00
Michael Scire
82296aa0ee ams: move around abort handler to avoid linker errors 2021-05-12 09:09:42 -07:00
Michael Scire
07073a7580 sm: update to excise unnecessary library code 2021-05-12 09:09:41 -07:00
Michael Scire
2fc9035b7d fs: add access log strings for DirectoryEntryType 2021-05-12 09:09:41 -07:00
Michael Scire
64ec9a7421 erpt: fix reading files that don't exist 2021-05-12 09:09:40 -07:00
Michael Scire
dc42da8456 boot: update all autogenerated parameters other than charge 2021-04-30 08:56:11 -07:00
Michael Scire
5deb52d1eb erpt: implement forced shutdown detection 2021-04-30 08:56:10 -07:00
Michael Scire
f9eff4dcdd erpt: Implement 12.0.0 AppletTotalActiveTime tracking 2021-04-30 08:56:10 -07:00
Michael Scire
1e1b5971ce fs: properly implement OperateRangeWithBuffer, correct OperationId names. 2021-04-30 08:56:09 -07:00
Michael Scire
888b39fa50 ams: assume gcc 11 2021-04-29 03:04:54 -07:00