Results 1 to 4 of 4

Thread: how write the msr

  1. #1

    how write the msr

    Hello, sorry but i'm french, and i search how write my msr on my amd 64 X2 3800+. Can you help my? Thank you.

  2. #2
    Xtreme Member
    Join Date
    Sep 2005
    Location
    Belgrade, Serbia
    Posts
    192
    You need a low-level driver to do so. You may tray to experminent with CrtystalCPUID:

    http://crystalmark.info/software/Cry...D/index-e.html

    You have MSR editor in Function menu.
    Asus P8Z77-V DELUXE + i7-3770K @ 4.6GHz + Noctua NH-D14
    4x4GB Patriot Viper Xtreme Series, Division 2 Edition @ 2133MHz 11-11-11-30-1T
    MSI N570GTX Twin Frozr II/OC

  3. #3
    Yes i have see that but i have don't know use that.
    Can you take a screen shot for show that my? (How read and after write the msr with crystalcpuid)
    Thank you.

  4. #4
    Xtreme Member
    Join Date
    Sep 2005
    Location
    Belgrade, Serbia
    Posts
    192
    First you must know what is yout aim. Next, you must find out what MSR is related with your aim. For example, my aim is to change CPU multiplier. Reading AMD documentation (BIOS and Kernel Developer's Guide for AMD AthlonTM 64 and AMD OpteronTM Processors, Publication # 26094) I have found that MSR 0xC0010041 (page 382) is responsible for multiplier control: bits 5–0 and also bit 16.

    New FID (NewFID)—Bits 5–0. This field is the new FID to transition to. If an attempt is made to write a NewFID value greater than MaxFID in the FIDVID_STATUS register then the MaxFID value is written instead. See Table 83 for FID code translations.


    Initiate FID/VID Change (InitFidVid)—Bits 16. Writing this bit to a 1 initiates a FID/VID change. In a multiprocessor system, only the bootstrap processor sees this bit written as a 1. Writing this bit to a 1 initiates the FID change special bus cycle; in Revision B and earlier revisions, the VID change special bus cycle was also initiated. This is a write-only bit and always reads as 0. The status of the resulting FID/VID change can be determined from the FIDVID_STATUS register.

    Looking at Table 83, i see that multiplier 8 (for example) is coded as 001000b (b stands for binary), or 0x8 in hexadecimal (since CrystalCPUID accepts hexadecimal values). So I change these 6 bits (5-0) from 0xA (that is how multiplier 9 is coded since it is default multiplier for my Opteron 165) to 0x8 (multiplier 8).

    First you must read content of the MSR by hitting button RDMSR, and before you do so, you must supply MSR number, in this case it is 0xC0010041 (0x at the beginning means it is hexadecimal number). Some values will apear. Remember, in this example I will change only bits 5 - 0 and bit 16. Other bits must remain intact unless you are planning something else to do with them. So, I copy&paste values of EDX and EAX from RDMSR part into corresponding fields for WRMSR. And then I just change bits 0-5 from 0xA (001010b) to 0x8 (001000b). Also, I have to set bit 16. See attached images, I have selected positions where changes have been made. After both changes have been made, I can press WRMSR. It is wrong (in this case) to change only bits 5 - 0 and then press WRMSR and after that change bit 16 and press WRMSR. The idea is to make all changes, where needed, and then press WRMSR.

    Remember, you must know bitwise operations well before you do anything. My advice is to first read MSR, convert EDX and EAX part into binary, set corresponding bits, convert into hexadecimal and write MSR. Beware that if you make mistake you could hang your computer and possibly lose data , etc etc ..... Make sure you know what you are doing.
    Attached Images Attached Images
    • File Type: png 1.png (11.2 KB, 285 views)
    • File Type: png 2.png (11.1 KB, 279 views)
    • File Type: png 3.png (28.4 KB, 276 views)
    Last edited by lukija; 05-12-2007 at 12:16 AM.
    Asus P8Z77-V DELUXE + i7-3770K @ 4.6GHz + Noctua NH-D14
    4x4GB Patriot Viper Xtreme Series, Division 2 Edition @ 2133MHz 11-11-11-30-1T
    MSI N570GTX Twin Frozr II/OC

Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •