Commit Graph

1019 Commits

Author SHA1 Message Date
misson20000
f1a9dd8a98 loader: fix ECS after new-ipc rewrite
The call to serviceCreate(...) tries to query pointer buffer size, but
since we haven't had a chance to return the server side of the session
yet, this deadlocks. Instead, we defer creating the session and
mounting the filesystem until the first time the ECS object is
used. If mounting the filesystem fails, the ECS is silently discarded.
2019-12-13 13:45:52 -08:00
Michael Scire
0a18c63f24 pm: fix process exit on < 5.0.0 (closes #748) (thanks @misson20000) 2019-12-13 13:35:33 -08:00
Michael Scire
de1e6c9705 loader: update anti-downgrade tables for 9.1.0 2019-12-11 13:35:22 -08:00
Michael Scire
71b220a4e9 pm: revise session limit in accordance with our handle limit 2019-12-10 20:40:03 -08:00
Michael Scire
5448332009 pm: increase dmnt sessions. sm: remove session limit hack 2019-12-10 20:36:19 -08:00
Michael Scire
2c9e1a814c Bump version to 0.10.1 2019-12-10 18:33:01 -08:00
Michael Scire
df012e6e21 boot: do not use secure memory 2019-12-10 18:16:51 -08:00
Michael Scire
1556a92a38 random: use TinyMT instead of XorShift 2019-12-09 23:50:47 -08:00
Adubbz
b9f313ba08 Title Id -> Program Id 2019-12-10 15:25:40 +11:00
Adubbz
1faa2b581c Change to using pure virtuals 2019-12-10 15:16:25 +11:00
Adubbz
aa07f75b43 Update for vapours 2019-12-10 15:13:00 +11:00
Michael Scire
d4f99ddb4d libstratosphere: use from /atmosphere/libraries 2019-12-09 18:54:29 -08:00
Adubbz
1020e24b9c Updated to new-ipc 2019-12-10 13:26:13 +11:00
Michael Scire
28717bfd27 fusee/pm: on 5.0.0+, fix system memory pool increase.
Previously, we were only setting resource limit,
which didn't modify actual reserved pool size for
the system pool. This adds kernel patches which reduce
the applet pool size, granting the extra memory to
the system partition. The given value has been chosen
specifically to allow normal applet usages. Further
reduction may result in crashes during normal applet usage.
2019-12-09 17:56:38 -08:00
Adubbz
97bc709ceb Merge remote-tracking branch 'Adubbz/ncm' into ncm
# Conflicts:
#	stratosphere/Makefile
#	stratosphere/libstratosphere/include/atmosphere/util.hpp
#	stratosphere/libstratosphere/include/stratosphere.hpp
#	stratosphere/libstratosphere/include/stratosphere/ipc/ipc_domain_object.hpp
#	stratosphere/libstratosphere/include/stratosphere/ncm/ncm_types.hpp
#	stratosphere/libstratosphere/include/stratosphere/results/fs_results.hpp
#	stratosphere/libstratosphere/include/stratosphere/results/lr_results.hpp
#	stratosphere/libstratosphere/include/stratosphere/results/ncm_results.hpp
2019-12-09 19:54:51 +11:00
Michael Scire
71fd69eb5a git subrepo push stratosphere/libstratosphere
subrepo:
  subdir:   "stratosphere/libstratosphere"
  merged:   "303fc400"
upstream:
  origin:   "https://github.com/Atmosphere-NX/libstratosphere"
  branch:   "master"
  commit:   "303fc400"
git-subrepo:
  version:  "0.4.0"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "5d6aba9"
2019-12-08 16:30:41 -08:00
Michael Scire
255e46e6d2 sf: correct size calculation for In/OutArray 2019-12-08 12:35:07 -08:00
Michael Scire
7472bc1c7f Improve exception wrapping 2019-12-08 03:29:47 -08:00
Michael Scire
3c7ece2f8b fs.mitm: fix infinite loop due to off-by-one in romfs read comparison 2019-12-07 21:27:12 -08:00
Michael Scire
a7e89c6dbb git subrepo push stratosphere/libstratosphere
subrepo:
  subdir:   "stratosphere/libstratosphere"
  merged:   "93d4f691"
upstream:
  origin:   "https://github.com/Atmosphere-NX/libstratosphere"
  branch:   "master"
  commit:   "93d4f691"
git-subrepo:
  version:  "0.4.0"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "5d6aba9"
2019-12-07 18:45:59 -08:00
Michael Scire
b0cae74bb9 ro: bss size is allowed to be zero 2019-12-07 18:13:16 -08:00
Michael Scire
889ea5e5aa Fix memory corruption in romfs build (closes #708) 2019-12-07 17:43:11 -08:00
Michael Scire
0c590eb768 Fix double semi-colon 2019-12-07 14:03:47 -08:00
Michael Scire
bd40d4f237 Turn on fs.mitm multithreading 2019-12-07 14:02:07 -08:00
Michael Scire
2bb77237bc Increase default applet reservation size to make psel work 2019-12-07 13:45:14 -08:00
Michael Scire
33827fe3a3 Implement support for 9.1.0 2019-12-07 13:44:08 -08:00
Lioncash
48b0b2fc46 dmnt_cheat_vm: Correct register Restore and ClearRegs behavior
Previously they were performing the same behavior as the Save and
ClearSave opcode types.
2019-12-07 12:41:56 -08:00
Michael Scire
4f29eedfe9 ams_mitm: implement hbl_html redirection 2019-12-07 12:41:28 -08:00
Michael Scire
66372e2b2e ams_mitm: implement ns.mitm 2019-12-07 12:41:28 -08:00
Michael Scire
2bae1ad116 Delete pre-rewrite ams_mitm code 2019-12-07 12:41:28 -08:00
Michael Scire
bbdc643b6d ams_mitm: fix directory save bugs 2019-12-07 12:41:28 -08:00
Michael Scire
a66fcde0ee fix uninitialized data access 2019-12-07 12:41:28 -08:00
Michael Scire
7835486a4d ams_mitm: Implement savedata redirection 2019-12-07 12:41:28 -08:00
Michael Scire
90367aea0d ams_mitm: add titles dir compat shim (to remove in 0.10.1) 2019-12-07 12:41:28 -08:00
Michael Scire
16c638756c ams_mitm: implement automatic backups of biskeys/cal0 2019-12-07 12:41:28 -08:00
Michael Scire
b08a97d883 shared_from_this requires public inheritance 2019-12-07 12:41:28 -08:00
Michael Scire
746dbfe018 ams_mitm: Implement emummc Nintendo folder redirection 2019-12-07 12:41:28 -08:00
Michael Scire
733f2b3cdd ams_mitm: implement layeredfs 2019-12-07 12:41:28 -08:00
Michael Scire
ad64cb5212 os/dd: primitive fixes 2019-12-07 12:41:28 -08:00
Michael Scire
b1a9e8d0df compat fixes for libnx master 2019-12-07 12:41:28 -08:00
Michael Scire
4f9838df3c avoid lambda use in shared_ptr deleters 2019-12-07 12:41:28 -08:00
Michael Scire
f4ca2c02a7 fs.mitm: Implement bis protection 2019-12-07 12:41:28 -08:00
Michael Scire
e1391d4162 stop overriding user config on update 2019-12-07 12:41:28 -08:00
Michael Scire
8d9c51f204 set_mitm: embed defaults in code, allow for missing ini 2019-12-07 12:41:28 -08:00
Michael Scire
c10ba67973 ams_mitm: Implement system settings mitm 2019-12-07 12:41:28 -08:00
Michael Scire
55610694c8 ams_mitm: Implement set:sys firmwareversion mitm 2019-12-07 12:41:28 -08:00
Michael Scire
8764d94fd9 Implement set_mitm 2019-12-07 12:41:28 -08:00
Michael Scire
5228768841 ams_mitm: implement hid mitm 2019-12-07 12:41:28 -08:00
Michael Scire
5484740cab hbl: support different keys for any-app vs specific
This also makes the default configuration:

To override a generic app, hold R.
To override album, do not hold R.
2019-12-07 12:41:28 -08:00
Michael Scire
421324b498 mitm/cfg: pass around override status for decision-making 2019-12-07 12:41:28 -08:00
Michael Scire
37e065fa2d ams_mitm: implement bpc:mitm 2019-12-07 12:41:28 -08:00
Michael Scire
b758e3fc55 strat: update for latest libnx. 2019-12-07 12:41:28 -08:00
Michael Scire
393596ef9a ams_mitm: begin skeleton refactor 2019-12-07 12:41:28 -08:00
Michael Scire
02d4c97c6d sf: explicitly namespace in DEFINE_SERVICE_DISPATCH_TABLE 2019-12-07 12:41:28 -08:00
Michael Scire
2c5ef434f0 sf: fixes (basic mitm service functionality now confirmed working) 2019-12-07 12:41:28 -08:00
Michael Scire
122f3e4403 libstrat: implement mitm server registration 2019-12-07 12:41:28 -08:00
Michael Scire
ea3ebbaa7d strat: TitleId -> ProgramId, titles->contents 2019-12-07 12:41:28 -08:00
Michael Scire
1636668762 strat: fixes for compat with latest libnx 2019-12-07 12:41:28 -08:00
Michael Scire
c6b9a0c4bf sf: PrepareForErrorReply is common to all objects 2019-12-07 12:41:28 -08:00
Michael Scire
93a218abeb libstrat: enable lto 2019-12-07 12:41:28 -08:00
Michael Scire
d7a06057eb strat: split out common functionality for future meso use 2019-12-07 12:41:28 -08:00
Michael Scire
8cb77ac136 namespace sts -> namespace ams
namespace sts::ams -> ams::exosphere, ams::.

This is to facilitate future use of ams:: namespace code in
mesosphere, as we'll want to include ams::util, ams::result, ams::svc...
2019-12-07 12:41:28 -08:00
Michael Scire
4059dc6187 Results: Implement namespaced, type-safe results.
Because I was working on multiple things at once, this commit also:
- Adds wrappers for/linker flags to wrap CXX exceptions to make them
  abort. This saves ~0x8000 of memory in every system module.
- Broadly replaces lines of the pattern if (cond) { return ResultX; }
  with R_UNLESS(!cond, ResultX());.
- Reworks the R_TRY_CATCH macros (and the result macros in general).
2019-12-07 12:41:28 -08:00
Michael Scire
15773e4755 libstrat: fix domain issues. in/out objects now work. 2019-12-07 12:41:28 -08:00
Michael Scire
4f455dacf4 sf: implement mitm forwarding + domains. 2019-12-07 12:41:28 -08:00
Michael Scire
0b22af1206 libstrat: namespace remaining non-namespaced code. more new-ipc updates 2019-12-07 12:41:28 -08:00
Michael Scire
ae2fa2fa60 boot: reduce memory footprint 2019-12-07 12:41:28 -08:00
Michael Scire
6abd756e0c boot2: move to separate process 2019-12-07 12:41:28 -08:00
Michael Scire
535e49a38d strat: statically allocate additional threads 2019-12-07 12:41:28 -08:00
Michael Scire
fbb5730369 strat: update for latest libnx commit 2019-12-07 12:41:28 -08:00
Michael Scire
e5d62025d3 dmnt: update for new-ipc 2019-12-07 12:41:28 -08:00
Michael Scire
89c6fc6437 creport: update for new-ipc 2019-12-07 12:41:28 -08:00
Michael Scire
799c158b86 fatal: update for new-ipc 2019-12-07 12:41:28 -08:00
Michael Scire
8d16d2152b boot: update for api changes 2019-12-07 12:41:28 -08:00
Michael Scire
635ae4e3da spl: update for new-ipc (fixes two bugs in sf) 2019-12-07 12:41:28 -08:00
Michael Scire
59140d8dfa sf-impl: remove debug condition 2019-12-07 12:41:28 -08:00
Michael Scire
2cb8aadafc pm: statically allocate more resources to save memory 2019-12-07 12:41:28 -08:00
Michael Scire
aa0826bb70 pm: update for new-ipc 2019-12-07 12:41:28 -08:00
Michael Scire
8bd2a9a23b ldr: fix copy/paste, only 1 ldr:pm session needed 2019-12-07 12:41:28 -08:00
Michael Scire
2f959785e1 loader: update for new-ipc 2019-12-07 12:41:28 -08:00
Michael Scire
88a86a3363 sf: implement CopyFromCurrentDomain 2019-12-07 12:41:28 -08:00
Michael Scire
0c7827104f hipc: begin implementing domains. fixes ro + sm together 2019-12-07 12:41:28 -08:00
Michael Scire
c8ed190e5c new-ipc: implement deferral. sm now works. 2019-12-07 12:41:28 -08:00
Michael Scire
f4dcd1db9b sf: implement service framework enough for ro to work.
This completely re-does the whole interface for ipc servers.
2019-12-07 12:41:28 -08:00
Michael Scire
bd341d5c00 libstrat: update for latest libnx, delete ipc in prep for rewrite 2019-12-07 12:41:28 -08:00
Michael Scire
add18d868f sts: add STS_UNREACHABLE_DEFAULT_CASE() 2019-12-07 12:41:28 -08:00
Michael Scire
609a302e16 os: implement waitable management.
This implements waitable management for Events (and
implements Events). It also refactors PM to use new
Event/Waitable semantics, and also adds STS_ASSERT
as a macro for asserting a boolean expression. The
rest of stratosphere has been refactored to use
STS_ASSERT whenever possible.
2019-12-07 12:41:28 -08:00
Michael Scire
e07011be32 mitm: fix long-standing C descriptor issue. 2019-12-07 12:41:28 -08:00
Michael Scire
bb223eb5ae libstrat: namespace hossynch.hpp 2019-12-07 12:41:28 -08:00
Adubbz
a1dd0e1a8c title_id_2 -> owner_tid 2019-10-03 13:08:38 +10:00
Adubbz
94046f7626 Fixed application launching 2019-10-03 12:28:31 +10:00
Adubbz
0e8c6a08ea Fix libstrat includes 2019-10-02 23:34:27 +10:00
Adubbz
1c19856fb0 Updated NCM to 9.0.0 2019-10-02 18:44:15 +10:00
Adubbz
bb3d41b416 Finished updating lr to 9.0.0 2019-10-02 17:55:57 +10:00
Adubbz
e2bfbdfb11 Updated AddOnContentLocationResolver and RegisteredLocationResolver to 9.0.0 2019-10-01 22:02:09 +10:00
Adubbz
deaca0dacb ncm: Misc cleanup 2019-10-01 17:58:37 +10:00
Adubbz
2939557f88 ncm: Move ncm_types to libstrat 2019-10-01 17:58:36 +10:00
Adubbz
4bc54a88d7 lr: RegisteredLocationResolver helpers 2019-10-01 17:58:36 +10:00
Adubbz
d1138d43c9 lr: Various helpers 2019-10-01 17:58:35 +10:00
Adubbz
32dc7ff59c lr: Unnecessary vars 2 electric boogaloo 2019-10-01 17:58:35 +10:00
Adubbz
c7c5b9bfcf lr: Eliminate unnecessary vars 2019-10-01 17:58:35 +10:00
Adubbz
b52b5fe3a8 Add eof newlines 2019-10-01 17:58:35 +10:00
Adubbz
b7d1b8e652 lr: Organise types 2019-10-01 17:58:34 +10:00
Adubbz
d0da24920b lr: Imrpoved path handling and adjust ResolveAddOnContentPath order 2019-10-01 17:58:34 +10:00
Adubbz
75ee69c0b5 lr: lr_manager tweaks 2019-10-01 17:58:33 +10:00
Adubbz
cfabec986c lr: Cleanup lr_redirection 2019-10-01 17:58:33 +10:00
Adubbz
20a4d9203c Move results to libstrat 2019-10-01 17:58:33 +10:00
Adubbz
dc74591310 Reorder stratosphere Makefile 2019-10-01 17:58:32 +10:00
Adubbz
fd2ea47f74 lr: Introducing registered data 2019-10-01 17:58:32 +10:00
Adubbz
f822902203 Correct main thread stack size 2019-10-01 17:58:32 +10:00
Adubbz
c1c08b7d03 Correct amount of add on content 2019-10-01 17:58:31 +10:00
Adubbz
da0a293f38 Fixed 1.0.0 booting 2019-10-01 17:58:31 +10:00
Adubbz
85e36522e4 Remove debug code 2019-10-01 17:58:31 +10:00
Adubbz
46eefc5b2a Fixed doubleup on path creation 2019-10-01 17:58:31 +10:00
Adubbz
4e5981488e Fixed reinitialization 2019-10-01 17:58:30 +10:00
Adubbz
01c7f3242c Improved type safety 2019-10-01 17:58:30 +10:00
Adubbz
b17c556fcb Fixed ContentId/PlaceHolderId alignment 2019-10-01 17:58:30 +10:00
Adubbz
b7f72323a7 Fixed file modes 2019-10-01 17:58:30 +10:00
Adubbz
1a7b9c3428 Misc changes 2019-10-01 17:58:29 +10:00
Adubbz
ca2252254f Revert "Remove debug code (again)"
This reverts commit 168447d80e.
2019-10-01 17:58:29 +10:00
Adubbz
d37b92b5c6 Remove debug code (again) 2019-10-01 17:58:29 +10:00
Adubbz
3c0e0443e2 Refactor placeholder cacheing 2019-10-01 17:58:28 +10:00
Adubbz
8761e5f415 Misc cleanup 2019-10-01 17:58:28 +10:00
Adubbz
82c97b1e4b Abstract away file writing logic 2019-10-01 17:58:28 +10:00
Adubbz
3c64b34cc4 Universally use EnsureEnabled 2019-10-01 17:58:28 +10:00
Adubbz
ac24ab8005 Always cache placeholder file. Switch to ftell for preventing appending 2019-10-01 17:58:27 +10:00
Adubbz
1283f50572 Revert "Removed debug code"
This reverts commit d6ff261fcc.
2019-10-01 17:58:27 +10:00
Adubbz
bc377bd5dd Manually prevent placeholder/content appending 2019-10-01 17:58:26 +10:00
Adubbz
6060aee62b Added a scope guard for WritePlaceHolder 2019-10-01 17:58:26 +10:00
Adubbz
a98a2f4592 Removed debug code 2019-10-01 17:58:26 +10:00
Adubbz
52837a78f4 Fixed List implementation. Also lots of debug logging. 2019-10-01 17:58:25 +10:00
Adubbz
d58d370123 Prevent automatic placeholder creation on open 2019-10-01 17:58:25 +10:00
Adubbz
16f437842c Fixed incorrect content manager destruction 2019-10-01 17:58:25 +10:00
Adubbz
68d1ef1d43 Fixed placeholder/content deletion 2019-10-01 17:58:24 +10:00
Adubbz
abc94ea27d Various fixes. Note: This contains debug stuff which will be removed later. I was getting tired of having to cherrypick tiny changes 2019-10-01 17:58:24 +10:00
Adubbz
352b747789 Bump heap size, fix CleanupAllPlaceHolder 2019-10-01 17:58:24 +10:00
Adubbz
e9879165b4 Fixed content path generation 2019-10-01 17:58:24 +10:00
Adubbz
77ebbecdc2 Fix logic inversion 2019-10-01 17:58:23 +10:00
Adubbz
991138ca1d Make dispatch tables great again 2019-10-01 17:58:23 +10:00
Adubbz
852565fa2e Various command improvements 2019-10-01 17:58:23 +10:00
Adubbz
f8a582c689 More main fixes 2019-10-01 17:58:22 +10:00
Adubbz
cfdbf53271 Fixed more stdio error handling 2019-10-01 17:58:22 +10:00
Adubbz
36c1fafb0d errno begone 2019-10-01 17:58:22 +10:00
Adubbz
d985c0e87f Misc fixes 2019-10-01 17:58:22 +10:00
Adubbz
c1b48289df Use r+b, not w+b 2019-10-01 17:58:21 +10:00
Adubbz
2e8f90fa42 Fix HasFile and HasDirectory 2019-10-01 17:58:21 +10:00
Adubbz
cd303702f3 Fix a potential data abort when flushing the placeholder accessor cache 2019-10-01 17:58:21 +10:00
Adubbz
5e53256388 Fix incorrect setup for NandUser's content storage entry 2019-10-01 17:58:21 +10:00
Adubbz
8124e03684 Stack size bump 2019-10-01 17:58:20 +10:00
Adubbz
5c3195514c Give access to svcCallSecureMonitor 2019-10-01 17:58:20 +10:00