VirtualBox

Changeset 8882 in vbox for trunk/src/VBox/Runtime/testcase


Ignore:
Timestamp:
May 16, 2008 11:55:20 AM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
30917
Message:

Added ASMGetCpuFamily, ASMGetCpuModel and ASMGetCpuStepping to pack up the bit fiddling.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/testcase/tstInlineAsm.cpp

    r8245 r8882  
    182182    {
    183183        ASMCpuId(1, &s.uEAX, &s.uEBX, &s.uECX, &s.uEDX);
    184         RTPrintf("Family:                          %d  \tExtended: %d \tEffectiv: %d\n"
    185                  "Model:                           %d  \tExtended: %d \tEffectiv: %d\n"
     184        RTPrintf("Family:                          %#x \tExtended: %#x \tEffectiv: %#x\n"
     185                 "Model:                           %#x \tExtended: %#x \tEffectiv: %#x\n"
    186186                 "Stepping:                        %d\n"
    187187                 "APIC ID:                         %#04x\n"
     
    189189                 "CLFLUSH Size:                    %d\n"
    190190                 "Brand ID:                        %#04x\n",
    191                  (s.uEAX >> 8) & 0xf, (s.uEAX >> 20) & 0x7f, ((s.uEAX >> 8) & 0xf) + (((s.uEAX >> 8) & 0xf) == 0xf ? (s.uEAX >> 20) & 0x7f : 0),
    192                  (s.uEAX >> 4) & 0xf, (s.uEAX >> 16) & 0x0f, ((s.uEAX >> 4) & 0xf) | (((s.uEAX >> 4) & 0xf) == 0xf ? (s.uEAX >> 16) & 0x0f : 0),
    193                  (s.uEAX >> 0) & 0xf,
     191                 (s.uEAX >> 8) & 0xf, (s.uEAX >> 20) & 0x7f, ASMGetCpuFamily(s.uEAX),
     192                 (s.uEAX >> 4) & 0xf, (s.uEAX >> 16) & 0x0f, ASMGetCpuModel(s.uEAX),
     193                 ASMGetCpuStepping(s.uEAX),
    194194                 (s.uEBX >> 24) & 0xff,
    195195                 (s.uEBX >> 16) & 0xff,
     
    280280    {
    281281        ASMCpuId(0x80000001, &s.uEAX, &s.uEBX, &s.uECX, &s.uEDX);
    282         RTPrintf("Family:                          %d  \tExtended: %d \tEffectiv: %d\n"
    283                  "Model:                           %d  \tExtended: %d \tEffectiv: %d\n"
     282        RTPrintf("Family:                          %#x \tExtended: %#x \tEffectiv: %#x\n"
     283                 "Model:                           %#x \tExtended: %#x \tEffectiv: %#x\n"
    284284                 "Stepping:                        %d\n"
    285285                 "Brand ID:                        %#05x\n",
    286                  (s.uEAX >> 8) & 0xf, (s.uEAX >> 20) & 0x7f, ((s.uEAX >> 8) & 0xf) + (((s.uEAX >> 8) & 0xf) == 0xf ? (s.uEAX >> 20) & 0x7f : 0),
    287                  (s.uEAX >> 4) & 0xf, (s.uEAX >> 16) & 0x0f, ((s.uEAX >> 4) & 0xf) | (((s.uEAX >> 4) & 0xf) == 0xf ? (s.uEAX >> 16) & 0x0f : 0),
    288                  (s.uEAX >> 0) & 0xf,
     286                 (s.uEAX >> 8) & 0xf, (s.uEAX >> 20) & 0x7f, ASMGetCpuFamily(s.uEAX),
     287                 (s.uEAX >> 4) & 0xf, (s.uEAX >> 16) & 0x0f, ASMGetCpuModel(s.uEAX),
     288                 ASMGetCpuStepping(s.uEAX),
    289289                 s.uEBX & 0xfff);
    290290
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette