qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [RFC PATCH v4 27/29] Hexagon (linux-user/hexagon) Linux user emulati


From: Taylor Simpson
Subject: RE: [RFC PATCH v4 27/29] Hexagon (linux-user/hexagon) Linux user emulation
Date: Thu, 1 Oct 2020 15:40:10 +0000


> -----Original Message-----
> From: Laurent Vivier <laurent@vivier.eu>
> Sent: Thursday, October 1, 2020 1:53 AM
> To: Taylor Simpson <tsimpson@quicinc.com>; qemu-devel@nongnu.org
> Cc: richard.henderson@linaro.org; philmd@redhat.com; riku.voipio@iki.fi;
> aleksandar.m.mail@gmail.com; ale@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 <laurent@vivier.eu>
> >> Sent: Monday, September 28, 2020 3:03 PM
> >> To: Taylor Simpson <tsimpson@quicinc.com>; qemu-devel@nongnu.org
> >> Cc: richard.henderson@linaro.org; philmd@redhat.com; riku.voipio@iki.fi;
> >> aleksandar.m.mail@gmail.com; ale@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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]