VirtualBox

Changeset 8868

Show
Ignore:
Timestamp:
05/16/08 09:43:10 (3 months ago)
Author:
vboxsync
Message:

Base & extended model corrections.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/VBox/VMM/CPUM.cpp

    r8815 r8868  
    11351135                        "Brand ID:                        %#04x\n", 
    11361136                        (uEAX >> 8) & 0xf, (uEAX >> 20) & 0x7f, ((uEAX >> 8) & 0xf) + (((uEAX >> 8) & 0xf) == 0xf ? (uEAX >> 20) & 0x7f : 0), 
    1137                         (uEAX >> 4) & 0xf, (uEAX >> 16) & 0x0f, ((uEAX >> 4) & 0xf) | ((((uEAX >> 4) & 0xf) == 0xf ? (uEAX >> 16) & 0x0f : 0) << 4), 
     1137                        (uEAX >> 4) & 0xf, (uEAX >> 16) & 0x0f, ((uEAX >> 4) & 0xf) | ((((uEAX >> 8) & 0xf) == 0xf ? (uEAX >> 16) & 0x0f : 0) << 4), 
    11381138                        (uEAX >> 0) & 0xf, 
    11391139                        (Guest.ebx >> 24) & 0xff, 
  • trunk/src/VBox/VMM/HWACCM.cpp

    r8860 r8868  
    449449             */ 
    450450            uint32_t u32Dummy; 
    451             uint32_t u32Version, u32Family, u32Model, u32Stepping
     451            uint32_t u32Version, u32Family, u32Model, u32Stepping, u32BaseFamily
    452452            ASMCpuId(1, &u32Version, &u32Dummy, &u32Dummy, &u32Dummy); 
    453             u32Family    = ((u32Version >> 8) & 0xf) + (((u32Version >> 8) & 0xf) == 0xf ? (u32Version >> 20) & 0x7f : 0); 
     453            u32BaseFamily= (u32Version >> 8) & 0xf; 
     454            u32Family    = u32BaseFamily + (u32BaseFamily == 0xf ? ((u32Version >> 20) & 0x7f) : 0); 
    454455            u32Model     = ((u32Version >> 4) & 0xf); 
    455             u32Model     = u32Model | ((u32Model == 0xf ? (u32Version >> 16) & 0x0f : 0) << 4); 
     456            u32Model     = u32Model | ((u32BaseFamily == 0xf ? (u32Version >> 16) & 0x0f : 0) << 4); 
    456457            u32Stepping  = u32Version & 0xf; 
    457458            if (    u32Family == 0xf 
  • trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp

    r8864 r8868  
    159159     */ 
    160160    uint32_t u32Dummy; 
    161     uint32_t u32Version, u32Family, u32Model, u32Stepping
     161    uint32_t u32Version, u32Family, u32Model, u32Stepping, u32BaseFamily
    162162    ASMCpuId(1, &u32Version, &u32Dummy, &u32Dummy, &u32Dummy); 
    163     u32Family    = ((u32Version >> 8) & 0xf) + (((u32Version >> 8) & 0xf) == 0xf ? (u32Version >> 20) & 0x7f : 0); 
     163    u32BaseFamily= (u32Version >> 8) & 0xf; 
     164    u32Family    = u32BaseFamily + (u32BaseFamily == 0xf ? ((u32Version >> 20) & 0x7f) : 0); 
    164165    u32Model     = ((u32Version >> 4) & 0xf); 
    165     u32Model     = u32Model | ((u32Model == 0xf ? (u32Version >> 16) & 0x0f : 0) << 4); 
     166    u32Model     = u32Model | ((u32BaseFamily == 0xf ? (u32Version >> 16) & 0x0f : 0) << 4); 
    166167    u32Stepping  = u32Version & 0xf; 
    167168    if (    u32Family == 0xf 

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy