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