1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/****************************************************************************
2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   This header was automatically generated from a Linux kernel header
5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   of the same name, to make information necessary for userspace to
6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   call into the kernel available to libc.  It contains only constants,
7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   structures, and macros generated from the original header, and thus,
8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   contains no copyrightable information.
9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   To edit the content of this header, modify the corresponding
11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   source file (e.g. under external/kernel-headers/original/) then
12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   run bionic/libc/kernel/tools/update_all.py
13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   Any manual change here will be lost the next time this script will
15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   be run. You've been warned!
16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/
19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _UAPI__ASM_PTRACE_H
20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _UAPI__ASM_PTRACE_H
21655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/types.h>
22655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <asm/hwcap.h>
23655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_MODE_EL0t 0x00000000
25655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_MODE_EL1t 0x00000004
26655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_MODE_EL1h 0x00000005
27655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_MODE_EL2t 0x00000008
28655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_MODE_EL2h 0x00000009
30655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_MODE_EL3t 0x0000000c
31655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_MODE_EL3h 0x0000000d
32655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_MODE_MASK 0x0000000f
33655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_MODE32_BIT 0x00000010
35655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_F_BIT 0x00000040
36655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_I_BIT 0x00000080
37655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_A_BIT 0x00000100
38655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_D_BIT 0x00000200
40655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_Q_BIT 0x08000000
41655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_V_BIT 0x10000000
42655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_C_BIT 0x20000000
43655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_Z_BIT 0x40000000
45655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_N_BIT 0x80000000
46655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_f 0xff000000
47655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_s 0x00ff0000
48655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_x 0x0000ff00
50655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define PSR_c 0x000000ff
51655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef __ASSEMBLY__
52655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct user_pt_regs {
53655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng __u64 regs[31];
55655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng __u64 sp;
56655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng __u64 pc;
57655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng __u64 pstate;
58655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
60655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct user_fpsimd_state {
61655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng __uint128_t vregs[32];
62655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng __u32 fpsr;
63655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng __u32 fpcr;
65655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
66655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct user_hwdebug_state {
67655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng __u32 dbg_info;
68655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng __u32 pad;
70655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng struct {
71655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng __u64 addr;
72655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng __u32 ctrl;
73655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng __u32 pad;
75655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng } dbg_regs[16];
76655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
77655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
78655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
80