aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2018-09-20Removed unneeded event clearDavid Marcec
2018-09-20Implemented NTC & IEnsureNetworkClockAvailabilityServiceDavid Marcec
Needed because of the recent nim fixes
2018-09-19file-sys: Default heavy-weight class destructors in the cpp fileLioncash
Several classes have a lot of non-trivial members within them, or don't but likely should have the destructor defaulted in the cpp file for future-proofing/being more friendly to forward declarations. Leaving the destructor unspecified allows the compiler to inline the destruction code all over the place, which is generally undesirable from a code bloat perspective.
2018-09-19control_metadata: Remove unnecessary else within GetLanguageEntry()Lioncash
There's no need to indent the code here, given the if case contains a return statement at the end of it.
2018-09-19control_metadata: Move language name array definition to the cpp fileLioncash
This was used in two different translation units (deconstructed_rom_directory and patch_manager). This means we'd be pointlessly duplicating the whole array twice due to it being defined within the header.
2018-09-19arm_dynarmic: Support BKPT instructionMerryMage
2018-09-19xts_archive: Remove unused variables from CalculateHMAC256()Lioncash
These variables aren't used, which still has an impact, as std::vector cannot be optimized away by the compiler (it's constructor and destructor are both non-trivial), so this was just wasting memory.
2018-09-19xts_archive: Make AsNCA() return a std::unique_ptr instead of a std::shared_ptrLioncash
std::shared_ptr isn't strictly necessary here and is only ever used in contexts where the object doesn't depend on being shared. This also makes the interface more flexible, as it's possible to create a std::shared_ptr from a std::unique_ptr (std::shared_ptr has a constructor that accepts a std::unique_ptr), but not the other way around.
2018-09-19nax: Avoid re-parsing NAX data with GetFileType()Lioncash
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.
2018-09-19nax: Avoid unnecessary calls to AsNCA() in IdentifyType()Lioncash
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.
2018-09-19xts_archive: Ensure NAX's type member is always initializedLioncash
Ensures that the member always has a deterministic value.
2018-09-19xts_archive: Amend initializer order of NAX's constructorLioncash
Orders the initializer list in the same order the members would be initialized. Avoids compiler warnings.
2018-09-19Reworked incorrect nifm stubs (#1355)David
* 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
2018-09-19Merge pull request #1359 from ogniK5377/nesbunnei
Fixed GetAccountId stub, Added error code for OpenDirectory and added ActivateNpadWithRevision
2018-09-19Fixed GetAccountId stub, Added error code for OpenDirectory and added ↵David Marcec
ActivateNpadWithRevision With these, `Nintendo Entertainment System - Nintendo Switch Online` loads
2018-09-19savedata_factory: Add TemporaryStorage SaveDataTypeZach Hilman
Seems to be used by NSO NES Emulator
2018-09-19Corrected SSL::SetInterfaceVersionDavid Marcec
Should be a single u32
2018-09-19Removed MakeBuilder as it's not needed anymoreDavid Marcec
2018-09-19Removed the use of rp.MakeBuilderDavid Marcec
Due to keeping the code style consistent in the yuzu codebase. `rb = rp.MakeBuilder(...)` was replaced with `rb{ctx, ...}`
2018-09-18Merge pull request #1348 from ogniK5377/GetImageSizebunnei
Implemented IProfile::GetImageSize
2018-09-18Merge pull request #1351 from ogniK5377/GetDefaultDisplayResolutionbunnei
Implemented GetDefaultDisplayResolution
2018-09-18Merge pull request #1341 from lioncash/dependencybunnei
core/core_cpu: Replace exclusive monitor include with forward declaration
2018-09-18Merge pull request #1346 from lioncash/svcbunnei
svc_wrap: Convert the PARAM macro into a function
2018-09-18Merge pull request #1350 from ogniK5377/Six-Axis-Stubbunnei
Stubbed ActivateConsoleSixAxisSensor & StartConsoleSixAxisSensor
2018-09-18Invalid default value of username in yuzu_cmd (#1334)Philippe Babin
* 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
2018-09-18Merge pull request #1343 from lioncash/mutexbunnei
kernel/svc: Handle invalid address cases within svcArbitrateLock() and svcArbitrateUnlock()
2018-09-18Merge pull request #1344 from lioncash/armbunnei
arm_interface: Remove ARM11-isms from the CPU interface
2018-09-19Added ActivateGestureDavid Marcec
2018-09-19Implemented GetDefaultDisplayResolutionDavid Marcec
2018-09-19Added StopSixAxisSensorDavid Marcec
2018-09-19Stubbed ActivateConsoleSixAxisSensor & StartConsoleSixAxisSensorDavid Marcec
2018-09-19Implemented GetImageSizeDavid Marcec
2018-09-18svc_wrap: Convert the PARAM macro into a functionLioncash
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.
2018-09-18arm_dynarmic: Correct ExclusiveWrite128()'s operationLioncash
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.
2018-09-18arm_interface: Remove ARM11-isms from the CPU interfaceLioncash
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.
2018-09-17kernel/mutex: Replace ResultCode construction for invalid addresses with the ↵Lioncash
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.
2018-09-17kernel/svc: Handle error cases for svcArbitrateLock() and svcArbitrateUnlock()Lioncash
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.
2018-09-17core/core_cpu: Replace exclusive monitor include with forward declarationLioncash
We don't need to include this as a dependency within the header. A regular forward declaration will suffice here.
2018-09-17Merge pull request #1312 from lioncash/fwdbunnei
service/vi: Replace includes with forward declarations where applicable
2018-09-17Merge pull request #1313 from lioncash/errorbunnei
kernel/errors: Amend error code for ERR_NOT_FOUND
2018-09-17Merge pull request #1318 from lioncash/errors-smbunnei
services/sm: Amend error code constants
2018-09-17Merge pull request #1315 from lioncash/sizebunnei
kernel/svc: Handle a few error cases within memory-related functions
2018-09-17Merge pull request #1328 from FearlessTobi/port-4192bunnei
Port #4192 from Citra: "svc: change unknown to thread in CreateThread"
2018-09-15Port # #4192 from Citra: "svc: change unknown to thread in CreateThread"Valentin Vanelslande
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi
2018-09-14services/sm: Amend error code constantsLioncash
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.
2018-09-13kernel/svc: Sanitize creation of shared memory via svcCreateSharedMemory()Lioncash
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".
2018-09-13kernel/svc: Sanitize addresses, permissions, and sizes within ↵Lioncash
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.
2018-09-13kernel/svc: Sanitize addresses and sizes within svcMapMemory() and ↵Lioncash
svcUnmapMemory() The kernel checks if the addresses and given size is 4KB aligned before continuing onwards to map the memory.
2018-09-13kernel/svc: Sanitize heap sizes within svcSetHeapSize()Lioncash
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.