VirtualBox

Changeset 60323 in vbox for trunk


Ignore:
Timestamp:
Apr 5, 2016 12:34:02 AM (9 years ago)
Author:
vboxsync
Message:

include/iprt/asm-amd64-x86-watcom-16.h: Some simple CPUID functions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/asm-amd64-x86-watcom-16.h

    r60230 r60323  
    219219/* ASMCpuIdExSlow: Always implemented externally. */
    220220/* ASMCpuId_ECX_EDX: Implemented externally, too many parameters. */
    221 /* ASMCpuId_EAX: Implemented externally, lazy bird. */
    222 /* ASMCpuId_EBX: Implemented externally, lazy bird. */
    223 /* ASMCpuId_ECX: Implemented externally, lazy bird. */
    224 /* ASMCpuId_EDX: Implemented externally, lazy bird. */
     221
     222#undef      ASMCpuId_EAX
     223#pragma aux ASMCpuId_EAX = \
     224    ".586" \
     225    "xchg ax, dx" \
     226    "shl eax, 16" \
     227    "mov ax, dx" \
     228    "cpuid" \
     229    "mov edx, eax" \
     230    "shr edx, 16" \
     231    parm [ax dx] \
     232    value [ax dx] \
     233    modify exact [ax bx cx dx];
     234
     235#undef      ASMCpuId_EBX
     236#pragma aux ASMCpuId_EBX = \
     237    ".586" \
     238    "xchg ax, dx" \
     239    "shl eax, 16" \
     240    "mov ax, dx" \
     241    "cpuid" \
     242    "mov ax, bx" \
     243    "shr ebx, 16" \
     244    parm [ax dx] \
     245    value [ax bx] \
     246    modify exact [ax bx cx dx];
     247
     248#undef      ASMCpuId_ECX
     249#pragma aux ASMCpuId_ECX = \
     250    ".586" \
     251    "xchg ax, dx" \
     252    "shl eax, 16" \
     253    "mov ax, dx" \
     254    "cpuid" \
     255    "mov ax, cx" \
     256    "shr ecx, 16" \
     257    parm [ax dx] \
     258    value [ax cx] \
     259    modify exact [ax bx cx dx];
     260
     261#undef      ASMCpuId_EDX
     262#pragma aux ASMCpuId_EDX = \
     263    ".586" \
     264    "xchg ax, dx" \
     265    "shl eax, 16" \
     266    "mov ax, dx" \
     267    "cpuid" \
     268    "mov ax, dx" \
     269    "shr edx, 16" \
     270    parm [ax dx] \
     271    value [ax dx] \
     272    modify exact [ax bx cx dx];
     273
    225274/* ASMHasCpuId: MSC inline in main source file. */
    226275/* ASMGetApicId: Implemented externally, lazy bird. */
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