Skip to content

Commit

Permalink
riscv: add asm/unistd.h UAPI header
Browse files Browse the repository at this point in the history
Marcin Juszkiewicz reported issues while generating syscall table for riscv
using 4.20-rc1. The patch refactors our unistd.h files to match some other
architectures.

- Add asm/unistd.h UAPI header, which has __ARCH_WANT_NEW_STAT only for 64-bit
- Remove asm/syscalls.h UAPI header and merge to asm/unistd.h
- Adjust kernel asm/unistd.h

So now asm/unistd.h UAPI header should show all syscalls for riscv.

Before this, Makefile simply put `#include <asm-generic/unistd.h>` into
generated asm/unistd.h UAPI header thus user didn't see:

- __NR_riscv_flush_icache
- __NR_newfstatat
- __NR_fstat

which are supported by riscv kernel.

Signed-off-by: David Abdurachmanov <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Marcin Juszkiewicz <[email protected]>
Cc: Guenter Roeck <[email protected]>
Fixes: 67314ec ("RISC-V: Request newstat syscalls")
Signed-off-by: David Abdurachmanov <[email protected]>
Acked-by: Olof Johansson <[email protected]>
Signed-off-by: Palmer Dabbelt <[email protected]>
  • Loading branch information
davidlt authored and palmer-dabbelt committed Nov 20, 2018
1 parent 0138ebb commit 27f8899
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 10 deletions.
5 changes: 2 additions & 3 deletions arch/riscv/include/asm/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,9 @@

/*
* There is explicitly no include guard here because this file is expected to
* be included multiple times. See uapi/asm/syscalls.h for more info.
* be included multiple times.
*/

#define __ARCH_WANT_NEW_STAT
#define __ARCH_WANT_SYS_CLONE

#include <uapi/asm/unistd.h>
#include <uapi/asm/syscalls.h>
Original file line number Diff line number Diff line change
@@ -1,13 +1,25 @@
/* SPDX-License-Identifier: GPL-2.0 */
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
* Copyright (C) 2017-2018 SiFive
* Copyright (C) 2018 David Abdurachmanov <[email protected]>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

/*
* There is explicitly no include guard here because this file is expected to
* be included multiple times in order to define the syscall macros via
* __SYSCALL.
*/
#ifdef __LP64__
#define __ARCH_WANT_NEW_STAT
#endif /* __LP64__ */

#include <asm-generic/unistd.h>

/*
* Allows the instruction cache to be flushed from userspace. Despite RISC-V
Expand Down

0 comments on commit 27f8899

Please sign in to comment.