commit | 3fb4d59a9d66d729b292bf804a8b5fdbe6e40d89 | [log] [tgz] |
---|---|---|
author | Tuan Ta <qtt2@cornell.edu> | Sun Sep 17 12:57:21 2017 -0400 |
committer | Tuan Ta <qtt2@cornell.edu> | Wed Jan 10 01:02:53 2018 +0000 |
tree | bba3357dcfe7cd0020b720b48c82743f3aa8de13 | |
parent | e8236503ce70ea83f4f61716f54421b32ce009ce [diff] |
arch-riscv,sim: Support clone syscall in RISC-V (1) This patch sets a correct order of clone syscall's arguments for RISC-V. Linux kernel 4.15 uses CLONE_BACKWARDS flag by default for RISC-V. The flag in the Linux kernel defines the list of clone syscall's arguments in the following order: clone_flags (flags) newsp (newStack) parent_tidptr (ptidPtr) tls (tlsPtr) child_tidptr (ctidPtr) Code reference: https://github.com/riscv/riscv-linux/blob/master/kernel/fork.c https://github.com/riscv/riscv-linux/blob/master/arch/riscv/Kconfig (2) This patch copies a parent thread's register values to its child thread in clone syscall. Change-Id: I2eb1c8e80990861080ce7153503ed784fb2c7bdf Reviewed-on: https://gem5-review.googlesource.com/6904 Maintainer: Brandon Potter <Brandon.Potter@amd.com> Reviewed-by: Alec Roelke <ar4jc@virginia.edu>