|
@@ -618,6 +618,19 @@ static const struct user_regset_view user_mips64_view = {
|
|
|
.n = ARRAY_SIZE(mips64_regsets),
|
|
|
};
|
|
|
|
|
|
+#ifdef CONFIG_MIPS32_N32
|
|
|
+
|
|
|
+static const struct user_regset_view user_mipsn32_view = {
|
|
|
+ .name = "mipsn32",
|
|
|
+ .e_flags = EF_MIPS_ABI2,
|
|
|
+ .e_machine = ELF_ARCH,
|
|
|
+ .ei_osabi = ELF_OSABI,
|
|
|
+ .regsets = mips64_regsets,
|
|
|
+ .n = ARRAY_SIZE(mips64_regsets),
|
|
|
+};
|
|
|
+
|
|
|
+#endif /* CONFIG_MIPS32_N32 */
|
|
|
+
|
|
|
#endif /* CONFIG_64BIT */
|
|
|
|
|
|
const struct user_regset_view *task_user_regset_view(struct task_struct *task)
|
|
@@ -628,6 +641,10 @@ const struct user_regset_view *task_user_regset_view(struct task_struct *task)
|
|
|
#ifdef CONFIG_MIPS32_O32
|
|
|
if (test_tsk_thread_flag(task, TIF_32BIT_REGS))
|
|
|
return &user_mips_view;
|
|
|
+#endif
|
|
|
+#ifdef CONFIG_MIPS32_N32
|
|
|
+ if (test_tsk_thread_flag(task, TIF_32BIT_ADDR))
|
|
|
+ return &user_mipsn32_view;
|
|
|
#endif
|
|
|
return &user_mips64_view;
|
|
|
#endif
|