| Age | Commit message (Collapse) | Author |
|
|
|
- This makes it such that we can safely access service members from CoreTiming thread.
|
|
|
|
Follows the video core PR. fmt doesn't require casts for enum classes
anymore, so we can remove quite a few casts.
|
|
Completely removes all usages of the global system instance within the
services code by passing in the using system instance to the services.
|
|
* hle: services: Fix a crash with improper NVFlinger lifetime management.
- This crash would happen when attempting to shutdown yuzu early on in boot.
|
|
functions.
- Used by Animal Cross: New Horizons v1.6.0 update, minimal stub gets this update working.
|
|
|
|
Recent changes to the build system that made more warnings be flagged as
errors caused building via clang to break.
Fixes #4795
|
|
Turns out this function is actually used, but within a trace log.
|
|
This is now completely unused, so it can be removed.
|
|
Removes more instances of reliance on global state.
|
|
This implements: Socket, Poll, Accept, Bind, Connect, GetPeerName,
GetSockName, Listen, Fcntl, SetSockOpt, Shutdown, Recv, RecvFrom,
Send, SendTo, Write, and Close
The implementation was done referencing: SwIPC, switchbrew, testing
with libnx and inspecting its code, general information about bsd
sockets online, and analysing official software.
Not everything from these service calls is implemented, but everything
that is not implemented will be logged in some way.
|
|
|
|
kernel objects. (#3154)
* kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects.
- See https://github.com/citra-emu/citra/pull/4710 for details.
|
|
lm: Rewrite logger to use core reporting services
|
|
Ports BCAT to use FSC interface
|
|
Allows centralized control over logging mechanisms.
|
|
|
|
|
|
prepo: Implement New, System, and Non-User variants of SaveReport
|
|
|
|
|
|
|
|
|
|
service/audren_u: Unstub ListAudioDeviceName
|
|
Implement GPU Synchronization Mechanisms & Correct NVFlinger
|
|
Trims out the lingering reliance on global state out of the audio code.
|
|
pm: Implement various pm commands for finding process and title IDs
|
|
apm: Initial implementation of performance config and boost mode
|
|
fsp-srv: Implement Access Logging Functionality
|
|
|
|
Implement Time::GetSharedMemoryNativeHandle
|
|
|
|
Allows games to log data to the SD.
|
|
Returns the process ID of the current application or 0 if no app is running.
|
|
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
|
|
Avoids using system accessor to get current process in applet code.
|
|
These keep track of running process' launch properties and control properties and allows for issuing and reading them by process and title ID.
|
|
core: Add detailed local reporting feature for development
|
|
|
|
|
|
core/hle/result: Tidy up the base error code result header.
|
|
Relocates the error code to where it's most related, similar to how all
the other error codes are. Previously we were including a non-generic
error in the main result code header.
|
|
These can just be passed regularly, now that we use fmt instead of our
old logging system.
While we're at it, make the parameters to MakeFunctionString
std::string_views.
|
|
Gets rid of the largest set of mutable global state within the core.
This also paves a way for eliminating usages of GetInstance() on the
System class as a follow-up.
Note that no behavioral changes have been made, and this simply extracts
the functionality into a class. This also has the benefit of making
dependencies on the core timing functionality explicit within the
relevant interfaces.
|
|
Services created with the ServiceFramework base class install themselves as HleHandlers with an owning shared_ptr in the ServerPort ServiceFrameworkBase::port member variable, creating a cyclic ownership between ServiceFrameworkBase and the ServerPort, preventing deletion of the service objects.
Fix that by removing the ServiceFrameworkBase::port member because that was only used to detect multiple attempts at installing a port. Instead store a flag if the port was already installed to achieve the same functionality.
|
|
Combines the two into one, shortening the amount of code here.
|
|
Only one usage of the specified objects made use of the lack of
namespacing. Given the low usage, we can just remove these.
|