Commit graph

926 commits

Author SHA1 Message Date
Michael Scire 8306464758 boot: fix wrong fallthroughs 2020-02-24 09:45:40 -08:00
Michael Scire 4a30437e80 boot: update to accurate as of 9.1.0 2020-02-24 08:21:31 -08:00
Michael Scire 80e1847534 libstrat: fix unconverted _WITH_ASSERTs 2020-02-24 05:01:41 -08:00
Michael Scire 5fa534fb71 ro: implement NRR signature checks 2020-02-23 18:07:14 -08:00
Michael Scire 981166783b stratosphere: misc static -> global 2020-02-22 23:16:53 -08:00
Michael Scire c0f7cd95b9 pm: save ~0x3000 in binary 2020-02-22 23:11:28 -08:00
Michael Scire 40400aee1f ams: revamp assertion system 2020-02-22 23:05:14 -08:00
Michael Scire 364b04b68a libmesosphere: move .s to kernel (prevent manifesting in kernelldr) 2020-02-13 22:05:20 -08:00
Michael Scire 6ecf04c3b7 find -exec sed -i'' -e 's/2018-2019 Atmo/2018-2020 Atmo/g' {} + 2020-01-24 02:10:40 -08:00
Michael Scire 3a91a6b786 svc: populate namespace 2020-01-17 20:11:03 -08:00
Michael Scire 7806766a59 sm: I accidentally wasted 2 MB 2020-01-17 14:26:56 -08:00
Michael Scire f3fa680d5d fatal: use STB instead of freetype 2020-01-03 22:35:11 -08:00
Michael Scire 5b1060b30e fatal: make aarch32 fatal screen prettier 2020-01-03 20:21:12 -08:00
Michael Scire d5458960d5 fatal: increase stack size (needed for some custom fonts) 2020-01-03 14:33:12 -08:00
Michael Scire d779eea009 hid.mitm: disable by default 2020-01-02 22:40:47 -08:00
Michael Scire 3038612774 ams: use bitpack for api version 2020-01-02 18:17:48 -08:00
Michael Scire b965e3f335 libvapours: add (kibi/mebi/gibi)byte literals 2020-01-02 17:44:22 -08:00
Michael Scire 0d8bde6079 loader: use BitPack for caps 2020-01-02 03:13:40 -08:00
Michael Scire 38f942adf5 strat: use util::FourCC where relevant 2020-01-02 01:52:13 -08:00
Michael Scire 48772307bf bpc.mitm: detect preferred reboot function (closes #785) 2020-01-01 21:50:42 -08:00
Michael Scire 846f610fff fatal: include stack/tls in reports 2019-12-31 15:23:25 -08:00
Michael Scire 3e2ec256ab fs.mitm: mitm sdb (allows common sysarchive redir) 2019-12-31 01:57:26 -08:00
Michael Scire 5a15d62b8b fs.mitm: require less contiguous memory to build romfs 2019-12-30 05:02:07 -08:00
Michael Scire d0404f3cc9 fs.mitm: lazily initialize sd-romfs metadata 2019-12-30 03:23:40 -08:00
Michael Scire 2ae298de24 fs.mitm: conserve memory when building romfs paths 2019-12-30 02:51:32 -08:00
Michael Scire 06e4b94674 fs.mitm: only iter romfs dir if it exists (closes #763) 2019-12-16 17:31:53 -08:00
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
Michael Scire d4f99ddb4d libstratosphere: use from /atmosphere/libraries 2019-12-09 18:54:29 -08: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
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