OXIESEC PANEL
- Current Dir:
/
/
usr
/
src
/
linux-headers-4.15.0-197
/
arch
/
h8300
/
include
/
asm
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
11/17/2022 06:42:15 AM
rwxr-xr-x
📄
Kbuild
1.13 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
atomic.h
2.47 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
bitops.h
4.45 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
bug.h
263 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
byteorder.h
148 bytes
11/01/2022 04:52:05 PM
rw-r--r--
📄
cache.h
281 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
cmpxchg.h
1.49 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
dma-mapping.h
269 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
elf.h
2.66 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
flat.h
1.1 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hash.h
1.63 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
io.h
1.44 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
irq.h
555 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
irqflags.h
1.88 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
kgdb.h
1.04 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
page.h
485 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
page_offset.h
37 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
pci.h
421 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
pgtable.h
1.7 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
processor.h
3.17 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ptrace.h
1.03 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
segment.h
886 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
signal.h
520 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
smp.h
32 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
string.h
389 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
switch_to.h
1.72 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
syscall.h
1.03 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
thread_info.h
3.26 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tlb.h
166 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
traps.h
1.06 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
uaccess.h
1.02 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
user.h
3.34 KB
01/28/2018 09:20:33 PM
rw-r--r--
Editing: cmpxchg.h
Close
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __ARCH_H8300_CMPXCHG__ #define __ARCH_H8300_CMPXCHG__ #include <linux/irqflags.h> #define xchg(ptr, x) \ ((__typeof__(*(ptr)))__xchg((unsigned long)(x), (ptr), \ sizeof(*(ptr)))) struct __xchg_dummy { unsigned long a[100]; }; #define __xg(x) ((volatile struct __xchg_dummy *)(x)) static inline unsigned long __xchg(unsigned long x, volatile void *ptr, int size) { unsigned long tmp, flags; local_irq_save(flags); switch (size) { case 1: __asm__ __volatile__ ("mov.b %2,%0\n\t" "mov.b %1,%2" : "=&r" (tmp) : "r" (x), "m" (*__xg(ptr))); break; case 2: __asm__ __volatile__ ("mov.w %2,%0\n\t" "mov.w %1,%2" : "=&r" (tmp) : "r" (x), "m" (*__xg(ptr))); break; case 4: __asm__ __volatile__ ("mov.l %2,%0\n\t" "mov.l %1,%2" : "=&r" (tmp) : "r" (x), "m" (*__xg(ptr))); break; default: tmp = 0; } local_irq_restore(flags); return tmp; } #include <asm-generic/cmpxchg-local.h> /* * cmpxchg_local and cmpxchg64_local are atomic wrt current CPU. Always make * them available. */ #define cmpxchg_local(ptr, o, n) \ ((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), \ (unsigned long)(o), \ (unsigned long)(n), \ sizeof(*(ptr)))) #define cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o), (n)) #ifndef CONFIG_SMP #include <asm-generic/cmpxchg.h> #endif #define atomic_xchg(v, new) (xchg(&((v)->counter), new)) #endif /* __ARCH_H8300_CMPXCHG__ */