| Age | Commit message (Collapse) | Author |
|
core/memory: Minor simplifications to page table management
|
|
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
|
|
core: Add missing override specifiers where applicable
|
|
service/fsp_srv: Update SaveDataInfo and SaveDataDescriptor structs
|
|
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.
|
|
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()
|
|
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()
|
|
kernel/object: Remove unused handle type entry
|
|
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().
|
|
Given this is intended as a querying function, it doesn't make sense to
allow the implementer to modify the state of the given thread.
|
|
Previously this was performing a u64 + int sign conversion. When dealing
with addresses, we should generally be keeping the arithmetic in the
same signedness type.
This also gets rid of the static lifetime of the constant, as there's no
need to make a trivial type like this potentially live for the entire
duration of the program.
|
|
The pointed to member is never actually modified, so it can be made
const.
|
|
This doesn't really provide any benefit to the resource limit interface.
There's no way for callers to any of the service functions for resource
limits to provide a custom name, so all created instances of resource
limits other than the system resource limit would have a name of
"Unknown".
The system resource limit itself is already trivially identifiable from
its limit values, so there's no real need to take up space in the object to
identify one object meaningfully out of N total objects.
|
|
core/yuzu: Remove enable_nfc setting
|
|
Since C++17, the introduction of deduction guides for locking facilities
means that we no longer need to hardcode the mutex type into the locks
themselves, making it easier to switch mutex types, should it ever be
necessary in the future.
|
|
kernel/process: Report total physical memory used to svcGetInfo slightly better
|
|
kernel/scheduler: Minor tidying up
|
|
This was made unused in b404fcdf1443b91ac9994c05ad1fe039fcd9675e, but
the parameter itself wasn't removed.
|
|
Since C++17, we no longer need to explicitly specify the type of the
mutex within the lock_guard. The type system can now deduce these with
deduction guides.
|
|
|
|
Resolves a -Wextra-semi warning.
|
|
Based off RE, most of these structure members are register values, which
makes, sense given this service is used to convey fatal errors.
One member indicates the program entry point address, one is a set of
bit flags used to determine which registers to print, and one member
indicates the architecture type.
The only member that still isn't determined is the final member within
the data structure.
|
|
Nothing from this header is used, so we can remove this include, getting
rid of a dependency on it.
|
|
The kernel makes sure that the given size to unmap is always the same
size as the entire region managed by the shared memory instance,
otherwise it returns an error code signifying an invalid size.
This is similarly done for transfer memory (which we already check for).
|
|
This was initially added to prevent problems from stubbed/not implemented NFC services, but as we never encountered such and as it's only used in a deprecated function anyway, I guess we can just remove it to prevent more clutter of the settings.
|