| Age | Commit message (Collapse) | Author |
|
An instance of the NAX apploader already has an existing NAX instance in
memory. Calling directly into IdentifyType() directly would re-parse the
whole file again into yet another NAX instance, only to toss it away
again.
This gets rid of unnecessary/redundant file parsing and allocations.
|
|
AsNCA() allocates an NCA instance every time it's called. In the current
manner it's used, it's quite inefficient as it's making a redundant
allocation.
We can just amend the order of the conditionals to make it easier to
just call it once.
|
|
Ensures that the member always has a deterministic value.
|
|
Orders the initializer list in the same order the members would be
initialized. Avoids compiler warnings.
|
|
* Reworked incorrect nifm stubs
Need confirmation on `CreateTemporaryNetworkProfile`, unsure which game uses it but according to reversing. It should return a uuid which we currently don't do.
Any 0 client id is considered an invalid client id.
GetRequestState 0 is considered invalid.
* Fixups for nifm
|
|
Fixed GetAccountId stub, Added error code for OpenDirectory and added ActivateNpadWithRevision
|
|
ActivateNpadWithRevision
With these, `Nintendo Entertainment System - Nintendo Switch Online` loads
|
|
Seems to be used by NSO NES Emulator
|
|
Should be a single u32
|
|
|
|
Due to keeping the code style consistent in the yuzu codebase. `rb = rp.MakeBuilder(...)` was replaced with `rb{ctx, ...}`
|
|
Implemented IProfile::GetImageSize
|
|
Implemented GetDefaultDisplayResolution
|
|
core/core_cpu: Replace exclusive monitor include with forward declaration
|
|
svc_wrap: Convert the PARAM macro into a function
|
|
Stubbed ActivateConsoleSixAxisSensor & StartConsoleSixAxisSensor
|
|
* Fix bug where default username value for yuzu_cmd create an userprofile with uninitialize data as username
* Fix format
* Apply code review changes
* Remove nullptr check
|
|
kernel/svc: Handle invalid address cases within svcArbitrateLock() and svcArbitrateUnlock()
|
|
arm_interface: Remove ARM11-isms from the CPU interface
|
|
|
|
|
|
|
|
|
|
|
|
This can just be a regular function, getting rid of the need to also
explicitly undef the define at the end of the file. Given FuncReturn()
was already converted into a function, it's #undef can also be removed.
|
|
Previously the second half of the value being written would overwrite
the first half. Thankfully this wasn't a bug that was being encountered,
as the function is currently unused.
|
|
This modifies the CPU interface to more accurately match an
AArch64-supporting CPU as opposed to an ARM11 one. Two of the methods
don't even make sense to keep around for this interface, as Adv Simd is
used, rather than the VFP in the primary execution state. This is
essentially a modernization change that should have occurred from the
get-go.
|
|
named variant
We already have a ResultCode constant for the case of an invalid
address, so we can just use it instead of re-rolling that ResultCode
type.
|
|
The kernel does the equivalent of the following check before proceeding:
if (address + 0x8000000000 < 0x7FFFE00000) {
return ERR_INVALID_MEMORY_STATE;
}
which is essentially what our IsKernelVirtualAddress() function does. So
we should also be checking for this.
The kernel also checks if the given input addresses are 4-byte aligned,
however our Mutex::TryAcquire() and Mutex::Release() functions already
handle this, so we don't need to add code for this case.
|
|
We don't need to include this as a dependency within the header. A
regular forward declaration will suffice here.
|
|
service/vi: Replace includes with forward declarations where applicable
|
|
kernel/errors: Amend error code for ERR_NOT_FOUND
|
|
services/sm: Amend error code constants
|
|
kernel/svc: Handle a few error cases within memory-related functions
|
|
Port #4192 from Citra: "svc: change unknown to thread in CreateThread"
|
|
|
|
|
|
Courtesy of @ogniK5377.
This also moves them into the cpp file and limits the visibility to
where they're directly used. It also gets rid of unused or duplicate
error codes.
|
|
The kernel caps the size limit of shared memory to 8589930496 bytes (or
(1GB - 512 bytes) * 8), so approximately 8GB, where every GB has a 512
byte sector taken off of it.
It also ensures the shared memory is created with either read or
read/write permissions for both permission types passed in, allowing the
remote permissions to also be set as "don't care".
|
|
svcMapSharedMemory() and svcUnmapSharedMemory()
Part of the checking done by the kernel is to check if the given
address and size are 4KB aligned, as well as checking if the size isn't
zero. It also only allows mapping shared memory as readable or
read/write, but nothing else, and so we shouldn't allow mapping as
anything else either.
|
|
svcUnmapMemory()
The kernel checks if the addresses and given size is 4KB aligned before
continuing onwards to map the memory.
|
|
The kernel checks if the given size is a multiple of 2MB and <= to 4GB
before going ahead and attempting to allocate that much memory.
|
|
kernel/thread: Include thread-related enums within the kernel namespace
|
|
service: Use nested namespace specifiers where applicable
|
|
services/pl_u: Add missing Korean font to the fallback case for shared fonts
|
|
This is the value returned by the kernel for svcConnectToNamedPort() if
the named port cannot be found.
|
|
|
|
Previously, these were sitting outside of the Kernel namespace, which
doesn't really make sense, given they're related to the Thread class
which is within the Kernel namespace.
|
|
There were a few places where nested namespace specifiers weren't being
used where they could be within the service code. This amends that to
make the namespacing a tiny bit more compact.
|
|
|