__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Cache flush operations for the Hexagon architecture
*
* Copyright (c) 2010-2011, The Linux Foundation. All rights reserved.
*/
#ifndef _ASM_CACHEFLUSH_H
#define _ASM_CACHEFLUSH_H
#include <linux/mm_types.h>
/* Cache flushing:
*
* - flush_cache_all() flushes entire cache
* - flush_cache_mm(mm) flushes the specified mm context's cache lines
* - flush_cache_page(mm, vmaddr, pfn) flushes a single page
* - flush_cache_range(vma, start, end) flushes a range of pages
* - flush_icache_range(start, end) flush a range of instructions
* - flush_dcache_page(pg) flushes(wback&invalidates) a page for dcache
* - flush_icache_pages(vma, pg, nr) flushes(invalidates) nr pages for icache
*
* Need to doublecheck which one is really needed for ptrace stuff to work.
*/
#define LINESIZE 32
#define LINEBITS 5
/*
* Flush Dcache range through current map.
*/
extern void flush_dcache_range(unsigned long start, unsigned long end);
#define flush_dcache_range flush_dcache_range
/*
* Flush Icache range through current map.
*/
extern void flush_icache_range(unsigned long start, unsigned long end);
#define flush_icache_range flush_icache_range
/*
* Memory-management related flushes are there to ensure in non-physically
* indexed cache schemes that stale lines belonging to a given ASID aren't
* in the cache to confuse things. The prototype Hexagon Virtual Machine
* only uses a single ASID for all user-mode maps, which should
* mean that they aren't necessary. A brute-force, flush-everything
* implementation, with the name xxxxx_hexagon() is present in
* arch/hexagon/mm/cache.c, but let's not wire it up until we know
* it is needed.
*/
extern void flush_cache_all_hexagon(void);
/*
* This may or may not ever have to be non-null, depending on the
* virtual machine MMU. For a native kernel, it's definitiely a no-op
*
* This is also the place where deferred cache coherency stuff seems
* to happen, classically... but instead we do it like ia64 and
* clean the cache when the PTE is set.
*
*/
static inline void update_mmu_cache_range(struct vm_fault *vmf,
struct vm_area_struct *vma, unsigned long address,
pte_t *ptep, unsigned int nr)
{
/* generic_ptrace_pokedata doesn't wind up here, does it? */
}
#define update_mmu_cache(vma, addr, ptep) \
update_mmu_cache_range(NULL, vma, addr, ptep, 1)
void copy_to_user_page(struct vm_area_struct *vma, struct page *page,
unsigned long vaddr, void *dst, void *src, int len);
#define copy_to_user_page copy_to_user_page
#define copy_from_user_page(vma, page, vaddr, dst, src, len) \
memcpy(dst, src, len)
extern void hexagon_inv_dcache_range(unsigned long start, unsigned long end);
extern void hexagon_clean_dcache_range(unsigned long start, unsigned long end);
#include <asm-generic/cacheflush.h>
#endif
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Kbuild | File | 193 B | 0644 |
|
| asm-offsets.h | File | 35 B | 0644 |
|
| atomic.h | File | 3.13 KB | 0644 |
|
| bitops.h | File | 6.46 KB | 0644 |
|
| cache.h | File | 555 B | 0644 |
|
| cacheflush.h | File | 2.8 KB | 0644 |
|
| checksum.h | File | 685 B | 0644 |
|
| cmpxchg.h | File | 1.97 KB | 0644 |
|
| delay.h | File | 344 B | 0644 |
|
| dma.h | File | 300 B | 0644 |
|
| elf.h | File | 5.62 KB | 0644 |
|
| exec.h | File | 398 B | 0644 |
|
| fixmap.h | File | 369 B | 0644 |
|
| fpu.h | File | 90 B | 0644 |
|
| futex.h | File | 2.25 KB | 0644 |
|
| hexagon_vm.h | File | 5.77 KB | 0644 |
|
| intrinsics.h | File | 369 B | 0644 |
|
| io.h | File | 2.54 KB | 0644 |
|
| irq.h | File | 576 B | 0644 |
|
| irqflags.h | File | 860 B | 0644 |
|
| kgdb.h | File | 754 B | 0644 |
|
| linkage.h | File | 237 B | 0644 |
|
| mem-layout.h | File | 2.8 KB | 0644 |
|
| mmu.h | File | 490 B | 0644 |
|
| mmu_context.h | File | 1.51 KB | 0644 |
|
| page.h | File | 3.58 KB | 0644 |
|
| perf_event.h | File | 207 B | 0644 |
|
| pgalloc.h | File | 2.64 KB | 0644 |
|
| pgtable.h | File | 10.99 KB | 0644 |
|
| processor.h | File | 2.94 KB | 0644 |
|
| ptrace.h | File | 626 B | 0644 |
|
| setup.h | File | 527 B | 0644 |
|
| smp.h | File | 707 B | 0644 |
|
| spinlock.h | File | 3.22 KB | 0644 |
|
| spinlock_types.h | File | 551 B | 0644 |
|
| string.h | File | 472 B | 0644 |
|
| suspend.h | File | 238 B | 0644 |
|
| switch_to.h | File | 478 B | 0644 |
|
| syscall.h | File | 1.14 KB | 0644 |
|
| syscalls.h | File | 204 B | 0644 |
|
| thread_info.h | File | 3.27 KB | 0644 |
|
| time.h | File | 346 B | 0644 |
|
| timex.h | File | 495 B | 0644 |
|
| tlb.h | File | 253 B | 0644 |
|
| tlbflush.h | File | 1.46 KB | 0644 |
|
| traps.h | File | 410 B | 0644 |
|
| uaccess.h | File | 1.1 KB | 0644 |
|
| unistd.h | File | 244 B | 0644 |
|
| vdso.h | File | 307 B | 0644 |
|
| vermagic.h | File | 299 B | 0644 |
|
| vm_fault.h | File | 359 B | 0644 |
|
| vm_mmu.h | File | 2.75 KB | 0644 |
|
| vmalloc.h | File | 99 B | 0644 |
|