[PATCH v2 10/15] RISC-V: Linux Syscall Interface

Palmer Dabbelt palmer@dabbelt.com
Sun Dec 24 00:24:00 GMT 2017


On Wed, 20 Dec 2017 08:57:48 PST (-0800), adhemerval.zanella@linaro.org wrote:
>
>
> On 20/12/2017 05:20, Palmer Dabbelt wrote:
>> Contains the Linux system call interface, as well as the definitions of
>> a handful of system calls.
>> ---
>>  sysdeps/riscv/nptl/nptl-sysdep.S                |   2 +
>>  sysdeps/unix/sysv/linux/riscv/arch-fork.h       |   1 +
>>  sysdeps/unix/sysv/linux/riscv/clone.S           |  85 +++++++
>>  sysdeps/unix/sysv/linux/riscv/getmsg.c          |   1 +
>>  sysdeps/unix/sysv/linux/riscv/kernel-features.h |  23 ++
>>  sysdeps/unix/sysv/linux/riscv/profil-counter.h  |   2 +
>>  sysdeps/unix/sysv/linux/riscv/pt-vfork.S        |   1 +
>>  sysdeps/unix/sysv/linux/riscv/putmsg.c          |   1 +
>>  sysdeps/unix/sysv/linux/riscv/rv32/lockf64.c    |   1 +
>>  sysdeps/unix/sysv/linux/riscv/rv32/readahead.c  |   1 +
>>  sysdeps/unix/sysv/linux/riscv/syscall.c         |  38 +++
>>  sysdeps/unix/sysv/linux/riscv/sysdep.S          |  51 ++++
>>  sysdeps/unix/sysv/linux/riscv/sysdep.h          | 316 ++++++++++++++++++++++++
>>  sysdeps/unix/sysv/linux/riscv/vfork.S           |  44 ++++
>>  14 files changed, 567 insertions(+)
>>  create mode 100644 sysdeps/riscv/nptl/nptl-sysdep.S
>>  create mode 100644 sysdeps/unix/sysv/linux/riscv/arch-fork.h
>>  create mode 100644 sysdeps/unix/sysv/linux/riscv/clone.S
>>  create mode 100644 sysdeps/unix/sysv/linux/riscv/getmsg.c
>>  create mode 100644 sysdeps/unix/sysv/linux/riscv/kernel-features.h
>>  create mode 100644 sysdeps/unix/sysv/linux/riscv/profil-counter.h
>>  create mode 100644 sysdeps/unix/sysv/linux/riscv/pt-vfork.S
>>  create mode 100644 sysdeps/unix/sysv/linux/riscv/putmsg.c
>>  create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/lockf64.c
>>  create mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/readahead.c
>>  create mode 100644 sysdeps/unix/sysv/linux/riscv/syscall.c
>>  create mode 100644 sysdeps/unix/sysv/linux/riscv/sysdep.S
>>  create mode 100644 sysdeps/unix/sysv/linux/riscv/sysdep.h
>>  create mode 100644 sysdeps/unix/sysv/linux/riscv/vfork.S
>>
>> diff --git a/sysdeps/riscv/nptl/nptl-sysdep.S b/sysdeps/riscv/nptl/nptl-sysdep.S
>> new file mode 100644
>> index 000000000000..3f5c2a364afd
>> --- /dev/null
>> +++ b/sysdeps/riscv/nptl/nptl-sysdep.S
>> @@ -0,0 +1,2 @@
>> +/* Pull in __syscall_error.  */
>> +#include <sysdep.S>
>> diff --git a/sysdeps/unix/sysv/linux/riscv/arch-fork.h b/sysdeps/unix/sysv/linux/riscv/arch-fork.h
>> new file mode 100644
>> index 000000000000..5f945378eec0
>> --- /dev/null
>> +++ b/sysdeps/unix/sysv/linux/riscv/arch-fork.h
>> @@ -0,0 +1 @@
>> +#include <sysdeps/unix/sysv/linux/i386/arch-fork.h>
>
> I would prefer for new ports if we refrain to continue doing this cross arch
> code references, it ties implementations that should be independent of each
> other and make future cleanups more complex and required to adequate multiple
> architecture at once.

OK, no problem.  I've gone and replaced the #include with the contents of the 
included file for every instance where we were doing this.  I'll include this
as part of a v3 patch set.

Thanks for reviewing our port!



More information about the Libc-alpha mailing list