| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- using Ryujinx.Common;
- using Ryujinx.HLE.HOS.Kernel.Threading;
- namespace Ryujinx.HLE.HOS.Services.Time.Clock
- {
- class TickBasedSteadyClockCore : SteadyClockCore
- {
- private static TickBasedSteadyClockCore _instance;
- public static TickBasedSteadyClockCore Instance
- {
- get
- {
- if (_instance == null)
- {
- _instance = new TickBasedSteadyClockCore();
- }
- return _instance;
- }
- }
- private TickBasedSteadyClockCore() {}
- public override SteadyClockTimePoint GetTimePoint(KThread thread)
- {
- SteadyClockTimePoint result = new SteadyClockTimePoint
- {
- TimePoint = 0,
- ClockSourceId = GetClockSourceId()
- };
- TimeSpanType ticksTimeSpan = TimeSpanType.FromTicks(thread.Context.CntpctEl0, thread.Context.CntfrqEl0);
- result.TimePoint = ticksTimeSpan.ToSeconds();
- return result;
- }
- }
- }
|