VirtualBox

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


Ignore:
Timestamp:
Jul 9, 2009 5:06:40 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
49865
Message:

iprt/asm.h: Remvoed ASMAtomicXchgU128 as it is causing trouble for genksyms in the linux kernel. See #4102.

File:
1 edited

Legend:

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

    r14831 r21451  
    552552    CHECKVAL(s.u64Dummy1, 0x1122334455667788ULL, "%#llx");
    553553}
    554 
    555 
    556 #ifdef RT_ARCH_AMD64
    557 static void tstASMAtomicXchgU128(void)
    558 {
    559     struct
    560     {
    561         RTUINT128U  u128Dummy0;
    562         RTUINT128U  u128;
    563         RTUINT128U  u128Dummy1;
    564     } s;
    565     RTUINT128U u128Ret;
    566     RTUINT128U u128Arg;
    567 
    568 
    569     s.u128Dummy0.s.Lo = s.u128Dummy0.s.Hi = 0x1122334455667788;
    570     s.u128.s.Lo = 0;
    571     s.u128.s.Hi = 0;
    572     s.u128Dummy1 = s.u128Dummy0;
    573 
    574     u128Arg.s.Lo = 1;
    575     u128Arg.s.Hi = 0;
    576     u128Ret.u = ASMAtomicXchgU128(&s.u128.u, u128Arg.u);
    577     CHECKVAL(u128Ret.s.Lo, 0ULL, "%#llx");
    578     CHECKVAL(u128Ret.s.Hi, 0ULL, "%#llx");
    579     CHECKVAL(s.u128.s.Lo, 1ULL, "%#llx");
    580     CHECKVAL(s.u128.s.Hi, 0ULL, "%#llx");
    581 
    582     u128Arg.s.Lo = 0;
    583     u128Arg.s.Hi = 0;
    584     u128Ret.u = ASMAtomicXchgU128(&s.u128.u, u128Arg.u);
    585     CHECKVAL(u128Ret.s.Lo, 1ULL, "%#llx");
    586     CHECKVAL(u128Ret.s.Hi, 0ULL, "%#llx");
    587     CHECKVAL(s.u128.s.Lo, 0ULL, "%#llx");
    588     CHECKVAL(s.u128.s.Hi, 0ULL, "%#llx");
    589 
    590     u128Arg.s.Lo = ~0ULL;
    591     u128Arg.s.Hi = ~0ULL;
    592     u128Ret.u = ASMAtomicXchgU128(&s.u128.u, u128Arg.u);
    593     CHECKVAL(u128Ret.s.Lo, 0ULL, "%#llx");
    594     CHECKVAL(u128Ret.s.Hi, 0ULL, "%#llx");
    595     CHECKVAL(s.u128.s.Lo, ~0ULL, "%#llx");
    596     CHECKVAL(s.u128.s.Hi, ~0ULL, "%#llx");
    597 
    598 
    599     u128Arg.s.Lo = 0xfedcba0987654321ULL;
    600     u128Arg.s.Hi = 0x8897a6b5c4d3e2f1ULL;
    601     u128Ret.u = ASMAtomicXchgU128(&s.u128.u, u128Arg.u);
    602     CHECKVAL(u128Ret.s.Lo, ~0ULL, "%#llx");
    603     CHECKVAL(u128Ret.s.Hi, ~0ULL, "%#llx");
    604     CHECKVAL(s.u128.s.Lo, 0xfedcba0987654321ULL, "%#llx");
    605     CHECKVAL(s.u128.s.Hi, 0x8897a6b5c4d3e2f1ULL, "%#llx");
    606 
    607     CHECKVAL(s.u128Dummy0.s.Lo, 0x1122334455667788, "%#llx");
    608     CHECKVAL(s.u128Dummy0.s.Hi, 0x1122334455667788, "%#llx");
    609     CHECKVAL(s.u128Dummy1.s.Lo, 0x1122334455667788, "%#llx");
    610     CHECKVAL(s.u128Dummy1.s.Hi, 0x1122334455667788, "%#llx");
    611 }
    612 #endif
    613554
    614555
     
    12401181    tstASMAtomicXchgU32();
    12411182    tstASMAtomicXchgU64();
    1242 #ifdef RT_ARCH_AMD64
    1243     tstASMAtomicXchgU128();
    1244 #endif
    12451183    tstASMAtomicXchgPtr();
    12461184    tstASMAtomicCmpXchgU32();
Note: See TracChangeset for help on using the changeset viewer.

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