__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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-only */
/*
 * Copyright (C) 2012 ARM Ltd.
 */
#ifndef __ASM_DEBUG_MONITORS_H
#define __ASM_DEBUG_MONITORS_H

#include <linux/errno.h>
#include <linux/types.h>
#include <asm/brk-imm.h>
#include <asm/esr.h>
#include <asm/insn.h>
#include <asm/ptrace.h>

/* Low-level stepping controls. */
#define DBG_MDSCR_SS		(1 << 0)
#define DBG_SPSR_SS		(1 << 21)

/* MDSCR_EL1 enabling bits */
#define DBG_MDSCR_KDE		(1 << 13)
#define DBG_MDSCR_MDE		(1 << 15)
#define DBG_MDSCR_MASK		~(DBG_MDSCR_KDE | DBG_MDSCR_MDE)

#define	DBG_ESR_EVT(x)		(((x) >> 27) & 0x7)

/* AArch64 */
#define DBG_ESR_EVT_HWBP	0x0
#define DBG_ESR_EVT_HWSS	0x1
#define DBG_ESR_EVT_HWWP	0x2
#define DBG_ESR_EVT_BRK		0x6

/*
 * Break point instruction encoding
 */
#define BREAK_INSTR_SIZE		AARCH64_INSN_SIZE

#define AARCH64_BREAK_KGDB_DYN_DBG	\
	(AARCH64_BREAK_MON | (KGDB_DYN_DBG_BRK_IMM << 5))

#define CACHE_FLUSH_IS_SAFE		1

/* kprobes BRK opcodes with ESR encoding  */
#define BRK64_OPCODE_KPROBES	(AARCH64_BREAK_MON | (KPROBES_BRK_IMM << 5))
#define BRK64_OPCODE_KPROBES_SS	(AARCH64_BREAK_MON | (KPROBES_BRK_SS_IMM << 5))
/* uprobes BRK opcodes with ESR encoding  */
#define BRK64_OPCODE_UPROBES	(AARCH64_BREAK_MON | (UPROBES_BRK_IMM << 5))

/* AArch32 */
#define DBG_ESR_EVT_BKPT	0x4
#define DBG_ESR_EVT_VECC	0x5

#define AARCH32_BREAK_ARM	0x07f001f0
#define AARCH32_BREAK_THUMB	0xde01
#define AARCH32_BREAK_THUMB2_LO	0xf7f0
#define AARCH32_BREAK_THUMB2_HI	0xa000

#ifndef __ASSEMBLY__
struct task_struct;

#define DBG_ARCH_ID_RESERVED	0	/* In case of ptrace ABI updates. */

#define DBG_HOOK_HANDLED	0
#define DBG_HOOK_ERROR		1

struct step_hook {
	struct list_head node;
	int (*fn)(struct pt_regs *regs, unsigned long esr);
};

void register_user_step_hook(struct step_hook *hook);
void unregister_user_step_hook(struct step_hook *hook);

void register_kernel_step_hook(struct step_hook *hook);
void unregister_kernel_step_hook(struct step_hook *hook);

struct break_hook {
	struct list_head node;
	int (*fn)(struct pt_regs *regs, unsigned long esr);
	u16 imm;
	u16 mask; /* These bits are ignored when comparing with imm */
};

void register_user_break_hook(struct break_hook *hook);
void unregister_user_break_hook(struct break_hook *hook);

void register_kernel_break_hook(struct break_hook *hook);
void unregister_kernel_break_hook(struct break_hook *hook);

u8 debug_monitors_arch(void);

enum dbg_active_el {
	DBG_ACTIVE_EL0 = 0,
	DBG_ACTIVE_EL1,
};

void enable_debug_monitors(enum dbg_active_el el);
void disable_debug_monitors(enum dbg_active_el el);

void user_rewind_single_step(struct task_struct *task);
void user_fastforward_single_step(struct task_struct *task);
void user_regs_reset_single_step(struct user_pt_regs *regs,
				 struct task_struct *task);

void kernel_enable_single_step(struct pt_regs *regs);
void kernel_disable_single_step(void);
int kernel_active_single_step(void);
void kernel_rewind_single_step(struct pt_regs *regs);
void kernel_fastforward_single_step(struct pt_regs *regs);

