aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/service.cpp
AgeCommit message (Collapse)Author
2021-01-28core: hle: kernel: Rename Thread to KThread.bunnei
2020-12-28hle: service: Acquire and release a lock on requests.bunnei
- This makes it such that we can safely access service members from CoreTiming thread.
2020-12-28hle: service: Ensure system is powered on before writing IPC result.bunnei
2020-12-07core: Remove unnecessary enum casts in log callsLioncash
Follows the video core PR. fmt doesn't require casts for enum classes anymore, so we can remove quite a few casts.
2020-11-26service: Eliminate usages of the global system instanceLioncash
Completely removes all usages of the global system instance within the services code by passing in the using system instance to the services.
2020-11-24hle: services: Fix a crash with improper NVFlinger lifetime management. (#4977)bunnei
* hle: services: Fix a crash with improper NVFlinger lifetime management. - This crash would happen when attempting to shutdown yuzu early on in boot.
2020-11-19hle: service: Stub OLSC Initialize and SetSaveDataBackupSettingEnabled ↵bunnei
functions. - Used by Animal Cross: New Horizons v1.6.0 update, minimal stub gets this update working.
2020-10-20Revert "core: Fix clang build"bunnei
2020-10-17core: Fix clang buildLioncash
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
2020-09-25service: Restore "unused" functionLioncash
Turns out this function is actually used, but within a trace log.
2020-09-17service: Remove unused funcationLioncash
This is now completely unused, so it can be removed.
2020-09-07service: Remove two usages of the global system accessorLioncash
Removes more instances of reliance on global state.
2020-07-28services/bsd: Implement most of bsd:sReinUsesLisp
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.
2019-11-28kernel: Implement a more accurate IPC dispatch.bunnei
2019-11-24kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for ↵bunnei
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.
2019-10-08Merge pull request #2654 from DarkLordZach/lm-log-rewritebunnei
lm: Rewrite logger to use core reporting services
2019-10-01bcat: Add FSC accessors for BCAT dataZach Hilman
Ports BCAT to use FSC interface
2019-09-22core: Add LM::Manager to systemZach Hilman
Allows centralized control over logging mechanisms.
2019-09-22Removed reference to core timing to nvflinger and used system insteadDavid Marcec
2019-09-22RebaseDavid Marcec
2019-09-22Merge pull request #2612 from DarkLordZach/prepo-newDavid
prepo: Implement New, System, and Non-User variants of SaveReport
2019-09-21prepo: Remove system global accessorsZach Hilman
2019-09-21configure_debug: Move reporting option to loggingZach Hilman
2019-09-21yuzu: Port old usages of Filesystem namespace to FilesystemControllerZach Hilman
2019-09-21services: Pass FileSystemController as reference to services that need itZach Hilman
2019-08-18Merge pull request #2747 from lioncash/audiobunnei
service/audren_u: Unstub ListAudioDeviceName
2019-07-26Merge pull request #2592 from FernandoS27/sync1bunnei
Implement GPU Synchronization Mechanisms & Correct NVFlinger
2019-07-19service/audio: Remove global system accessorsLioncash
Trims out the lingering reliance on global state out of the audio code.
2019-07-10Merge pull request #2611 from DarkLordZach/pm-info-cmdbunnei
pm: Implement various pm commands for finding process and title IDs
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-05nv_services: Deglobalize NvServicesFernando Sahmkow
2019-07-03Merge pull request #2608 from ogniK5377/Time_GetSharedMemoryNativeHandleZach Hilman
Implement Time::GetSharedMemoryNativeHandle
2019-06-28am: Implement SetCpuBoostMode in terms of APMZach Hilman
2019-06-28fsp-srv: Implement OutputAccessLogToSdCardZach Hilman
Allows games to log data to the SD.
2019-06-26pm: Implement pm:shell and pm:dmnt GetApplicationPidZach Hilman
Returns the process ID of the current application or 0 if no app is running.
2019-06-26Merge pull request #2548 from DarkLordZach/applet-shopnbunnei
applets: Implement backend and default frontend for Parental Controls and EShop (ShopN) applets
2019-06-26Implement Time::GetSharedMemoryNativeHandleDavid Marcec
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
2019-06-24applets: Pass current process title ID to appletsZach Hilman
Avoids using system accessor to get current process in applet code.
2019-06-24glue: Implement arp:w and arp:r servicesZach Hilman
These keep track of running process' launch properties and control properties and allows for issuing and reading them by process and title ID.
2019-06-21Merge pull request #2482 from DarkLordZach/prepobunnei
core: Add detailed local reporting feature for development
2019-06-17Addressed issuesDavid Marcec
2019-05-25service: Save report on unimplemented function callZach Hilman
2019-03-13Merge pull request #2223 from lioncash/errorbunnei
core/hle/result: Tidy up the base error code result header.
2019-03-10core/hle/result: Relocate IPC error code to ipc_helpersLioncash
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.
2019-03-10service/service: Remove unncessary calls to c_str()Lioncash
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.
2019-02-15core_timing: Convert core timing into a classLioncash
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.
2018-12-13Fix Service object leak on emulation stopJens Schmer
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.
2018-12-06hle/service: Replace log + UNIMPLEMENTED with UNIMPLEMENTED_MSGLioncash
Combines the two into one, shortening the amount of code here.
2018-12-06hle/service: Remove unnecessary using declarationsLioncash
Only one usage of the specified objects made use of the lack of namespacing. Given the low usage, we can just remove these.