| Age | Commit message (Collapse) | Author |
|
This should help diagnose crashes easier and prevent many users thinking that a game is still running when in fact it's just an audio thread still running(this is typically not killed when svcBreak is hit since the game expects us to do this)
|
|
crypto: Add support for full key derivation
|
|
kernel/process: Make CodeSet a regular non-inherited object
|
|
svc: Fix typos in sanitizing checks for MapMemory/UnmapMemory
|
|
Fixed incorrect types for svcBreak
|
|
These only exist to ferry data into a Process instance and end up going
out of scope quite early. Because of this, we can just make it a plain
struct for holding things and just std::move it into the relevant
function. There's no need to make this inherit from the kernel's Object
type.
|
|
Passing an invalid nmap handle to Remap should throw an error
|
|
thread: Remove unnecessary memset from ResetThreadContext()
|
|
Added error codes for nvmap
|
|
Regular value initialization is adequate here for zeroing out data. It
also has the benefit of not invoking undefined behavior if a non-trivial
type is ever added to the struct for whatever reason.
|
|
|
|
|
|
|
|
HwOpus, Implemented DecodeInterleavedWithPerformance
|
|
svc: Add missing address range sanitizing checks to MapMemory/UnmapMemory
|
|
|
|
Added error for invalid nmap handles
|
|
|
|
Used by sonic ages
|
|
This adds the missing address range checking that the service functions
do before attempting to map or unmap memory. Given that both service
functions perform the same set of checks in the same order, we can wrap
these into a function and just call it from both functions, which
deduplicates a little bit of code.
|
|
There's no real need to use a shared pointer in these cases, and only
makes object management more fragile in terms of how easy it would be to
introduce cycles. Instead, just do the simple thing of using a regular
pointer. Much of this is just a hold-over from citra anyways.
It also doesn't make sense from a behavioral point of view for a
process' thread to prolong the lifetime of the process itself (the
process is supposed to own the thread, not the other way around).
|
|
ips_layer: Silence truncation and conversion warnings
|
|
patch_manager: Return a std::unique_ptr from ParseControlNCA() and GetControlMetadata() instead of a std::shared_ptr
|
|
|
|
signal_debugger seems like a more fitting name
|
|
svcBreak reason should be a u32, not a u64.
|
|
svcBreak, Signalling to the debugger should not kill execution
|
|
telemetry_session: Minor miscellaneous changes
|
|
There's no "func" parameter, so this can just be removed.
|
|
Prevents potential compilation issues in the future by including missing
headers for certain functions and types.
|
|
This isn't implemented anywhere, so it can just be removed.
|
|
We don't need to potentially heap-allocate a std::string instance here,
given the data is known ahead of time. We can just place it within an
array and pass this to the mbedtls functions.
|
|
GetControlMetadata() instead of a std::shared_ptr
Neither of these functions require the use of shared ownership of the
returned pointer. This makes it more difficult to create reference
cycles with, and makes the interface more generic, as std::shared_ptr
instances can be created from a std::unique_ptr, but the vice-versa
isn't possible. This also alters relevant functions to take NCA
arguments by const reference rather than a const reference to a
std::shared_ptr. These functions don't alter the ownership of the memory
used by the NCA instance, so we can make the interface more generic by
not assuming anything about the type of smart pointer the NCA is
contained within and make it the caller's responsibility to ensure the
supplied NCA is valid.
|
|
We can just compare the existing std::vector instance with a constexpr
std::array containing the desired match. This is lighter resource-wise,
as we don't need to allocate on the heap.
|
|
Makes the layout of the array consistent, by making all elements match,
instead of special-casing the first one.
|
|
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.
|
|
We don't need to make a copy of the read data, so we can std::move it
into the make_shared call here.
|
|
Makes type conversions explicit to avoid compiler warnings.
|
|
|
|
|
|
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.
|
|
fsmitm_romfsbuild: Add support for stubbing and IPS patches in LFS
|
|
ips_layer: Add support for IPSwitch executable patches
|
|
Fixed assertion due to CountAddOnContent & Casting warnings
|
|
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
|
|
|
|
Uses -p (--program) and following string as args.
|
|
|
|
Only added if arguments string is non-empty and a pass is requested by loader.
|