Michael Scire
ca142889c4
strat: only include windows.h in translation units where actually needed
2022-03-21 17:21:44 -07:00
Michael Scire
cb3d20ef79
fs: fix clang-build, os: StackGuardManager
2022-03-21 17:21:44 -07:00
Michael Scire
7456a77ba9
os: add working stack logic for macOS
2022-03-21 17:21:44 -07:00
Michael Scire
a3865e721a
fix stack getting on linux, add test
2022-03-21 17:21:44 -07:00
Michael Scire
646f84bad1
abort/error: print backtrace, abuse templates, overhaul result/diag (macos not done yet)
2022-03-21 17:21:44 -07:00
Michael Scire
1933f35db6
add basic tests for os::Event/SystemEvent functionality
2022-03-21 17:21:44 -07:00
Michael Scire
64a97576d0
ams: support building unit test programs on windows/linux/macos
2022-03-21 17:21:44 -07:00
Michael Scire
6145b3b72c
dmnt2: detect thread name, add monitor get mapping(s), increase buffer sizes
2021-11-03 23:56:25 -07:00
SciresM
36e4914be8
kern: avoid constexpr init for many objects (avoids unnecessary memory clear) ( #1668 )
2021-10-23 15:25:20 -07:00
Michael Scire
889d843718
ams: improve offsetof style consistency
2021-10-18 00:17:13 -07:00
Michael Scire
ad4c794aea
constexpr: resign ourselves to gcc dropping void -> T support
2021-10-17 02:39:16 -07:00
Michael Scire
bc96ebb74c
os: add FlushDataCache
2021-10-10 00:33:52 -07:00
Michael Scire
a595c232b9
strat: use m_ for member variables
2021-10-10 00:14:06 -07:00
Michael Scire
1ab0bd1765
ams: replace most remaining operator & with std::addressof
2021-10-09 14:49:53 -07:00
Michael Scire
d14290e357
os: fix mutex push/pop prototypes
2021-10-07 23:38:15 -07:00
Michael Scire
ffc143860b
strat: use ams::Main() instead of main(argc, argv)
2021-10-07 17:44:54 -07:00
Michael Scire
e8f1efd01b
libstrat: fix compilation without pre-compiled header/without lto
2021-10-06 17:58:42 -07:00
Michael Scire
7ca83c9d3b
libstrat: enable -Wextra, -Werror
...
This caught an embarrassingly large number of bugs.
2021-10-06 15:20:48 -07:00
Michael Scire
e1fbf27398
os: fix MapTransferMemory output not being set
2021-10-06 12:07:26 -07:00
Michael Scire
4866e80769
svc: refactor/rename MemoryInfo fields
2021-10-05 15:16:54 -07:00
Michael Scire
6f680fe63b
strat: use svc:: over ::svc
2021-10-04 14:54:13 -07:00
Michael Scire
77fe5cf6f5
ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals
2021-10-04 12:59:10 -07:00
Michael Scire
6f76066d24
os: remove ManagedHandle, refactor to use NativeHandle typename
2021-10-04 12:33:09 -07:00
Michael Scire
18825866ac
strat: automatic program id detection
2021-10-01 17:18:50 -07:00
Michael Scire
2b37e5d486
os: adopt nintendo ReaderWriter naming over ReadWrite
2021-10-01 11:42:34 -07:00
Michael Scire
00d0c94f2d
os: amend io region api
2021-10-01 01:02:48 -07:00
Michael Scire
3eac814268
os: improve thread name codegen
2021-10-01 00:41:35 -07:00
Michael Scire
82f3416799
os: implement SharedMemory, update AslrSpaceManager
2021-10-01 00:36:18 -07:00
Michael Scire
101e3087fe
os: fix AttachTransferMemory return type
2021-09-30 22:18:46 -07:00
Michael Scire
7444a68cd1
os: adopt multiwait naming over waitable
2021-09-30 19:00:47 -07:00
Michael Scire
2d214f5e1e
os: add tentative IoRegionType
2021-09-30 11:32:45 -07:00
Michael Scire
9b04ff0f54
ams-libs: AMS_ASSERT no longer invokes expression
2021-09-29 21:32:40 -07:00
Michael Scire
5dc64bc1f7
os: implement Barrier
2021-09-29 18:03:11 -07:00
Michael Scire
b25218c918
os: implement SdkRecursiveMutex
2021-09-29 14:56:53 -07:00
Michael Scire
8fc7d715a5
os: add unit tests for ExpandUnsignedValueToAscii
2021-09-29 13:55:40 -07:00
Michael Scire
15ff64e03a
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-09-29 13:42:11 -07:00
Michael Scire
1e7a327a25
os: implement LightSemaphore
2021-09-29 13:24:03 -07:00
Michael Scire
b8a1ebd11a
os: implement LightMessageQueue
2021-09-29 12:55:52 -07:00
Michael Scire
cf5f431058
os: refactor MessageQueue to use new MessageQueueHelper template
2021-09-29 12:24:18 -07:00
Michael Scire
c7634c66c4
os: tweak LightEvent codegen
2021-09-28 19:11:52 -07:00
Michael Scire
632b6b3330
os: implement LightEvent
2021-09-28 18:54:09 -07:00
Michael Scire
5e0bbb61b1
os: implement ReadWriteBusyMutex
2021-09-28 17:01:11 -07:00
Michael Scire
09570c470c
os: implement BusyMutex
2021-09-28 14:53:55 -07:00
Michael Scire
c6fad1b0ee
osdbg: implement thread info api
2021-09-11 19:41:47 -07:00
Michael Scire
da208f8001
ams-1.0.0: meso no longer optional, remove conditional logic
2021-09-06 16:26:50 -07:00
Michael Scire
32f487abfb
sm: update to excise unnecessary library code
2021-05-02 10:33:15 -07:00
Michael Scire
9be8b32311
tipc/sm: various fixes for issues
2021-04-11 03:42:16 -07:00
Michael Scire
57c8bc432d
sm: reimplement using tipc instead of cmif (probably broken, untested)
2021-04-11 03:42:16 -07:00
Michael Scire
d84dcb653d
ams: prefer construct_at/destroy_at over placement new/explicit destructor
2021-03-21 20:30:40 -07:00
Michael Scire
aff0da9427
ams: remove TYPED_STORAGE() macro in favor of template
2021-03-21 18:47:30 -07:00