mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
hexagon: Remove CONFIG_HEXAGON_ARCH_VERSION from uapi header
uapi headers should not expose CONFIG switches since they are not available in userspace. Fix it in arch/hexagon/include/uapi/asm/user.h by always defining the cs0 and cs1 entries instead of pad values. Suggested-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
parent
b85ea95d08
commit
280ac17856
@ -56,15 +56,10 @@ struct user_regs_struct {
|
|||||||
unsigned long pc;
|
unsigned long pc;
|
||||||
unsigned long cause;
|
unsigned long cause;
|
||||||
unsigned long badva;
|
unsigned long badva;
|
||||||
#if CONFIG_HEXAGON_ARCH_VERSION < 4
|
/* cs0 and cs1 are only available with HEXAGON_ARCH_VERSION >= 4 */
|
||||||
unsigned long pad1; /* pad out to 48 words total */
|
|
||||||
unsigned long pad2; /* pad out to 48 words total */
|
|
||||||
unsigned long pad3; /* pad out to 48 words total */
|
|
||||||
#else
|
|
||||||
unsigned long cs0;
|
unsigned long cs0;
|
||||||
unsigned long cs1;
|
unsigned long cs1;
|
||||||
unsigned long pad1; /* pad out to 48 words total */
|
unsigned long pad1; /* pad out to 48 words total */
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -74,7 +74,7 @@ static int genregs_set(struct task_struct *target,
|
|||||||
unsigned int pos, unsigned int count,
|
unsigned int pos, unsigned int count,
|
||||||
const void *kbuf, const void __user *ubuf)
|
const void *kbuf, const void __user *ubuf)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret, ignore_offset;
|
||||||
unsigned long bucket;
|
unsigned long bucket;
|
||||||
struct pt_regs *regs = task_pt_regs(target);
|
struct pt_regs *regs = task_pt_regs(target);
|
||||||
|
|
||||||
@ -111,12 +111,15 @@ static int genregs_set(struct task_struct *target,
|
|||||||
#if CONFIG_HEXAGON_ARCH_VERSION >=4
|
#if CONFIG_HEXAGON_ARCH_VERSION >=4
|
||||||
INEXT(®s->cs0, cs0);
|
INEXT(®s->cs0, cs0);
|
||||||
INEXT(®s->cs1, cs1);
|
INEXT(®s->cs1, cs1);
|
||||||
|
ignore_offset = offsetof(struct user_regs_struct, pad1);
|
||||||
|
#else
|
||||||
|
ignore_offset = offsetof(struct user_regs_struct, cs0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Ignore the rest, if needed */
|
/* Ignore the rest, if needed */
|
||||||
if (!ret)
|
if (!ret)
|
||||||
user_regset_copyin_ignore(&pos, &count, &kbuf, &ubuf,
|
user_regset_copyin_ignore(&pos, &count, &kbuf, &ubuf,
|
||||||
offsetof(struct user_regs_struct, pad1), -1);
|
ignore_offset, -1);
|
||||||
else
|
else
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
@ -74,7 +74,6 @@ arch/arc/include/uapi/asm/page.h:CONFIG_ARC_PAGE_SIZE_16K
|
|||||||
arch/arc/include/uapi/asm/page.h:CONFIG_ARC_PAGE_SIZE_4K
|
arch/arc/include/uapi/asm/page.h:CONFIG_ARC_PAGE_SIZE_4K
|
||||||
arch/arc/include/uapi/asm/swab.h:CONFIG_ARC_HAS_SWAPE
|
arch/arc/include/uapi/asm/swab.h:CONFIG_ARC_HAS_SWAPE
|
||||||
arch/arm/include/uapi/asm/ptrace.h:CONFIG_CPU_ENDIAN_BE8
|
arch/arm/include/uapi/asm/ptrace.h:CONFIG_CPU_ENDIAN_BE8
|
||||||
arch/hexagon/include/uapi/asm/user.h:CONFIG_HEXAGON_ARCH_VERSION
|
|
||||||
arch/m68k/include/uapi/asm/ptrace.h:CONFIG_COLDFIRE
|
arch/m68k/include/uapi/asm/ptrace.h:CONFIG_COLDFIRE
|
||||||
arch/nios2/include/uapi/asm/swab.h:CONFIG_NIOS2_CI_SWAB_NO
|
arch/nios2/include/uapi/asm/swab.h:CONFIG_NIOS2_CI_SWAB_NO
|
||||||
arch/nios2/include/uapi/asm/swab.h:CONFIG_NIOS2_CI_SWAB_SUPPORT
|
arch/nios2/include/uapi/asm/swab.h:CONFIG_NIOS2_CI_SWAB_SUPPORT
|
||||||
|
Loading…
Reference in New Issue
Block a user