Unverified Commit 27f8899d authored by David Abdurachmanov's avatar David Abdurachmanov Committed by Palmer Dabbelt
Browse files

riscv: add asm/unistd.h UAPI header



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: default avatarDavid Abdurachmanov <david.abdurachmanov@gmail.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Cc: Guenter Roeck <linux@roeck-us.net>
Fixes: 67314ec7 ("RISC-V: Request newstat syscalls")
Signed-off-by: default avatarDavid Abdurachmanov <david.abdurachmanov@gmail.com>
Acked-by: default avatarOlof Johansson <olof@lixom.net>
Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
parent 0138ebb9
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -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>
+19 −7
Original line number Diff line number Diff line
/* 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 <david.abdurachmanov@gmail.com>
 *
 * 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