예제 #1
0
            public void Initialize()
            {
                cpu.EnableUncoreCounters();
                // 0x83 = increments by number of outstanding requests every cycle in coherency tracker
                Ring0.WriteMsr(MSR_UNC_ARB_PERFEVTSEL0,
                               GetUncorePerfEvtSelRegisterValue(0x83, 1, false, false, true, false, 0));

                // 0x84 = number of requests allocated in coherency tracker
                Ring0.WriteMsr(MSR_UNC_ARB_PERFEVTSEL1,
                               GetUncorePerfEvtSelRegisterValue(0x84, 1, false, false, true, false, 0));
            }
예제 #2
0
            public void Initialize()
            {
                cpu.EnableUncoreCounters();
                // 0x80 = increments by number of outstanding requests every cycle
                // counts for coherent and non-coherent requests initiated by cores, igpu, or L3
                // only works in counter 0
                Ring0.WriteMsr(MSR_UNC_ARB_PERFEVTSEL0,
                               GetUncorePerfEvtSelRegisterValue(0x80, 1, false, false, true, false, 0));

                // 0x81 = number of requests
                Ring0.WriteMsr(MSR_UNC_ARB_PERFEVTSEL1,
                               GetUncorePerfEvtSelRegisterValue(0x81, 1, false, false, true, false, 0));
            }