Michael Scire
efa4a346af
os: silence warning building with gcc 12 on windows
2022-06-12 01:38:04 -07:00
Michael Scire
ea7f51a279
os: fix whoops in SetMemoryPermission on windows
2022-06-11 00:58:14 -07:00
Michael Scire
a65b6df8d2
os: implement MemoryHeapManager, SetMemoryAttribute
2022-06-10 22:36:03 -07:00
Michael Scire
d85875b910
os: fix various regressions since 1.3.1
2022-04-29 15:46:55 -07:00
Michael Scire
b1367942a2
os: fix minor bug (and simplify) MapProcessCodeMemory
2022-04-18 01:43:49 -07:00
Michael Scire
c2c0a2e169
ro/os: use os primitives for MapProcessCodeMemory
2022-04-18 01:39:22 -07:00
Michael Scire
70d67bb115
loader: use os apis for interacting with process memory
2022-04-17 18:51:36 -07:00
Michael Scire
02b126c2be
os: refactor multi wait apis to better match Nintendo's latest implementation
2022-04-12 16:47:36 -07:00
Michael Scire
bbf22b4c60
ams: globally prefer R_RETURN to return for ams::Result
2022-03-26 14:48:33 -07:00
Michael Scire
dd78ede99f
ams: use R_SUCCEED, R_THROW globally
2022-03-26 00:14:36 -07:00
Michael Scire
4646581e93
fs: for my sanity, begin tracking version where code was last checked for accuracy
2022-03-24 08:43:40 -07:00
Michael Scire
01fd324d4f
os/dd: add missing semicolon to new cache logic
2022-03-23 09:10:50 -07:00
Michael Scire
9d89835ff8
kern: update for new hw maintenance semantics
2022-03-23 09:10:50 -07:00
Michael Scire
14e768cd10
kern: add InfoType_IsSvcPermitted
2022-03-23 09:10:50 -07:00
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
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
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
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
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
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
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