> -----Original Message----- > From: Laurent Vivier <laur...@vivier.eu> > Sent: Thursday, October 1, 2020 1:53 AM > To: Taylor Simpson <tsimp...@quicinc.com>; qemu-devel@nongnu.org > Cc: richard.hender...@linaro.org; phi...@redhat.com; riku.voi...@iki.fi; > aleksandar.m.m...@gmail.com; a...@rev.ng > Subject: Re: [RFC PATCH v4 27/29] Hexagon (linux-user/hexagon) Linux user > emulation > > Le 30/09/2020 à 22:47, Taylor Simpson a écrit : > > > > > >> -----Original Message----- > >> From: Laurent Vivier <laur...@vivier.eu> > >> Sent: Monday, September 28, 2020 3:03 PM > >> To: Taylor Simpson <tsimp...@quicinc.com>; qemu-devel@nongnu.org > >> Cc: richard.hender...@linaro.org; phi...@redhat.com; riku.voi...@iki.fi; > >> aleksandar.m.m...@gmail.com; a...@rev.ng > >> Subject: Re: [RFC PATCH v4 27/29] Hexagon (linux-user/hexagon) Linux > user > >> emulation > >> > >>> + > >>> +syscall_nr_generators += { > >>> + 'hexagon': generator(sh, > >>> + arguments: [ 'cat', 'syscall_nr.h', '>', > >>> '@OUTPUT@' ], > >>> + output: '@BASENAME@_nr.h') > >> > >> Why do we need that? > >> The syscall_nr_generators is used to generate syscall_nr.h from syscall.tbl > > > > The other linux-user targets have this in their meson.build files. I'll > > remove > if it's not needed. > > Not all the targets (only the ones with syscall.tbl) and they call > syscallhdr.sh and not cat. So you can remove it. > > >> > >>> +} > >>> diff --git a/linux-user/meson.build b/linux-user/meson.build > >>> index 2b94e4b..8b1dfc8 100644 > >>> --- a/linux-user/meson.build > >>> +++ b/linux-user/meson.build > >>> @@ -22,6 +22,7 @@ syscall_nr_generators = {} > >>> > >>> subdir('alpha') > >>> subdir('arm') > >>> +subdir('hexagon') > >> > >> so you don't need that either > > > > OK > > > >>> - grep -e "#define __NR_" -e "#define __NR3264" > >>> + grep -e "#define __NR_" -e "#define __NR3264" | grep -v > >> __NR_syscalls > >> > >> Why do you remove __NR_syscalls? > > > > Older kernels have a bunch of > > #undef __NR_syscalls > > #define __NR_syscalls X > > > > The script removes all #undef's but leaves the #define's, so we get compile > errors. That symbol isn't used by qemu so it's safe to remove. > > > > As the syscall_nr.h generated from syscall.tbl don't have this symbol, I > think we can remove it. But I'm very surprised it doesn't work with it > for you. > > Could you put this one-line change in a separate patch? > > The best would be to re-run it once the change is made to update all the > generated syscall_nr.h without the __NR_syscalls line. > > Moreover the syscall_nr.h I generate from linux-5.9 for hexagon is > different from the one you put in this series (the 1024 -> 1079 part is > missing).
The syscall_nr.h I submitted is from 4.9, and we are in the process of upgrading the toolchain/kernel/etc. Which versions of the kernel does qemu expect to support? I'll investigate whether those versions have multiple __NR_syscalls. If not, there's no need for that change. Taylor