d7cb666709
As it was decided not to export struct pt_regs to userspace, struct sigcontext shouldn't be using it either. The pt_regs struct for OpenRISC is kernel internal and the layout of the registers may change in the future. The struct user_regs_struct is what is guaranteed to remain stable, so struct sigcontext may use that instead. This patch removes the usage of struct pt_regs in struct sigcontext and makes according changes in signal.c to get the register layout right. The usp field is removed from the sigcontext structure as this information is already contained in the user_regs_struct. Signed-off-by: Jonas Bonn <jonas@southpole.se> Reviewed-by: Emilio Cota <cota@braap.org>
34 lines
995 B
C
34 lines
995 B
C
/*
|
|
* OpenRISC Linux
|
|
*
|
|
* Linux architectural port borrowing liberally from similar works of
|
|
* others. All original copyrights apply as per the original source
|
|
* declaration.
|
|
*
|
|
* OpenRISC implementation:
|
|
* Copyright (C) 2003 Matjaz Breskvar <phoenix@bsemi.com>
|
|
* Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se>
|
|
* et al.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*/
|
|
|
|
#ifndef __ASM_OPENRISC_SIGCONTEXT_H
|
|
#define __ASM_OPENRISC_SIGCONTEXT_H
|
|
|
|
#include <asm/ptrace.h>
|
|
|
|
/* This struct is saved by setup_frame in signal.c, to keep the current
|
|
context while a signal handler is executed. It's restored by sys_sigreturn.
|
|
*/
|
|
|
|
struct sigcontext {
|
|
struct user_regs_struct regs; /* needs to be first */
|
|
unsigned long oldmask;
|
|
};
|
|
|
|
#endif /* __ASM_OPENRISC_SIGCONTEXT_H */
|