| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Orders the members in the exact order they would be initialized. This
also prevents compiler warnings about this sort of thing.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Gets unused includes out of the headers and moves them into the cpp file
if they're used there instead.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
back_inserter
If the data is unconditionally being appended to the back of a
std::vector, we can just directly insert it there without the need to
insert all of the elements one-by-one with a std::back_inserter.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
If a conditional (or it's body) travels more than one line, it should be
braced.
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Given the filesystem should always be assumed to be volatile, we should
check and bail out if a seek operation isn't successful. This'll prevent
potentially writing/returning garbage data from the function in rare
cases.
This also allows removing a check to see if an offset is within the
bounds of a file before perfoming a seek operation. If a seek is
attempted beyond the end of a file, it will fail, so this essentially
combines two checks into one in one place.
|
| | | |/ / / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Given the file is opened a few lines above and no operations are done,
other than check if the file is in a valid state, the read/write pointer
will always be at the beginning of the file.
|
| |\ \ \ \ \ \
| |_|/ / / /
|/| | | | | |
filesystem: Make CreateFactories() and InstallInterface() take a VfsFilesystem by reference
|
| | |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
VfsFilesystem instance by reference
Neither of these functions alter the ownership of the provided pointer,
so we can simply make the parameters a reference rather than a direct
shared pointer alias. This way we also disallow passing incorrect memory values like
nullptr.
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
svc: Implement svcGetProcessInfo
|
| | |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
A fairly basic service function, which only appears to currently support
retrieving the process state. This also alters the ProcessStatus enum to
contain all of the values that a kernel process seems to be able of
reporting with regards to state.
|
| |/ / / /
| | | |
| | | |
| | | | |
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
|
| | | | | |
| | | | |
| | | | |
| | | | | |
x
|
| | | | | |
| | | | |
| | | | |
| | | | | |
Keeps track of system files for key derivation
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
Derives titlekeys
|
| | | | | |
| | | | |
| | | | |
| | | | | |
Derives master keys, game encryption keys, and package1/2 keys
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
TSEC, SBK, BIS, and other Sources for proper derivation
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
kernel/process: Make CodeSet a regular non-inherited object
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
| |\ \ \ \ \ \
| |_|_|_|/ /
|/| | | | | |
svc: Fix typos in sanitizing checks for MapMemory/UnmapMemory
|
| | |/ / / / |
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
Fixed incorrect types for svcBreak
|
| | | | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
signal_debugger seems like a more fitting name
|
| | | |_|_|/
| |/| | |
| | | | |
| | | | | |
svcBreak reason should be a u32, not a u64.
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
Passing an invalid nmap handle to Remap should throw an error
|
| | | | | | | |
|
| | | |_|_|/
| |/| | |
| | | | |
| | | | | |
Added error for invalid nmap handles
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
thread: Remove unnecessary memset from ResetThreadContext()
|
| | | |_|/ /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| |\ \ \ \ \
| |/ / / /
|/| | | | |
Added error codes for nvmap
|
| | | | | | |
|
| | |/ / / |
|
| |\ \ \ \
| | | | |
| | | | | |
HwOpus, Implemented DecodeInterleavedWithPerformance
|
| | |/ / /
| | | |
| | | |
| | | | |
Used by sonic ages
|
| |\ \ \ \
| | | | |
| | | | | |
svc: Add missing address range sanitizing checks to MapMemory/UnmapMemory
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | | |
| | | |
| | | |
| | | | |
Makes type conversions explicit to avoid compiler warnings.
|
| |\ \ \ \
| |_|/ /
|/| | | |
patch_manager: Return a std::unique_ptr from ParseControlNCA() and GetControlMetadata() instead of a std::shared_ptr
|