[Wine] How should a WIN32 App read MSRs when running under Wine ?

red-ray wineforum-user at winehq.org
Fri Sep 25 05:53:21 CDT 2009


I am trying to get SIV (http://rh-software.com/) to run well on Wine and am wondering what the best way to read MSRs is without making SIV a full winelib app.  Given *nix has type 202 devices such as /dev/cpu/0/msr that can be created my mknod, my first idea was to ask for a wine_mknod() I could call to tidily create these (http://bugs.winehq.org/show_bug.cgi?id=20081).  This was rejected on the grounds Windows programs should not be using mknod().  My next idea was for Wine to either run my kernel driver in kernel mode (I realised this was not going to happen, but I felt a good please to start) or failing that to catch the RDMSR exception, do the appropriate mknod() based on the calling thread affinity, read /dev/cpu/<n>/msr and continue execution (http://bugs.winehq.org/show_bug.cgi?id=20098).  This too is being met with a negative response  :(.  Currently I have run out of ideas as to how to do this in a tidy way.  My code currently does _system( "/bin/mknod ...") which works, but is tacky !

Does anyone know how I can achieve this in a tidy manor without making SIV a winelib app please ?







More information about the wine-users mailing list