aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle
AgeCommit message (Collapse)Author
2019-07-14Merge pull request #2690 from SciresM/physmem_fixesFernando Sahmkow
Implement MapPhysicalMemory/UnmapPhysicalMemory
2019-07-13Clang formatDavid Marcec
2019-07-13"AudioRenderer" thread should have a unique nameDavid Marcec
Creating multiple "AudioRenderer" threads cause the previous thread to be overwritten. The thread will name be renamed to AudioRenderer-InstanceX, where X is the current instance number.
2019-07-11Remove unicorn mappings/unmappingsMichael Scire
2019-07-11Merge pull request #2717 from SciresM/unmirror_memorybunnei
Restore memory perms on svcUnmapMemory/UnloadNro
2019-07-11Merge pull request #2723 from lioncash/membunnei
core/arm: Remove obsolete Unicorn memory mapping
2019-07-11service/am: Implement IsAutoSleepDisabledLioncash
This simply queries whether or not auto-sleep facilities are disabled and has no special handling. It's a basic getter function.
2019-07-11service/am: Implement SetAutoSleepDisabledLioncash
Provides a basic implementation of SetAutoSleepDisabled. Until idle handling is implemented, this is about the best we can do. In the meantime, provide a rough documenting of specifics that occur when this function is called on actual hardware.
2019-07-11core/arm: Remove obsolete Unicorn memory mappingLioncash
This was initially necessary when AArch64 JIT emulation was in its infancy and all memory-related instructions weren't implemented. Given the JIT now has all of these facilities implemented, we can remove these functions from the CPU interface.
2019-07-11Restore memory perms on svcUnmapMemory/UnloadNroMichael Scire
Prior to PR, Yuzu did not restore memory to RW- on unmap of mirrored memory or unloading of NRO. (In fact, in the NRO case, the memory was unmapped instead of reprotected to --- on Load, so it was actually lost entirely...) This PR addresses that, and restores memory to RW- as it should. This fixes a crash in Super Smash Bros when creating a World of Light save for the first time, and possibly other games/circumstances.
2019-07-10Merge pull request #2700 from ogniK5377/GetFriendListbunnei
IFriendService::GetFriendList
2019-07-10Merge pull request #2611 from DarkLordZach/pm-info-cmdbunnei
pm: Implement various pm commands for finding process and title IDs
2019-07-10Merge pull request #2650 from DarkLordZach/mii-iface-verbunnei
mii: Implement IDatabaseService SetInterfaceVersion
2019-07-09IFriendService::GetFriendListDavid Marcec
We don't have any friends implemented in Yuzu yet so it doesn't make sense to return any friends. For now we'll be returning 0 friends however the information provided will allow a proper implementation of this cmd when needed.
2019-07-08Prevent merging of device mapped memory blocks.Michael Scire
This sets the DeviceMapped attribute for GPU-mapped memory blocks, and prevents merging device mapped blocks. This prevents memory mapped from the gpu from having its backing address changed by block coalesce.
2019-07-08Merge pull request #2657 from ogniK5377/npad-assignmentsZach Hilman
hid:StartLrAssignmentMode, hid:StopLrAssignmentMode, hid:SwapNpadAssignment
2019-07-08addressed issuesDavid Marcec
2019-07-07Merge pull request #2651 from DarkLordZach/apm-boost-mode-1bunnei
apm: Initial implementation of performance config and boost mode
2019-07-07Merge pull request #2642 from DarkLordZach/fsp-log-2bunnei
fsp-srv: Implement Access Logging Functionality
2019-07-07Remove unused member function declarationMichael Scire
2019-07-07physmem: add helpers, cleanup logic.Michael Scire
2019-07-07clang-format fixesMichael Scire
2019-07-07address review commentaryMichael Scire
2019-07-07Implement MapPhysicalMemory/UnmapPhysicalMemoryMichael Scire
This implements svcMapPhysicalMemory/svcUnmapPhysicalMemory for Yuzu, which can be used to map memory at a desired address by games since 3.0.0. It also properly parses SystemResourceSize from NPDM, and makes information available via svcGetInfo. This is needed for games like Super Smash Bros. and Diablo 3 -- this PR's implementation does not run into the "ASCII reads" issue mentioned in the comments of #2626, which was caused by the following bugs in Yuzu's memory management that this PR also addresses: * Yuzu's memory coalescing does not properly merge blocks. This results in a polluted address space/svcQueryMemory results that would be impossible to replicate on hardware, which can lead to game code making the wrong assumptions about memory layout. * This implements better merging for AllocatedMemoryBlocks. * Yuzu's implementation of svcMirrorMemory unprotected the entire virtual memory range containing the range being mirrored. This could lead to games attempting to map data at that unprotected range/attempting to access that range after yuzu improperly unmapped it. * This PR fixes it by simply calling ReprotectRange instead of Reprotect.
2019-07-06mii: Implement IDatabaseService SetInterfaceVersionZach Hilman
Appears to set a member variable used to affect the API that games access, and the method used to store data.
2019-07-06Merge pull request #2677 from lioncash/assertZach Hilman
kernel/vm_manager: Handle stack/TLS IO region placement a little better
2019-07-06clang-format fixesMichael Scire
2019-07-06am: Implement GetAccumulatedSuspendedTickValueMichael Scire
2019-07-06kernel/vm_manager: Rename 'new map' to 'stack'Lioncash
Provides a more accurate name for the memory region and also disambiguates between the map and new map regions of memory, making it easier to understand.
2019-07-05kernel/vm_manager: Handle stack/TLS IO region placement betterLioncash
Handles the placement of the stack a little nicer compared to the previous code, which was off in a few ways. e.g. The stack (new map) region, shouldn't be the width of the entire address space if the size of the region calculation ends up being zero. It should be placed at the same location as the TLS IO region and also have the same size. In the event the TLS IO region contains a size of zero, we should also be doing the same thing. This fixes our memory layout a little bit and also resolves some cases where assertions can trigger due to the memory layout being incorrect.
2019-07-04Merge pull request #2555 from lioncash/tlsZach Hilman
kernel/process: Decouple TLS handling from threads
2019-07-04Merge pull request #2658 from ogniK5377/QueryAudioDeviceOutputEventbunnei
IAudioDevice::QueryAudioDeviceOutputEvent
2019-07-04Merge pull request #2638 from DarkLordZach/quest-flagbunnei
set: Implement GetQuestFlag with config option
2019-07-03kernel/process: Default initialize all member variablesLioncash
Ensures a Process instance is always created with a deterministic initial state.
2019-07-03kernel/process: Decouple TLS handling from threadsLioncash
Extracts out all of the thread local storage management from thread instances themselves and makes the owning process handle the management of the memory. This brings the memory management slightly more in line with how the kernel handles these allocations. Furthermore, this also makes the TLS page management a little more readable compared to the lingering implementation that was carried over from Citra.
2019-07-03kernel/vm_manager: Add overload of FindFreeRegion() that operates on a boundaryLioncash
This will be necessary for making our TLS slot management slightly more straightforward. This can also be utilized for other purposes in the future. We can implement the existing simpler overload in terms of this one anyways, we just pass the beginning and end of the ASLR region as the boundaries.
2019-07-03Merge pull request #2613 from ogniK5377/InitalizeApplicationInfoZach Hilman
Implemented InitializeApplicationInfo & InitializeApplicationInfoRestricted
2019-07-03Merge pull request #2608 from ogniK5377/Time_GetSharedMemoryNativeHandleZach Hilman
Implement Time::GetSharedMemoryNativeHandle
2019-07-02Merge pull request #2604 from ogniK5377/INotificationServicebunnei
Implemented INotificationService
2019-07-02file_sys: Rename other ContentRecordType membersBakugo
2019-07-01IAudioDevice::QueryAudioDeviceOutputEventDavid Marcec
The event should only be signaled when an output audio device gets changed. Example, Speaker to USB headset. We don't identify different devices internally yet so there's no need to signal the event yet.
2019-07-01hid:StartLrAssignmentMode, hid:StopLrAssignmentMode, hid:SwapNpadAssignmentDavid Marcec
StartLrAssignmentMode and StopLrAssignmentMode don't require any implementation as it's just used for showing the screen of changing the controller orientation if the user wishes to do so. Ever since #1634 this has not been needed as users can specify the controller orientation from the config and swap at any time. We store a private member just in case this gets used for anything extra in the future
2019-06-30Merge pull request #2583 from FernandoS27/core-timing-safebunnei
Core_Timing: Make core_timing threadsafe by default.
2019-06-28am: Implement SetCpuBoostMode in terms of APMZach Hilman
2019-06-28apm: Implement SetCpuBoostModeZach Hilman
2019-06-28apm: Add getters for performance config and modeZach Hilman
2019-06-28apm: Add apm:am serviceZach Hilman
8.0.0+ identical version of apm
2019-06-28apm: Add Controller class to manage speed data and applicationZach Hilman
2019-06-28fsp-srv: Implement GetAccessLogVersionInfoZach Hilman
Returns some misc. data about logging to help the game determine if it should log.
2019-06-28fsp-srv: Implement OutputAccessLogToSdCardZach Hilman
Allows games to log data to the SD.