Warning, file /include/valgrind/vki/vki-amd64-freebsd.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026 #ifndef VKI_AMD64_FREEBSD_H
0027 #define VKI_AMD64_FREEBSD_H
0028
0029
0030 #define VKI_PAGE_SHIFT 12UL
0031 #define VKI_PAGE_SIZE (1UL << VKI_PAGE_SHIFT)
0032 #define VKI_MAX_PAGE_SHIFT VKI_PAGE_SHIFT
0033 #define VKI_MAX_PAGE_SIZE VKI_PAGE_SIZE
0034
0035 #define VKI_MINSIGSTKSZ 2048
0036
0037
0038
0039
0040 #define _VKI_NSIG 128
0041 #define _VKI_NSIG_WORDS 4
0042 #define _VKI_NSIG_BPW ((_VKI_NSIG) / (_VKI_NSIG_WORDS))
0043
0044 #include "vki-machine-types-amd64-freebsd.h"
0045
0046 typedef struct {
0047 vki_uint32_t sig[_VKI_NSIG_WORDS];
0048 } vki_sigset_t;
0049
0050 struct _vki_fpstate {
0051 unsigned short cwd;
0052 unsigned short swd;
0053 unsigned short twd;
0054 unsigned short fop;
0055 unsigned long rip;
0056 unsigned long rdp;
0057 unsigned int mxcsr;
0058 unsigned int mxcsr_mask;
0059 unsigned int st_space[32];
0060 unsigned int xmm_space[64];
0061 unsigned int reserved2[24];
0062 };
0063
0064 struct vki_sigcontext {
0065 vki_sigset_t mask;
0066 long onstack;
0067 long rdi;
0068 long rsi;
0069 long rdx;
0070 long rcx;
0071 long r8;
0072 long r9;
0073 long rax;
0074 long rbx;
0075 long rbp;
0076 long r10;
0077 long r11;
0078 long r12;
0079 long r13;
0080 long r14;
0081 long r15;
0082 int trapno;
0083 short fs;
0084 short gs;
0085 long addr;
0086 int flags;
0087 short es;
0088 short ds;
0089 long err;
0090 long rip;
0091 long cs;
0092 long rflags;
0093 long rsp;
0094 long ss;
0095 long len;
0096 long fpformat;
0097 long ownedfp;
0098 struct _vki_fpstate fpstate;
0099
0100 long fsbase;
0101 long gsbase;
0102 long xfpustate;
0103 long xfpustate_len;
0104
0105 long spare[4];
0106 };
0107
0108
0109
0110
0111
0112
0113
0114 struct vki_user_regs_struct {
0115 vki_register_t r15;
0116 vki_register_t r14;
0117 vki_register_t r13;
0118 vki_register_t r12;
0119 vki_register_t r11;
0120 vki_register_t r10;
0121 vki_register_t r9;
0122 vki_register_t r8;
0123 vki_register_t rdi;
0124 vki_register_t rsi;
0125 vki_register_t rbp;
0126 vki_register_t rbx;
0127 vki_register_t rdx;
0128 vki_register_t rcx;
0129 vki_register_t rax;
0130 vki_uint32_t trapno;
0131 vki_uint16_t fs;
0132 vki_uint16_t gs;
0133 vki_uint32_t err;
0134 vki_uint16_t es;
0135 vki_uint16_t ds;
0136 vki_register_t rip;
0137 vki_register_t cs;
0138 vki_register_t rflags;
0139 vki_register_t rsp;
0140 vki_register_t ss;
0141 };
0142
0143 struct vki_fpreg {
0144 unsigned long fpr_env[4];
0145 unsigned char fpr_acc[8][16];
0146 unsigned char fpr_xacc[16][16];
0147 unsigned long fpr_spare[12];
0148 };
0149
0150 struct vki_dbreg {
0151 unsigned long dr[16];
0152 };
0153
0154 typedef vki_register_t vki_elf_greg_t;
0155 typedef struct _vki_fpstate vki_elf_fpregset_t;
0156
0157 #define VKI_AT_SYSINFO 32
0158 #define VKI_ELF_NGREG \
0159 (sizeof (struct vki_user_regs_struct) / sizeof(vki_elf_greg_t))
0160
0161 typedef vki_elf_greg_t vki_elf_gregset_t[VKI_ELF_NGREG];
0162
0163 struct vki_mcontext {
0164 vki_register_t onstack;
0165 vki_register_t rdi;
0166 vki_register_t rsi;
0167 vki_register_t rdx;
0168 vki_register_t rcx;
0169 vki_register_t r8;
0170 vki_register_t r9;
0171 vki_register_t rax;
0172 vki_register_t rbx;
0173 vki_register_t rbp;
0174 vki_register_t r10;
0175 vki_register_t r11;
0176 vki_register_t r12;
0177 vki_register_t r13;
0178 vki_register_t r14;
0179 vki_register_t r15;
0180 vki_uint32_t trapno;
0181 vki_uint16_t fs;
0182 vki_uint16_t gs;
0183 vki_register_t addr;
0184 vki_uint32_t flags;
0185 vki_uint16_t es;
0186 vki_uint16_t ds;
0187 vki_register_t err;
0188 vki_register_t rip;
0189 vki_register_t cs;
0190 vki_register_t rflags;
0191 vki_register_t rsp;
0192 vki_register_t ss;
0193
0194 long len;
0195 long fpformat;
0196 long ownedfp;
0197 struct _vki_fpstate fpstate;
0198 vki_register_t fsbase;
0199 vki_register_t gsbase;
0200
0201 vki_register_t xfpustate;
0202 vki_register_t xfpustate_len;
0203
0204 long spare2[4];
0205 };
0206
0207 #define VKI_FPFMT_NODEV 0x10000
0208 #define VKI_FPFMT_XMM 0x10002
0209
0210 #define VKI_FPOWNED_NONE 0x20000
0211 #define VKI_FPOWNED_FPU 0x20001
0212 #define VKI_FPOWNED_PCB 0x20002
0213
0214 struct vki_sigaction_base {
0215 void (*ksa_handler)(int);
0216 int sa_flags;
0217 vki_sigset_t sa_mask;
0218 };
0219 typedef struct vki_sigaction_base vki_sigaction_toK_t;
0220 typedef struct vki_sigaction_base vki_sigaction_fromK_t;
0221
0222
0223
0224
0225 #define VKI_VDSO_TIMEHANDS_MD \
0226 vki_uint32_t th_x86_shift; \
0227 vki_uint32_t th_x86_hpet_idx; \
0228 vki_uint32_t th_res[6];
0229
0230 struct vki_bintime {
0231 vki_time_t sec;
0232 vki_uint64_t frac;
0233 };
0234
0235 struct vki_vdso_timehands {
0236 vki_uint32_t th_algo;
0237 vki_uint32_t th_gen;
0238 vki_uint64_t th_scale;
0239 vki_uint32_t th_offset_count;
0240 vki_uint32_t th_counter_mask;
0241 struct vki_bintime th_offset;
0242 struct vki_bintime th_boottime;
0243 VKI_VDSO_TIMEHANDS_MD
0244 };
0245
0246
0247 #endif