Hardware/WinRing0.cs
changeset 44 c150de283ca0
parent 22 e6832d4b89d2
child 46 f847947b7f8e
     1.1 --- a/Hardware/WinRing0.cs	Sat Feb 13 17:08:36 2010 +0000
     1.2 +++ b/Hardware/WinRing0.cs	Sun Feb 14 20:16:30 2010 +0000
     1.3 @@ -94,6 +94,8 @@
     1.4        uint regAddress, out uint value);
     1.5      public delegate bool WritePciConfigDwordExDelegate(uint pciAddress, 
     1.6        uint regAddress, uint value);
     1.7 +    public delegate bool RdtscPxDelegate(ref uint eax, ref uint edx,
     1.8 +      UIntPtr processAffinityMask);
     1.9  
    1.10      private static InitializeOlsDelegate InitializeOls;
    1.11      private static DeinitializeOlsDelegate DeinitializeOls;
    1.12 @@ -108,7 +110,8 @@
    1.13      public static SetPciMaxBusIndexDelegate SetPciMaxBusIndex;
    1.14      public static FindPciDeviceByIdDelegate FindPciDeviceById;
    1.15      public static ReadPciConfigDwordExDelegate ReadPciConfigDwordEx;
    1.16 -    public static WritePciConfigDwordExDelegate WritePciConfigDwordEx;    
    1.17 +    public static WritePciConfigDwordExDelegate WritePciConfigDwordEx;
    1.18 +    public static RdtscPxDelegate RdtscPx;
    1.19  
    1.20      private static void GetDelegate<T>(string entryPoint, out T newDelegate) 
    1.21        where T : class 
    1.22 @@ -135,6 +138,7 @@
    1.23        GetDelegate("FindPciDeviceById", out FindPciDeviceById);
    1.24        GetDelegate("ReadPciConfigDwordEx", out ReadPciConfigDwordEx);
    1.25        GetDelegate("WritePciConfigDwordEx", out WritePciConfigDwordEx);
    1.26 +      GetDelegate("RdtscPx", out RdtscPx);
    1.27  
    1.28        try {
    1.29          if (InitializeOls != null && InitializeOls())