diff options
Diffstat (limited to 'src/Ryujinx.Cpu/AppleHv/HvApi.cs')
-rw-r--r-- | src/Ryujinx.Cpu/AppleHv/HvApi.cs | 465 |
1 files changed, 232 insertions, 233 deletions
diff --git a/src/Ryujinx.Cpu/AppleHv/HvApi.cs b/src/Ryujinx.Cpu/AppleHv/HvApi.cs index d7628bb5..4f748498 100644 --- a/src/Ryujinx.Cpu/AppleHv/HvApi.cs +++ b/src/Ryujinx.Cpu/AppleHv/HvApi.cs @@ -1,245 +1,244 @@ -using ARMeilleure.State; using System; using System.Runtime.InteropServices; namespace Ryujinx.Cpu.AppleHv { - struct hv_vcpu_exit_exception_t + struct HvVcpuExitException { -#pragma warning disable CS0649 - public ulong syndrome; - public ulong virtual_address; - public ulong physical_address; +#pragma warning disable CS0649 // Field is never assigned to + public ulong Syndrome; + public ulong VirtualAddress; + public ulong PhysicalAddress; #pragma warning restore CS0649 } - struct hv_vcpu_exit_t + struct HvVcpuExit { -#pragma warning disable CS0649 - public uint reason; - public hv_vcpu_exit_exception_t exception; +#pragma warning disable CS0649 // Field is never assigned to + public uint Reason; + public HvVcpuExitException Exception; #pragma warning restore CS0649 } - enum hv_reg_t : uint + enum HvReg : uint { - HV_REG_X0, - HV_REG_X1, - HV_REG_X2, - HV_REG_X3, - HV_REG_X4, - HV_REG_X5, - HV_REG_X6, - HV_REG_X7, - HV_REG_X8, - HV_REG_X9, - HV_REG_X10, - HV_REG_X11, - HV_REG_X12, - HV_REG_X13, - HV_REG_X14, - HV_REG_X15, - HV_REG_X16, - HV_REG_X17, - HV_REG_X18, - HV_REG_X19, - HV_REG_X20, - HV_REG_X21, - HV_REG_X22, - HV_REG_X23, - HV_REG_X24, - HV_REG_X25, - HV_REG_X26, - HV_REG_X27, - HV_REG_X28, - HV_REG_X29, - HV_REG_FP = HV_REG_X29, - HV_REG_X30, - HV_REG_LR = HV_REG_X30, - HV_REG_PC, - HV_REG_FPCR, - HV_REG_FPSR, - HV_REG_CPSR, + X0, + X1, + X2, + X3, + X4, + X5, + X6, + X7, + X8, + X9, + X10, + X11, + X12, + X13, + X14, + X15, + X16, + X17, + X18, + X19, + X20, + X21, + X22, + X23, + X24, + X25, + X26, + X27, + X28, + X29, + FP = X29, + X30, + LR = X30, + PC, + FPCR, + FPSR, + CPSR, } - enum hv_simd_fp_reg_t : uint + enum HvSimdFPReg : uint { - HV_SIMD_FP_REG_Q0, - HV_SIMD_FP_REG_Q1, - HV_SIMD_FP_REG_Q2, - HV_SIMD_FP_REG_Q3, - HV_SIMD_FP_REG_Q4, - HV_SIMD_FP_REG_Q5, - HV_SIMD_FP_REG_Q6, - HV_SIMD_FP_REG_Q7, - HV_SIMD_FP_REG_Q8, - HV_SIMD_FP_REG_Q9, - HV_SIMD_FP_REG_Q10, - HV_SIMD_FP_REG_Q11, - HV_SIMD_FP_REG_Q12, - HV_SIMD_FP_REG_Q13, - HV_SIMD_FP_REG_Q14, - HV_SIMD_FP_REG_Q15, - HV_SIMD_FP_REG_Q16, - HV_SIMD_FP_REG_Q17, - HV_SIMD_FP_REG_Q18, - HV_SIMD_FP_REG_Q19, - HV_SIMD_FP_REG_Q20, - HV_SIMD_FP_REG_Q21, - HV_SIMD_FP_REG_Q22, - HV_SIMD_FP_REG_Q23, - HV_SIMD_FP_REG_Q24, - HV_SIMD_FP_REG_Q25, - HV_SIMD_FP_REG_Q26, - HV_SIMD_FP_REG_Q27, - HV_SIMD_FP_REG_Q28, - HV_SIMD_FP_REG_Q29, - HV_SIMD_FP_REG_Q30, - HV_SIMD_FP_REG_Q31, + Q0, + Q1, + Q2, + Q3, + Q4, + Q5, + Q6, + Q7, + Q8, + Q9, + Q10, + Q11, + Q12, + Q13, + Q14, + Q15, + Q16, + Q17, + Q18, + Q19, + Q20, + Q21, + Q22, + Q23, + Q24, + Q25, + Q26, + Q27, + Q28, + Q29, + Q30, + Q31, } - enum hv_sys_reg_t : ushort + enum HvSysReg : ushort { - HV_SYS_REG_DBGBVR0_EL1 = 0x8004, - HV_SYS_REG_DBGBCR0_EL1 = 0x8005, - HV_SYS_REG_DBGWVR0_EL1 = 0x8006, - HV_SYS_REG_DBGWCR0_EL1 = 0x8007, - HV_SYS_REG_DBGBVR1_EL1 = 0x800c, - HV_SYS_REG_DBGBCR1_EL1 = 0x800d, - HV_SYS_REG_DBGWVR1_EL1 = 0x800e, - HV_SYS_REG_DBGWCR1_EL1 = 0x800f, - HV_SYS_REG_MDCCINT_EL1 = 0x8010, - HV_SYS_REG_MDSCR_EL1 = 0x8012, - HV_SYS_REG_DBGBVR2_EL1 = 0x8014, - HV_SYS_REG_DBGBCR2_EL1 = 0x8015, - HV_SYS_REG_DBGWVR2_EL1 = 0x8016, - HV_SYS_REG_DBGWCR2_EL1 = 0x8017, - HV_SYS_REG_DBGBVR3_EL1 = 0x801c, - HV_SYS_REG_DBGBCR3_EL1 = 0x801d, - HV_SYS_REG_DBGWVR3_EL1 = 0x801e, - HV_SYS_REG_DBGWCR3_EL1 = 0x801f, - HV_SYS_REG_DBGBVR4_EL1 = 0x8024, - HV_SYS_REG_DBGBCR4_EL1 = 0x8025, - HV_SYS_REG_DBGWVR4_EL1 = 0x8026, - HV_SYS_REG_DBGWCR4_EL1 = 0x8027, - HV_SYS_REG_DBGBVR5_EL1 = 0x802c, - HV_SYS_REG_DBGBCR5_EL1 = 0x802d, - HV_SYS_REG_DBGWVR5_EL1 = 0x802e, - HV_SYS_REG_DBGWCR5_EL1 = 0x802f, - HV_SYS_REG_DBGBVR6_EL1 = 0x8034, - HV_SYS_REG_DBGBCR6_EL1 = 0x8035, - HV_SYS_REG_DBGWVR6_EL1 = 0x8036, - HV_SYS_REG_DBGWCR6_EL1 = 0x8037, - HV_SYS_REG_DBGBVR7_EL1 = 0x803c, - HV_SYS_REG_DBGBCR7_EL1 = 0x803d, - HV_SYS_REG_DBGWVR7_EL1 = 0x803e, - HV_SYS_REG_DBGWCR7_EL1 = 0x803f, - HV_SYS_REG_DBGBVR8_EL1 = 0x8044, - HV_SYS_REG_DBGBCR8_EL1 = 0x8045, - HV_SYS_REG_DBGWVR8_EL1 = 0x8046, - HV_SYS_REG_DBGWCR8_EL1 = 0x8047, - HV_SYS_REG_DBGBVR9_EL1 = 0x804c, - HV_SYS_REG_DBGBCR9_EL1 = 0x804d, - HV_SYS_REG_DBGWVR9_EL1 = 0x804e, - HV_SYS_REG_DBGWCR9_EL1 = 0x804f, - HV_SYS_REG_DBGBVR10_EL1 = 0x8054, - HV_SYS_REG_DBGBCR10_EL1 = 0x8055, - HV_SYS_REG_DBGWVR10_EL1 = 0x8056, - HV_SYS_REG_DBGWCR10_EL1 = 0x8057, - HV_SYS_REG_DBGBVR11_EL1 = 0x805c, - HV_SYS_REG_DBGBCR11_EL1 = 0x805d, - HV_SYS_REG_DBGWVR11_EL1 = 0x805e, - HV_SYS_REG_DBGWCR11_EL1 = 0x805f, - HV_SYS_REG_DBGBVR12_EL1 = 0x8064, - HV_SYS_REG_DBGBCR12_EL1 = 0x8065, - HV_SYS_REG_DBGWVR12_EL1 = 0x8066, - HV_SYS_REG_DBGWCR12_EL1 = 0x8067, - HV_SYS_REG_DBGBVR13_EL1 = 0x806c, - HV_SYS_REG_DBGBCR13_EL1 = 0x806d, - HV_SYS_REG_DBGWVR13_EL1 = 0x806e, - HV_SYS_REG_DBGWCR13_EL1 = 0x806f, - HV_SYS_REG_DBGBVR14_EL1 = 0x8074, - HV_SYS_REG_DBGBCR14_EL1 = 0x8075, - HV_SYS_REG_DBGWVR14_EL1 = 0x8076, - HV_SYS_REG_DBGWCR14_EL1 = 0x8077, - HV_SYS_REG_DBGBVR15_EL1 = 0x807c, - HV_SYS_REG_DBGBCR15_EL1 = 0x807d, - HV_SYS_REG_DBGWVR15_EL1 = 0x807e, - HV_SYS_REG_DBGWCR15_EL1 = 0x807f, - HV_SYS_REG_MIDR_EL1 = 0xc000, - HV_SYS_REG_MPIDR_EL1 = 0xc005, - HV_SYS_REG_ID_AA64PFR0_EL1 = 0xc020, - HV_SYS_REG_ID_AA64PFR1_EL1 = 0xc021, - HV_SYS_REG_ID_AA64DFR0_EL1 = 0xc028, - HV_SYS_REG_ID_AA64DFR1_EL1 = 0xc029, - HV_SYS_REG_ID_AA64ISAR0_EL1 = 0xc030, - HV_SYS_REG_ID_AA64ISAR1_EL1 = 0xc031, - HV_SYS_REG_ID_AA64MMFR0_EL1 = 0xc038, - HV_SYS_REG_ID_AA64MMFR1_EL1 = 0xc039, - HV_SYS_REG_ID_AA64MMFR2_EL1 = 0xc03a, - HV_SYS_REG_SCTLR_EL1 = 0xc080, - HV_SYS_REG_CPACR_EL1 = 0xc082, - HV_SYS_REG_TTBR0_EL1 = 0xc100, - HV_SYS_REG_TTBR1_EL1 = 0xc101, - HV_SYS_REG_TCR_EL1 = 0xc102, - HV_SYS_REG_APIAKEYLO_EL1 = 0xc108, - HV_SYS_REG_APIAKEYHI_EL1 = 0xc109, - HV_SYS_REG_APIBKEYLO_EL1 = 0xc10a, - HV_SYS_REG_APIBKEYHI_EL1 = 0xc10b, - HV_SYS_REG_APDAKEYLO_EL1 = 0xc110, - HV_SYS_REG_APDAKEYHI_EL1 = 0xc111, - HV_SYS_REG_APDBKEYLO_EL1 = 0xc112, - HV_SYS_REG_APDBKEYHI_EL1 = 0xc113, - HV_SYS_REG_APGAKEYLO_EL1 = 0xc118, - HV_SYS_REG_APGAKEYHI_EL1 = 0xc119, - HV_SYS_REG_SPSR_EL1 = 0xc200, - HV_SYS_REG_ELR_EL1 = 0xc201, - HV_SYS_REG_SP_EL0 = 0xc208, - HV_SYS_REG_AFSR0_EL1 = 0xc288, - HV_SYS_REG_AFSR1_EL1 = 0xc289, - HV_SYS_REG_ESR_EL1 = 0xc290, - HV_SYS_REG_FAR_EL1 = 0xc300, - HV_SYS_REG_PAR_EL1 = 0xc3a0, - HV_SYS_REG_MAIR_EL1 = 0xc510, - HV_SYS_REG_AMAIR_EL1 = 0xc518, - HV_SYS_REG_VBAR_EL1 = 0xc600, - HV_SYS_REG_CONTEXTIDR_EL1 = 0xc681, - HV_SYS_REG_TPIDR_EL1 = 0xc684, - HV_SYS_REG_CNTKCTL_EL1 = 0xc708, - HV_SYS_REG_CSSELR_EL1 = 0xd000, - HV_SYS_REG_TPIDR_EL0 = 0xde82, - HV_SYS_REG_TPIDRRO_EL0 = 0xde83, - HV_SYS_REG_CNTV_CTL_EL0 = 0xdf19, - HV_SYS_REG_CNTV_CVAL_EL0 = 0xdf1a, - HV_SYS_REG_SP_EL1 = 0xe208, + DBGBVR0_EL1 = 0x8004, + DBGBCR0_EL1 = 0x8005, + DBGWVR0_EL1 = 0x8006, + DBGWCR0_EL1 = 0x8007, + DBGBVR1_EL1 = 0x800c, + DBGBCR1_EL1 = 0x800d, + DBGWVR1_EL1 = 0x800e, + DBGWCR1_EL1 = 0x800f, + MDCCINT_EL1 = 0x8010, + MDSCR_EL1 = 0x8012, + DBGBVR2_EL1 = 0x8014, + DBGBCR2_EL1 = 0x8015, + DBGWVR2_EL1 = 0x8016, + DBGWCR2_EL1 = 0x8017, + DBGBVR3_EL1 = 0x801c, + DBGBCR3_EL1 = 0x801d, + DBGWVR3_EL1 = 0x801e, + DBGWCR3_EL1 = 0x801f, + DBGBVR4_EL1 = 0x8024, + DBGBCR4_EL1 = 0x8025, + DBGWVR4_EL1 = 0x8026, + DBGWCR4_EL1 = 0x8027, + DBGBVR5_EL1 = 0x802c, + DBGBCR5_EL1 = 0x802d, + DBGWVR5_EL1 = 0x802e, + DBGWCR5_EL1 = 0x802f, + DBGBVR6_EL1 = 0x8034, + DBGBCR6_EL1 = 0x8035, + DBGWVR6_EL1 = 0x8036, + DBGWCR6_EL1 = 0x8037, + DBGBVR7_EL1 = 0x803c, + DBGBCR7_EL1 = 0x803d, + DBGWVR7_EL1 = 0x803e, + DBGWCR7_EL1 = 0x803f, + DBGBVR8_EL1 = 0x8044, + DBGBCR8_EL1 = 0x8045, + DBGWVR8_EL1 = 0x8046, + DBGWCR8_EL1 = 0x8047, + DBGBVR9_EL1 = 0x804c, + DBGBCR9_EL1 = 0x804d, + DBGWVR9_EL1 = 0x804e, + DBGWCR9_EL1 = 0x804f, + DBGBVR10_EL1 = 0x8054, + DBGBCR10_EL1 = 0x8055, + DBGWVR10_EL1 = 0x8056, + DBGWCR10_EL1 = 0x8057, + DBGBVR11_EL1 = 0x805c, + DBGBCR11_EL1 = 0x805d, + DBGWVR11_EL1 = 0x805e, + DBGWCR11_EL1 = 0x805f, + DBGBVR12_EL1 = 0x8064, + DBGBCR12_EL1 = 0x8065, + DBGWVR12_EL1 = 0x8066, + DBGWCR12_EL1 = 0x8067, + DBGBVR13_EL1 = 0x806c, + DBGBCR13_EL1 = 0x806d, + DBGWVR13_EL1 = 0x806e, + DBGWCR13_EL1 = 0x806f, + DBGBVR14_EL1 = 0x8074, + DBGBCR14_EL1 = 0x8075, + DBGWVR14_EL1 = 0x8076, + DBGWCR14_EL1 = 0x8077, + DBGBVR15_EL1 = 0x807c, + DBGBCR15_EL1 = 0x807d, + DBGWVR15_EL1 = 0x807e, + DBGWCR15_EL1 = 0x807f, + MIDR_EL1 = 0xc000, + MPIDR_EL1 = 0xc005, + ID_AA64PFR0_EL1 = 0xc020, + ID_AA64PFR1_EL1 = 0xc021, + ID_AA64DFR0_EL1 = 0xc028, + ID_AA64DFR1_EL1 = 0xc029, + ID_AA64ISAR0_EL1 = 0xc030, + ID_AA64ISAR1_EL1 = 0xc031, + ID_AA64MMFR0_EL1 = 0xc038, + ID_AA64MMFR1_EL1 = 0xc039, + ID_AA64MMFR2_EL1 = 0xc03a, + SCTLR_EL1 = 0xc080, + CPACR_EL1 = 0xc082, + TTBR0_EL1 = 0xc100, + TTBR1_EL1 = 0xc101, + TCR_EL1 = 0xc102, + APIAKEYLO_EL1 = 0xc108, + APIAKEYHI_EL1 = 0xc109, + APIBKEYLO_EL1 = 0xc10a, + APIBKEYHI_EL1 = 0xc10b, + APDAKEYLO_EL1 = 0xc110, + APDAKEYHI_EL1 = 0xc111, + APDBKEYLO_EL1 = 0xc112, + APDBKEYHI_EL1 = 0xc113, + APGAKEYLO_EL1 = 0xc118, + APGAKEYHI_EL1 = 0xc119, + SPSR_EL1 = 0xc200, + ELR_EL1 = 0xc201, + SP_EL0 = 0xc208, + AFSR0_EL1 = 0xc288, + AFSR1_EL1 = 0xc289, + ESR_EL1 = 0xc290, + FAR_EL1 = 0xc300, + PAR_EL1 = 0xc3a0, + MAIR_EL1 = 0xc510, + AMAIR_EL1 = 0xc518, + VBAR_EL1 = 0xc600, + CONTEXTIDR_EL1 = 0xc681, + TPIDR_EL1 = 0xc684, + CNTKCTL_EL1 = 0xc708, + CSSELR_EL1 = 0xd000, + TPIDR_EL0 = 0xde82, + TPIDRRO_EL0 = 0xde83, + CNTV_CTL_EL0 = 0xdf19, + CNTV_CVAL_EL0 = 0xdf1a, + SP_EL1 = 0xe208, } - enum hv_memory_flags_t : ulong + enum HvMemoryFlags : ulong { - HV_MEMORY_READ = 1UL << 0, - HV_MEMORY_WRITE = 1UL << 1, - HV_MEMORY_EXEC = 1UL << 2 + Read = 1UL << 0, + Write = 1UL << 1, + Exec = 1UL << 2, } - enum hv_result_t : uint + enum HvResult : uint { - HV_SUCCESS = 0, - HV_ERROR = 0xfae94001, - HV_BUSY = 0xfae94002, - HV_BAD_ARGUMENT = 0xfae94003, - HV_NO_RESOURCES = 0xfae94005, - HV_NO_DEVICE = 0xfae94006, - HV_DENIED = 0xfae94007, - HV_UNSUPPORTED = 0xfae9400f + Success = 0, + Error = 0xfae94001, + Busy = 0xfae94002, + BadArgument = 0xfae94003, + NoResources = 0xfae94005, + NoDevice = 0xfae94006, + Denied = 0xfae94007, + Unsupported = 0xfae9400f, } - enum hv_interrupt_type_t : uint + enum HvInterruptType : uint { - HV_INTERRUPT_TYPE_IRQ, - HV_INTERRUPT_TYPE_FIQ + IRQ, + FIQ, } - struct hv_simd_fp_uchar16_t + struct HvSimdFPUchar16 { public ulong Low; public ulong High; @@ -247,9 +246,9 @@ namespace Ryujinx.Cpu.AppleHv static class HvResultExtensions { - public static void ThrowOnError(this hv_result_t result) + public static void ThrowOnError(this HvResult result) { - if (result != hv_result_t.HV_SUCCESS) + if (result != HvResult.Success) { throw new Exception($"Unexpected result \"{result}\"."); } @@ -261,60 +260,60 @@ namespace Ryujinx.Cpu.AppleHv public const string LibraryName = "/System/Library/Frameworks/Hypervisor.framework/Hypervisor"; [LibraryImport(LibraryName, SetLastError = true)] - public static partial hv_result_t hv_vm_get_max_vcpu_count(out uint max_vcpu_count); + public static partial HvResult hv_vm_get_max_vcpu_count(out uint max_vcpu_count); [LibraryImport(LibraryName, SetLastError = true)] - public static partial hv_result_t hv_vm_create(IntPtr config); + public static partial HvResult hv_vm_create(IntPtr config); [LibraryImport(LibraryName, SetLastError = true)] - public static partial hv_result_t hv_vm_destroy(); + public static partial HvResult hv_vm_destroy(); [LibraryImport(LibraryName, SetLastError = true)] - public static partial hv_result_t hv_vm_map(ulong addr, ulong ipa, ulong size, hv_memory_flags_t flags); + public static partial HvResult hv_vm_map(ulong addr, ulong ipa, ulong size, HvMemoryFlags flags); [LibraryImport(LibraryName, SetLastError = true)] - public static partial hv_result_t hv_vm_unmap(ulong ipa, ulong size); + public static partial HvResult hv_vm_unmap(ulong ipa, ulong size); [LibraryImport(LibraryName, SetLastError = true)] - public static partial hv_result_t hv_vm_protect(ulong ipa, ulong size, hv_memory_flags_t flags); + public static partial HvResult hv_vm_protect(ulong ipa, ulong size, HvMemoryFlags flags); [LibraryImport(LibraryName, SetLastError = true)] - public unsafe static partial hv_result_t hv_vcpu_create(out ulong vcpu, ref hv_vcpu_exit_t* exit, IntPtr config); + public unsafe static partial HvResult hv_vcpu_create(out ulong vcpu, ref HvVcpuExit* exit, IntPtr config); [LibraryImport(LibraryName, SetLastError = true)] - public unsafe static partial hv_result_t hv_vcpu_destroy(ulong vcpu); + public unsafe static partial HvResult hv_vcpu_destroy(ulong vcpu); [LibraryImport(LibraryName, SetLastError = true)] - public static partial hv_result_t hv_vcpu_run(ulong vcpu); + public static partial HvResult hv_vcpu_run(ulong vcpu); [LibraryImport(LibraryName, SetLastError = true)] - public static partial hv_result_t hv_vcpus_exit(ref ulong vcpus, uint vcpu_count); + public static partial HvResult hv_vcpus_exit(ref ulong vcpus, uint vcpu_count); [LibraryImport(LibraryName, SetLastError = true)] - public static partial hv_result_t hv_vcpu_set_vtimer_mask(ulong vcpu, [MarshalAs(UnmanagedType.Bool)] bool vtimer_is_masked); + public static partial HvResult hv_vcpu_set_vtimer_mask(ulong vcpu, [MarshalAs(UnmanagedType.Bool)] bool vtimer_is_masked); [LibraryImport(LibraryName, SetLastError = true)] - public static partial hv_result_t hv_vcpu_get_reg(ulong vcpu, hv_reg_t reg, out ulong value); + public static partial HvResult hv_vcpu_get_reg(ulong vcpu, HvReg reg, out ulong value); [LibraryImport(LibraryName, SetLastError = true)] - public static partial hv_result_t hv_vcpu_set_reg(ulong vcpu, hv_reg_t reg, ulong value); + public static partial HvResult hv_vcpu_set_reg(ulong vcpu, HvReg reg, ulong value); [LibraryImport(LibraryName, SetLastError = true)] - public static partial hv_result_t hv_vcpu_get_simd_fp_reg(ulong vcpu, hv_simd_fp_reg_t reg, out hv_simd_fp_uchar16_t value); + public static partial HvResult hv_vcpu_get_simd_fp_reg(ulong vcpu, HvSimdFPReg reg, out HvSimdFPUchar16 value); [LibraryImport(LibraryName, SetLastError = true)] - public static partial hv_result_t hv_vcpu_set_simd_fp_reg(ulong vcpu, hv_simd_fp_reg_t reg, hv_simd_fp_uchar16_t value); // DO NOT USE DIRECTLY! + public static partial HvResult hv_vcpu_set_simd_fp_reg(ulong vcpu, HvSimdFPReg reg, HvSimdFPUchar16 value); // DO NOT USE DIRECTLY! [LibraryImport(LibraryName, SetLastError = true)] - public static partial hv_result_t hv_vcpu_get_sys_reg(ulong vcpu, hv_sys_reg_t reg, out ulong value); + public static partial HvResult hv_vcpu_get_sys_reg(ulong vcpu, HvSysReg reg, out ulong value); [LibraryImport(LibraryName, SetLastError = true)] - public static partial hv_result_t hv_vcpu_set_sys_reg(ulong vcpu, hv_sys_reg_t reg, ulong value); + public static partial HvResult hv_vcpu_set_sys_reg(ulong vcpu, HvSysReg reg, ulong value); [LibraryImport(LibraryName, SetLastError = true)] - public static partial hv_result_t hv_vcpu_get_pending_interrupt(ulong vcpu, hv_interrupt_type_t type, [MarshalAs(UnmanagedType.Bool)] out bool pending); + public static partial HvResult hv_vcpu_get_pending_interrupt(ulong vcpu, HvInterruptType type, [MarshalAs(UnmanagedType.Bool)] out bool pending); [LibraryImport(LibraryName, SetLastError = true)] - public static partial hv_result_t hv_vcpu_set_pending_interrupt(ulong vcpu, hv_interrupt_type_t type, [MarshalAs(UnmanagedType.Bool)] bool pending); + public static partial HvResult hv_vcpu_set_pending_interrupt(ulong vcpu, HvInterruptType type, [MarshalAs(UnmanagedType.Bool)] bool pending); } -}
\ No newline at end of file +} |