Date: Tue, 7 May 2002 01:15:49 -0700 (PDT) From: Matthew Dillon <dillon@apollo.backplane.com> To: Poul-Henning Kamp <phk@FreeBSD.ORG> Cc: arch@FreeBSD.ORG Subject: Re: syscall changes to deal with 32->64 changes. Message-ID: <200205070815.g478Fn180961@apollo.backplane.com> References: <13810.1020419033@critter.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
As a person who has already spent several days playing with 64 bit time_t's and associated syscalls I would say that creating a new syscall vector for FreeBSD 5.0 (and leaving the existing one intact for compatibility) is the correct solution. I tried to add new syscalls to the existing vector but so many syscalls had to be changed to support 64 bit time_t's that it became a huge mess... so much so that I would expect the other BSD's to cry foul on us if we tried to do it with the existing vector. It will be far, far cleaner to simply implement an entirely new syscall vector / ELF identifier. In regards to other things that may need to change size: A complete audit will have to be performed. I would be happy to take a run through. Getting it right the first time is extremely important. A bunch of things starting leaking out of the woodwork as I was playing around with 64 bit time_t's. At the very least I would pad the structures to handle things like 64 bit dev_t, ino_t, and file flags, and I would even consider padding now 96 bit structures like timespec (on IA32 with 64 bit time_t's + nanoseconds long = 96 bits) to 128 bits across the board. It might also be worthwhile to make uid_t, gid_t, and pid_t 64 bits to support probable future work in those areas. In regards to the 5.0R question that comes up later in the thread... I just don't know. I will say that creating a new syscall vector cannot be done piecemeal... you have to get it *all* in from the get-go or you create huge issues with things like bootstrapping new systems and general compatibility and useability, etc.. -Matt :We have some 32 to 64 bit changes outstanding, which are necessary :to complete the UFS2 DARPA project. :... : :1. Are there anything else that needs to change size while we're : at it ? : :2. Is this a good occation to create a new syscall vector for : FreeBSD 5.0 rather than embellish the existing one with even : more variations ? : :-- :Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200205070815.g478Fn180961>