blob: a74449b5b0e314a13eac6b2e51ce9ee2f398b5ff [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * Copyright (C) 2004 PathScale, Inc
3 * Licensed under the GPL
4 */
5
6#ifndef __REGISTERS_H
7#define __REGISTERS_H
8
Al Viro37185b32012-10-08 03:27:32 +01009#include <sysdep/ptrace.h>
10#include <sysdep/archsetjmp.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070011
Eli Coopera78ff112016-03-20 00:58:41 +080012extern int save_i387_registers(int pid, unsigned long *fp_regs);
13extern int restore_i387_registers(int pid, unsigned long *fp_regs);
Linus Torvalds1da177e2005-04-16 15:20:36 -070014extern int save_fp_registers(int pid, unsigned long *fp_regs);
15extern int restore_fp_registers(int pid, unsigned long *fp_regs);
Jeff Dikea5f6096c2007-10-16 01:27:15 -070016extern int save_fpx_registers(int pid, unsigned long *fp_regs);
17extern int restore_fpx_registers(int pid, unsigned long *fp_regs);
Jeff Dike3e6f2ac2008-02-04 22:30:58 -080018extern int save_registers(int pid, struct uml_pt_regs *regs);
19extern int restore_registers(int pid, struct uml_pt_regs *regs);
20extern int init_registers(int pid);
Ingo van Lilfbfe9c82011-09-14 16:21:23 -070021extern void get_safe_registers(unsigned long *regs, unsigned long *fp_regs);
Jeff Dike75e29b12006-09-25 23:33:08 -070022extern unsigned long get_thread_reg(int reg, jmp_buf *buf);
Jeff Dike2f56deb2008-02-23 15:23:49 -080023extern int get_fp_registers(int pid, unsigned long *regs);
24extern int put_fp_registers(int pid, unsigned long *regs);
Linus Torvalds1da177e2005-04-16 15:20:36 -070025
26#endif