9ff743bc0a
ips_layer: Remove unnecessary explicit std::pair constructor in std::array
...
Makes the layout of the array consistent, by making all elements match,
instead of special-casing the first one.
2018-10-09 14:10:22 -04:00
f7d2889fb4
ips_layer: Add missing includes
...
Adds missing includes to prevent potential compilation issues in the
future. Also moves the definition of a struct into the cpp file, so that
some includes don't need to be introduced within the header.
2018-10-09 14:10:13 -04:00
93ac8d0fea
ips_layer: std::move data within PatchIPS() and Apply()
...
We don't need to make a copy of the read data, so we can std::move it
into the make_shared call here.
2018-10-09 14:06:44 -04:00
567e818440
ips_layer: Silence truncation and conversion warnings
...
Makes type conversions explicit to avoid compiler warnings.
2018-10-09 13:18:23 -04:00
f5631e78d1
Added bitfield instead of manually checking if the bit is set
2018-10-09 12:11:14 +11:00
af3ba94b2a
Actual kill execution when the bit isn't set, not the other way around
2018-10-09 11:14:48 +11:00
c50f66a8eb
svcBreak, Signalling to the debugger should not kill execution
...
When loading NROs, svcBreak is called to signal to the debugger that a new "module" is loaded. As no debugger is technically attached we shouldn't be killing the programs execution.
2018-10-09 11:10:30 +11:00
561d79e034
Merge pull request #1423 from DarkLordZach/romfs-file-exts
...
fsmitm_romfsbuild: Add support for stubbing and IPS patches in LFS
2018-10-08 12:31:27 -04:00
6b48ba5271
Merge pull request #1424 from DarkLordZach/ips-witch
...
ips_layer: Add support for IPSwitch executable patches
2018-10-08 12:30:33 -04:00
fd891ee9c0
Merge pull request #1456 from ogniK5377/aoc-u-fixups
...
Fixed assertion due to CountAddOnContent & Casting warnings
2018-10-08 01:21:05 -04:00
3f1f82a8c4
Merge pull request #1457 from ogniK5377/unmap-buffer
...
Unmapping an unmapped buffer should succeed
2018-10-08 01:20:18 -04:00
c5c184246d
Unmapping an unmapped buffer should succeed
...
Hardware tests show that trying to unmap an unmapped buffer already should always succeed. Hardware test was tested up to 32 iterations of attempting to unmap
2018-10-08 13:26:48 +11:00
f945e9767c
nso/nro: Use default allocation size for arg_data
2018-10-07 14:32:33 -04:00
081f5c1dbf
cmd: Support passing game arguments from command line
...
Uses -p (--program) and following string as args.
2018-10-07 14:32:32 -04:00
95dff555a4
settings: Add program_args string setting
2018-10-07 14:32:05 -04:00
e09505ff61
nso/nro: Add NSO arguments structure to data section
...
Only added if arguments string is non-empty and a pass is requested by loader.
2018-10-07 14:30:15 -04:00
3ec054643e
partition_data_manager: Rename system files for hekate
...
x
2018-10-07 13:16:23 -04:00
29dc6f4519
crypto: Add PartitionDataManager
...
Keeps track of system files for key derivation
2018-10-07 13:15:11 -04:00
4aad010f7a
key_manager: Add support for loading keys from partition data
2018-10-07 13:15:11 -04:00
d041d6231c
key_manager: Add ETicket key derivation
...
Derives titlekeys
2018-10-07 13:15:11 -04:00
a57aac5772
key_manager: Add base key derivation
...
Derives master keys, game encryption keys, and package1/2 keys
2018-10-07 13:15:11 -04:00
d7398283e3
key_manager: Add BIS key getter
2018-10-07 13:15:11 -04:00
d6a0d5d432
key_manager: Add support for more keys
...
TSEC, SBK, BIS, and other Sources for proper derivation
2018-10-07 13:15:11 -04:00
c79d2ca6cf
key_manager: Add keyblob support
2018-10-07 13:15:11 -04:00
e4602748d6
key_manager: Add support for crypto revisions past 04
2018-10-07 13:15:11 -04:00
9e34303fb9
key_manager: Add support for comments in keyfiles
2018-10-07 13:15:11 -04:00
1fa6ee4723
vfs: Move forward declarations to separate file
2018-10-07 13:15:11 -04:00
ce05df0a6d
key_manager: Add support for console-specific keyfile
2018-10-07 13:15:11 -04:00
721632fe66
key_manager: Rename KEK to Kek
2018-10-07 13:15:11 -04:00
fa3f3cd07f
Fixed assertion due to CountAddOnContent
...
Word count should be 3 since we're pushing a result code and a u32.
Also fixed up compiler warnings due to casting
2018-10-08 00:25:46 +11:00
6e4d2e672d
Merge pull request #1396 from DarkLordZach/packed-updates
...
loader: Add support for packed updates
2018-10-06 23:58:24 -04:00
450c0a5adf
Merge pull request #1448 from ogniK5377/frontend-access
...
Ported #4296 from citra
2018-10-06 22:25:29 -04:00
612ce89eca
Added forward define for ServerPort
2018-10-06 17:47:33 +10:00
f84b9ed4e8
Ported #4296 from citra
...
This will allow us to easily remove the use of "NFC" in "System"
2018-10-06 16:49:01 +10:00
b8b90ce6e6
Merge pull request #1332 from FearlessTobi/port-web-backend
...
Port web_service from Citra
2018-10-06 02:43:09 -04:00
6ddf8f34db
kernel/mutex: Amend behavior of TransferMutexOwnership()
...
This was the result of a typo accidentally introduced in
e51d715700
. This restores the previous
correct behavior.
The behavior with the reference was incorrect and would cause some games
to fail to boot.
2018-10-06 01:13:02 -04:00
1a5d6de0d4
thread: Make the scheduler pointer a regular pointer
...
Conceptually, it doesn't make sense for a thread to be able to persist
the lifetime of a scheduler. A scheduler should be taking care of the
threads; the threads should not be taking care of the scheduler.
If the threads outlive the scheduler (or we simply don't actually
terminate/shutdown the threads), then it should be considered a bug
that we need to fix.
Attributing this to balika011, as they opened #1317 to attempt to fix
this in a similar way, but my refactoring of the kernel code caused
quite a few conflicts.
2018-10-05 14:53:01 -04:00
e51d715700
Merge pull request #1439 from lioncash/thread
...
kernel/thread: Make all instance variables private
2018-10-05 13:41:54 -04:00
38c2ac95af
romfs_factory: Extract packed update setter to new function
2018-10-05 08:53:51 -04:00
5acaeb04c4
patch_manager: Add support for NSP packed updates
...
Reads as Update (NSP) in add-ons
2018-10-05 08:48:44 -04:00
d79d4fd764
patch_manager: Add support for packed updates
...
Will prefer any installed update over the packed version.
2018-10-05 08:47:24 -04:00
5045748829
loader: Add getter for packed update
...
Reads the update included with the game if it has one and adds the new ErrorNoPackedUpdate status.
2018-10-05 08:46:31 -04:00
e948fbf5d0
loader: Add ReadRomFSIVFCOffset to NSP, XCI, and NAX loaders
...
Fixes errors with certain updates
2018-10-05 08:46:31 -04:00
d0e6b93695
patch_manager: Avoid romfs_ext requirement for patching
2018-10-04 14:09:11 -04:00
c1e069c066
fsmitm_romfsbuild: Extract stubs and IPS to romfs_ext dir
2018-10-04 12:29:20 -04:00
bc4bec8a60
fsmitm_romfsbuild: Add support for stubbing and IPS patches in LFS
2018-10-04 12:29:14 -04:00
110d578470
ips_layer: Fix inaccuracies with comments and flags
...
Specifically bugs/crashes that arise when putting them in positions that are legal but not typical, such as midline, between patch data, or between patch records.
2018-10-04 12:23:27 -04:00
70bd2bb1d3
ips_layer: Deduplicate resource usage
2018-10-04 11:34:36 -04:00
9669cdb710
ips_layer: Add support for escape sequences and midline comments
...
More accurately follows IPSwitch specification.
2018-10-04 11:34:30 -04:00
8886f2e55e
patch_manager: Add support for IPSwitch format patches
2018-10-04 11:34:06 -04:00