Michael Scire
b8be94ed7e
strat: only include windows.h in translation units where actually needed
2022-03-23 09:15:56 -07:00
Michael Scire
5febe40d50
fs: fix clang-build, os: StackGuardManager
2022-03-23 09:15:52 -07:00
Michael Scire
0cefca205f
os: add working stack logic for macOS
2022-03-23 09:15:50 -07:00
Michael Scire
d5b858f5ba
fix stack getting on linux, add test
2022-03-23 09:15:50 -07:00
Michael Scire
1f2822fafe
abort/error: print backtrace, abuse templates, overhaul result/diag (macos not done yet)
2022-03-23 09:15:49 -07:00
Michael Scire
5131256383
add basic tests for os::Event/SystemEvent functionality
2022-03-23 09:15:47 -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
54783b86f1
dmnt2: detect thread name, add monitor get mapping(s), increase buffer sizes
2021-11-03 23:59:55 -07:00
SciresM
823c0df6b9
kern: avoid constexpr init for many objects (avoids unnecessary memory clear) ( #1668 )
2021-10-26 01:11:13 -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
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
0a4c2759a1
os: fix mutex push/pop prototypes
2021-10-07 23:38:32 -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
390ce66da1
svc: refactor/rename MemoryInfo fields
2021-10-07 23:06:28 -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
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
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
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
7665721e03
ams-libs: AMS_ASSERT no longer invokes expression
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
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
7bb3153938
osdbg: implement thread info api
2021-09-19 10:35:27 -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
07073a7580
sm: update to excise unnecessary library code
2021-05-12 09:09:41 -07:00
Michael Scire
2fe065b590
tipc/sm: various fixes for issues
2021-04-11 03:59:24 -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
b58f3d9174
ro: reduce memory usage by excising (unused) std::malloc
2021-02-02 12:16:21 -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
270766dbd1
strat: avoid using unique_lock in a few places
2021-01-13 10:41:29 -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
b09571b57e
os: do not use deprecated libnx ::virtmemReserve api
2020-12-02 06:53:00 -08:00
Michael Scire
344a3265c0
os: fix building with new svc defs
2020-08-01 15:31:05 -07:00
Michael Scire
c5e4c7c921
kern: implement SvcWaitSynchronization
2020-08-01 15:31:01 -07:00
Michael Scire
3c7c4d8bff
fs: implement AccessLog, enable for File operations
2020-08-01 15:30:55 -07:00