Re: [PATCH] LinuxPPS (with new syscalls API)

From: Rodolfo Giometti
Date: Tue Jun 26 2007 - 14:12:08 EST


On Tue, Jun 26, 2007 at 06:38:40PM +0100, David Woodhouse wrote:

> That sounds like you're scared of using goto. Don't be :)

But it's not wrong... should I change it or not?

> I don't see this timepps.h of which you speak. If it's a _userspace_
> file, it cannot include <linux/pps.h> unless you actually add
> <linux/pps.h> to the list of files which are exported.
>
> Run 'make headers_install' and observe that there is no file
> usr/include/linux/pps.h -- so there would be no /usr/include/linux/pps.h
> generated from your kernel tree. You need to add 'unifdef-y += pps.h' to
> include/linux/Kbuild for that to happen.

Is this right?

diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index 94cc04a..87f1e2c 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -290,6 +290,7 @@ unifdef-y += pmu.h
unifdef-y += poll.h
unifdef-y += ppp_defs.h
unifdef-y += ppp-comp.h
+unifdef-y += pps.h
unifdef-y += ptrace.h
unifdef-y += qnx4_fs.h
unifdef-y += quota.h

> 64-bit kernels can run 32-bit userspace programs. But some structures
> come out _differently_ between 32-bit and 64-bit compilation, so the
> system call needs a special 'compat' handler instead of just running the
> normal 64-bit system call.
>
> The 'struct timespec' is one structure which is sometimes different for
> 32-bit vs. 64-bit, so any system call taking a 'struct timespec' must
> have a separate compat_sys_xxxx() to handle that. See something like
> compat_sys_clock_settime() in kernel/compat.c for an example (but don't
> use set_fs() like it does; just see how it handles the compat_timespec).

Ok, I'll take a look at it.

Thanks a lot,

Rodolfo

--

GNU/Linux Solutions e-mail: giometti@xxxxxxxxxxxx
Linux Device Driver giometti@xxxxxxxxx
Embedded Systems giometti@xxxxxxxx
UNIX programming phone: +39 349 2432127
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/