Hey again, On Mon, Nov 28, 2022 at 9:02 PM Jason A. Donenfeld <Jason@xxxxxxxxx> wrote: > > Hi Arnd, > > On Mon, Nov 28, 2022 at 8:57 PM Arnd Bergmann <arnd@xxxxxxxx> wrote: > > > > On Mon, Nov 28, 2022, at 20:23, Jason A. Donenfeld wrote: > > > On Mon, Nov 28, 2022 at 08:18:12PM +0100, Arnd Bergmann wrote: > > >> On Mon, Nov 28, 2022, at 12:18, Jason A. Donenfeld wrote: > > > > > > That's more or less how v7 was, but Thomas thought the x86 stuff should > > > be separate. So for v8, the organization is: > > > > > > 1) generic syscall > > > 2) generic vdso > > > 3) x86 wiring > > > > > > The primary advantage is that future archs wanting to add this now can > > > just look at commit (3) only, and make a similar commit for that new > > > arch. > > > > > > If you think a different organization outweighs that advantage, can you > > > spell out what division of patches you want, and I'll do that for v9? > > > Or maybe this v8 is okay? > > > > My interest is that at the end of the series, all architectures > > are hooked up with the same syscall number, which avoids confusion > > and merge conflicts when we add the next syscall to all tables. > > > > How about one patch to add all the syscall table entries, and then > > have the x86 specific change just turn on the Kconfig symbol that > > actually enables the syscall? > > Okay, I can split it that way. If I gather your meaning correctly: > > 1) generic syscall C code > 2) #define __NR_... in asm-generic/unistd.h x86/.../unistd.h, > x86/.../syscall_64.tbl > 3) generic vdso C code > 4) hook up x86 vdso, and select the right Kconfig symbol to start > compiling the code > > Is that what you have in mind? If so, I'll name (2) "arch: wire up > vgetrandom_alloc() syscall number". Well, I just did this, and it seems clean enough. The result is in: https://git.zx2c4.com/linux-rng/log/?h=vdso if you're curious to poke at it ahead of v9. Jason