/
usr
/
src
/
linux-headers-5.15.0-181
/
arch
/
ia64
/
include
/
asm
/
/usr/src/linux-headers-5.15.0-181/arch/ia64/include/asm
mkdir
upload
Name
Size
Mode
Actions
native/
-
0755
rm
sn/
-
0755
rm
uv/
-
0755
rm
acenv.h
1153
0644
edit
dl
rm
acpi-ext.h
444
0644
edit
dl
rm
acpi.h
2772
0644
edit
dl
rm
agp.h
863
0644
edit
dl
rm
asm-offsets.h
35
0644
edit
dl
rm
asm-prototypes.h
892
0644
edit
dl
rm
asmmacro.h
3372
0644
edit
dl
rm
atomic.h
6390
0644
edit
dl
rm
barrier.h
2414
0644
edit
dl
rm
bitops.h
11112
0644
edit
dl
rm
bug.h
404
0644
edit
dl
rm
cache.h
752
0644
edit
dl
rm
cacheflush.h
903
0644
edit
dl
rm
checksum.h
1746
0644
edit
dl
rm
clocksource.h
276
0644
edit
dl
rm
cmpxchg.h
479
0644
edit
dl
rm
cpu.h
456
0644
edit
dl
rm
cputime.h
648
0644
edit
dl
rm
current.h
418
0644
edit
dl
rm
cyclone.h
442
0644
edit
dl
rm
delay.h
1738
0644
edit
dl
rm
device.h
236
0644
edit
dl
rm
div64.h
31
0644
edit
dl
rm
dma-mapping.h
382
0644
edit
dl
rm
dma.h
351
0644
edit
dl
rm
dmi.h
343
0644
edit
dl
rm
early_ioremap.h
428
0644
edit
dl
rm
efi.h
374
0644
edit
dl
rm
elf.h
10025
0644
edit
dl
rm
emergency-restart.h
149
0644
edit
dl
rm
esi.h
887
0644
edit
dl
rm
exception.h
609
0644
edit
dl
rm
export.h
115
0644
edit
dl
rm
extable.h
330
0644
edit
dl
rm
fb.h
569
0644
edit
dl
rm
fpswa.h
1925
0644
edit
dl
rm
ftrace.h
748
0644
edit
dl
rm
futex.h
2616
0644
edit
dl
rm
gcc_intrin.h
368
0644
edit
dl
rm
hardirq.h
561
0644
edit
dl
rm
hugetlb.h
933
0644
edit
dl
rm
hw_irq.h
5776
0644
edit
dl
rm
idle.h
200
0644
edit
dl
rm
intrinsics.h
306
0644
edit
dl
rm
io.h
7527
0644
edit
dl
rm
iommu.h
505
0644
edit
dl
rm
iommu_table.h
175
0644
edit
dl
rm
iosapic.h
2752
0644
edit
dl
rm
irq.h
960
0644
edit
dl
rm
irqflags.h
2096
0644
edit
dl
rm
irq_regs.h
34
0644
edit
dl
rm
irq_remapping.h
142
0644
edit
dl
rm
Kbuild
139
0644
edit
dl
rm
kdebug.h
1011
0644
edit
dl
rm
kexec.h
1606
0644
edit
dl
rm
kprobes.h
3148
0644
edit
dl
rm
kregs.h
6890
0644
edit
dl
rm
libata-portmap.h
225
0644
edit
dl
rm
linkage.h
398
0644
edit
dl
rm
local.h
31
0644
edit
dl
rm
mca.h
6009
0644
edit
dl
rm
mca_asm.h
7356
0644
edit
dl
rm
meminit.h
1751
0644
edit
dl
rm
mman.h
432
0644
edit
dl
rm
mmiowb.h
433
0644
edit
dl
rm
mmu.h
374
0644
edit
dl
rm
mmu_context.h
5304
0644
edit
dl
rm
mmzone.h
869
0644
edit
dl
rm
module.h
1154
0644
edit
dl
rm
module.lds.h
394
0644
edit
dl
rm
msidef.h
1438
0644
edit
dl
rm
nodedata.h
1898
0644
edit
dl
rm
numa.h
2338
0644
edit
dl
rm
page.h
5856
0644
edit
dl
rm
pal.h
54674
0644
edit
dl
rm
param.h
439
0644
edit
dl
rm
parport.h
534
0644
edit
dl
rm
patch.h
1214
0644
edit
dl
rm
pci.h
2007
0644
edit
dl
rm
percpu.h
1354
0644
edit
dl
rm
pgalloc.h
1569
0644
edit
dl
rm
pgtable.h
19846
0644
edit
dl
rm
processor.h
17876
0644
edit
dl
rm
ptrace.h
5258
0644
edit
dl
rm
sal.h
27189
0644
edit
dl
rm
sections.h
1679
0644
edit
dl
rm
serial.h
446
0644
edit
dl
rm
shmparam.h
445
0644
edit
dl
rm
signal.h
749
0644
edit
dl
rm
smp.h
2514
0644
edit
dl
rm
sparsemem.h
785
0644
edit
dl
rm
spinlock.h
7149
0644
edit
dl
rm
spinlock_types.h
475
0644
edit
dl
rm
string.h
659
0644
edit
dl
rm
switch_to.h
2702
0644
edit
dl
rm
syscall.h
1820
0644
edit
dl
rm
termios.h
1923
0644
edit
dl
rm
thread_info.h
4906
0644
edit
dl
rm
timex.h
1502
0644
edit
dl
rm
tlb.h
1577
0644
edit
dl
rm
tlbflush.h
3165
0644
edit
dl
rm
topology.h
1408
0644
edit
dl
rm
types.h
828
0644
edit
dl
rm
uaccess.h
9730
0644
edit
dl
rm
uncached.h
314
0644
edit
dl
rm
unistd.h
987
0644
edit
dl
rm
unwind.h
5873
0644
edit
dl
rm
user.h
2299
0644
edit
dl
rm
ustack.h
403
0644
edit
dl
rm
vermagic.h
341
0644
edit
dl
rm
vga.h
649
0644
edit
dl
rm
vmalloc.h
90
0644
edit
dl
rm
xor.h
743
0644
edit
dl
rm
xtp.h
938
0644
edit
dl
rm
Edit:
/usr/src/linux-headers-5.15.0-181/arch/ia64/include/asm/unwind.h
(5873B)
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _ASM_IA64_UNWIND_H #define _ASM_IA64_UNWIND_H /* * Copyright (C) 1999-2000, 2003 Hewlett-Packard Co * David Mosberger-Tang <davidm@hpl.hp.com> * * A simple API for unwinding kernel stacks. This is used for * debugging and error reporting purposes. The kernel doesn't need * full-blown stack unwinding with all the bells and whitles, so there * is not much point in implementing the full IA-64 unwind API (though * it would of course be possible to implement the kernel API on top * of it). */ struct task_struct; /* forward declaration */ struct switch_stack; /* forward declaration */ enum unw_application_register { UNW_AR_BSP, UNW_AR_BSPSTORE, UNW_AR_PFS, UNW_AR_RNAT, UNW_AR_UNAT, UNW_AR_LC, UNW_AR_EC, UNW_AR_FPSR, UNW_AR_RSC, UNW_AR_CCV, UNW_AR_CSD, UNW_AR_SSD }; /* * The following declarations are private to the unwind * implementation: */ struct unw_stack { unsigned long limit; unsigned long top; }; #define UNW_FLAG_INTERRUPT_FRAME (1UL << 0) /* * No user of this module should every access this structure directly * as it is subject to change. It is declared here solely so we can * use automatic variables. */ struct unw_frame_info { struct unw_stack regstk; struct unw_stack memstk; unsigned int flags; short hint; short prev_script; /* current frame info: */ unsigned long bsp; /* backing store pointer value */ unsigned long sp; /* stack pointer value */ unsigned long psp; /* previous sp value */ unsigned long ip; /* instruction pointer value */ unsigned long pr; /* current predicate values */ unsigned long *cfm_loc; /* cfm save location (or NULL) */ unsigned long pt; /* struct pt_regs location */ struct task_struct *task; struct switch_stack *sw; /* preserved state: */ unsigned long *bsp_loc; /* previous bsp save location */ unsigned long *bspstore_loc; unsigned long *pfs_loc; unsigned long *rnat_loc; unsigned long *rp_loc; unsigned long *pri_unat_loc; unsigned long *unat_loc; unsigned long *pr_loc; unsigned long *lc_loc; unsigned long *fpsr_loc; struct unw_ireg { unsigned long *loc; struct unw_ireg_nat { unsigned long type : 3; /* enum unw_nat_type */ signed long off : 61; /* NaT word is at loc+nat.off */ } nat; } r4, r5, r6, r7; unsigned long *b1_loc, *b2_loc, *b3_loc, *b4_loc, *b5_loc; struct ia64_fpreg *f2_loc, *f3_loc, *f4_loc, *f5_loc, *fr_loc[16]; }; /* * The official API follows below: */ struct unw_table_entry { u64 start_offset; u64 end_offset; u64 info_offset; }; /* * Initialize unwind support. */ extern void unw_init (void); extern void *unw_add_unwind_table (const char *name, unsigned long segment_base, unsigned long gp, const void *table_start, const void *table_end); extern void unw_remove_unwind_table (void *handle); /* * Prepare to unwind blocked task t. */ extern void unw_init_from_blocked_task (struct unw_frame_info *info, struct task_struct *t); extern void unw_init_frame_info (struct unw_frame_info *info, struct task_struct *t, struct switch_stack *sw); /* * Prepare to unwind the currently running thread. */ extern void unw_init_running (void (*callback)(struct unw_frame_info *info, void *arg), void *arg); /* * Unwind to previous to frame. Returns 0 if successful, negative * number in case of an error. */ extern int unw_unwind (struct unw_frame_info *info); /* * Unwind until the return pointer is in user-land (or until an error * occurs). Returns 0 if successful, negative number in case of * error. */ extern int unw_unwind_to_user (struct unw_frame_info *info); #define unw_is_intr_frame(info) (((info)->flags & UNW_FLAG_INTERRUPT_FRAME) != 0) static inline int unw_get_ip (struct unw_frame_info *info, unsigned long *valp) { *valp = (info)->ip; return 0; } static inline int unw_get_sp (struct unw_frame_info *info, unsigned long *valp) { *valp = (info)->sp; return 0; } static inline int unw_get_psp (struct unw_frame_info *info, unsigned long *valp) { *valp = (info)->psp; return 0; } static inline int unw_get_bsp (struct unw_frame_info *info, unsigned long *valp) { *valp = (info)->bsp; return 0; } static inline int unw_get_cfm (struct unw_frame_info *info, unsigned long *valp) { *valp = *(info)->cfm_loc; return 0; } static inline int unw_set_cfm (struct unw_frame_info *info, unsigned long val) { *(info)->cfm_loc = val; return 0; } static inline int unw_get_rp (struct unw_frame_info *info, unsigned long *val) { if (!info->rp_loc) return -1; *val = *info->rp_loc; return 0; } extern int unw_access_gr (struct unw_frame_info *, int, unsigned long *, char *, int); extern int unw_access_br (struct unw_frame_info *, int, unsigned long *, int); extern int unw_access_fr (struct unw_frame_info *, int, struct ia64_fpreg *, int); extern int unw_access_ar (struct unw_frame_info *, int, unsigned long *, int); extern int unw_access_pr (struct unw_frame_info *, unsigned long *, int); static inline int unw_set_gr (struct unw_frame_info *i, int n, unsigned long v, char nat) { return unw_access_gr(i, n, &v, &nat, 1); } static inline int unw_set_br (struct unw_frame_info *i, int n, unsigned long v) { return unw_access_br(i, n, &v, 1); } static inline int unw_set_fr (struct unw_frame_info *i, int n, struct ia64_fpreg v) { return unw_access_fr(i, n, &v, 1); } static inline int unw_set_ar (struct unw_frame_info *i, int n, unsigned long v) { return unw_access_ar(i, n, &v, 1); } static inline int unw_set_pr (struct unw_frame_info *i, unsigned long v) { return unw_access_pr(i, &v, 1); } #define unw_get_gr(i,n,v,nat) unw_access_gr(i,n,v,nat,0) #define unw_get_br(i,n,v) unw_access_br(i,n,v,0) #define unw_get_fr(i,n,v) unw_access_fr(i,n,v,0) #define unw_get_ar(i,n,v) unw_access_ar(i,n,v,0) #define unw_get_pr(i,v) unw_access_pr(i,v,0) #endif /* _ASM_UNWIND_H */
Save
cmd:
run