__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
/* SPDX-License-Identifier: GPL-2.0 */

#ifndef __ASM_CSKY_BARRIER_H
#define __ASM_CSKY_BARRIER_H

#ifndef __ASSEMBLY__

#define nop()	asm volatile ("nop\n":::"memory")

#ifdef CONFIG_SMP

/*
 * bar.brwarws: ordering barrier for all load/store instructions
 *              before/after
 *
 * |31|30 26|25 21|20 16|15  10|9   5|4           0|
 *  1  10000 00000 00000 100001	00001 0 bw br aw ar
 *
 * b: before
 * a: after
 * r: read
 * w: write
 *
 * Here are all combinations:
 *
 * bar.brw
 * bar.br
 * bar.bw
 * bar.arw
 * bar.ar
 * bar.aw
 * bar.brwarw
 * bar.brarw
 * bar.bwarw
 * bar.brwar
 * bar.brwaw
 * bar.brar
 * bar.bwaw
 */
#define FULL_FENCE		".long 0x842fc000\n"
#define ACQUIRE_FENCE		".long 0x8427c000\n"
#define RELEASE_FENCE		".long 0x842ec000\n"

#define __bar_brw()	asm volatile (".long 0x842cc000\n":::"memory")
#define __bar_br()	asm volatile (".long 0x8424c000\n":::"memory")
#define __bar_bw()	asm volatile (".long 0x8428c000\n":::"memory")
#define __bar_arw()	asm volatile (".long 0x8423c000\n":::"memory")
#define __bar_ar()	asm volatile (".long 0x8421c000\n":::"memory")
#define __bar_aw()	asm volatile (".long 0x8422c000\n":::"memory")
#define __bar_brwarw()	asm volatile (FULL_FENCE:::"memory")
#define __bar_brarw()	asm volatile (ACQUIRE_FENCE:::"memory")
#define __bar_bwarw()	asm volatile (".long 0x842bc000\n":::"memory")
#define __bar_brwar()	asm volatile (".long 0x842dc000\n":::"memory")
#define __bar_brwaw()	asm volatile (RELEASE_FENCE:::"memory")
#define __bar_brar()	asm volatile (".long 0x8425c000\n":::"memory")
#define __bar_brar()	asm volatile (".long 0x8425c000\n":::"memory")
#define __bar_bwaw()	asm volatile (".long 0x842ac000\n":::"memory")

#define __smp_mb()	__bar_brwarw()
#define __smp_rmb()	__bar_brar()
#define __smp_wmb()	__bar_bwaw()

#define __smp_acquire_fence()	__bar_brarw()
#define __smp_release_fence()	__bar_brwaw()

#endif /* CONFIG_SMP */

/*
 * sync:        completion barrier, all sync.xx instructions
 *              guarantee the last response received by bus transaction
 *              made by ld/st instructions before sync.s
 * sync.s:      inherit from sync, but also shareable to other cores
 * sync.i:      inherit from sync, but also flush cpu pipeline
 * sync.is:     the same with sync.i + sync.s
 */
#define mb()		asm volatile ("sync\n":::"memory")

#ifdef CONFIG_CPU_HAS_CACHEV2
/*
 * Using three sync.is to prevent speculative PTW
 */
#define sync_is()	asm volatile ("sync.is\nsync.is\nsync.is\n":::"memory")
#endif

#include <asm-generic/barrier.h>

#endif /* __ASSEMBLY__ */
#endif /* __ASM_CSKY_BARRIER_H */

Filemanager

Name Type Size Permission Actions
Kbuild File 346 B 0644
addrspace.h File 231 B 0644
asid.h File 2.38 KB 0644
atomic.h File 4.26 KB 0644
barrier.h File 2.53 KB 0644
bitops.h File 1.29 KB 0644
bug.h File 565 B 0644
cache.h File 861 B 0644
cacheflush.h File 193 B 0644
cachetype.h File 174 B 0644
checksum.h File 944 B 0644
clocksource.h File 159 B 0644
cmpxchg.h File 4.16 KB 0644
elf.h File 2.66 KB 0644
fixmap.h File 747 B 0644
ftrace.h File 629 B 0644
futex.h File 2.54 KB 0644
highmem.h File 1.09 KB 0644
io.h File 1.33 KB 0644
irq_work.h File 208 B 0644
irqflags.h File 1.11 KB 0644
jump_label.h File 1.16 KB 0644
kprobes.h File 1.13 KB 0644
memory.h File 657 B 0644
mmu.h File 216 B 0644
mmu_context.h File 959 B 0644
page.h File 2.34 KB 0644
pci.h File 277 B 0644
perf_event.h File 359 B 0644
pgalloc.h File 1.61 KB 0644
pgtable.h File 6.71 KB 0644
probes.h File 554 B 0644
processor.h File 2.27 KB 0644
ptrace.h File 2.53 KB 0644
reg_ops.h File 382 B 0644
seccomp.h File 283 B 0644
sections.h File 246 B 0644
shmparam.h File 197 B 0644
smp.h File 643 B 0644
spinlock.h File 267 B 0644
spinlock_types.h File 235 B 0644
stackprotector.h File 526 B 0644
string.h File 233 B 0644
switch_to.h File 923 B 0644
syscall.h File 1.32 KB 0644
syscalls.h File 351 B 0644
tcm.h File 665 B 0644
thread_info.h File 2.74 KB 0644
tlb.h File 179 B 0644
tlbflush.h File 824 B 0644
traps.h File 1.41 KB 0644
uaccess.h File 4.86 KB 0644
unistd.h File 164 B 0644
uprobes.h File 669 B 0644
vdso.h File 724 B 0644
vmalloc.h File 90 B 0644
Filemanager