summaryrefslogtreecommitdiff
path: root/src/core (follow)
Commit message (Collapse)AuthorAgeFilesLines
* clang-format fixesGravatar Michael Scire2019-07-061-4/+5
|
* am: Implement GetAccumulatedSuspendedTickValueGravatar Michael Scire2019-07-062-7/+19
|
* Merge pull request #2669 from FearlessTobi/move-cpujit-settingGravatar Zach Hilman2019-07-044-5/+5
|\ | | | | yuzu: Move CPU Jit setting to Debug tab
| * yuzu: Remove CPU Jit setting from the UIGravatar fearlessTobi2019-07-044-5/+5
| | | | | | | | A normal user shouldn't change this, as it will slow down the emulation and can lead to bugs or crashes. The renaming is done in order to prevent users from leaving this on without a way to turn it off from the UI.
* | Merge pull request #2555 from lioncash/tlsGravatar Zach Hilman2019-07-046-81/+148
|\ \ | | | | | | kernel/process: Decouple TLS handling from threads
| * | kernel/process: Default initialize all member variablesGravatar Lioncash2019-07-031-2/+2
| | | | | | | | | | | | | | | Ensures a Process instance is always created with a deterministic initial state.
| * | kernel/process: Decouple TLS handling from threadsGravatar Lioncash2019-07-034-66/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | kernel/vm_manager: Add overload of FindFreeRegion() that operates on a boundaryGravatar Lioncash2019-07-032-13/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #2658 from ogniK5377/QueryAudioDeviceOutputEventGravatar bunnei2019-07-041-3/+16
|\ \ \ | | | | | | | | IAudioDevice::QueryAudioDeviceOutputEvent
| * | | IAudioDevice::QueryAudioDeviceOutputEventGravatar David Marcec2019-07-011-3/+16
| | | | | | | | | | | | | | | | 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.
* | | | Merge pull request #2638 from DarkLordZach/quest-flagGravatar bunnei2019-07-043-1/+11
|\ \ \ \ | |_|/ / |/| | | set: Implement GetQuestFlag with config option
| * | | set: Implement GetQuestFlagGravatar Zach Hilman2019-06-282-1/+10
| | | | | | | | | | | | Simply returns a true/false value indicating if the system is a kiosk system. This has been mapped to a config option for the purposes of yuzu.
| * | | settings: Add config option for kiosk (quest) modeGravatar Zach Hilman2019-06-281-0/+1
| | | |
* | | | Merge pull request #2613 from ogniK5377/InitalizeApplicationInfoGravatar Zach Hilman2019-07-035-6/+110
|\ \ \ \ | | | | | | | | | | Implemented InitializeApplicationInfo & InitializeApplicationInfoRestricted
| * | | | Added errors.h to cmakelistGravatar David Marcec2019-06-281-0/+1
| | | | |
| * | | | Addressed issuesGravatar David Marcec2019-06-282-17/+12
| | | | |
| * | | | Implemented InitializeApplicationInfo & InitializeApplicationInfoRestrictedGravatar David Marcec2019-06-274-6/+114
| | | | | | | | | | | | | | | | | | | | InitializeApplicationInfoRestricted will need further implementation as it's checking for other user requirements about the game. As we're emulating, we're assuming the user owns the game so we skip these checks currently, implementation will need to be added further on
* | | | | Merge pull request #2608 from ogniK5377/Time_GetSharedMemoryNativeHandleGravatar Zach Hilman2019-07-038-28/+260
|\ \ \ \ \ | |_|_|_|/ |/| | | | Implement Time::GetSharedMemoryNativeHandle
| * | | | Addressed issuesGravatar David Marcec2019-06-265-37/+53
| | | | |
| * | | | Implement Time::GetSharedMemoryNativeHandleGravatar David Marcec2019-06-268-29/+245
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR attempts to implement the shared memory provided by GetSharedMemoryNativeHandle. There is still more work to be done however that requires a rehaul of the current time module to handle clock contexts. This PR is mainly to get the basic functionality of the SharedMemory working and allow the use of addition to it whilst things get improved on. Things to note: Memory Barriers are used in the SharedMemory and a better solution would need to be done to implement this. Currently in this PR I’m faking the memory barriers as everything is sync and single threaded. They work by incrementing the counter and just populate the two data slots. On data reading, it will read the last added data. Specific values in the shared memory would need to be updated periodically. This isn't included in this PR since we don't actively do this yet. In a later PR when time is refactored this should be done. Finally, as we don't handle clock contexts. When time is refactored, we will need to update the shared memory for specific contexts. This PR does this already however since the contexts are all identical and not separated. We're just updating the same values for each context which in this case is empty. Tiime:SetStandardUserSystemClockAutomaticCorrectionEnabled, Time:IsStandardUserSystemClockAutomaticCorrectionEnabled are also partially implemented in this PR. The reason the implementation is partial is because once again, a lack of clock contexts. This will be improved on in a future PR. This PR closes issue #2556
* | | | | Merge pull request #2604 from ogniK5377/INotificationServiceGravatar bunnei2019-07-025-1/+130
|\ \ \ \ \ | | | | | | | | | | | | Implemented INotificationService
| * | | | | Attemp clang format fix?Gravatar David Marcec2019-06-281-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Seems to be an issue with clang format
| * | | | | Addressed issuesGravatar David Marcec2019-06-282-13/+13
| | | | | |
| * | | | | SizedNotificationInfo should be 0x10 bytes, user_uuid is incorrect, this ↵Gravatar David Marcec2019-06-251-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | should be the users account id
| * | | | | fixed spelling errors and fixed issue with Pop not returning the ↵Gravatar David Marcec2019-06-251-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | SizedNotificationInfo
| * | | | | Implemented INotificationServiceGravatar David Marcec2019-06-245-1/+127
| |/ / / /
* | | | | file_sys: Rename other ContentRecordType membersGravatar Bakugo2019-07-025-7/+8
| | | | |
* | | | | file_sys/registered_cache: Improve missing metadata errorGravatar Bakugo2019-07-011-2/+2
| | | | | | | | | | | | | | | | | | | | This can happen when installing NSPs too, not just XCIs.
* | | | | file_sys/submission_package: Don't warn about missing DeltaFragment NCAsGravatar Bakugo2019-07-011-4/+7
| | | | | | | | | | | | | | | | | | | | DeltaFragments are not useful to us and are often not included in patch NSPs.
* | | | | file_sys/registered_cache: Ignore DeltaFragment NCAs during installationGravatar Bakugo2019-07-011-0/+3
| | | | | | | | | | | | | | | | | | | | DeltaFragments are only used to download and apply partial patches on a real console, and are not useful to us at all. Most patch NSPs do not include them, and when they do, it's a waste of space to install them.
* | | | | file_sys: Rename ContentRecordType::Patch to DeltaFragmentGravatar Bakugo2019-07-011-1/+1
| |_|_|/ |/| | | | | | | | | | | Avoids potential confusion, since patches and DeltaFragments are not the same thing. Actual full patches are listed under the Program type.
* | | | Merge pull request #2583 from FernandoS27/core-timing-safeGravatar bunnei2019-06-303-49/+14
|\ \ \ \ | |_|_|/ |/| | | Core_Timing: Make core_timing threadsafe by default.
| * | | Core_Timing: Make core_timing threadsafe by default.Gravatar Fernando Sahmkow2019-06-163-49/+14
| | | | | | | | | | | | | | | | | | | | | | | | The old implementation had faulty Threadsafe methods where events could be missing. This implementation unifies unsafe/safe methods and makes core timing thread safe overall.
* | | | Merge pull request #2533 from DarkLordZach/memory-frozenGravatar bunnei2019-06-284-0/+274
|\ \ \ \ | |_|_|/ |/| | | memory: Add class to manage and enforce memory freezing
| * | | freezer: Update documentationGravatar Zach Hilman2019-06-201-1/+8
| | | |
| * | | core: Move Freezer class to tools namespaceGravatar Zach Hilman2019-06-204-17/+17
| | | |
| * | | freezer: Add documentation for methodsGravatar Zach Hilman2019-06-202-30/+49
| | | |
| * | | memory: Add class to manage and enforce memory freezingGravatar Zach Hilman2019-06-204-0/+248
| | | |
* | | | Merge pull request #2548 from DarkLordZach/applet-shopnGravatar bunnei2019-06-2617-120/+879
|\ \ \ \ | | | | | | | | | | applets: Implement backend and default frontend for Parental Controls and EShop (ShopN) applets
| * | | | applets: Pass current process title ID to appletsGravatar Zach Hilman2019-06-2411-41/+59
| | | | | | | | | | | | | | | | | | | | Avoids using system accessor to get current process in applet code.
| * | | | general_frontend: Add documentation for parental controls and ecommerce appletsGravatar Zach Hilman2019-06-244-20/+48
| | | | |
| * | | | web_browser: Only delete temporary directory if it was createdGravatar Zach Hilman2019-06-241-1/+3
| | | | | | | | | | | | | | | | | | | | Prevents crashes with ShopN applet occasionally.
| * | | | web_browser: Take ECommerce applet frontend optionally in constructorGravatar Zach Hilman2019-06-241-1/+6
| | | | | | | | | | | | | | | If it is needed but wasn't passed (or passed nullptr), the Shop handling code will alert and throw an error.
| * | | | frontend: Add base class and default impl for ECommerce applet frontendGravatar Zach Hilman2019-06-242-0/+102
| | | | |
| * | | | web_browser: Use function tables for execute and initializeGravatar Zach Hilman2019-06-242-7/+285
| | | | | | | | | | | | | | | Allows easy handling of multiple shim types, as they have enough in common to be the same backend but not enough to share init/exec.
| * | | | web_browser: Correct structures and properly parse TLVs/ShimKindGravatar Zach Hilman2019-06-242-61/+168
| | | | | | | | | | | | | | | Much, much more HW-accurate and allows us to easily support all of the different web 'shim' types.
| * | | | applets: Track ECommerce and Parental Control applet frontendsGravatar Zach Hilman2019-06-242-7/+29
| | | | |
| * | | | web_browser: Rename OpenPage to OpenPageLocalGravatar Zach Hilman2019-06-242-7/+7
| | | | | | | | | | | | | | | This is more representative of what actually occurs, as web does support remote URLs which wouldn't need a romfs callback. This paves for easy future support of this with a call like 'OpenPageRemote' or similar.
| * | | | frontend: Add base class and default impl of parent controls applet frontendGravatar Zach Hilman2019-06-242-1/+52
| | | | |
| * | | | applets: Implement Auth applet backendGravatar Zach Hilman2019-06-242-0/+146
| | |_|/ | |/| | | | | | This is responsible for parental controls and supports verifying, changing, and registering PIN codes.