Michael Scire
da1b24b9b5
fs: fix locking in FileSystemBufferManager
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
be9338eb33
fs: move bitmap classes out of save::
2022-03-21 17:21:44 -07:00
Michael Scire
7a69723021
fs: fix missing mutex acquire in compressed storage invalidate/find
2022-03-21 17:21:44 -07:00
Michael Scire
d638bbbb62
fs: first pass at compressed storage (works on iridium with wip hac2l code)
2022-03-21 17:21:44 -07:00
Michael Scire
df631d74f0
fssrv: add ExternalKeyManager (rights-id crypto) for hac2l
2022-03-21 17:21:44 -07:00
Michael Scire
3c6d965e1a
symbols: use same strategy on windows as on macOS
2022-03-21 17:21:44 -07:00
Michael Scire
49cddd68e4
use cxxabi for demangling on linux/windows
2022-03-21 17:21:44 -07:00
Michael Scire
ee5f99fdb4
Implement working macOS backtrace symbolization
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
6aab36fc6a
diag: fix typo in hos-specific backtrace getter
2022-03-21 17:21:44 -07:00
Michael Scire
79b1835a2b
crypto: add ability to hash data at compile time, for future diag use
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
18168d54c3
lib: simplify pragma macros
2022-03-21 17:21:44 -07:00
Michael Scire
edf80192d9
remove leftover debug print
2022-03-21 17:21:44 -07:00
Michael Scire
13697fa921
libs: add ongoing work to facilitate hactool rewrite
2022-03-21 17:21:44 -07:00
Michael Scire
706b8492fd
libs: begin adding capacity for doing crypto on generic os (using externally-preset keys)
2022-03-21 17:21:44 -07:00
Michael Scire
6368d8063a
fs: add just in case bounds checking to linux/macos dirent read
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
9a38be201a
erpt: add automatic report cleanup mechanism on boot ( closes #1795 )
2022-03-17 00:31:38 -07:00
merry
9545cbb4cb
KThreadContext: Use El0PsrMask constant in GetUserContext
2022-03-06 11:22:28 -08:00
Michael Scire
2b6719ec25
ams_mitm: update to use new NcaFileSystemDriver intf
2022-02-21 15:17:17 -08:00
Michael Scire
e08f754646
crypto: fix asm constraints for memory comparison
2022-02-21 15:17:17 -08:00
Michael Scire
3f6010b4dc
fix SubStorage copy ctor/= op for new shared_ptr member
2022-02-21 15:17:17 -08:00
Michael Scire
01f7f567b9
fs: add Sha256HashGenerator, LZ4 decompressor
2022-02-21 15:17:17 -08:00
Michael Scire
a2aec363d7
fs: remove now unused StorageOption
2022-02-21 15:17:17 -08:00
Michael Scire
52296fc2dd
fs: revise NcaFileSystemDriver for latest semantics
2022-02-21 15:17:17 -08:00
Michael Scire
ccf29a1302
fssystem: revise allocator logic for latest semantics
2022-02-21 15:17:17 -08:00
Michael Scire
28ea6555f8
fssrv: flesh out the program registry
2022-02-21 15:17:17 -08:00
Michael Scire
e8d14eb77d
fssrv: skeleton more program registry logic
2022-02-21 15:17:17 -08:00
Michael Scire
33701bb387
fssrv: add skeleton getters for service object sf::SharedPointers
2022-02-21 15:17:17 -08:00
Michael Scire
f3dbdc2391
fs: allocations with mutex held must be unsafe
2022-02-21 15:17:17 -08:00
Michael Scire
64b4cc25fc
fs: implement newer allocator templates
2022-02-21 15:17:17 -08:00
Michael Scire
ace409ccec
fssrv: skeleton server manager setup/registration
2022-02-21 15:17:17 -08:00
Michael Scire
0e08aa0a31
fssrv: add placeholder for ipc interface
2022-02-21 15:17:17 -08:00
Michael Scire
94de5bf4f4
fs: add skeleton dir for sysmodule code
...
Please note this isn't likely to immediately be the active ams project.
2022-02-21 15:17:17 -08:00
Michael Scire
4c7fd70c10
kern: fix syntax in audit statement
2022-02-19 13:26:08 -08:00
Michael Scire
7668dfb756
lib: add missing semicolon
2022-02-16 12:55:12 -08:00
Michael Scire
2fce50471b
build: remove unnecessary g-dwarf4 flags
2022-02-14 14:58:52 -08:00
SciresM
96f95b9f95
Integrate new result macros. ( #1780 )
...
* result: try out some experimental shenanigans
* result: sketch out some more shenanigans
* result: see what it looks like to convert kernel to use result conds instead of guards
* make rest of kernel use experimental new macro-ing
2022-02-14 14:45:32 -08:00
Michael Scire
375ba615be
typofix: boogaloo: electric.
2022-02-10 19:49:05 -08:00
Michael Scire
42124fd7d8
fix typo-bug in HierarchicalSha256Storage::Read
2022-02-10 19:43:00 -08:00
Michael Scire
52c1cef064
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "0d161b858"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "0d161b858"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2022-01-19 16:29:16 -08:00
Michael Scire
4efa5d7dd0
ams: first attempt at 13.2.1 support
2022-01-19 16:28:32 -08:00
Michael Scire
275da52305
kern: add missing debug mode check to WriteDebugProcessMemory
2022-01-03 08:59:27 -08:00
Michael Scire
30fac905af
ams: deduplicate static initialization logic
2021-12-13 13:07:03 -08:00
Michael Scire
78f7218c4f
kern: fix vi devicename missing in HsSupported device list
2021-12-10 18:58:18 -08:00
Michael Scire
09c6aa29dd
sf/cmif: optimize dispatch table walk to use binary search over linear search
2021-12-06 13:13:46 -08:00
Michael Scire
1019bc54e6
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "c4d0335b7"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "c4d0335b7"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-11-30 16:53:56 -08:00
Michael Scire
96631d8225
bump version to 1.2.5, fix enum for 13.2.0
2021-11-30 16:53:32 -08:00
Michael Scire
d32dd0f04a
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "b670c079f"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "b670c079f"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-11-30 16:35:09 -08:00
Michael Scire
ddfc16731f
ams/hos: add enum support for 13.2.0
2021-11-30 16:22:57 -08:00
Michael Scire
767e702a70
kern: correct TotalUserPhysicalMemorySize ( closes #1710 )
2021-11-16 23:18:47 -08:00
Michael Scire
9d5e652fbd
kern: be a little more consistent about pragma GCC location
2021-11-16 11:25:57 -08:00
Michael Scire
fcc7ce49d9
sm/tipc: ensure technical-correctness of sins (no page cost)
2021-11-06 20:05:32 -07:00
Michael Scire
f98c7cba98
sm: save 0x5000 of memory by sinning
2021-11-06 19:33:08 -07:00
Léo Lam
496adb0018
Minor header fixes to reduce parsing issues with Clang ( #1700 )
...
* Work around Clang's incomplete C++20 support for omitting typename
* vapours: fix Clang error about missing return in constexpr function
* stratosphere: fix call to non-constexpr strlen in constexpr function
strlen being constexpr is a non-compliant GCC extension; Clang
explicitly rejects it: https://reviews.llvm.org/D23692
* stratosphere: add a bunch of missing override specifiers
* stratosphere: work around Clang consteval bug
Minimal example: https://godbolt.org/z/MoM64v93M
The issue seems to be that Clang does not consider f(x) to be a
constant expression if x comes from a template argument that isn't
a non-type auto template argument (???)
We can work around this by relaxing GetMessageHeaderForCheck (by using
constexpr instead of consteval). This produces no functional changes
because the result of GetMessageHeaderForCheck() is assigned to a
constexpr variable, so the result is guaranteed to be computed
at compile-time.
* stratosphere: fix missing require clauses in definitions
GCC not requiring the require clauses to be repeated for member
definitions is actually a compiler bug:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96830
Clang rejects declarations with missing require clauses.
* Fix ALWAYS_INLINE_LAMBDA and parameter list relative order
While GCC doesn't seem to care about the position of the always_inline
attribute relative to the parameter list, Clang is very picky
and requires the attribute to appear after the parameter list
(and before a trailing return type)
* stratosphere: fix static constexpr member variable with incomplete type
GCC accepts this for some reason (because of the lambda?) but Clang
correctly rejects this.
2021-11-06 18:19:34 -07:00
Michael Scire
09074798cd
KScheduler big brain strat for mdscr_el1 cfg change
2021-11-05 23:38:43 -07:00
Michael Scire
e256261b80
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "ff2883361"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "ff2883361"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-11-04 13:40:55 -07:00
Michael Scire
47218f0da8
ams: overhaul fs.mitm romfs ownership, bump to 1.2.4
2021-11-04 13:38:41 -07:00
Michael Scire
0c93cefd39
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "e7b84767c"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "e7b84767c"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-11-04 00:00:26 -07:00
Michael Scire
0bbc907907
git subrepo pull (merge) libraries
...
subrepo:
subdir: "libraries"
merged: "8764bd406"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "12d0ba172"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-11-03 23:59:17 -07:00
Michael Scire
4a4a1f0e87
ams: bump api version to 1.2.3
2021-11-03 23:57:30 -07:00
Michael Scire
b140834b7e
dmnt2: try to avoid writing out of bounds when generating packets
2021-11-03 23:56:25 -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
Michael Scire
4cc5e9cdfd
kern/dmnt2: allow retrieval of process info via extension
...
This also fixes ctrl-c break in gdbstub, and fixes crash on unknown monitor cmd.
2021-11-03 23:56:25 -07:00
Michael Scire
4489513f7c
dmnt: enable experimental standalone usage of gdbstub, while starlink is in dev
2021-11-03 23:56:25 -07:00
Michael Scire
2161365f4f
ams: update for awareness of architecture revision
2021-10-31 11:18:17 -07:00
Michael Scire
d2a757c39e
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "ceff2f371"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "ceff2f371"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-10-30 11:21:54 -07:00
Michael Scire
6cf5205a28
spl: fix legacy physical keyslot compatibility
2021-10-30 11:21:25 -07:00
Michael Scire
b9c90b9234
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "4d0f1b792"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "4d0f1b792"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-10-29 17:47:35 -07:00
Michael Scire
94e18b8c93
ams: bump version to 1.2.2
2021-10-29 17:47:01 -07:00
Michael Scire
4e92687cab
sprofile: various correctness fixes.
2021-10-29 17:38:44 -07:00
Michael Scire
2a0b99d9f9
sprofile: fix off-by-one in struct definition, fix GetImportableProfileUrls
2021-10-29 15:41:25 -07:00
Michael Scire
d1f3c4904b
kern: fix minor assembly bugs, avoid unnecessary function call in KScheduler hotloop
2021-10-28 19:16:23 -07:00
Michael Scire
92321ccbc8
kern: fix 32-bit light ipc svc handler asm
...
Nintendo used to do what we were doing because the function wasn't directly in the handler table,
but we've always been directly in the handler table, so we were trashing the last four arguments to light ipc
when called from aarch32. Nothing uses this, but needed to be fixed.
2021-10-28 15:42:52 -07:00
Michael Scire
db3004e844
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "0a0bd74ca"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "0a0bd74ca"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-10-27 22:57:39 -07:00
Michael Scire
3e97e4addf
init: disable fsdev cwd to prevent abort on fsdev usage (fsdev should not be used)
2021-10-27 22:57:09 -07:00
Michael Scire
4b7b33809f
kern: optimize and bring into line with N our pstate.i management
2021-10-27 15:00:07 -07:00
Michael Scire
e81a1ce5a8
kern: audit (and fix) our hardware maintenance instructions to match official kernel
2021-10-27 12:31:53 -07:00
Michael Scire
24143d8813
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "13c6987cc"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "13c6987cc"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-10-26 01:12:06 -07:00
Michael Scire
cb38b0b929
ams: bump version to 1.2.1
2021-10-26 01:09:16 -07:00
Michael Scire
0e81eac9d1
sprof: update for 13.1.0 (format version 1)
2021-10-26 00:51:44 -07:00
Michael Scire
a14dc6ed89
crypto: implement md5, which now used by sprof
2021-10-25 23:15:50 -07:00
Michael Scire
9cc6be4d57
kern: other dmbs in kernel were already dmb ish
2021-10-25 17:38:50 -07:00
Michael Scire
1d5f66be56
kern: implement 13.1.0 kernel changes
2021-10-25 17:34:47 -07:00
Michael Scire
ebca23305e
kern: simplify random bitmap selection to match latest Nintendo logic
2021-10-25 17:31:14 -07:00
Michael Scire
273f4a87ae
kern: add (and use) generic KSystemControlBase
2021-10-25 17:31:14 -07:00
Michael Scire
ad03be9a38
hos: whoops
2021-10-25 17:31:14 -07:00
Michael Scire
d63be0737b
hos: better safe than sorry
2021-10-25 17:31:14 -07:00
Michael Scire
018ae08409
hos: allow turning off ams extension hard-reqs for unit testing
2021-10-25 17:31:14 -07:00
Michael Scire
2a842791eb
kern: add toggleable support for 40-bit physaddr caps
2021-10-25 17:31:14 -07:00
Michael Scire
d8a2b47b0a
util: add trait/macro for is_constexpr_constructible
2021-10-25 17:31:14 -07:00
Michael Scire
0a58e803be
kern/test: add wip qemu-virt board support to mesosphere
2021-10-25 17:31:14 -07:00
Michael Scire
10ed579c38
kernel_ldr: bring initial cache flush in line with Nintendo
2021-10-25 13:38:52 -07:00
Michael Scire
6ad3219656
kern: reflect nintendo cache management behavior for initial processes
2021-10-25 13:02:35 -07:00
Michael Scire
54dde406bc
kern: devirtualize KReadableEvent::Reset, KWorkerTask::DoWorkerTask
2021-10-24 20:41:38 -07:00
Michael Scire
fd187f952e
kern: enable lto for global instants (saves about a page in deduplicated code)
2021-10-24 17:06:43 -07:00
Michael Scire
8a661cee6e
kern: devirtualize KAutoObjectWithList::GetId()
2021-10-24 17:00:05 -07:00
Michael Scire
3e4acc62f3
kern: fix reorder-init in KHandleTable
2021-10-24 13:08:08 -07:00
Michael Scire
d0cd511c0e
kern: devirtualize most things that are free to devirtualize (see #1672 )
2021-10-24 13:04:31 -07:00
Michael Scire
aaa3770806
kern: optimize timespan -> tick codegen, improve .text layout
2021-10-24 01:16:24 -07:00
Michael Scire
89926f44c6
kern: use optimized red black tree finds for remaining holdouts
2021-10-23 21:58:48 -07:00
Michael Scire
436613401a
kern: devirtualize several KAutoObject functions
2021-10-23 21:13:26 -07:00
Michael Scire
2490bbf4f9
kern: KCacheHelper: better reflect nintendo coremask clearing logic
2021-10-23 17:44:30 -07:00
Michael Scire
71e4313d0c
kern: devirtualize remaining vcall for class token/dyncast
2021-10-23 16:04:04 -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
20716cb3de
kern: use new AtomicRef, use Atomic<bool>
2021-10-20 13:29:38 -07:00
Michael Scire
aed9d3f535
util: better match true std::atomic semantics
2021-10-20 11:02:17 -07:00
Michael Scire
d74f364107
kern/util: use custom atomics wrapper to substantially improve codegen
2021-10-19 15:24:15 -07:00
Michael Scire
52332e8d75
kern: use 13.0.0 revised KLightLock logic
2021-10-19 02:45:29 -07:00
Michael Scire
3fc695aff8
kern: fix capability check for thread priorities
2021-10-19 01:41:23 -07:00
Michael Scire
d3eb1268bc
kern: remove spurious assertion
2021-10-19 01:21:23 -07:00
Michael Scire
f3b532070b
kern: update scheduler for 13.0.0 change, fix some ctz/clz bugs
2021-10-19 01:20:28 -07:00
Michael Scire
42b6c2dd95
kern: fix use of plr vs plr_heap, fix close/unlock order in ArbitrateLock
2021-10-19 01:19:31 -07:00
Michael Scire
52c914afcc
ams-libs: move -Wno-invalid-offsetof to cxxflags, not cflags
2021-10-18 13:10:02 -07:00
Michael Scire
692247b26b
ams-libs: use nintendo_nx identifier for source file compat bpmp<->ccplex
2021-10-18 11:10:25 -07:00
Michael Scire
799a9a5f98
lr: fix EraseRedirection hang introduced by refactoring
2021-10-18 11:00:55 -07:00
Michael Scire
889d843718
ams: improve offsetof style consistency
2021-10-18 00:17:13 -07:00
Michael Scire
ec6d1a92ef
util: improve (and use) offsetof that's """standard compliant"""
2021-10-17 21:45:02 -07:00
Michael Scire
ad4c794aea
constexpr: resign ourselves to gcc dropping void -> T support
2021-10-17 02:39:16 -07:00
Michael Scire
96d3187f3e
kern: remove need for explicit reserved member in KAutoObject
2021-10-16 17:17:26 -07:00
Michael Scire
bfffe6b119
kern: devirtualize KAutoObject::DynamicCast<>()
...
This is an optimization that saves the most common type of virtual call in the kernel (DynamicCast)
by storing class token as a member, rather than getting it via virtual call every time.
This does not currently cost any memory space on 64-bit targets, due to pre-existing padding space.
This optimization can be turned off via a compile-time flag for accuracy.
2021-10-16 16:24:06 -07:00
Michael Scire
26c02e2019
kern/util: update structure layouts to match Nintendo (saves 0x10 per KThread/KSession)
2021-10-16 16:13:10 -07:00
Michael Scire
64950dbd31
powctl: remove unused arm_neon header after last commit
2021-10-16 10:11:45 -07:00
Michael Scire
03efc31f9c
powctl: don't require arm64 arch for floating -> fixed conversion
2021-10-16 10:04:19 -07:00
Michael Scire
f7f83b4742
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "cf765c094"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "cf765c094"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-10-15 23:55:53 -07:00
Michael Scire
2541f6dd71
tipc: implement special-case templating used by 13.0.0 pgl
2021-10-15 21:23:55 -07:00
Michael Scire
ff5f376c33
tipc: enable named-thread dispatch
2021-10-15 19:59:29 -07:00
Michael Scire
d1bc1a5c57
boot: update for 13.0.0/aula parameter changes ( closes #1477 )
2021-10-15 19:03:11 -07:00
Michael Scire
990daec3a2
powctl: integrate 13.0.0 changes (aula params not done yet)
2021-10-15 16:30:27 -07:00
Michael Scire
7e536f74ae
strat: fix some mitm server management logic
2021-10-14 00:40:43 -07:00
Michael Scire
891fa32bf1
tipc/sm: update more fully for 13.0.0 changes
2021-10-13 23:50:57 -07:00
Michael Scire
ca25a884b5
tipc: add additional logic from 13.0.0
2021-10-12 00:57:54 -07:00
Michael Scire
0189c5f1e6
sm/tipc: minor cleanup
2021-10-12 00:20:21 -07:00
Michael Scire
82d07e04aa
strat: don't force fs globals to link into every process
2021-10-11 22:16:12 -07:00
Michael Scire
bd1bcdf52b
sf: prevent emitting mitm/defer code unless server in process supports it
2021-10-11 19:01:27 -07:00
Michael Scire
d27fe8a229
util: fix consteval CountTrailingZeroes impl
2021-10-11 13:15:11 -07:00
Michael Scire
3bee3e77ca
ams: bump api verrsion pre-emptively to 1.2.0
2021-10-11 01:00:07 -07:00
Michael Scire
5708bb1557
ams: allow bootloader to merely approximate correct target firmware
2021-10-11 00:54:17 -07:00
Michael Scire
06f68a8159
loader: refactor to remove fake namespaces
2021-10-10 21:37:29 -07:00
Michael Scire
d9dc04318d
loader: refactor ro manager/improve accuracy
2021-10-10 18:22:32 -07:00
Michael Scire
d8a36e39f2
spl: refactor for accuracy/move into libstrat
2021-10-10 12:57:36 -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
ce28591ab2
svc: use m_ for member variables
2021-10-09 16:14:00 -07:00
Michael Scire
00116450c3
sdmmc: use m_ for member variables
2021-10-09 15:59:59 -07:00
Michael Scire
179d91a563
kern: fix some lingering non-m_ member variables
2021-10-09 15:46:04 -07:00
Michael Scire
67a45c97ef
exo/vapours: refactor member variables to m_ over this->
2021-10-09 15:40:06 -07:00
Michael Scire
5a38311ebf
libstrat: remove lingering debugging edits
2021-10-09 14:51:44 -07:00
Michael Scire
1ab0bd1765
ams: replace most remaining operator & with std::addressof
2021-10-09 14:49:53 -07:00
Michael Scire
ce8aacef21
settings: fix correctness issue in LazyFileAccessor
2021-10-09 14:20:37 -07:00
Michael Scire
ec65c39d17
strat: refactor address taking of form &var[...]
2021-10-09 12:45:31 -07:00
Michael Scire
b0e520112b
strat: always use explicit result namespacing
2021-10-09 10:36:21 -07:00
Adubbz
303c6eb5f9
settings: implement KeyValueStore ( #1659 )
...
* settings: implement KeyValueStore and dependencies
* settings: update KeyValueStore for recent refactoring
* settings: address feedback
2021-10-09 09:16:40 -07:00
Michael Scire
9def4b5925
kern: tidy up capability calc
2021-10-08 12:29:41 -07:00
Michael Scire
e5cce0f61c
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "0a4c2759a"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "0a4c2759a"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-10-07 23:38:51 -07:00
Michael Scire
d14290e357
os: fix mutex push/pop prototypes
2021-10-07 23:38:15 -07:00
Michael Scire
812acb8b68
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "80d72af9f"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "80d72af9f"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-10-07 23:07:34 -07:00
Michael Scire
41a4bf53f6
cs: prevent exceptions from manifesting
2021-10-07 19:48:40 -07:00
Michael Scire
888b35833e
boot: save 12KB
2021-10-07 19:33:07 -07:00
Michael Scire
afccc35e79
erpt: save 8KB
2021-10-07 19:14:31 -07:00
Michael Scire
ffc143860b
strat: use ams::Main() instead of main(argc, argv)
2021-10-07 17:44:54 -07:00
Michael Scire
6a53726833
strat: build sysmodules with -Wextra/-Werror
2021-10-06 23:22: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
719ead824e
strat: remove map namespace, svc: add address space defs
2021-10-05 12:22:34 -07:00
Michael Scire
69777cf792
strat: use sf::NativeHandle for ipc templating
2021-10-05 00:11:36 -07:00
Michael Scire
d97e97258e
sf: add NativeHandle type
...
TODO: figure out how to integrate this into templating...
2021-10-04 17:34:16 -07:00
Michael Scire
d0041a33ac
strat: prefer os::NativeHandle to Handle/svc::Handle where sensible
2021-10-04 17:12:32 -07:00
Michael Scire
597d521f52
pm: use svc::LimitableResource where relevant
2021-10-04 16:33:18 -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
65fd967550
pm/cfg: simplify initial process id range logic
2021-10-01 17:37:39 -07:00
Michael Scire
18825866ac
strat: automatic program id detection
2021-10-01 17:18:50 -07:00
Michael Scire
9ecec1b935
result: improve Includes codegen
2021-10-01 15:12:38 -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
24d6933145
strat: use consistent include style for lib headers
2021-09-30 19:21:08 -07:00
Michael Scire
7444a68cd1
os: adopt multiwait naming over waitable
2021-09-30 19:00:47 -07:00
Michael Scire
d9b4009f82
os: add IoRegion
2021-09-30 11:43:17 -07:00
Michael Scire
2d214f5e1e
os: add tentative IoRegionType
2021-09-30 11:32:45 -07:00
Michael Scire
c31060f0b8
lmem: fix assert with side effects
2021-09-29 23:56:30 -07:00
Michael Scire
41ab4c2c68
stratosphere: use SdkMutex/SdkRecursiveMutex over Mutex
2021-09-29 22:52:50 -07:00
Michael Scire
a4fe1bb5d8
libstrat: uncomment some asserts
2021-09-29 22:02:58 -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
6b438c7adf
ddsf: We can use LightEvent now
2021-09-29 14:17: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
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
d00cec38b0
kern: use util::BitFlagSet for capability flags
2021-09-27 11:37:27 -07:00
Michael Scire
98f438e742
kern: fix/update thread permissions on pin
2021-09-26 14:51:54 -07:00
Michael Scire
99c74469e6
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "e05183a6f"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "e05183a6f"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-09-24 09:17:32 -07:00
Michael Scire
a3d9efb18c
ams: bump version to 1.1.1
2021-09-24 09:16:30 -07:00
Michael Scire
3fe072a1d0
kern: devirtualize page table operations
2021-09-21 10:09:27 -07:00
Michael Scire
296d049257
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "dc52a3228"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "dc52a3228"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-09-19 11:01:23 -07:00
Michael Scire
155f158197
ncm: fix destructor availability
2021-09-19 11:00:57 -07:00
Michael Scire
801f784fae
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "33ae401bc"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "33ae401bc"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-09-19 10:36:39 -07:00
Michael Scire
7cdfa68dd5
svc: bump supported version
2021-09-19 10:34:31 -07:00
Michael Scire
90732ff311
kern: unify all waiting semantics to use single api
2021-09-19 10:34:31 -07:00
Michael Scire
f6fb5f2c8d
kern/svc: implement IoPool/Region svc support
2021-09-19 10:34:31 -07:00
Michael Scire
ce7dd55257
svc/kern/dd: remove MapDeviceAddressSpace()
2021-09-19 10:34:31 -07:00
Michael Scire
481ce12b7b
kern: update Initialize0 for new arguments/randomization semantics
2021-09-19 10:34:31 -07:00
Michael Scire
2f2c36b22b
kern: KMemoryManager/KPageGroup use physical addresses instead of virtual, now
2021-09-19 10:34:31 -07:00
Michael Scire
2c4bd44d7e
kern: support dynamic resource expansion for system heaps/events/sessions.
2021-09-19 10:34:31 -07:00
Michael Scire
2b91956051
kern: improve kdebug attach semantics
2021-09-19 10:34:31 -07:00
Michael Scire
4c73c461f1
kern: update KPageTable::Unmap block closing logic
2021-09-19 10:34:31 -07:00
Michael Scire
8b49cea4a9
kern: optimize logging for release kernel strings (saves printf space in .text)
2021-09-19 10:34:31 -07:00
Michael Scire
fdf008108c
kern: add new KMemoryState
2021-09-19 10:34:31 -07:00
Michael Scire
252486913b
kern: KWorkerTaskManager no longer tracks id
2021-09-19 10:34:31 -07:00
Michael Scire
44d10da7b8
kern: KSchedulerInterruptTask -> KSchedulerInterruptHandler
2021-09-19 10:34:31 -07:00
Michael Scire
cb28150912
kern: kill the interrupt task manager thread
2021-09-19 10:34:31 -07:00
Michael Scire
29cc3d1c09
kern: remove per-KInterruptEventTask locks
2021-09-19 10:34:31 -07:00
Michael Scire
e6a6fe6f38
kern: delete KWritableEvent, devirtualize KReadableEvent Signal/Clear
2021-09-19 10:34:31 -07:00
Michael Scire
d80ad222cc
kern: KConditionVariable arbiter functions now static
2021-09-19 10:34:31 -07:00
Michael Scire
572cbd8619
kern: KAutoObject doesn't need (virtual) destructor
2021-09-19 10:34:31 -07:00
Michael Scire
183243bf16
kern: optimize handle table layout
2021-09-19 10:34:31 -07:00
Michael Scire
6407786059
kern: update GetInfo logic for tick count InfoTypes
2021-09-19 10:34:31 -07:00
Michael Scire
6cbfaaf835
kern: port limit is now 0x180
2021-09-19 10:34:31 -07:00
Adubbz
b6b09d6944
ncm: updated to 13.0.0
2021-09-19 10:34:31 -07:00
Adubbz
a941e4be03
ncm: skeleton new commands
2021-09-19 10:34:31 -07:00
Michael Scire
89541c8042
sprofile: fully reimplement sprof:bg + sprof:sp
2021-09-19 10:34:31 -07:00
Michael Scire
ae54ec5981
sprofile: implement non-importer bgagent commands
2021-09-19 10:34:31 -07:00
Michael Scire
75d5e2aef0
sprofile: implement OpenProfileUpdateObserver
2021-09-19 10:34:31 -07:00
Michael Scire
bd240b23d8
erpt: skeleton sprofile apis
2021-09-19 10:34:31 -07:00
Michael Scire
04cbc06bc1
ams: update current target firmware
2021-09-19 10:34:31 -07:00
Michael Scire
fedd684a1c
fusee/exo: update for new dram id changes
2021-09-19 10:34:31 -07:00
Michael Scire
cb299d9260
fusee/exo: update for recognition of 13.0.0
2021-09-19 10:34:31 -07:00
Michael Scire
724bd2b4d2
boot2: launch nintendo lm from built in system, not none
2021-09-12 12:40:27 -07:00
Michael Scire
f2da92184b
cs: fix launching of tio server
2021-09-11 19:41:47 -07:00
Michael Scire
a595091be0
cs: fix screenshot packet semantics
2021-09-11 19:41:47 -07:00
Michael Scire
0ec23e74b5
cs: implement TakeScreenShot command
2021-09-11 19:41:47 -07:00
Michael Scire
8acf0a4fa9
cs: fix allocator aborts
2021-09-11 19:41:47 -07:00
Michael Scire
ebb0bd2b41
kern: improve single-step around user-exception entry
2021-09-11 19:41:47 -07:00
Michael Scire
c10265676f
kern: fix spsr register in RestoreContext
2021-09-11 19:41:47 -07:00
Michael Scire
9e7b56b33c
kern: optimize hw-single-step management
2021-09-11 19:41:47 -07:00
Michael Scire
4075d24e0c
kern: add hardware single step extension
2021-09-11 19:41:47 -07:00
Michael Scire
c6fad1b0ee
osdbg: implement thread info api
2021-09-11 19:41:47 -07:00
Michael Scire
a2c0cc924b
fix dmnt.gen2 title id (not sure how I typo'd this)
2021-09-11 19:41:47 -07:00
Michael Scire
206516411f
boot2: launch dmnt.gen2 over dmnt, when using htc
2021-09-11 19:41:47 -07:00
Michael Scire
899efec302
cs: implement GetFirmwareVersion command
2021-09-11 19:41:47 -07:00
Michael Scire
1a1b1355ba
scs: implement EventHandlerThread for shell
2021-09-11 19:41:47 -07:00
Michael Scire
aa2dce7316
scs: implement DoShellServer
2021-09-11 19:41:47 -07:00
SciresM
e9849c74cf
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-11 19:32:14 -07:00
Michael Scire
844e88bdfe
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "0c0bb815"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "0c0bb815"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-09-06 16:33:59 -07:00
Michael Scire
dda7ea6ac2
fusee: attempt reboot to self if possible, better abort/fatal handlers
2021-09-06 16:26:50 -07:00
Michael Scire
e0f45d54f1
stratosphere: remove 0.19.0 update cleanup logic.
2021-09-06 16:26:50 -07:00
Michael Scire
b7521465ee
fusee: tactically don't trash PLLA1, fixes audio corruption on boot
2021-09-06 16:26:50 -07:00
Michael Scire
36c470ad11
ams-1.0.0: bump version number well ahead of time
2021-09-06 16:26:50 -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
e5106ffa2c
fusee_cpp: implement package2 rebuild/kip patching
2021-09-06 16:26:50 -07:00
Michael Scire
c2a930965a
fusee_cpp: import mariko mtc
2021-09-06 16:26:50 -07:00
Michael Scire
c4fee796ea
fusee_cpp: begin mariko mtc work
2021-09-06 16:26:50 -07:00
Michael Scire
40e2d4bbe6
fusee_cpp: implement cpu startup
2021-09-06 16:26:50 -07:00
Michael Scire
648ad51056
fusee_cpp: fix some careless search/replace mistakes
2021-09-06 16:26:50 -07:00
Michael Scire
1dd0297db3
fusee_cpp: implement warmboot firmware load
2021-09-06 16:26:50 -07:00
Michael Scire
2f7012cbc6
fusee_cpp: implement emummc/system partition mounting
2021-09-06 16:26:50 -07:00
Michael Scire
6c5f2804ab
fusee_cpp: implement all required key derivation
2021-09-06 16:26:50 -07:00
Michael Scire
51cf28339b
fusee_cpp: implement tsec_keygen firmware execution
2021-09-06 16:26:50 -07:00
Michael Scire
ecbf13e45d
fusee_cpp: import full erista mtc logic
2021-09-06 16:26:50 -07:00
Michael Scire
237b11892e
fusee_cpp: implement mtc erista patram writes
2021-09-06 16:26:50 -07:00
Michael Scire
d7192343d8
fusee_cpp: implement erista pll selection logic for mtc
2021-09-06 16:26:50 -07:00
Michael Scire
d2f3b806d6
fusee_cpp: implement inline storage of EmcDvfsTimingTables
2021-09-06 16:26:50 -07:00
Michael Scire
3bcdd0c3c8
fusee_cpp: add logic for loading mtc overlays
2021-09-06 16:26:50 -07:00
Michael Scire
4480e7a8a5
fusee_cpp: implement bpmp overclock
2021-09-06 16:26:50 -07:00
Michael Scire
1a8f886a6e
fusee_cpp: Implement fatal display, reading of fusee-secondary
2021-09-06 16:26:50 -07:00
Michael Scire
ee1d1ea527
fusee_cpp: Add display init/fatal error display logic
2021-09-06 16:26:50 -07:00
Michael Scire
e7d7d8adfb
fusee_cpp: cache cleanup, confirmed working on hardware
2021-09-06 16:26:50 -07:00
Michael Scire
5cff5e629b
fusee_cpp: implement bpmp cache driver
2021-09-06 16:26:50 -07:00
Michael Scire
49d0a51d6b
fusee_cpp: implement sd card init
2021-09-06 16:26:50 -07:00
Michael Scire
25cd3d17de
fusee_cpp: implement sdram lp0 scratch param save
2021-09-06 16:26:50 -07:00
Michael Scire
349a16ce39
fusee_cpp: implement SDRAM initialization
2021-09-06 16:26:50 -07:00
Michael Scire
f2a1c60218
fusee_cpp: tweaks, now completes SecureInitialize on hardware
2021-09-06 16:26:50 -07:00
Michael Scire
c91f95e8f6
fusee-cpp: a little more init in SecureInitialize
2021-09-06 16:26:50 -07:00
Michael Scire
53ede217a5
fusee-cpp: finish SecureInitialize
2021-09-06 16:26:50 -07:00
Michael Scire
669564b022
fusee-cpp: implement SecureInitialize besides InitializeClock()
2021-09-06 16:26:50 -07:00
Michael Scire
c9bd97192f
fusee-cpp: sketch out remainder of secure initialize
2021-09-06 16:26:50 -07:00
Michael Scire
c333a84b6b
fusee-cpp: Implement mbist workaround
2021-09-06 16:26:50 -07:00
Michael Scire
5f60bc7186
fusee-cpp: add basic structural stubs
2021-09-06 16:26:50 -07:00
Michael Scire
165c926135
ams: bump version to 0.20.1
2021-08-30 07:32:35 -07:00
Michael Scire
1f065e3bac
git subrepo push libraries
...
subrepo:
subdir: "libraries"
merged: "87a1de0b"
upstream:
origin: "https://github.com/Atmosphere-NX/Atmosphere-libs "
branch: "master"
commit: "87a1de0b"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
2021-08-20 13:34:30 -07:00
Michael Scire
9296a56303
ams: bump to 0.2.0
...
NOTE: Release will not occur until hekate is ready to handle new sept-less release format.
2021-08-20 13:31:59 -07:00
Michael Scire
f175802136
kern: improve some debug output
2021-08-20 00:06:43 -07:00
Michael Scire
fe79bc253a
kern: fix same is_current check in GetThreadContext
2021-08-19 07:38:25 -07:00