Emulate MSR_EBC_FREQUENCY_ID patch

爲GuestOS模擬MSR寄存器的讀取。

主要模擬了MSR_EBC_FREQUENCY_ID寄存器。

 

看了一下Intel的寄存器,這個主要是上報Core Clock Frequency 和 System Bus Frequency ,具體可以參考Intel編程手冊。

  /*
   * MSR_EBC_FREQUENCY_ID
   * Conservative value valid for even the basic CPU models.
   * Models 0,1: 000 in bits 23:21 indicating a bus speed of
   * 100MHz, model 2 000 in bits 18:16 indicating 100MHz,
   * and 266MHz for model 3, or 4. Set Core Clock
   * Frequency to System Bus Frequency Ratio to 1 (bits
   * 31:24) even though these are only valid for CPU
   * models > 2, however guests may end up dividing or
   * multiplying by zero otherwise.
   */
 case MSR_EBC_FREQUENCY_ID:
  data = 1 << 24;
  break;

 

這個應該是爲linux以外的操作系統做的,沒看到linux使用這個寄存器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章