__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/*
* 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) 1994 - 1999, 2000, 03 Ralf Baechle
* Copyright (C) 1999, 2000 Silicon Graphics, Inc.
*/
#ifndef _ASM_PAGE_H
#define _ASM_PAGE_H
#include <spaces.h>
#include <linux/const.h>
#include <linux/kernel.h>
#include <asm/mipsregs.h>
#include <vdso/page.h>
/*
* This is used for calculating the real page sizes
* for FTLB or VTLB + FTLB configurations.
*/
static inline unsigned int page_size_ftlb(unsigned int mmuextdef)
{
switch (mmuextdef) {
case MIPS_CONF4_MMUEXTDEF_FTLBSIZEEXT:
if (PAGE_SIZE == (1 << 30))
return 5;
if (PAGE_SIZE == (1llu << 32))
return 6;
if (PAGE_SIZE > (256 << 10))
return 7; /* reserved */
fallthrough;
case MIPS_CONF4_MMUEXTDEF_VTLBSIZEEXT:
return (PAGE_SHIFT - 10) / 2;
default:
panic("Invalid FTLB configuration with Conf4_mmuextdef=%d value\n",
mmuextdef >> 14);
}
}
#ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT
#define HPAGE_SHIFT (PAGE_SHIFT + PAGE_SHIFT - 3)
#define HPAGE_SIZE (_AC(1,UL) << HPAGE_SHIFT)
#define HPAGE_MASK (~(HPAGE_SIZE - 1))
#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT)
#else /* !CONFIG_MIPS_HUGE_TLB_SUPPORT */
#define HPAGE_SHIFT ({BUILD_BUG(); 0; })
#define HPAGE_SIZE ({BUILD_BUG(); 0; })
#define HPAGE_MASK ({BUILD_BUG(); 0; })
#define HUGETLB_PAGE_ORDER ({BUILD_BUG(); 0; })
#endif /* CONFIG_MIPS_HUGE_TLB_SUPPORT */
#include <linux/pfn.h>
extern void build_clear_page(void);
extern void build_copy_page(void);
/*
* It's normally defined only for FLATMEM config but it's
* used in our early mem init code for all memory models.
* So always define it.
*/
#ifdef CONFIG_MIPS_AUTO_PFN_OFFSET
extern unsigned long ARCH_PFN_OFFSET;
# define ARCH_PFN_OFFSET ARCH_PFN_OFFSET
#else
# define ARCH_PFN_OFFSET PFN_UP(PHYS_OFFSET)
#endif
extern void clear_page(void * page);
extern void copy_page(void * to, void * from);
extern unsigned long shm_align_mask;
static inline unsigned long pages_do_alias(unsigned long addr1,
unsigned long addr2)
{
return (addr1 ^ addr2) & shm_align_mask;
}
struct page;
static inline void clear_user_page(void *addr, unsigned long vaddr,
struct page *page)
{
extern void (*flush_data_cache_page)(unsigned long addr);
clear_page(addr);
if (pages_do_alias((unsigned long) addr, vaddr & PAGE_MASK))
flush_data_cache_page((unsigned long)addr);
}
struct vm_area_struct;
extern void copy_user_highpage(struct page *to, struct page *from,
unsigned long vaddr, struct vm_area_struct *vma);
#define __HAVE_ARCH_COPY_USER_HIGHPAGE
/*
* These are used to make use of C type-checking..
*/
#ifdef CONFIG_PHYS_ADDR_T_64BIT
#ifdef CONFIG_CPU_MIPS32
typedef struct { unsigned long pte_low, pte_high; } pte_t;
#define pte_val(x) ((x).pte_low | ((unsigned long long)(x).pte_high << 32))
#define __pte(x) ({ pte_t __pte = {(x), ((unsigned long long)(x)) >> 32}; __pte; })
#else
typedef struct { unsigned long long pte; } pte_t;
#define pte_val(x) ((x).pte)
#define __pte(x) ((pte_t) { (x) } )
#endif
#else
typedef struct { unsigned long pte; } pte_t;
#define pte_val(x) ((x).pte)
#define __pte(x) ((pte_t) { (x) } )
#endif
typedef struct page *pgtable_t;
/*
* Right now we don't support 4-level pagetables, so all pud-related
* definitions come from <asm-generic/pgtable-nopud.h>.
*/
/*
* Finall the top of the hierarchy, the pgd
*/
typedef struct { unsigned long pgd; } pgd_t;
#define pgd_val(x) ((x).pgd)
#define __pgd(x) ((pgd_t) { (x) } )
/*
* Manipulate page protection bits
*/
typedef struct { unsigned long pgprot; } pgprot_t;
#define pgprot_val(x) ((x).pgprot)
#define __pgprot(x) ((pgprot_t) { (x) } )
#define pte_pgprot(x) __pgprot(pte_val(x) & ~_PFN_MASK)
/*
* On R4000-style MMUs where a TLB entry is mapping a adjacent even / odd
* pair of pages we only have a single global bit per pair of pages. When
* writing to the TLB make sure we always have the bit set for both pages
* or none. This macro is used to access the `buddy' of the pte we're just
* working on.
*/
#define ptep_buddy(x) ((pte_t *)((unsigned long)(x) ^ sizeof(pte_t)))
/*
* __pa()/__va() should be used only during mem init.
*/
static inline unsigned long ___pa(unsigned long x)
{
if (IS_ENABLED(CONFIG_64BIT)) {
/*
* For MIPS64 the virtual address may either be in one of
* the compatibility segments ckseg0 or ckseg1, or it may
* be in xkphys.
*/
return x < CKSEG0 ? XPHYSADDR(x) : CPHYSADDR(x);
}
if (!IS_ENABLED(CONFIG_EVA)) {
/*
* We're using the standard MIPS32 legacy memory map, ie.
* the address x is going to be in kseg0 or kseg1. We can
* handle either case by masking out the desired bits using
* CPHYSADDR.
*/
return CPHYSADDR(x);
}
/*
* EVA is in use so the memory map could be anything, making it not
* safe to just mask out bits.
*/
return x - PAGE_OFFSET + PHYS_OFFSET;
}
#define __pa(x) ___pa((unsigned long)(x))
#define __va(x) ((void *)((unsigned long)(x) + PAGE_OFFSET - PHYS_OFFSET))
#include <asm/io.h>
/*
* RELOC_HIDE was originally added by 6007b903dfe5f1d13e0c711ac2894bdd4a61b1ad
* (lmo) rsp. 8431fd094d625b94d364fe393076ccef88e6ce18 (kernel.org). The
* discussion can be found in
* https://lore.kernel.org/lkml/[email protected]
*
* It is unclear if the misscompilations mentioned in
* https://lore.kernel.org/lkml/[email protected]
* also affect MIPS so we keep this one until GCC 3.x has been retired
* before we can apply https://patchwork.linux-mips.org/patch/1541/
*/
#define __pa_symbol_nodebug(x) __pa(RELOC_HIDE((unsigned long)(x), 0))
#ifdef CONFIG_DEBUG_VIRTUAL
extern phys_addr_t __phys_addr_symbol(unsigned long x);
#else
#define __phys_addr_symbol(x) __pa_symbol_nodebug(x)
#endif
#ifndef __pa_symbol
#define __pa_symbol(x) __phys_addr_symbol((unsigned long)(x))
#endif
#define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT)
#define virt_to_pfn(kaddr) PFN_DOWN(virt_to_phys((void *)(kaddr)))
#define virt_to_page(kaddr) pfn_to_page(virt_to_pfn(kaddr))
extern bool __virt_addr_valid(const volatile void *kaddr);
#define virt_addr_valid(kaddr) \
__virt_addr_valid((const volatile void *) (kaddr))
#define VM_DATA_DEFAULT_FLAGS VM_DATA_FLAGS_TSK_EXEC
extern unsigned long __kaslr_offset;
static inline unsigned long kaslr_offset(void)
{
return __kaslr_offset;
}
#include <asm-generic/memory_model.h>
#include <asm-generic/getorder.h>
#endif /* _ASM_PAGE_H */
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| dec | Folder | 0755 |
|
|
| fw | Folder | 0755 |
|
|
| ip32 | Folder | 0755 |
|
|
| mach-ath25 | Folder | 0755 |
|
|
| mach-ath79 | Folder | 0755 |
|
|
| mach-au1x00 | Folder | 0755 |
|
|
| mach-bcm47xx | Folder | 0755 |
|
|
| mach-bcm63xx | Folder | 0755 |
|
|
| mach-bmips | Folder | 0755 |
|
|
| mach-cavium-octeon | Folder | 0755 |
|
|
| mach-cobalt | Folder | 0755 |
|
|
| mach-db1x00 | Folder | 0755 |
|
|
| mach-dec | Folder | 0755 |
|
|
| mach-generic | Folder | 0755 |
|
|
| mach-ingenic | Folder | 0755 |
|
|
| mach-ip22 | Folder | 0755 |
|
|
| mach-ip27 | Folder | 0755 |
|
|
| mach-ip28 | Folder | 0755 |
|
|
| mach-ip30 | Folder | 0755 |
|
|
| mach-ip32 | Folder | 0755 |
|
|
| mach-jazz | Folder | 0755 |
|
|
| mach-lantiq | Folder | 0755 |
|
|
| mach-loongson2ef | Folder | 0755 |
|
|
| mach-loongson32 | Folder | 0755 |
|
|
| mach-loongson64 | Folder | 0755 |
|
|
| mach-malta | Folder | 0755 |
|
|
| mach-n64 | Folder | 0755 |
|
|
| mach-pic32 | Folder | 0755 |
|
|
| mach-ralink | Folder | 0755 |
|
|
| mach-rc32434 | Folder | 0755 |
|
|
| mach-rm | Folder | 0755 |
|
|
| mach-sibyte | Folder | 0755 |
|
|
| mach-tx49xx | Folder | 0755 |
|
|
| mips-boards | Folder | 0755 |
|
|
| octeon | Folder | 0755 |
|
|
| pci | Folder | 0755 |
|
|
| sgi | Folder | 0755 |
|
|
| sibyte | Folder | 0755 |
|
|
| sn | Folder | 0755 |
|
|
| txx9 | Folder | 0755 |
|
|
| vdso | Folder | 0755 |
|
|
| xtalk | Folder | 0755 |
|
|
| Kbuild | File | 421 B | 0644 |
|
| abi.h | File | 853 B | 0644 |
|
| addrspace.h | File | 4.02 KB | 0644 |
|
| amon.h | File | 409 B | 0644 |
|
| arch_hweight.h | File | 792 B | 0644 |
|
| asm-eva.h | File | 7.17 KB | 0644 |
|
| asm-offsets.h | File | 35 B | 0644 |
|
| asm-prototypes.h | File | 318 B | 0644 |
|
| asm.h | File | 7.16 KB | 0644 |
|
| asmmacro-32.h | File | 2.47 KB | 0644 |
|
| asmmacro-64.h | File | 1.22 KB | 0644 |
|
| asmmacro.h | File | 14.67 KB | 0644 |
|
| atomic.h | File | 7.83 KB | 0644 |
|
| barrier.h | File | 3.42 KB | 0644 |
|
| bcache.h | File | 2.04 KB | 0644 |
|
| bitops.h | File | 11.18 KB | 0644 |
|
| bitrev.h | File | 608 B | 0644 |
|
| bmips-spaces.h | File | 268 B | 0644 |
|
| bmips.h | File | 3.06 KB | 0644 |
|
| bootinfo.h | File | 4.81 KB | 0644 |
|
| branch.h | File | 2.44 KB | 0644 |
|
| break.h | File | 787 B | 0644 |
|
| bug.h | File | 759 B | 0644 |
|
| bugs.h | File | 527 B | 0644 |
|
| cache.h | File | 810 B | 0644 |
|
| cacheflush.h | File | 4.98 KB | 0644 |
|
| cacheops.h | File | 3.71 KB | 0644 |
|
| cachetype.h | File | 193 B | 0644 |
|
| cdmm.h | File | 3.68 KB | 0644 |
|
| cevt-r4k.h | File | 823 B | 0644 |
|
| checksum.h | File | 5.66 KB | 0644 |
|
| clocksource.h | File | 273 B | 0644 |
|
| cmp.h | File | 181 B | 0644 |
|
| cmpxchg.h | File | 8.69 KB | 0644 |
|
| compat-signal.h | File | 640 B | 0644 |
|
| compat.h | File | 3.45 KB | 0644 |
|
| compiler.h | File | 2.61 KB | 0644 |
|
| cop2.h | File | 1.47 KB | 0644 |
|
| cpu-features.h | File | 22.21 KB | 0644 |
|
| cpu-info.h | File | 6.16 KB | 0644 |
|
| cpu-type.h | File | 3.78 KB | 0644 |
|
| cpu.h | File | 16.31 KB | 0644 |
|
| cpufeature.h | File | 510 B | 0644 |
|
| debug.h | File | 447 B | 0644 |
|
| delay.h | File | 841 B | 0644 |
|
| div64.h | File | 2.17 KB | 0644 |
|
| dma-direct.h | File | 255 B | 0644 |
|
| dma-mapping.h | File | 349 B | 0644 |
|
| dma.h | File | 9.81 KB | 0644 |
|
| dmi.h | File | 547 B | 0644 |
|
| ds1287.h | File | 333 B | 0644 |
|
| dsemul.h | File | 3.51 KB | 0644 |
|
| dsp.h | File | 1.71 KB | 0644 |
|
| edac.h | File | 839 B | 0644 |
|
| elf.h | File | 15.19 KB | 0644 |
|
| elfcore-compat.h | File | 841 B | 0644 |
|
| errno.h | File | 429 B | 0644 |
|
| eva.h | File | 796 B | 0644 |
|
| exec.h | File | 579 B | 0644 |
|
| extable.h | File | 241 B | 0644 |
|
| fixmap.h | File | 2.17 KB | 0644 |
|
| floppy.h | File | 1.57 KB | 0644 |
|
| fpregdef.h | File | 2.1 KB | 0644 |
|
| fpu.h | File | 7.39 KB | 0644 |
|
| fpu_emulator.h | File | 4.73 KB | 0644 |
|
| ftrace.h | File | 2.7 KB | 0644 |
|
| futex.h | File | 5.43 KB | 0644 |
|
| ginvt.h | File | 1.13 KB | 0644 |
|
| gio_device.h | File | 1.38 KB | 0644 |
|
| gt64120.h | File | 18.77 KB | 0644 |
|
| hardirq.h | File | 544 B | 0644 |
|
| hazards.h | File | 8.44 KB | 0644 |
|
| highmem.h | File | 1.7 KB | 0644 |
|
| hpet.h | File | 1.93 KB | 0644 |
|
| hugetlb.h | File | 2.09 KB | 0644 |
|
| hw_irq.h | File | 475 B | 0644 |
|
| i8259.h | File | 2.38 KB | 0644 |
|
| idle.h | File | 727 B | 0644 |
|
| inst.h | File | 2.34 KB | 0644 |
|
| io.h | File | 16.26 KB | 0644 |
|
| irq.h | File | 2.2 KB | 0644 |
|
| irq_cpu.h | File | 427 B | 0644 |
|
| irq_gt641xx.h | File | 2.03 KB | 0644 |
|
| irq_regs.h | File | 540 B | 0644 |
|
| irqflags.h | File | 4.11 KB | 0644 |
|
| isa-rev.h | File | 556 B | 0644 |
|
| isadep.h | File | 573 B | 0644 |
|
| jazz.h | File | 8 KB | 0644 |
|
| jazzdma.h | File | 2.76 KB | 0644 |
|
| jump_label.h | File | 1.65 KB | 0644 |
|
| kdebug.h | File | 303 B | 0644 |
|
| kexec.h | File | 1.46 KB | 0644 |
|
| kgdb.h | File | 1.19 KB | 0644 |
|
| kprobes.h | File | 1.58 KB | 0644 |
|
| kvm_host.h | File | 29.5 KB | 0644 |
|
| kvm_types.h | File | 184 B | 0644 |
|
| linkage.h | File | 306 B | 0644 |
|
| local.h | File | 4.71 KB | 0644 |
|
| maar.h | File | 4.17 KB | 0644 |
|
| machine.h | File | 2.73 KB | 0644 |
|
| mc146818-time.h | File | 3.69 KB | 0644 |
|
| mc146818rtc.h | File | 450 B | 0644 |
|
| mips-cm.h | File | 17.11 KB | 0644 |
|
| mips-cpc.h | File | 5.63 KB | 0644 |
|
| mips-cps.h | File | 7.62 KB | 0644 |
|
| mips-gic.h | File | 12.93 KB | 0644 |
|
| mips-r2-to-r6-emul.h | File | 2.05 KB | 0644 |
|
| mips_mt.h | File | 641 B | 0644 |
|
| mipsmtregs.h | File | 12.44 KB | 0644 |
|
| mipsprom.h | File | 2.1 KB | 0644 |
|
| mipsregs.h | File | 97.75 KB | 0644 |
|
| mmiowb.h | File | 194 B | 0644 |
|
| mmu.h | File | 555 B | 0644 |
|
| mmu_context.h | File | 6.06 KB | 0644 |
|
| mmzone.h | File | 464 B | 0644 |
|
| module.h | File | 2.33 KB | 0644 |
|
| msa.h | File | 7.71 KB | 0644 |
|
| msc01_ic.h | File | 6.55 KB | 0644 |
|
| paccess.h | File | 3.07 KB | 0644 |
|
| page.h | File | 6.45 KB | 0644 |
|
| pci.h | File | 3.65 KB | 0644 |
|
| perf_event.h | File | 336 B | 0644 |
|
| pgalloc.h | File | 2.38 KB | 0644 |
|
| pgtable-32.h | File | 9.99 KB | 0644 |
|
| pgtable-64.h | File | 9.89 KB | 0644 |
|
| pgtable-bits.h | File | 7.7 KB | 0644 |
|
| pgtable.h | File | 18.57 KB | 0644 |
|
| pm-cps.h | File | 1.48 KB | 0644 |
|
| pm.h | File | 3.69 KB | 0644 |
|
| prefetch.h | File | 2.1 KB | 0644 |
|
| processor.h | File | 10.97 KB | 0644 |
|
| prom.h | File | 706 B | 0644 |
|
| ptrace.h | File | 5.55 KB | 0644 |
|
| r4k-timer.h | File | 499 B | 0644 |
|
| r4kcache.h | File | 11.2 KB | 0644 |
|
| reboot.h | File | 440 B | 0644 |
|
| reg.h | File | 26 B | 0644 |
|
| regdef.h | File | 4.95 KB | 0644 |
|
| rtlx.h | File | 2.03 KB | 0644 |
|
| seccomp.h | File | 810 B | 0644 |
|
| setup.h | File | 1.08 KB | 0644 |
|
| sgialib.h | File | 1.7 KB | 0644 |
|
| sgiarcs.h | File | 13.69 KB | 0644 |
|
| shmparam.h | File | 352 B | 0644 |
|
| sigcontext.h | File | 1.04 KB | 0644 |
|
| signal.h | File | 1.1 KB | 0644 |
|
| sim.h | File | 2.02 KB | 0644 |
|
| smp-cps.h | File | 1.22 KB | 0644 |
|
| smp-ops.h | File | 2.24 KB | 0644 |
|
| smp.h | File | 3.64 KB | 0644 |
|
| sni.h | File | 7.26 KB | 0644 |
|
| socket.h | File | 1.34 KB | 0644 |
|
| sparsemem.h | File | 486 B | 0644 |
|
| spinlock.h | File | 822 B | 0644 |
|
| spinlock_types.h | File | 188 B | 0644 |
|
| spram.h | File | 254 B | 0644 |
|
| stackframe.h | File | 10.88 KB | 0644 |
|
| stackprotector.h | File | 1022 B | 0644 |
|
| stacktrace.h | File | 2.15 KB | 0644 |
|
| string.h | File | 692 B | 0644 |
|
| switch_to.h | File | 4.35 KB | 0644 |
|
| sync.h | File | 7.64 KB | 0644 |
|
| syscall.h | File | 3.45 KB | 0644 |
|
| syscalls.h | File | 1.28 KB | 0644 |
|
| thread_info.h | File | 6.59 KB | 0644 |
|
| time.h | File | 1.58 KB | 0644 |
|
| timex.h | File | 2.87 KB | 0644 |
|
| tlb.h | File | 613 B | 0644 |
|
| tlbdebug.h | File | 403 B | 0644 |
|
| tlbex.h | File | 1014 B | 0644 |
|
| tlbflush.h | File | 1.64 KB | 0644 |
|
| tlbmisc.h | File | 320 B | 0644 |
|
| topology.h | File | 619 B | 0644 |
|
| traps.h | File | 2.39 KB | 0644 |
|
| txx9irq.h | File | 682 B | 0644 |
|
| txx9pio.h | File | 592 B | 0644 |
|
| txx9tmr.h | File | 1.52 KB | 0644 |
|
| types.h | File | 459 B | 0644 |
|
| uaccess.h | File | 14.68 KB | 0644 |
|
| uasm.h | File | 9.44 KB | 0644 |
|
| unaligned-emul.h | File | 26.23 KB | 0644 |
|
| unistd.h | File | 1.83 KB | 0644 |
|
| unroll.h | File | 2.79 KB | 0644 |
|
| uprobes.h | File | 1.11 KB | 0644 |
|
| vdso.h | File | 1.35 KB | 0644 |
|
| vermagic.h | File | 2.06 KB | 0644 |
|
| vga.h | File | 1.12 KB | 0644 |
|
| video.h | File | 875 B | 0644 |
|
| vmalloc.h | File | 90 B | 0644 |
|
| vpe.h | File | 2.53 KB | 0644 |
|
| watch.h | File | 827 B | 0644 |
|
| wbflush.h | File | 694 B | 0644 |
|
| yamon-dt.h | File | 1.68 KB | 0644 |
|