mknodat(2) device argument type change
Hi, Checking syscalls.master mknodat(2) definition needs to be updated for correct device argument type. It currently use uint32_t where it should be dev_t ... 460 STD RUMP { int|sys||mknodat(int fd, const char *path, \ mode_t mode, uint32_t dev); } Simply changing the argument type does not seems enough ... It, at least, needs an extra special PAD argument for proper alignment : 460 STD RUMP { int|sys||mknodat(int fd, const char *path, \ mode_t mode, int PAD, dev_t dev); } What's next ? Thanks in advance. -- Nicolas Joly Biology IT Center Institut Pasteur, Paris.
Moving Lua source codes
Hi All I am in the progress of - Updating the Lua code in base from version 5.1 to version 5.2 - Commiting the kernel parts from our GSoC project, Lua in the NetBSD Kernel mrg@ suggestest that I move the Lua source code from src/external/ to src/sys/external, which imo makes sense. Comments requested. The plan is to import Lua 5.2 sources in src/sys/external, then adjust userland and kernel parts to uses sources from there, and once all works, remove the Lua 5.1 sources from src/external. The transition from 5.1 to 5.2 is more complicated that one would think, especially from a C module programmers perspective (the C API changed in a way that makes it necessary to adjust most modules). - mbalmer
Re: mknodat(2) device argument type change
On Sun, Oct 06, 2013 at 05:56:58PM +, Christos Zoulas wrote: In article 20131006174052.ga27...@lynche.sis.pasteur.fr, Nicolas Joly nj...@pasteur.fr wrote: Hi, Checking syscalls.master mknodat(2) definition needs to be updated for correct device argument type. It currently use uint32_t where it should be dev_t ... 460 STD RUMP { int|sys||mknodat(int fd, const char *path, \ mode_t mode, uint32_t dev); } Simply changing the argument type does not seems enough ... It, at least, needs an extra special PAD argument for proper alignment : 460 STD RUMP { int|sys||mknodat(int fd, const char *path, \ mode_t mode, int PAD, dev_t dev); } What's next ? While putting PAD there is strictly more correct, since dev_t is 64 bits now mknod does not do that... I would also say just make the change, because probably nothing uses it yet, and it is not worth it to burn a syscall number and add more compat code for something that has not been used... It needs the PAD, syscalls files generation fails without it (sysalign=1). /bin/sh makesyscalls.sh syscalls.conf syscalls.master syscalls.master: line 905: unexpected dev (expected a padding argument) line is: 460 STD RUMP{ int | sys | | mknodat ( int fd , const char * path ,mode_t mode , dev_t dev ) ; } *** Error code 1 -- Nicolas Joly Biology IT Center Institut Pasteur, Paris.
Re: mknodat(2) device argument type change
On Sun, Oct 06, 2013 at 04:59:19PM -0400, Christos Zoulas wrote: On Oct 6, 10:51pm, nj...@pasteur.fr (Nicolas Joly) wrote: -- Subject: Re: mknodat(2) device argument type change [...] | It needs the PAD, syscalls files generation fails without it | (sysalign=1). | | /bin/sh makesyscalls.sh syscalls.conf syscalls.master | syscalls.master: line 905: unexpected dev (expected a padding argument) | line is: | 460 STD RUMP{ int | sys | | mknodat ( int fd , const char * path ,mode_t mode , dev_t dev ) ; } | *** Error code 1 And mknod() works? Yes. It satisfies dev_t alignment (argalign = 2). -- Nicolas Joly Biology IT Center Institut Pasteur, Paris.