aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/time/time.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rework time service to fix time passing offline.Kelebek12024-01-241-412/+0
|
* time: Use compile time division for TimeSpanType conversionMorph2023-06-071-2/+2
|
* service: move hle_ipc from kernelLiam2023-03-011-18/+16
|
* service: refactor server architectureLiam2023-02-211-4/+11
| | | | Converts services to have their own processes
* core: Replace all instances of ResultCode with Resultgerman772022-06-261-13/+12
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* core: Remove unused includesameerj2021-11-031-2/+0
|
* service: Reduce header include overheadMorph2021-10-071-1/+1
|
* service: Append service name prefix to common filenamesMorph2021-07-141-1/+1
|
* general: Replace RESULT_SUCCESS with ResultSuccessMorph2021-06-021-23/+23
| | | | Transition to PascalCase for result names.
* hle: kernel: Migrate KClientPort to KAutoObject.bunnei2021-05-051-1/+1
|
* hle: kernel: Migrate KSession, KClientSession, and KServerSession to ↵bunnei2021-05-051-1/+0
| | | | KAutoObject.
* hle: kernel: Refactor IPC interfaces to not use std::shared_ptr.bunnei2021-05-051-1/+1
|
* time: Write buffer before pushing RESULT_SUCCESS in GetClockSnapshotMorph2021-04-191-1/+2
|
* time: Fix GetClockSnapshotFromSystemClockContextMorph2021-04-191-2/+3
| | | | | | This removes an incorrect alignment usage and corrects the positions of the popped parameters. - Fixes Super Kirby Clash crashing on boot
* Merge pull request #6170 from Morph1984/more-time-fixesbunnei2021-04-111-15/+22
|\ | | | | service: time: Setup the network clock with the local clock context
| * service: time: Setup the network clock with the local clock contextMorph2021-04-081-15/+22
| | | | | | | | Setting the network time allows some time based events using the network clock to not reset.
* | service: time: Fix CalculateStandardUserSystemClockDifferenceByUserMorph2021-04-071-3/+8
|/ | | | CalculateStandardUserSystemClockDifferenceByUser passes in the ClockSnapshots through 2 input buffers and not as raw arguments. Fix this by reading the 2 input buffers instead of popping raw arguments.
* Merge pull request #6054 from Morph1984/time-GetClockSnapshotbunnei2021-03-131-0/+2
|\ | | | | time: Assign the current time point to the ClockSnapshot
| * time: Assign the current time point to the ClockSnapshotMorph2021-03-101-0/+2
| | | | | | | | Fixes the timer in Super Smash Bros Ultimate's Spirit Board.
* | time: Fix CalculateSpanBetween implementationMorph2021-03-101-3/+9
|/ | | | | | CalculateSpanBetween passes in the ClockSnapshots through 2 input buffers and not as raw arguments. Fix this by reading the 2 input buffers instead of popping raw arguments. Partially fixes Super Smash Bros. Ultimate's Spirit Board
* core: hle: kernel: Rename Thread to KThread.bunnei2021-01-281-1/+1
|
* hle: kernel: Rewrite scheduler implementation based on Mesopshere.bunnei2020-12-061-1/+1
|
* service: Eliminate usages of the global system instanceLioncash2020-11-261-9/+9
| | | | | Completely removes all usages of the global system instance within the services code by passing in the using system instance to the services.
* service: time: Update current time with changes to RTC setting.bunnei2020-10-121-14/+14
| | | | - This can be used to advance time, e.g. for Pokemon Sword/Shield pokejobs.
* ipc: Allow all trivially copyable objects to be passed directly into ↵David2020-08-031-2/+2
| | | | | | | | | | | | | | | WriteBuffer (#4465) * ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer With the support of C++20, we can use concepts to deduce if a type is an STL container or not. * More agressive concept for stl containers * Add -fconcepts * Move to common namespace * Add Common::IsBaseOf
* Merge pull request #4203 from VolcaEM/servicesbunnei2020-07-111-0/+7
|\ | | | | service: Update function tables
| * service: Update function tablesVolcaEM2020-06-291-0/+7
| |
* | General: Recover Prometheus project from harddrive failure Fernando Sahmkow2020-06-271-3/+2
|/ | | | | | | This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host Timing, Reworks the Kernel's Scheduler, Introduce Idle State and Suspended State, Recreates the bootmanager, Initializes Multicore system.
* service/time: Remove reliance on the global system accessorLioncash2020-04-191-24/+26
| | | | | Eliminates usages of the global system accessor and instead passes the existing system instance into the interfaces.
* service: time: Implement CalculateStandardUserSystemClockDifferenceByUser.bunnei2020-04-141-0/+23
| | | | - Used by Animal Crossing: New Horizons.
* services: time: Implement CalculateSpanBetween.bunnei2020-03-271-0/+29
| | | | - Used by Super Smash Bros. Ultimate.
* Core: Set all hardware emulation constants in a single file.Fernando Sahmkow2020-02-111-1/+2
|
* service: time: Implement GetStandardLocalSystemClock.bunnei2020-01-041-0/+7
|
* service: time: Implement GetClockSnapshotFromSystemClockContext.bunnei2020-01-041-2/+25
|
* service: time: Implement IsStandardNetworkSystemClockAccuracySufficient.bunnei2020-01-041-0/+9
|
* service: time: Rewrite implementation of glue services.bunnei2020-01-041-303/+154
|
* Merge pull request #3094 from lioncash/tablesbunnei2019-11-241-2/+11
|\ | | | | service: Update function tables
| * service: Update function tablesLioncash2019-11-121-2/+11
| | | | | | | | | | | | Keeps the function tables up to date. Updated based off information from Switchbrew.
* | service: Resolve sign conversion errorsLioncash2019-11-121-13/+13
|/ | | | | These are fairly trivial to resolve and most of the changes entail using RESULT_UNKNOWN over ResultCode(-1).
* Deglobalize System: TimeDavid Marcec2019-09-221-10/+15
|
* Addressed issuesDavid Marcec2019-06-261-1/+2
|
* Implement Time::GetSharedMemoryNativeHandleDavid Marcec2019-06-261-19/+95
| | | | | | | | | | | | | | | 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
* core/core_timing_util: Amend casing of cyclesTo* functionsLioncash2019-06-041-2/+2
| | | | | Makes the casing consistent with all of our general function naming conventions.
* core/core_timing_util: Use std::chrono types for specifying time unitsLioncash2019-06-041-4/+5
| | | | | Makes the interface more type-safe and consistent in terms of return values.
* core_timing: Convert core timing into a classLioncash2019-02-151-2/+5
| | | | | | | | | | | 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.
* core_timing: Rename CoreTiming namespace to Core::TimingLioncash2019-02-121-3/+3
| | | | | | Places all of the timing-related functionality under the existing Core namespace to keep things consistent, rather than having the timing utilities sitting in its own completely separate namespace.
* settings: Use std::chrono::seconds instead of s64 for RTCZach Hilman2019-01-071-6/+4
|
* time: Use custom RTC settings if applicable for gameZach Hilman2019-01-071-6/+10
|
* service/time: Minor cleanup to GetClockSnapshot()Lioncash2018-12-291-7/+9
| | | | Moves some variables closer to their actual usage sites.