| Age | Commit message (Collapse) | Author |
|
kernel/svc: Deglobalize the supervisor call handlers
|
|
kernel: Make handle type declarations constexpr
|
|
Some objects declare their handle type as const, while others declare it
as constexpr. This makes the const ones constexpr for consistency, and
prevent unexpected compilation errors if these happen to be attempted to be
used within a constexpr context.
|
|
These are holdovers from Citra.
|
|
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).
|
|
Adjusts the interface of the wrappers to take a system reference, which
allows accessing a system instance without using the global accessors.
This also allows getting rid of all global accessors within the
supervisor call handling code. While this does make the wrappers
themselves slightly more noisy, this will be further cleaned up in a
follow-up. This eliminates the global system accessors in the current
code while preserving the existing interface.
|
|
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
|