| Age | Commit message (Collapse) | Author |
|
file_sys: Provide generic interface for accessing game data
|
|
We need to ensure dynarmic gets a valid pointer if the page table is
resized (the relevant pointers would be invalidated in this scenario).
In this scenario, the page table can be resized depending on what kind
of address space is specified within the NPDM metadata (if it's
present).
|
|
core/memory: Minor simplifications to page table management
|
|
kernel/{server_port, server_session}: Return pairs instead of tuples from pair creation functions
|
|
These are holdovers from Citra and can be removed.
|
|
Now that nothing actually touches the internal page table aside from the
memory subsystem itself, we can remove the accessor to it.
|
|
Given the page table will always be guaranteed to be that of whatever
the current process is, we no longer need to keep this around.
|
|
Centralizes the page table switching to one spot, rather than making
calling code deal with it everywhere.
|
|
Keeps the return type consistent with the function name. While we're at
it, we can also reduce the amount of boilerplate involved with handling
these by using structured bindings.
|
|
Returns the same type that the function name describes.
|
|
kernel/server_session: Provide a GetName() override
|
|
Port citra-emu/citra#4651: "gdbstub: Fix some bugs in IsMemoryBreak() and ServeBreak. Add workaround to let watchpoints break into GDB."
|
|
file_sys/fsmitm_romfsbuild: Utilize a string_view in romfs_calc_path_hash
|
|
core: Add missing override specifiers where applicable
|
|
file_sys/nca_metadata: Remove unnecessary comparison operators for TitleType
|
|
service/fsp_srv: Update SaveDataInfo and SaveDataDescriptor structs
|
|
file_sys/program_metadata: Remove obsolete TODOs
|
|
kernel/svc: Properly sanitize mutex address in WaitProcessWideKeyAtomic
|
|
hle/result: Remove unnecessary bitfield entry for ResultCode
|
|
This is a hold over from the 3DS error codes in Citra.
|
|
BitField has been trivially copyable since
e99a14862841841d74be8d0ea9426c2d23546b5e, so we can eliminate these
TODO comments and use ReadObject() directly instead of memcpying the
data.
|
|
enum class elements from the same enum can already be compared against
one another without the need for explicitly defined comparison
operators.
|
|
The given string instance doesn't need to be copied entirely, we can
just use a view instead.
|
|
Passing around a 64 byte data struct by value is kind of wasteful,
instead pass a reference to the struct.
|
|
The unknown member here is actually padding due to being passed as a
struct. We can do the same, and remove the need to pop a padding word.
|
|
I realized that I updated the documentation on SwitchBrew a while ago,
but never actually updated the structs within yuzu.
|
|
filesystem: Use a std::string_view in OpenFile()
|
|
file_sys/control_metadata: Amend naming of members
|
|
Rather than make a full copy of the path, we can just use a string view
and truncate the viewed portion of the string instead of creating a totally
new truncated string.
|
|
In several places, we have request parsers where there's nothing to
really parse, simply because the HLE function in question operates on
buffers. In these cases we can just remove these instances altogether.
In the other cases, we can retrieve the relevant members from the parser
and at least log them out, giving them some use.
|
|
Applies the override specifier where applicable. In the case of
destructors that are defaulted in their definition, they can
simply be removed.
This also removes the unnecessary inclusions being done in audin_u and
audrec_u, given their close proximity.
|
|
service/am: Correct behavior of CreateTransferMemoryStorage()
|
|
Better LZ4 compression utilization for the disk based shader cache and the yuzu build system
|
|
kernel/object: Remove unused handle type entry
|
|
Quite a bit of these were out of sync with Switchbrew (and in some cases
entirely wrong). While we're at it, also expand the section of named
members. A segment within the control metadata is used to specify
maximum values for the user, device, and cache storage max sizes and
journal sizes.
These appear to be generally used by the am service (e.g. in
CreateCacheStorage, etc).
|
|
We need to be checking whether or not the given address is within the
kernel address space or if the given address isn't word-aligned and bail
in these scenarios instead of trashing any kernel state.
|
|
For whatever reason, shared memory was being used here instead of
transfer memory, which (quite clearly) will not work based off the name
of the function.
This corrects this wonky usage of shared memory.
|
|
Also amend erroneous use of size_t. We should be using u64 here.
|
|
service/am: Implement EnterFatalSection/LeaveFatalSection
|
|
kernel/shared_memory: Sanitize supplied size when unmapping
|
|
kernel/thread: Minor interface cleanup
|
|
Given server sessions can be given a name, we should allow retrieving
it instead of using the default implementation of GetName(), which would
just return "[UNKNOWN KERNEL OBJECT]".
|
|
The AddressArbiter type isn't actually used, given the arbiter itself
isn't a direct kernel object (or object that implements the wait object
facilities).
Given this, we can remove the enum entry entirely.
|
|
kernel/svc: Implement svcGetProcessList and svcGetThreadList
|
|
kernel/resource_limit: Remove the name member from resource limits
|
|
Similarly like svcGetProcessList, this retrieves the list of threads
from the current process. In the kernel itself, a process instance
maintains a list of threads, which are used within this function.
Threads are registered to a process' thread list at thread
initialization, and unregistered from the list upon thread destruction
(if said thread has a non-null owning process).
We assert on the debug event case, as we currently don't implement
kernel debug objects.
|
|
This service function simply copies out a specified number of kernel
process IDs, while simultaneously reporting the total number of
processes.
|
|
|
|
kernel/codeset: Make CodeSet's memory data member a regular std::vector
|
|
Now that ShouldWait() is a const qualified member function, this one can
be made const qualified as well, since it can handle passing a const
qualified this pointer to ShouldWait().
|