cpuid break via hardware virtualisation
                
                
Not much to say, cpuid causes VM-Exit, so whenever cpuid occurs in our 
target, inject int 3 event into Guest.

i3here on - must be set in SoftICE

No MP support due to problem with NMI handling when SoftICE is active.
Disable MP in BIOS if you want to use this tool with SoftICE, as this
tool is designed to work with SoftICE and i3here on...


Requires Intel Hardware Virtualisation technology, and I have no idea
how this will work on AMD!!!!

Did you wonder about finding SecuROM cpuid stuff? Well here it is...

                                        (c) 2008 deroko of ARTeam


ps. there is some code which is designed aswell for MP systems, but
    due to not yet solved issue with NMI that code is not used. 
    Example of such code is ExitEip[ccpu] where ccpu is only
    shortcut for MyKeGetCurrentProcessorNumber() procedure, listed
    in kegetcurrentprocessornumber.c
    
    TaskSwitch code implemented in HandleTaskSwitch is never used
    on single core systems, as windows doesn't perfrom TaskSwitch
    at all (only when NMI or KiTrap08 is executed). 
    
NOTE: DRIVER IS NEVER UNLOADED, as at the time of releasing this
      code I didn't write that stuff yet. You may find some 
      leftovers in unloadme() in vm.c, but it's not done yet...