#ifdef CONFIG_HAVE_HW_BREAKPOINT
int reinstall_suspended_bps(struct pt_regs *regs);
#else
static inline int reinstall_suspended_bps(struct pt_regs *regs)
{
	return -ENODEV;
}
#endif

int aarch32_break_handler(struct pt_regs *regs);

void debug_traps_init(void);

#endif	/* __ASSEMBLY */
#endif	/* __ASM_DEBUG_MONITORS_H */

Filemanager

Name Type Size Permission Actions
stacktrace Folder 0755
vdso Folder 0755
xen Folder 0755
Kbuild File 528 B 0644
acenv.h File 395 B 0644
acpi.h File 5.48 KB 0644
alternative-macros.h File 6.45 KB 0644
alternative.h File 1.08 KB 0644
apple_m1_pmu.h File 2.23 KB 0644
arch_gicv3.h File 4.44 KB 0644
arch_timer.h File 4.84 KB 0644
archrandom.h File 2.99 KB 0644
arm-cci.h File 254 B 0644
arm_dsu_pmu.h File 2.94 KB 0644
arm_pmuv3.h File 3.4 KB 0644
asm-bug.h File 952 B 0644
asm-extable.h File 3.59 KB 0644
asm-offsets.h File 35 B 0644
asm-prototypes.h File 958 B 0644
asm-uaccess.h File 2.38 KB 0644
asm_pointer_auth.h File 2.49 KB 0644
assembler.h File 21.19 KB 0644
atomic.h File 7.23 KB 0644
atomic_ll_sc.h File 10.75 KB 0644
atomic_lse.h File 8.2 KB 0644
barrier.h File 5.85 KB 0644
bitops.h File 813 B 0644
bitrev.h File 452 B 0644
boot.h File 369 B 0644
brk-imm.h File 1.27 KB 0644
bug.h File 572 B 0644
cache.h File 3.28 KB 0644
cacheflush.h File 4.61 KB 0644
checksum.h File 1.06 KB 0644
clocksource.h File 136 B 0644
cmpxchg.h File 7.15 KB 0644
compat.h File 2.13 KB 0644
compiler.h File 979 B 0644
cpu.h File 1.57 KB 0644
cpu_ops.h File 1.92 KB 0644
cpucaps.h File 2.28 KB 0644
cpufeature.h File 32.74 KB 0644
cpuidle.h File 1.03 KB 0644
cputype.h File 13.99 KB 0644
crash_reserve.h File 335 B 0644
current.h File 517 B 0644
daifflags.h File 3.45 KB 0644
dcc.h File 981 B 0644
debug-monitors.h File 3.26 KB 0644
device.h File 189 B 0644
dmi.h File 850 B 0644
efi.h File 5.05 KB 0644
el2_setup.h File 11.6 KB 0644
elf.h File 8 KB 0644
esr.h File 17.16 KB 0644
exception.h File 3.29 KB 0644
exec.h File 278 B 0644
extable.h File 1.36 KB 0644
fixmap.h File 3.11 KB 0644
fpsimd.h File 11.63 KB 0644
fpsimdmacros.h File 7.7 KB 0644
fpu.h File 309 B 0644
ftrace.h File 5.93 KB 0644
futex.h File 2.71 KB 0644
gcs.h File 2.1 KB 0644
gpr-num.h File 708 B 0644
hardirq.h File 2.28 KB 0644
hugetlb.h File 3.07 KB 0644
hw_breakpoint.h File 4.16 KB 0644
hwcap.h File 8.77 KB 0644
hyp_image.h File 1.87 KB 0644
hypervisor.h File 444 B 0644
image.h File 1.48 KB 0644
insn-def.h File 571 B 0644
insn.h File 23.8 KB 0644
io.h File 8.9 KB 0644
irq.h File 571 B 0644
irq_work.h File 192 B 0644
irqflags.h File 4.31 KB 0644
jump_label.h File 1.32 KB 0644
kasan.h File 578 B 0644
kernel-pgtable.h File 3.3 KB 0644
kexec.h File 3.37 KB 0644
kfence.h File 680 B 0644
kgdb.h File 3.27 KB 0644
kprobes.h File 965 B 0644
kvm_arm.h File 14.34 KB 0644
kvm_asm.h File 12.18 KB 0644
kvm_emulate.h File 16.59 KB 0644
kvm_host.h File 47.41 KB 0644
kvm_hyp.h File 5.14 KB 0644
kvm_mmu.h File 11.14 KB 0644
kvm_mte.h File 1.35 KB 0644
kvm_nested.h File 6.23 KB 0644
kvm_pgtable.h File 28.64 KB 0644
kvm_pkvm.h File 5.35 KB 0644
kvm_ptrauth.h File 4.04 KB 0644
kvm_ras.h File 594 B 0644
kvm_types.h File 185 B 0644
linkage.h File 1.19 KB 0644
lse.h File 933 B 0644
mem_encrypt.h File 999 B 0644
memory.h File 14.24 KB 0644
mman.h File 2.36 KB 0644
mmu.h File 3.47 KB 0644
mmu_context.h File 8.5 KB 0644
module.h File 1.73 KB 0644
module.lds.h File 795 B 0644
mshyperv.h File 1.34 KB 0644
mte-def.h File 577 B 0644
mte-kasan.h File 5.58 KB 0644
mte.h File 6.99 KB 0644
neon-intrinsics.h File 959 B 0644
neon.h File 385 B 0644
numa.h File 165 B 0644
page-def.h File 296 B 0644
page.h File 1.34 KB 0644
paravirt.h File 580 B 0644
paravirt_api_clock.h File 26 B 0644
pci.h File 469 B 0644
percpu.h File 8.31 KB 0644
perf_event.h File 515 B 0644
pgalloc.h File 3.04 KB 0644
pgtable-hwdef.h File 11.47 KB 0644
pgtable-prot.h File 8.19 KB 0644
pgtable-types.h File 1.41 KB 0644
pgtable.h File 52.72 KB 0644
pkeys.h File 2.36 KB 0644
pointer_auth.h File 4.68 KB 0644
por.h File 635 B 0644
preempt.h File 2.71 KB 0644
probes.h File 549 B 0644
proc-fns.h File 562 B 0644
processor.h File 12.19 KB 0644
ptdump.h File 1.78 KB 0644
ptrace.h File 9.35 KB 0644
pvclock-abi.h File 374 B 0644
rsi.h File 1.64 KB 0644
rsi_cmds.h File 3.85 KB 0644
rsi_smc.h File 5.23 KB 0644
runtime-const.h File 2.3 KB 0644
rwonce.h File 1.96 KB 0644
scs.h File 1.09 KB 0644
sdei.h File 1.53 KB 0644
seccomp.h File 891 B 0644
sections.h File 1.14 KB 0644
semihost.h File 537 B 0644
set_memory.h File 715 B 0644
setup.h File 789 B 0644
shmparam.h File 425 B 0644
signal.h File 650 B 0644
signal32.h File 1.93 KB 0644
simd.h File 1.04 KB 0644
smp.h File 3.44 KB 0644
smp_plat.h File 824 B 0644
sparsemem.h File 747 B 0644
spectre.h File 3.75 KB 0644
spinlock.h File 601 B 0644
spinlock_types.h File 366 B 0644
stack_pointer.h File 247 B 0644
stackprotector.h File 1.15 KB 0644
stacktrace.h File 2.96 KB 0644
stage2_pgtable.h File 1.03 KB 0644
stat.h File 947 B 0644
string.h File 1.89 KB 0644
suspend.h File 1.65 KB 0644
sync_bitops.h File 1.06 KB 0644
syscall.h File 1.97 KB 0644
syscall_wrapper.h File 3.09 KB 0644
sysreg.h File 46.33 KB 0644
system_misc.h File 880 B 0644
text-patching.h File 544 B 0644
thread_info.h File 3.96 KB 0644
timex.h File 343 B 0644
tlb.h File 2.65 KB 0644
tlbbatch.h File 281 B 0644
tlbflush.h File 17.05 KB 0644
topology.h File 1.22 KB 0644
trans_pgd.h File 1.02 KB 0644
traps.h File 4.37 KB 0644
uaccess.h File 14.43 KB 0644
unistd.h File 898 B 0644
unistd32.h File 240 B 0644
uprobes.h File 579 B 0644
vdso.h File 468 B 0644
vectors.h File 1.74 KB 0644
vermagic.h File 200 B 0644
virt.h File 4.26 KB 0644
vmalloc.h File 805 B 0644
vmap_stack.h File 739 B 0644
vncr_mapping.h File 3.56 KB 0644
word-at-a-time.h File 1.5 KB 0644
xor.h File 1.88 KB 0644
Filemanager