mknodat(2) device argument type change

2013-10-06 Thread Nicolas Joly

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

2013-10-06 Thread Marc Balmer
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

2013-10-06 Thread Nicolas Joly
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

2013-10-06 Thread Nicolas Joly
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.