This is an automated email from the ASF dual-hosted git repository.
acassis pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
from 87260499e19 cmake: Use NUTTX(_DIR/_BIN_DIR) instead
CMAKE(_SRC_DIR/_BIN_DIR)
new 70c2ef5911c !sched/arch/libc: Give fork() and vfork() their real,
separate semantics.
new aae62ceaae7 !Documentation: Describe the fork()/vfork() split.
new 608d1e269a7 arch/arm: Build fork() children from the caller's syscall
frame on armv7-a.
new 0aaa04d0558 arch/arm: Restore vfork() on 32-bit ARM kernel builds.
new 3557791ae21 arch/arm64: Build fork() children from the caller's
syscall frame.
new 067e30e14f3 arch/x86_64: Build fork() children from the caller's
syscall frame.
The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
Documentation/guides/fork_vfork_migration.rst | 237 ++++++++++
Documentation/guides/index.rst | 1 +
.../implementation/memory_configurations.rst | 21 +-
Documentation/reference/user/01_task_control.rst | 71 ++-
Documentation/standards/posix.rst | 4 +-
arch/Kconfig | 40 +-
arch/arm/include/armv7-a/irq.h | 16 +
arch/arm/src/armv7-a/arm_syscall.c | 14 +
arch/arm/src/common/arm_fork.c | 364 ++++++++++++---
arch/arm/src/common/gnu/fork.S | 58 +--
arch/arm/src/common/iar/fork.S | 52 +--
arch/arm64/include/irq.h | 15 +
arch/arm64/src/common/arm64_fork.c | 390 +++++++++++++----
arch/arm64/src/common/arm64_fork_func.S | 57 +--
arch/arm64/src/common/arm64_syscall.c | 6 +-
arch/arm64/src/common/arm64_vectors.S | 7 +
arch/ceva/src/common/ceva_fork.c | 18 +-
arch/mips/Kconfig | 2 +-
arch/mips/src/mips32/Kconfig | 2 +-
arch/mips/src/mips32/fork.S | 38 +-
arch/mips/src/mips32/mips_fork.c | 11 +-
arch/risc-v/src/common/CMakeLists.txt | 2 +-
arch/risc-v/src/common/Make.defs | 2 +-
arch/risc-v/src/common/fork.S | 68 ++-
arch/risc-v/src/common/riscv_fork.c | 143 +++---
arch/sim/src/Makefile | 2 +-
arch/sim/src/sim/CMakeLists.txt | 2 +-
arch/sim/src/sim/sim_fork.c | 24 +-
arch/sim/src/sim/sim_fork_arm.S | 42 +-
arch/sim/src/sim/sim_fork_arm64.S | 47 +-
arch/sim/src/sim/sim_fork_x86.S | 44 +-
arch/sim/src/sim/sim_fork_x86_64.S | 45 +-
arch/x86_64/include/intel64/irq.h | 12 +
arch/x86_64/src/common/CMakeLists.txt | 2 +-
arch/x86_64/src/common/Make.defs | 2 +-
arch/x86_64/src/common/fork.S | 41 +-
arch/x86_64/src/common/x86_64_fork.c | 487 ++++++++++++++++++---
arch/x86_64/src/common/x86_64_syscall.c | 35 +-
include/nuttx/addrenv.h | 25 ++
include/nuttx/arch.h | 47 +-
include/nuttx/sched.h | 40 +-
include/sys/syscall_lookup.h | 4 +-
include/unistd.h | 9 +
libs/libbuiltin/libgcc/gcov.c | 6 +
libs/libc/libc.csv | 1 +
libs/libc/unistd/CMakeLists.txt | 2 +-
libs/libc/unistd/Make.defs | 2 +-
libs/libc/unistd/lib_fork.c | 68 ++-
sched/addrenv/addrenv.c | 65 +++
sched/sched/sched.h | 10 +
sched/sched/sched_releasetcb.c | 9 +
sched/task/CMakeLists.txt | 2 +-
sched/task/Make.defs | 2 +-
sched/task/task_exit.c | 14 +
sched/task/task_fork.c | 437 ++++++++++++++----
syscall/syscall.csv | 2 +-
56 files changed, 2465 insertions(+), 704 deletions(-)
create mode 100644 Documentation/guides/fork_vfork_migration.rst