Hardware/WinRing0.cs
changeset 201 958e9fe8afdf
parent 196 5e9a8595296c
     1.1 --- a/Hardware/WinRing0.cs	Mon Sep 27 23:48:41 2010 +0000
     1.2 +++ b/Hardware/WinRing0.cs	Thu Sep 30 16:51:09 2010 +0000
     1.3 @@ -90,10 +90,13 @@
     1.4      public delegate bool ReadPciConfigDwordExDelegate(uint pciAddress, 
     1.5        uint regAddress, out uint value);
     1.6      public delegate bool WritePciConfigDwordExDelegate(uint pciAddress, 
     1.7 -      uint regAddress, uint value);
     1.8 +      uint regAddress, uint value);    
     1.9 +    public delegate bool RdtscDelegate(out uint eax, out uint edx);
    1.10      public delegate bool RdtscTxDelegate(out uint eax, out uint edx,
    1.11 +      UIntPtr threadAffinityMask);    
    1.12 +    public delegate bool WrmsrDelegate(uint index, uint eax, uint edx);
    1.13 +    public delegate bool WrmsrTxDelegate(uint index, uint eax, uint edx,
    1.14        UIntPtr threadAffinityMask);
    1.15 -    public delegate bool RdtscDelegate(out uint eax, out uint edx);
    1.16  
    1.17      private static readonly InitializeOlsDelegate InitializeOls = 
    1.18        CreateDelegate<InitializeOlsDelegate>("InitializeOls");
    1.19 @@ -116,10 +119,14 @@
    1.20        CreateDelegate<ReadPciConfigDwordExDelegate>("ReadPciConfigDwordEx");
    1.21      public static readonly WritePciConfigDwordExDelegate WritePciConfigDwordEx =
    1.22        CreateDelegate<WritePciConfigDwordExDelegate>("WritePciConfigDwordEx");
    1.23 -    public static readonly RdtscTxDelegate RdtscTx =
    1.24 -      CreateDelegate<RdtscTxDelegate>("RdtscTx");
    1.25      public static readonly RdtscDelegate Rdtsc =
    1.26        CreateDelegate<RdtscDelegate>("Rdtsc");
    1.27 +    public static readonly RdtscTxDelegate RdtscTx =
    1.28 +      CreateDelegate<RdtscTxDelegate>("RdtscTx");    
    1.29 +    public static readonly WrmsrDelegate Wrmsr =
    1.30 +      CreateDelegate<WrmsrDelegate>("Wrmsr");
    1.31 +    public static readonly WrmsrTxDelegate WrmsrTx =
    1.32 +      CreateDelegate<WrmsrTxDelegate>("WrmsrTx");
    1.33   
    1.34      private static T CreateDelegate<T>(string entryPoint) where T : class {
    1.35        DllImportAttribute attribute = new DllImportAttribute(GetDllName());