!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g. PHP/5.2.4-2ubuntu5.12 

uname -a: Linux forum.circlefusion.com 2.6.24-19-server #1 SMP Wed Jun 18 15:18:00 UTC 2008 i686 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/src/linux-headers-2.6.24-28/include/asm-mips/   drwxr-xr-x
Free 1.98 GB of 97.11 GB (2.04%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     cmpxchg.h (2.69 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 * Copyright (C) 2003, 06, 07 by Ralf Baechle (ralf@linux-mips.org)
 */
#ifndef __ASM_CMPXCHG_H
#define __ASM_CMPXCHG_H

#include <linux/irqflags.h>

#define __HAVE_ARCH_CMPXCHG 1

#define __cmpxchg_asm(ld, st, m, old, new)                \
({                                    \
    __typeof(*(m)) __ret;                        \
                                    \
    if (cpu_has_llsc && R10000_LLSC_WAR) {                \
        __asm__ __volatile__(                    \
        "    .set    push                \n"    \
        "    .set    noat                \n"    \
        "    .set    mips3                \n"    \
        "1:    " ld "    %0, %2        # __cmpxchg_asm    \n"    \
        "    bne    %0, %z3, 2f            \n"    \
        "    .set    mips0                \n"    \
        "    move    $1, %z4                \n"    \
        "    .set    mips3                \n"    \
        "    " st "    $1, %1                \n"    \
        "    beqzl    $1, 1b                \n"    \
        "2:                        \n"    \
        "    .set    pop                \n"    \
        : "=&r" (__ret), "=R" (*m)                \
        : "R" (*m), "Jr" (old), "Jr" (new)            \
        : "memory");                        \
    } else if (cpu_has_llsc) {                    \
        __asm__ __volatile__(                    \
        "    .set    push                \n"    \
        "    .set    noat                \n"    \
        "    .set    mips3                \n"    \
        "1:    " ld "    %0, %2        # __cmpxchg_asm    \n"    \
        "    bne    %0, %z3, 2f            \n"    \
        "    .set    mips0                \n"    \
        "    move    $1, %z4                \n"    \
        "    .set    mips3                \n"    \
        "    " st "    $1, %1                \n"    \
        "    beqz    $1, 3f                \n"    \
        "2:                        \n"    \
        "    .subsection 2                \n"    \
        "3:    b    1b                \n"    \
        "    .previous                \n"    \
        "    .set    pop                \n"    \
        : "=&r" (__ret), "=R" (*m)                \
        : "R" (*m), "Jr" (old), "Jr" (new)            \
        : "memory");                        \
    } else {                            \
        unsigned long __flags;                    \
                                    \
        raw_local_irq_save(__flags);                \
        __ret = *m;                        \
        if (__ret == old)                    \
            *m = new;                    \
        raw_local_irq_restore(__flags);                \
    }                                \
                                    \
    __ret;                                \
})

/*
 * This function doesn't exist, so you'll get a linker error
 * if something tries to do an invalid cmpxchg().
 */
extern void __cmpxchg_called_with_bad_pointer(void);

#define __cmpxchg(ptr, old, new, barrier)                \
({                                    \
    __typeof__(ptr) __ptr = (ptr);                    \
    __typeof__(*(ptr)) __old = (old);                \
    __typeof__(*(ptr)) __new = (new);                \
    __typeof__(*(ptr)) __res = 0;                    \
                                    \
    barrier;                            \
                                    \
    switch (sizeof(*(__ptr))) {                    \
    case 4:                                \
        __res = __cmpxchg_asm("ll", "sc", __ptr, __old, __new);    \
        break;                            \
    case 8:                                \
        if (sizeof(long) == 8) {                \
            __res = __cmpxchg_asm("lld", "scd", __ptr,    \
                       __old, __new);        \
            break;                        \
        }                            \
    default:                            \
        __cmpxchg_called_with_bad_pointer();            \
        break;                            \
    }                                \
                                    \
    barrier;                            \
                                    \
    __res;                                \
})

#define cmpxchg(ptr, old, new)        __cmpxchg(ptr, old, new, smp_llsc_mb())
#define cmpxchg_local(ptr, old, new)    __cmpxchg(ptr, old, new, )

#endif /* __ASM_CMPXCHG_H */

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0117 ]--