Michael Scire
7f1a7cfd2d
fs: fix RomFs GetEntryType (fixes mariko daybreak)
2020-11-21 04:00:52 -08:00
Michael Scire
c98f4f1ff6
strat: use 39-bit address space when available (new loader extension)
2020-11-20 17:02:32 -08:00
Michael Scire
dd56f8449f
ldr/hbl: support address space width overrides
2020-11-20 16:57:07 -08:00
Michael Scire
512fc8f9b1
sdmmc: various fixes + logging as bugs are debugged
2020-11-18 15:08:44 -08:00
Michael Scire
7bcd5c6e3b
exo: implement start of mariko fatal handler
2020-11-18 15:08:44 -08:00
Michael Scire
123ed80dc7
boot: update DisplayConfigMipiCal01 to reflect newest boot sysmodule
2020-11-16 17:51:52 -08:00
Michael Scire
2ef41f0027
exo: shuffle logic around to support debug code region in iram
2020-11-15 01:36:50 -08:00
Michael Scire
72f83ea43e
exo: reserve a portion of iram for secure monitor debug (including code)
2020-11-14 11:11:41 -08:00
Michael Scire
f2c553be1a
bpc.mitm: don't mitm bpc on mariko
2020-11-14 10:34:13 -08:00
Michael Scire
1d8744164e
ams.mitm: provide different boot0-protection for custom public key
2020-11-14 03:37:51 -08:00
Michael Scire
b62aa044e4
boot/powctl/i2c: more miscellaneous fixes
2020-11-14 03:37:51 -08:00
Michael Scire
affdea9244
boot: various bugfixes (b/w logo displays now)
2020-11-14 03:37:51 -08:00
Michael Scire
d9350d24a9
pinmux: implement updated initial config api
2020-11-14 03:37:51 -08:00
Michael Scire
68f42a14c8
boot: update/refactor display management to support hw type 5/display 0x1040/0x2050
2020-11-14 03:37:51 -08:00
Michael Scire
4d1c4f1677
dd: implement DeviceAddressSpaceType api
2020-11-14 03:37:51 -08:00
Michael Scire
708f5bf1fb
boot: refactor battery checking to use new powctl apis
2020-11-14 03:37:51 -08:00
Michael Scire
485304bd17
powctl: implement client api (needs board-specific impl)
2020-11-14 03:37:51 -08:00
Michael Scire
3d31837ca1
pwm: implement driver for boot sysmodule
2020-11-14 03:37:51 -08:00
Michael Scire
323e893433
i2c: implement remaining required driver logic
2020-11-14 03:37:51 -08:00
Michael Scire
258cfb62a2
i2c: command list format, get boot down to linker errors
2020-11-14 03:37:51 -08:00
Michael Scire
42caa4ffd1
i2c/gpio: hook up open session for sf interface
2020-11-14 03:37:51 -08:00
Michael Scire
6ff58fa4b3
i2c: implement BusAccessor except Send/Receive/WriteHeader
2020-11-14 03:37:51 -08:00
Michael Scire
e5bf06254a
boot: add rgltr/clkrst overrides, skel I2cBusAccessor
2020-11-14 03:37:51 -08:00
Michael Scire
4a2daa4810
i2c: begin skeleton device driver framework
2020-11-14 03:37:51 -08:00
Michael Scire
bd3ab76fd2
gpio: implement more of server library for boot sysmodule client usage
2020-11-14 03:37:51 -08:00
Michael Scire
e1b5d81d65
wec: implement wec driver components for boot sysmodule
2020-11-14 03:37:51 -08:00
Michael Scire
4b4f05b4a6
gpio: add (most of) driver framework for boot sysmodule usage
2020-11-14 03:37:51 -08:00
SciresM
166318ba77
sdmmc: implement driver suitable for fs + bootloader
...
* sdmmc: begin skeletoning sdmmc driver
* sdmmc: add most of SdHostStandardController
* sdmmc: implement most of SdmmcController
* sdmmc: Sdmmc2Controller
* sdmmc: skeleton implementation of Sdmmc1Controller
* sdmmc: complete abstract logic for Sdmmc1 power controller
* sdmmc: implement gpio handling for sdmmc1-register-control
* sdmmc: implement pinmux handling for sdmmc1-register-control
* sdmmc: fix building for arm32 and in stratosphere context
* sdmmc: implement voltage enable/set for sdmmc1-register-control
* util: move T(V)SNPrintf from kernel to util
* sdmmc: implement BaseDeviceAccessor
* sdmmc: implement MmcDeviceAccessor
* sdmmc: implement clock reset controller for register api
* sdmmc: fix bug in WaitWhileCommandInhibit, add mmc accessors
* exo: add sdmmc test program
* sdmmc: fix speed mode extension, add CheckMmcConnection for debug
* sdmmc: add DeviceDetector, gpio: implement client api
* gpio: modernize client api instead of doing it the lazy way
* sdmmc: SdCardDeviceAccessor impl
* sdmmc: update test program to read first two sectors of sd card
* sdmmc: fix vref sel
* sdmmc: finish outward-facing api (untested)
* ams: changes for libvapours including tegra register defs
* sdmmc: remove hwinit
2020-10-30 11:54:30 -07:00
Michael Scire
1c71d12d9d
ams.mitm: avoid inadvertently breaking ftpd/file listers
2020-10-27 10:28:51 -07:00
Michael Scire
5b02c77400
ams: fix updater misbehavior before 0.15.0 releases
2020-10-14 12:28:26 -07:00
Michael Scire
f4d10a4481
set.mitm: much more aggressively cache locale ( #1160 )
2020-09-23 02:01:07 -07:00
Michael Scire
85505db9b7
loader: adjust thread priority for applet-hbl
2020-09-22 12:01:28 -07:00
Michael Scire
48b4dd48a4
ams: expose reboot payload for kernel panic
2020-09-18 00:43:55 -07:00
Michael Scire
8d46d901d9
ams: make mesosphere usage user-visible in display version
2020-09-17 21:18:44 -07:00
Michael Scire
909397233c
sm: Fix atmosphere-extension interaction with official JIT sysmodule usage
2020-09-17 08:24:47 -07:00
Michael Scire
211a828730
ro: fix process handle leak when using JitPlugin NROs
2020-09-17 08:17:11 -07:00
Michael Scire
074364753f
loader: improve verification terminology
2020-09-08 15:34:22 -07:00
Michael Scire
b7d99b732a
ro: rename ModuleType to reflect reality
2020-09-08 15:05:15 -07:00
Michael Scire
e8ffbe630f
kern: support 2-pool layout on 2.x-4.x instead of modern 4-pool layout
2020-09-07 10:43:35 -07:00
Michael Scire
25ba61adae
loader: extend memory region descriptors a touch more gracefully
2020-09-07 10:43:35 -07:00
Michael Scire
79c9bed528
kern/pm: support for 5.x under mesosphere
2020-09-07 10:43:35 -07:00
Michael Scire
657470830f
loader: support MapRegion capability as an atmosphere extension (normally kips-only)
2020-09-07 10:43:35 -07:00
Michael Scire
99b5458539
sm: fix deadlock semantics surrounding mitm installation
2020-09-07 10:40:57 -07:00
Michael Scire
420bc7df9b
ams: update build system to add generic-fallback support
2020-08-11 11:22:56 -07:00
Michael Scire
ee3e0fa537
fatal: use TimeSpan for timing
2020-08-03 19:52:53 -07:00
Aurora Wright
501280b6e5
fatal: Fix autoreboot logic
2020-08-03 19:44:14 -07:00
Michael Scire
e1f3bb10a5
kern: clean up majority of TODOs
2020-07-31 14:50:52 -07:00
Michael Scire
3d2eb8e903
Daybreak: support installing non-exfat update if only exfat firm is missing/corrupt
2020-07-27 15:42:17 -07:00
Michael Scire
51dd668c7c
loader: fix typo
2020-07-13 17:44:20 -07:00
Michael Scire
c01753370a
ams: update to know about 10.1.0
2020-07-13 17:34:48 -07:00
SciresM
9fde97cfdd
sf: Change interface definition methodology ( #1074 )
...
* sf: Begin experimenting with new interface declaration format
* sf: convert fs interfaces to new format
* sf: finish conversion of libstrat to new definitions
* sf: convert loader to new format
* sf: convert spl to new format
* sf: update ncm for new format
* sf: convert pm to new format
* sf: convert ro/sm to new format
* sf: update fatal for new format
* sf: support building dmnt under new scheme
* sf: update ams.mitm for new format
* sf: correct invocation def for pointer holder
* fs: correct 10.x+ user bindings for Get*SpaceSize
2020-07-07 17:07:23 -07:00
Michael Scire
e2b17086d4
fs: implement AccessLog, enable for File operations
2020-07-02 14:02:50 -07:00
Michael Scire
ecbd986529
sysupdater: minor api fixes (now verified working on hardware)
2020-06-28 01:46:51 -07:00
Michael Scire
73a6aeed15
sysupdater: implement (untested) rest of the api
2020-06-28 01:46:51 -07:00
Michael Scire
f223c27bb0
sysupdater: Add ValidateUpdate, begin implementing Async logic
2020-06-28 01:46:51 -07:00
Michael Scire
1bc271bab1
sysupdater: don't do unnecessary work when parsing update
2020-06-28 01:46:51 -07:00
Michael Scire
3324dd52ef
sysupdater: make GetUpdateInformation work on hardware.
2020-06-28 01:46:51 -07:00
Michael Scire
a6218ed814
sysupdater: implement content meta mounting
2020-06-28 01:46:51 -07:00
Michael Scire
28a6bb713c
sysupdater: begin implementing api
2020-06-28 01:46:51 -07:00
Michael Scire
f594de0081
ams: add -Wno-format-truncation to flags
2020-06-25 17:32:34 -07:00
Michael Scire
d165ec7162
stratosphere: fix command availability to include minor versions
2020-06-14 22:07:45 -07:00
Michael Scire
71e0102f7a
boot2: correct service access for mitm-forward-declare
2020-05-27 03:58:10 -07:00
Michael Scire
fe0bd03feb
strat: use 1 fewer fs session at runtime (and match official ncm usage)
2020-05-27 03:51:11 -07:00
Michael Scire
9baf096a10
dmnt: make debug event result handling more robust ( closes #938 )
2020-05-16 15:05:46 -07:00
jam1garner
9598da0a0b
Tweak default settings to allow nro replacement mods for smash ( #956 )
2020-05-15 14:28:51 -07:00
SciresM
81f91803ec
Implement support for parsing/interacting with NCAs. ( #942 )
...
* fs: implement support for interacting with ncas.
* spl: extend to use virtual keyslots
2020-05-11 15:04:51 -07:00
SciresM
3a1ccdd919
Switch atmosphere's build target to C++20. ( #952 )
...
* ams: update to build with gcc10/c++20
* remove mno-outline-atomics
* ams: take care of most TODO C++20s
* fusee/sept: update for gcc10
* whoosh, your code now uses pre-compiled headers
* make: dependency fixes
2020-05-11 15:02:10 -07:00
Michael Scire
17b6bcfd37
loader: correct anti-downgrade tables for new version scheme
2020-05-06 22:39:11 -07:00
Michael Scire
85cd2c97a0
ams:bpc: allow programatically setting reboot payload
2020-05-04 23:29:54 -07:00
Michael Scire
3bc7c52ade
pm: correct extra application thread allocation counts
2020-05-01 05:23:37 -07:00
Michael Scire
1d40a08ef9
dmnt: move stuff around slightly, add client bindings
2020-04-24 17:24:15 -07:00
SciresM
be07035954
Dmnt: Add break/continue commands, add static register api. ( #899 )
...
* dmnt: implement break/continue, static reg commands
* dmnt: revise per WerWolv's feedback.
2020-04-24 17:00:43 -07:00
SciresM
3bc2d79384
PRODINFO: Revamp blanking/write disallow policy. ( #913 )
...
* exo/fusee: hookup new prodinfo settings
* fusee: new scheme doesn't need FLAGS_DEFAULT
* fusee: fix c/p errors
* ams.mitm: completely revamp prodinfo backup mechanism
* ams.mitm: Implement revamped blanking/write policy
* strat: make early boot more debuggable
* exo: condense flag logic
2020-04-22 16:22:14 -07:00
Michael Scire
6ac1ff6f24
creport: Try to take screenshot of application crashes on 9.x+
2020-04-22 14:50:16 -07:00
Michael Scire
4f50f57bb7
os: bug fixes after re-review of rwlock code
2020-04-21 22:40:45 -07:00
Michael Scire
97cba5e881
os: implement ReadWriteLock
2020-04-21 20:23:50 -07:00
Michael Scire
6eb77e69c4
refactor jpegdec implementation into libstrat (thanks again, Behemoth!)
2020-04-20 04:37:08 -07:00
HookedBehemoth
90d754f920
jpegdec reimplementation ( #912 )
...
* add jpegdec reimplementation
* reduce work memory
* fix color space
* jpegdec: cleanup results to use atmosphere style
* fix outdated comments, correct do/while bug
Co-authored-by: Michael Scire <SciresM@gmail.com>
2020-04-20 02:07:37 -07:00
Michael Scire
3da0cda4ae
ams: centralize system thread definitions
2020-04-17 01:06:07 -07:00
Michael Scire
94ec9ae41b
hos: change initialization API
...
This was needed to make stratosphere buildable with debugging on.
os:: assertions rely on GetCurrentThread() working, and this requires
the global os resource manager to be constructed. However, __appInit executes
before global constructors. We now require that hos::InitializeForStratosphere()
be called before anything else is done. This initializes the os resource manager,
sets the hos version for libnx, and may do more things in the future.
TODO: Consider replacing __appInit/__appExit with ams:: namespace functions in general,
and wrap them so that we guarantee hos::InitializeForStratosphere is called first, and
generally ensure a consistent stratosphere environment.
2020-04-16 22:57:01 -07:00
SciresM
98cc051387
pgl: Reimplement the pgl sysmodule ( #896 )
...
* pgl: add skeleton folder to stratosphere
* pgl: Add service interface for IShellInterface
* pgl: begin skeletoning shell service, implement two commands.
* pgl: Implement three more commands.
* pgl: implement bool tracking commands
* pgl: Implement TriggerApplicationSnapShotDumper
* pgl: implement InitializeProcessControlTask
* pgl: Implement pgl::srv::Initialize
* pgl: Implement main()
* pgl: Implement (Get)ShellEventObserver
* pgl: implement LaunchProgramFromHost, GetHostContentMetaInfo
* pgl: Implement ProcessControlTask
* settings: fix duplicate object name
* pgl: fix minor bugs in impl
2020-04-16 19:55:47 -07:00
Michael Scire
eca2b453ae
pgl: update with client C++ bindings
2020-04-15 20:07:20 -07:00
Michael Scire
e14dc18bd3
pgl: skeleton api
2020-04-15 17:37:11 -07:00
Michael Scire
c07f54f370
emummc: fix for svcQueryIoMapping abi change
2020-04-14 11:15:19 -07:00
Michael Scire
6fe8ada37a
ncm/build dist: minor fixes
2020-04-14 10:20:27 -07:00
Michael Scire
94b10b5779
ams: fix boot sysmodule/kernel for 10.0.0
2020-04-14 10:11:58 -07:00
Adubbz
a25be61e94
ncm: update to 10.0.0 ( #879 )
2020-04-14 10:11:51 -07:00
Michael Scire
11f840b1e3
creport: update for 10.0.0
2020-04-14 04:48:57 -07:00
Michael Scire
353e27b9e2
ldr: update 10.0.0 conditionals
2020-04-14 03:20:23 -07:00
Michael Scire
200d2df785
pm: Update to support 10.0.0
2020-04-14 02:54:55 -07:00
Michael Scire
73552c86c3
loader: update for 10.0.0
2020-04-14 02:45:28 -07:00
Michael Scire
dd80e1f463
loader: update anti-downgrade tables for 10.0.0
2020-04-13 23:44:01 -07:00
Michael Scire
6719abec65
hos::Version: rename enum members
2020-04-13 22:19:44 -07:00
SciresM
79b9e07ee9
erpt: reimplement the sysmodule ( #875 )
...
* erpt: reimplement the sysmodule
* fatal: update for latest bindings
* erpt: amend logic for culling orphan attachments
2020-04-13 17:07:37 -07:00
Michael Scire
065485b971
os: refactor/rewrite entire namespace.
2020-04-08 02:21:35 -07:00
Michael Scire
bd4c608b08
ncm: use static memory pools for different allocations
2020-03-29 17:20:25 -07:00
Michael Scire
7fc1e86bf5
stratosphere: fix building with latest libnx
2020-03-29 15:24:40 -07:00
SciresM
87ec045a98
mem: implement most of StandardAllocator ( #860 )
...
This was tested using `https://github.com/node-dot-cpp/alloc-test ` plus a few other by-hand tests.
It seems to work for the case we care about (sysmodules without thread cache-ing).
External users are advised to build with assertions on and contact SciresM if you find issues.
This is a lot of code to have gotten right in one go, and it was written mostly after midnight while sick, so there are probably un-noticed issues.
2020-03-29 14:43:16 -07:00
Michael Scire
0af2758fde
fs.mitm: use new namespace types for saves
2020-03-24 17:50:36 -07:00
Michael Scire
067fe2d10f
stratosphere: fix building with latest libnx
2020-03-18 00:14:34 -07:00
Michael Scire
37f7afb426
ams.mitm: greatly reduce memory requirements to build romfs
2020-03-18 00:07:19 -07:00
hexkyz
b735bc53c4
stratosphere-ldr: fix code mount name
2020-03-09 21:53:40 +00:00
Michael Scire
93004be59e
ams: finish stdio -> fs bindings for stratosphere
2020-03-09 03:58:02 -07:00
Michael Scire
237b513408
loader: refactor to use fs bindings
2020-03-09 03:10:12 -07:00
Michael Scire
08d9de6907
ldr: optimize memory usage for tracking system programs
2020-03-08 16:54:32 -07:00
Michael Scire
6eee3f5fe7
stratosphere-except-ldr: use fs bindings (this temporarily breaks loader)
2020-03-08 16:33:49 -07:00
Michael Scire
4eb3109c93
fusee: update fss0 header
2020-03-08 11:50:38 -07:00
Michael Scire
f7fb689412
fatal: use fs bindings
2020-03-08 04:50:47 -07:00
Michael Scire
2181adb82b
creport: minor reformatting/fixes
2020-03-08 03:08:39 -07:00
Michael Scire
40c6733de3
creport: use fs bindings
2020-03-08 01:45:12 -08:00
Adubbz
c7026b9094
Implement the NCM sysmodule ( closes #91 )
...
* Implement NCM
* Modernize ncm_main
* Remove unnecessary smExit
* Give access to svcCallSecureMonitor
* Stack size bump
* Fix incorrect setup for NandUser's content storage entry
* Fix a potential data abort when flushing the placeholder accessor cache
* Fix HasFile and HasDirectory
* Use r+b, not w+b
* Misc fixes
* errno begone
* Fixed more stdio error handling
* More main fixes
* Various command improvements
* Make dispatch tables great again
* Fix logic inversion
* Fixed content path generation
* Bump heap size, fix CleanupAllPlaceHolder
* Various fixes. Note: This contains debug stuff which will be removed later. I was getting tired of having to cherrypick tiny changes
* Fixed placeholder/content deletion
* Fixed incorrect content manager destruction
* Prevent automatic placeholder creation on open
* Fixed List implementation. Also lots of debug logging.
* Removed debug code
* Added a scope guard for WritePlaceHolder
* Manually prevent placeholder/content appending
* Revert "Removed debug code"
This reverts commit d6ff261fcc
.
* Always cache placeholder file. Switch to ftell for preventing appending
* Universally use EnsureEnabled
* Abstract away file writing logic
* Misc cleanup
* Refactor placeholder cacheing
* Remove debug code (again)
* Revert "Remove debug code (again)"
This reverts commit 168447d80e
.
* Misc changes
* Fixed file modes
* Fixed ContentId/PlaceHolderId alignment
* Improved type safety
* Fixed reinitialization
* Fixed doubleup on path creation
* Remove debug code
* Fixed 1.0.0 booting
* Correct amount of add on content
* Correct main thread stack size
* lr: Introducing registered data
* Reorder stratosphere Makefile
* Move results to libstrat
* lr: Cleanup lr_redirection
* lr: lr_manager tweaks
* lr: Imrpoved path handling and adjust ResolveAddOnContentPath order
* lr: Organise types
* Add eof newlines
* lr: Eliminate unnecessary vars
* lr: Unnecessary vars 2 electric boogaloo
* lr: Various helpers
* lr: RegisteredLocationResolver helpers
* ncm: Move ncm_types to libstrat
* ncm: Misc cleanup
* Implement NCM
* Modernize ncm_main
* Remove unnecessary smExit
* Give access to svcCallSecureMonitor
* Stack size bump
* Fix incorrect setup for NandUser's content storage entry
* Fix a potential data abort when flushing the placeholder accessor cache
* Fix HasFile and HasDirectory
* Use r+b, not w+b
* Misc fixes
* errno begone
* Fixed more stdio error handling
* More main fixes
* Various command improvements
* Make dispatch tables great again
* Fix logic inversion
* Fixed content path generation
* Bump heap size, fix CleanupAllPlaceHolder
* Various fixes. Note: This contains debug stuff which will be removed later. I was getting tired of having to cherrypick tiny changes
* Fixed placeholder/content deletion
* Fixed incorrect content manager destruction
* Prevent automatic placeholder creation on open
* Fixed List implementation. Also lots of debug logging.
* Removed debug code
* Added a scope guard for WritePlaceHolder
* Manually prevent placeholder/content appending
* Revert "Removed debug code"
This reverts commit d6ff261fcc
.
* Always cache placeholder file. Switch to ftell for preventing appending
* Universally use EnsureEnabled
* Abstract away file writing logic
* Misc cleanup
* Refactor placeholder cacheing
* Remove debug code (again)
* Revert "Remove debug code (again)"
This reverts commit 168447d80e
.
* Misc changes
* Fixed file modes
* Fixed ContentId/PlaceHolderId alignment
* Improved type safety
* Fixed reinitialization
* Fixed doubleup on path creation
* Remove debug code
* Fixed 1.0.0 booting
* Correct amount of add on content
* Correct main thread stack size
* lr: Introducing registered data
* Reorder stratosphere Makefile
* Move results to libstrat
* lr: Cleanup lr_redirection
* lr: lr_manager tweaks
* lr: Imrpoved path handling and adjust ResolveAddOnContentPath order
* lr: Organise types
* Add eof newlines
* lr: Eliminate unnecessary vars
* lr: Unnecessary vars 2 electric boogaloo
* lr: Various helpers
* lr: RegisteredLocationResolver helpers
* ncm: Move ncm_types to libstrat
* ncm: Misc cleanup
* Updated AddOnContentLocationResolver and RegisteredLocationResolver to 9.0.0
* Finished updating lr to 9.0.0
* Updated NCM to 9.0.0
* Fix libstrat includes
* Fixed application launching
* title_id_2 -> owner_tid
* Updated to new-ipc
* Change to using pure virtuals
* Title Id -> Program Id
* Fixed compilation against master
* std::scoped_lock<> -> std::scoped_lock
* Adopted R_UNLESS and R_CONVERT
* Prefix namespace to Results
* Adopt std::numeric_limits
* Fixed incorrect error handling in ReadFile
* Adopted AMS_ABORT_UNLESS
* Adopt util::GenerateUuid()
* Syntax improvements
* ncm_types: Address review
* Address more review comments
* Updated copyrights
* Address more feedback
* More feedback addressed
* More changes
* Move dispatch tables out of interface files
* Addressed remaining comments
* lr: move into libstratosphere
* ncm: Fix logic inversion
* lr: Add comments
* lr: Remove whitespace
* ncm: Start addressing feedback
* ncm: Cleanup InitializeContentManager
* lr: support client-side usage
* lr_service -> lr_api
* ncm: Begin refactoring content manager
* ncm: More content manager improvements
* ncm: Content manager mount improvements
* ldr: use lr bindings
* lr bindings usage: minor fixes
* ncm/lr: Pointer placement
* ncm: placeholder accessor cleanup
* ncm: minor fixes
* ncm: refactor rights cache
* ncm: content meta database cleanup
* ncm: move content meta database impl out of interface file
* ncm: Use const ContentMetaKey &
* ncm: fix other non-const ContentMetaKey references
* ncm: content meta database cleanup
* ncm: content storage fixes for 2.0.0
* ncm: add missing end of file newlines
* ncm: implement ContentMetaReader
* ncm: client-side api
* ncm: trim trailing spaces
* ncm: FS_MAX_PATH-1 -> fs::EntryNameLengthMax
* ncm: Use PathString and Path
* fs: implement accessor wrappers for ncm
* fs: implement user fs wrappers
* fs: add MountSdCard
* ncm: move to content manager impl
* ncm: fix up main
* kvdb: use fs::
* fs: Add wrappers needed for ncm
* ncm: use fs bindings, other refactoring
* ncm: minor fixes
* fsa: fix ReadFile without size output
* fs: add substorage, rom path tool
* ncm: fix dangling fsdev usage
* fs: fix bug in Commit
* fs: fixed incorrect mode check
* fs: implement Mount(System)Data
* ncm: don't delete hos
* results: add R_SUCCEED_IF
* ams-except-ncm: use R_SUCCEED_IF
* ncm: added comments
* ncm: fix api definitions
* ncm: use R_SUCCEED_IF
* pm: think of the savings
* ncm: employ kernel strats
* ncm: Nintendo has 5 MiB of heap. Give ourselves 4 to be safe, pending analysis
* ncm: refactor IDs, split types header into many headers
* ams.mitm: use fs bindings instead of stdio
* fs: SystemData uses SystemDataId
* ncm: improve meta-db accuracy
* ncm: inline getlatestkey
* fs: improve UnsupportedOperation results
* fs: modernize mount utils
* ams: misc fixes for merge-errors
* fs: improve unsupportedoperation results
* git subrepo pull emummc
subrepo:
subdir: "emummc"
merged: "d12dd546"
upstream:
origin: "https://github.com/m4xw/emuMMC "
branch: "develop"
commit: "d12dd546"
git-subrepo:
version: "0.4.1"
origin: "???"
commit: "???"
* util: add boundedmap
* ncm: minor style fixes
* ncm: don't unmount if mounting fails
* lr: bug fixes
* ncm: implement ncm.for-initialize + ncm.for-safemode
* lr: ncm::ProgramId::Invalid -> ncm::InvalidProgramId
* ncm: fix open directory mode on 1.0.0
* ncm: fix fs use, implement more of < 4.0.0 for-initialize/safemode
* ncm: implement packagedcontent -> content for building metadb
* ncm: fix save data flag management
* ncm: address some review suggestions (thanks @leoetlino!)
* updater: use fs bindings
* fs: implement MountCode
* fs: prefer make_unique to operator new
* ncm: implement remaining ContentMetaDatabaseBuilder functionality
Co-authored-by: Michael Scire <SciresM@gmail.com>
2020-03-08 00:06:23 -08:00
Michael Scire
c4065c976c
pm/fusee: add support for 9.2.0
2020-03-02 19:49:34 -08:00
Michael Scire
392c9c3a0b
ams: prepare for 0.10.3
2020-03-02 18:35:10 -08:00
Michael Scire
dc1404061c
fs.mitm: implement layered html redirection ( closes #814 )
2020-02-25 16:44:36 -08:00
Michael Scire
8da705d40b
fs.mitm: support html redirection (non-layered, for #814 )
2020-02-25 06:41:53 -08:00
Michael Scire
a429c61f33
crypto/spl: implement rsa-oaep
2020-02-24 19:09:13 -08:00
Michael Scire
ad1158b30a
ro: save 0x25000 while maintaining security improvements
2020-02-24 18:17:33 -08:00
Michael Scire
ba8c77fec6
ro: implement 9.1.0 security measures
2020-02-24 18:02:01 -08:00
Michael Scire
f427c3d7a5
ro: move in use trackers outside of info objects
2020-02-24 16:47:07 -08:00
Michael Scire
05a24b5726
boot: fix more typos/copy paste errors
2020-02-24 09:49:43 -08:00
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
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
Michael Scire
542833866e
git subrepo push stratosphere/libstratosphere
...
subrepo:
subdir: "stratosphere/libstratosphere"
merged: "8bae7b4a"
upstream:
origin: "https://github.com/Atmosphere-NX/libstratosphere "
branch: "master"
commit: "8bae7b4a"
git-subrepo:
version: "0.4.0"
origin: "https://github.com/ingydotnet/git-subrepo "
commit: "5d6aba9"
2019-09-18 12:43:47 -07:00
Michael Scire
89c484414b
dmnt: Truncate cheat names after maxlen instead of failing
2019-09-18 11:54:30 -07:00
Michael Scire
fe2dd671fb
dmnt: fix edge case in debug events thread
2019-09-18 11:54:30 -07:00
Michael Scire
8abee1bdaa
dmnt: fix some bugs in init
2019-09-18 11:54:30 -07:00
Michael Scire
78a730ddf6
dmnt: refactor to use sts:: namespace.
2019-09-18 11:54:30 -07:00
Michael Scire
a750e55f75
tmp-hid-mitm: less aggressively enable controllers
...
This fixes a crash in SSBU and possibly other games.
2019-09-14 13:37:31 -07:00
Michael Scire
a6e405c988
ldr: fix hbl_html redirection invocation
2019-09-14 10:43:39 -07:00
Michael Scire
6613fda4b1
ams_mitm: add temporary hid mitm on 9.x for compat
2019-09-14 10:43:39 -07:00
Michael Scire
93d83c5bb9
ams: initial support for 9.0.0
2019-09-14 10:43:39 -07:00
Michael Scire
6ee8720028
boot: fix pinmux init off-by-one
2019-08-29 00:18:40 -07:00
Michael Scire
600d68bd1a
ams_mitm: fix bis key generation for newer hardware
2019-08-29 00:14:23 -07:00
hexkyz
0c3a294cbe
Minor information update regarding previously unknown mysteries
2019-08-22 20:52:40 +01:00
Michael Scire
a65ec67128
git subrepo push stratosphere/libstratosphere
...
subrepo:
subdir: "stratosphere/libstratosphere"
merged: "2d081135"
upstream:
origin: "https://github.com/Atmosphere-NX/libstratosphere "
branch: "master"
commit: "2d081135"
git-subrepo:
version: "0.4.0"
origin: "https://github.com/ingydotnet/git-subrepo "
commit: "5d6aba9"
2019-08-08 17:50:09 -07:00
Michael Scire
1f2de35f94
fatal: use new vi enum value
2019-08-07 13:02:02 -07:00
Michael Scire
362ee3cdb0
autobackup: dump bis keys ( closes #583 ).
2019-08-05 19:35:04 -07:00
Michael Scire
215f1bc8ee
fatal: fix abort in viSetDisplayPowerState on < 3.0.0
2019-08-05 18:55:04 -07:00
Michael Scire
39d041466d
fatal: refactor into sts namespace
2019-07-23 14:01:16 -07:00
Michael Scire
442ebff829
util: fix copy/paste error in intrusive lists
2019-07-23 14:01:16 -07:00
hexkyz
7e169bc7df
pm: work around HOS bug
2019-07-23 19:38:14 +01:00
Michael Scire
d95e20952c
kvdb: fix iterator access issue
2019-07-18 20:34:15 -07:00