예제 #1
0
        public static bool ReadMsr(uint index, out ulong value, ulong threadAffinityMask)
        {
            ulong mask   = ThreadAffinity.Set(threadAffinityMask);
            bool  result = ReadMsr(index, out value);

            ThreadAffinity.Set(mask);
            return(result);
        }
예제 #2
0
        public static bool WriteMsr(uint index, ulong value, ulong threadAffinityMask)
        {
            ulong mask   = ThreadAffinity.Set(threadAffinityMask);
            bool  result = WriteMsr(index, value);

            ThreadAffinity.Set(mask);
            return(result);
        }
예제 #3
0
        public static bool CpuidTx(uint index, uint ecxValue, out uint eax, out uint ebx, out uint ecx, out uint edx, ulong threadAffinityMask)
        {
            ulong mask = ThreadAffinity.Set(threadAffinityMask);

            if (mask == 0)
            {
                eax = ebx = ecx = edx = 0;
                return(false);
            }

            Cpuid(index, ecxValue, out eax, out ebx, out ecx, out edx);
            ThreadAffinity.Set(mask);
            return(true);
        }
예제 #4
0
 public static ulong ThreadAffinitySet(ulong mask)
 {
     return(ThreadAffinity.Set(mask));
 }