summaryrefslogtreecommitdiff
path: root/arch/um/include/asm/syscall-generic.h
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2025-06-09 12:40:46 +0300
committerJani Nikula <jani.nikula@intel.com>2025-06-09 12:40:46 +0300
commit34c55367af96f62e89221444f04487440ebc6487 (patch)
treefdb36ba67d7dea09455b55037e26043b7e051ef9 /arch/um/include/asm/syscall-generic.h
parent7247efca0dcbc8ac6147db9200ed1549c0662465 (diff)
parent19272b37aa4f83ca52bdf9c16d5d81bdd1354494 (diff)
downloadlinux-34c55367af96f62e89221444f04487440ebc6487.tar.xz
Merge drm/drm-next into drm-intel-next
Sync to v6.16-rc1, among other things to get the fixed size GENMASK_U*() and BIT_U*() macros. Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'arch/um/include/asm/syscall-generic.h')
-rw-r--r--arch/um/include/asm/syscall-generic.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/um/include/asm/syscall-generic.h b/arch/um/include/asm/syscall-generic.h
index 172b74143c4b..bcd73bcfe577 100644
--- a/arch/um/include/asm/syscall-generic.h
+++ b/arch/um/include/asm/syscall-generic.h
@@ -21,6 +21,11 @@ static inline int syscall_get_nr(struct task_struct *task, struct pt_regs *regs)
return PT_REGS_SYSCALL_NR(regs);
}
+static inline void syscall_set_nr(struct task_struct *task, struct pt_regs *regs, int nr)
+{
+ PT_REGS_SYSCALL_NR(regs) = nr;
+}
+
static inline void syscall_rollback(struct task_struct *task,
struct pt_regs *regs)
{
@@ -62,6 +67,20 @@ static inline void syscall_get_arguments(struct task_struct *task,
*args = UPT_SYSCALL_ARG6(r);
}
+static inline void syscall_set_arguments(struct task_struct *task,
+ struct pt_regs *regs,
+ const unsigned long *args)
+{
+ struct uml_pt_regs *r = &regs->regs;
+
+ UPT_SYSCALL_ARG1(r) = *args++;
+ UPT_SYSCALL_ARG2(r) = *args++;
+ UPT_SYSCALL_ARG3(r) = *args++;
+ UPT_SYSCALL_ARG4(r) = *args++;
+ UPT_SYSCALL_ARG5(r) = *args++;
+ UPT_SYSCALL_ARG6(r) = *args;
+}
+
/* See arch/x86/um/asm/syscall.h for syscall_get_arch() definition. */
#endif /* __UM_SYSCALL_GENERIC_H */