[LinuxPPS] Changing the syscalls

Rodolfo Giometti giometti at enneenne.com
Mon Jul 2 18:42:19 CEST 2007


On Sun, Jul 01, 2007 at 03:20:50PM -0600, clemens at dwf.com wrote:

> I guess I dont understand what the problem is.
> I read your note, and the linux kernel article, and still dont understand.
> Perhaps you can explain it in greater detail.
> Sizes are the same (arn't they) for 32/64,  and I dont see
> where there would be any byte order problems.

The problem is that struct timespec is not portable across 32 to 64
bits architectures.

For each structures that has inside a struct timespec I should provide
a "replica" which inside has a struct compat_timespec good for 64 bits
architectures.  Also for each syscall which has struct timespec as
input parameter I should provide a "replica" as for
sys_time_pps_fetch() and compat_sys_time_pps_fetch().

To avoid such replications I'm thinking about using fixed structure
across 32/64 bits to exachanging data between kernel and user space
and managing the struct timespec at userland inside timepps.h.

Hope now I explain the problem better. :)

Ciao,

Rodolfo

-- 

GNU/Linux Solutions                  e-mail:    giometti at enneenne.com
Linux Device Driver                             giometti at gnudd.com
Embedded Systems                     		giometti at linux.it
UNIX programming                     phone:     +39 349 2432127



More information about the LinuxPPS mailing list