summaryrefslogtreecommitdiff
path: root/src/core (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Merge pull request #1362 from MerryMage/dynarmicGravatar Mat M2018-09-201-0/+12
|\ \ \ \ \ | |/ / / / |/| | | | externals: Update dynarmic to 171d116
| * | | | arm_dynarmic: Halt when BRK encounteredGravatar MerryMage2018-09-201-0/+1
| | | | |
| * | | | arm_dynarmic: Support BKPT instructionGravatar MerryMage2018-09-191-0/+11
| |/ / /
* | | | Merge pull request #1358 from DarkLordZach/temp-storageGravatar bunnei2018-09-201-4/+7
|\ \ \ \ | | | | | | | | | | savedata_factory: Add TemporaryStorage SaveDataType
| * | | | savedata_factory: Add TemporaryStorage SaveDataTypeGravatar Zach Hilman2018-09-191-4/+7
| | |_|/ | |/| | | | | | Seems to be used by NSO NES Emulator
* | | | Merge pull request #1363 from lioncash/controlGravatar bunnei2018-09-202-14/+17
|\ \ \ \ | | | | | | | | | | control_metadata: Move language name array definition to the cpp file
| * | | | control_metadata: Remove unnecessary else within GetLanguageEntry()Gravatar Lioncash2018-09-191-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | There's no need to indent the code here, given the if case contains a return statement at the end of it.
| * | | | control_metadata: Move language name array definition to the cpp fileGravatar Lioncash2018-09-192-6/+9
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge pull request #1361 from lioncash/naxGravatar bunnei2018-09-204-19/+26
|\ \ \ \ | | | | | | | | | | xts_archive/nax: Minor interface changes
| * | | | xts_archive: Remove unused variables from CalculateHMAC256()Gravatar Lioncash2018-09-191-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | xts_archive: Make AsNCA() return a std::unique_ptr instead of a std::shared_ptrGravatar Lioncash2018-09-192-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | nax: Avoid re-parsing NAX data with GetFileType()Gravatar Lioncash2018-09-192-13/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | nax: Avoid unnecessary calls to AsNCA() in IdentifyType()Gravatar Lioncash2018-09-191-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | xts_archive: Ensure NAX's type member is always initializedGravatar Lioncash2018-09-191-1/+1
| | | | | | | | | | | | | | | | | | | | Ensures that the member always has a deterministic value.
| * | | | xts_archive: Amend initializer order of NAX's constructorGravatar Lioncash2018-09-191-2/+2
| |/ / / | | | | | | | | | | | | | | | | Orders the initializer list in the same order the members would be initialized. Avoids compiler warnings.
* | | | Removed unneeded event clearGravatar David Marcec2018-09-201-1/+0
| | | |
* | | | Implemented NTC & IEnsureNetworkClockAvailabilityServiceGravatar David Marcec2018-09-201-3/+100
|/ / / | | | | | | | | | Needed because of the recent nim fixes
* | | Reworked incorrect nifm stubs (#1355)Gravatar David2018-09-191-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* | | Merge pull request #1359 from ogniK5377/nesGravatar bunnei2018-09-193-7/+12
|\ \ \ | | | | | | | | Fixed GetAccountId stub, Added error code for OpenDirectory and added ActivateNpadWithRevision
| * | | Fixed GetAccountId stub, Added error code for OpenDirectory and added ↵Gravatar David Marcec2018-09-193-7/+12
| | |/ | |/| | | | | | | | | | | | | ActivateNpadWithRevision With these, `Nintendo Entertainment System - Nintendo Switch Online` loads
* | | Removed MakeBuilder as it's not needed anymoreGravatar David Marcec2018-09-191-7/+0
| | |
* | | Removed the use of rp.MakeBuilderGravatar David Marcec2018-09-196-27/+26
|/ / | | | | | | Due to keeping the code style consistent in the yuzu codebase. `rb = rp.MakeBuilder(...)` was replaced with `rb{ctx, ...}`
* | Merge pull request #1348 from ogniK5377/GetImageSizeGravatar bunnei2018-09-181-1/+9
|\ \ | | | | | | Implemented IProfile::GetImageSize
| * | Implemented GetImageSizeGravatar David Marcec2018-09-191-1/+9
| | |
* | | Merge pull request #1351 from ogniK5377/GetDefaultDisplayResolutionGravatar bunnei2018-09-182-1/+18
|\ \ \ | | | | | | | | Implemented GetDefaultDisplayResolution
| * | | Implemented GetDefaultDisplayResolutionGravatar David Marcec2018-09-192-1/+18
| |/ /
* | | Merge pull request #1341 from lioncash/dependencyGravatar bunnei2018-09-182-2/+6
|\ \ \ | | | | | | | | core/core_cpu: Replace exclusive monitor include with forward declaration
| * | | core/core_cpu: Replace exclusive monitor include with forward declarationGravatar Lioncash2018-09-172-2/+6
| |/ / | | | | | | | | | | | | We don't need to include this as a dependency within the header. A regular forward declaration will suffice here.
* | | Merge pull request #1346 from lioncash/svcGravatar bunnei2018-09-181-37/+36
|\ \ \ | | | | | | | | svc_wrap: Convert the PARAM macro into a function
| * | | svc_wrap: Convert the PARAM macro into a functionGravatar Lioncash2018-09-181-37/+36
| |/ / | | | | | | | | | | | | | | | 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.
* | | Merge pull request #1350 from ogniK5377/Six-Axis-StubGravatar bunnei2018-09-181-4/+28
|\ \ \ | | | | | | | | Stubbed ActivateConsoleSixAxisSensor & StartConsoleSixAxisSensor
| * | | Added ActivateGestureGravatar David Marcec2018-09-191-1/+7
| | | |
| * | | Added StopSixAxisSensorGravatar David Marcec2018-09-191-1/+7
| | | |
| * | | Stubbed ActivateConsoleSixAxisSensor & StartConsoleSixAxisSensorGravatar David Marcec2018-09-191-2/+14
| |/ /
* | | Invalid default value of username in yuzu_cmd (#1334)Gravatar Philippe Babin2018-09-181-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* | | Merge pull request #1343 from lioncash/mutexGravatar bunnei2018-09-182-2/+10
|\ \ \ | | | | | | | | kernel/svc: Handle invalid address cases within svcArbitrateLock() and svcArbitrateUnlock()
| * | | kernel/mutex: Replace ResultCode construction for invalid addresses with the ↵Gravatar Lioncash2018-09-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | kernel/svc: Handle error cases for svcArbitrateLock() and svcArbitrateUnlock()Gravatar Lioncash2018-09-171-0/+8
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #1344 from lioncash/armGravatar bunnei2018-09-187-99/+86
|\ \ \ | | | | | | | | arm_interface: Remove ARM11-isms from the CPU interface
| * | | arm_interface: Remove ARM11-isms from the CPU interfaceGravatar Lioncash2018-09-187-99/+86
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | 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.
* / / arm_dynarmic: Correct ExclusiveWrite128()'s operationGravatar Lioncash2018-09-181-2/+2
|/ / | | | | | | | | | | 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.
* | Merge pull request #1312 from lioncash/fwdGravatar bunnei2018-09-173-7/+9
|\ \ | | | | | | service/vi: Replace includes with forward declarations where applicable
| * | service/vi: Replace includes with forward declarations where applicableGravatar Lioncash2018-09-133-7/+9
| | |
* | | Merge pull request #1313 from lioncash/errorGravatar bunnei2018-09-171-1/+2
|\ \ \ | | | | | | | | kernel/errors: Amend error code for ERR_NOT_FOUND
| * | | kernel/errors: Amend error code for ERR_NOT_FOUNDGravatar Lioncash2018-09-131-1/+2
| |/ / | | | | | | | | | | | | This is the value returned by the kernel for svcConnectToNamedPort() if the named port cannot be found.
* | | Merge pull request #1318 from lioncash/errors-smGravatar bunnei2018-09-172-8/+6
|\ \ \ | | | | | | | | services/sm: Amend error code constants
| * | | services/sm: Amend error code constantsGravatar Lioncash2018-09-142-8/+6
| |/ / | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #1315 from lioncash/sizeGravatar bunnei2018-09-172-19/+74
|\ \ \ | | | | | | | | kernel/svc: Handle a few error cases within memory-related functions
| * | | kernel/svc: Sanitize creation of shared memory via svcCreateSharedMemory()Gravatar Lioncash2018-09-131-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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".
| * | | kernel/svc: Sanitize addresses, permissions, and sizes within ↵Gravatar Lioncash2018-09-131-17/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.