Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.

Intel PCM v2.10 Windows BSOD

cianfa72
Beginner
1,014 Views

Hi,

I've download Intel PCM v2.10 and built PCM_Win + WinMSRDriver for Win 7 using MS VS Express 2013 IDE.

The build process complete without any errors or warnings, but trying to execute pcm.exe (with Administrator privileges) results in Windows BSOD (Blue Screen of Dead). pcm.exe and msr.sys driver belong to the same folder.

Reading (using WinDBG) the minidump generated upon BSOD it seems the culprit is an Access violation due to the execution of rdmsr into msrmain.c deviceControl()

1: kd> g
Access violation - code c0000005 (!!! second chance !!!)
msr!deviceControl+0x224:
94cc92a4 0f32            rdmsr

Note that pcm.exe built from the previous version (v 2.9) works without any problem using the same driver (msr.sys)

Could you help me ? Thanks

0 Kudos
6 Replies
Bernard
Valued Contributor I
1,014 Views

I think that "Access violation" exception is misleading. On the other hand I think that, msr!deviceControl address space should be checked to see if it resides in ring 0.

0 Kudos
cianfa72
Beginner
1,014 Views

Thanks for replay !

msr!deviceControl address space should be checked to see if it resides in ring 0.

how can I check that running Win 7 target under WinDBG control ?

0 Kudos
Bernard
Valued Contributor I
1,014 Views

You can use full or kernel dump file and inspect memory addresses  range. In addition to that you can issue this command llvm and look for msr!* module address range. You can also issue this command !address 94cc92a4 and see which description windbg returned.

0 Kudos
cianfa72
Beginner
1,014 Views

You can also issue this command !address 94cc92a4 and see which description windbg returned.

here what I get running Intel PCM v2.10 into a Win 7 target under the control on WinDBG (basically Win 7 target runs into a VM hosted by VirtualBox)

0: kd> 
Access violation - code c0000005 (!!! second chance !!!)
msr!deviceControl+0x224:
94b4d2a4 0f32            rdmsr


0: kd> r
eax=00000000 ebx=00000000 ecx=00000c8f edx=00000000 esi=84420030 edi=8438ef10
eip=94b4d2a4 esp=94c8bab0 ebp=94c8bafc iopl=0         nv up ei pl zr na pe nc
cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010346
msr!deviceControl+0x224:
94b4d2a4 0f32            rdmsr

0: kd> lmv a msr
start    end        module name
94b49000 94b50000   msr        (private pdb symbols)  C:\Users\20144620\Documents\Visual Studio 2013\Projects\WinMSRDriver\Win7\Win7Debug\x86\msr.pdb
    Loaded symbol image file: msr.sys
    Image path: msr.sys
    Image name: msr.sys
    Timestamp:        Thu Oct 22 16:38:38 2015 (5628F4EE)
    CheckSum:         00003D95
    ImageSize:        00007000
    Translations:     0000.04b0 0000.04e4 0409.04b0 0409.04e4
	
0: kd> !address 94b4d2a4

Usage:                  Module
Base Address:           94b49000
End Address:            94b50000
Region Size:            00007000
VA Type:                DriverImages
Module name:            msr.sys
Module path:            [\??\C:\msr.sys]
0: kd> lmv a msr
start    end        module name
94b49000 94b50000   msr        (private pdb symbols)  C:\Users\20144620\Documents\Visual Studio 2013\Projects\WinMSRDriver\Win7\Win7Debug\x86\msr.pdb
    Loaded symbol image file: msr.sys
    Image path: msr.sys
    Image name: msr.sys
    Timestamp:        Thu Oct 22 16:38:38 2015 (5628F4EE)
    CheckSum:         00003D95
    ImageSize:        00007000
    Translations:     0000.04b0 0000.04e4 0409.04b0 0409.04e4
0 Kudos
cianfa72
Beginner
1,014 Views

Hi,

building PCM_Win (pcm.exe) from last version of Intel PCM (ver 2.11) it does not show any issue anymore.

Maybe some bug has been fixed :-)

0 Kudos
Thomas_W_Intel
Employee
1,014 Views

Great to hear that PCM works again. Thanks a lot for reporting this.

0 Kudos
Reply