| Age | Commit message (Collapse) | Author |
|
|
|
Copies the raw personal ticket data into the buffer provided.
|
|
Copies the raw common ticket data for the specified rights ID into the buffer provided.
|
|
Returns the size of the buffer needed to hold the personal ticket associated with the rights ID.
|
|
Returns the size of the buffer needed to hold the common ticket associated with the rights ID.
|
|
Returns an application-specific number of entries of personal tickets, starting at offset 0.
|
|
Returns an application specified count of entries of common tickets, starting at offset 0.
|
|
Returns the number of personalized (console/user-unique) tickets in the KeyManager.
|
|
Returns the number of common (non-console-unique) tickets in the KeyManager.
|
|
Takes a rights ID as input and returns the associated title key, if it exists.
|
|
Takes a ticket and certificate and installs it to the KeyManager.
|
|
kernel/vm_manager: Handle stack/TLS IO region placement a little better
|
|
|
|
|
|
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.
|
|
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.
|
|
kernel/process: Decouple TLS handling from threads
|
|
IAudioDevice::QueryAudioDeviceOutputEvent
|
|
set: Implement GetQuestFlag with config option
|
|
Ensures a Process instance is always created with a deterministic
initial state.
|
|
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.
|
|
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.
|
|
Implemented InitializeApplicationInfo & InitializeApplicationInfoRestricted
|
|
Implement Time::GetSharedMemoryNativeHandle
|
|
Implemented INotificationService
|
|
|
|
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.
|
|
Core_Timing: Make core_timing threadsafe by default.
|
|
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.
|
|
Seems to be an issue with clang format
|
|
|
|
|
|
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
|
|
applets: Implement backend and default frontend for Parental Controls and EShop (ShopN) applets
|
|
|
|
|
|
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
|
|
should be the users account id
|
|
SizedNotificationInfo
|
|
Avoids using system accessor to get current process in applet code.
|
|
|
|
Prevents crashes with ShopN applet occasionally.
|
|
If it is needed but wasn't passed (or passed nullptr), the Shop handling code will alert and throw an error.
|
|
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.
|
|
Much, much more HW-accurate and allows us to easily support all of the different web 'shim' types.
|
|
|
|
This is responsible for parental controls and supports verifying, changing, and registering PIN codes.
|
|
These keep track of running process' launch properties and control properties and allows for issuing and reading them by process and title ID.
|
|
|
|
|