diff options
author | gdkchan <gab.dark.100@gmail.com> | 2023-09-25 20:18:32 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-26 01:18:32 +0200 |
commit | ddc9ae2a8380668273c21a75b11b833be76eebed (patch) | |
tree | 64fceb7529be32a9b6965e4380004029c444efc6 /src/Ryujinx.Cpu/AppleHv/TimeApi.cs | |
parent | d6d3cdd5739e6b8f8df36bf393e440f4857fb2b7 (diff) |
Add VTimer as alternative interrupt method on Apple Hypervisor (#5663)1.1.1028
* Add VTimer as alternative interrupt method on Apple Hypervisor
* Fix naming violations on TimeApi
* Fix timer interval (was 16us rather than 16ms)
* Fix delta ticks calculation
* Missing ThrowOnError call
* Add SupportedOSPlatform attribute on AppleHv classes
Diffstat (limited to 'src/Ryujinx.Cpu/AppleHv/TimeApi.cs')
-rw-r--r-- | src/Ryujinx.Cpu/AppleHv/TimeApi.cs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/Ryujinx.Cpu/AppleHv/TimeApi.cs b/src/Ryujinx.Cpu/AppleHv/TimeApi.cs new file mode 100644 index 00000000..85bc7717 --- /dev/null +++ b/src/Ryujinx.Cpu/AppleHv/TimeApi.cs @@ -0,0 +1,21 @@ +using System.Runtime.InteropServices; +using System.Runtime.Versioning; + +namespace Ryujinx.Cpu.AppleHv +{ + struct MachTimebaseInfo + { + public uint Numer; + public uint Denom; + } + + [SupportedOSPlatform("macos")] + static partial class TimeApi + { + [LibraryImport("libc", SetLastError = true)] + public static partial ulong mach_absolute_time(); + + [LibraryImport("libc", SetLastError = true)] + public static partial int mach_timebase_info(out MachTimebaseInfo info); + } +} |