Linux MIPS Architecture development
 help / color / mirror / Atom feed
* 64-bit and N32 kernel interfaces
@ 2002-09-04 13:56 Ralf Baechle
  2002-09-04 14:14 ` Maciej W. Rozycki
                   ` (2 more replies)
  0 siblings, 3 replies; 54+ messages in thread
From: Ralf Baechle @ 2002-09-04 13:56 UTC (permalink / raw)
  To: linux-mips

(I bcc'ed this to a few people; please followup to linux-mips@linux-mips.org.
I'd like this to be discussed widely before it's cast into stone as everybody
will have to live with this for the years to come.)

Right now the 64-bit kernel interfaces are still pretty much an ad-hoc
approach and can't be considered frozen.  There is now some pressure to
come up with a stable 64-bit API asap.

As first think I want to get rid of all the historic crap we have in
our syscall tables for the 64-bit syscalls.  Let's start here:

#define __NR_syscall                    (__NR_Linux +   0)

Deprecated because can be implemented in userspace.

#define __NR_ioperm                     (__NR_Linux + 101)
#define __NR_iopl                       (__NR_Linux + 110)
#define __NR_vm86                       (__NR_Linux + 113)

i386 braindamage we're never going to support.  So why have it in our
syscall table?

#define __NR_unused59                   (__NR_Linux +  59)
#define __NR_reserved82                 (__NR_Linux +  82)
#define __NR_unused109                  (__NR_Linux + 109)
#define __NR_unused150                  (__NR_Linux + 150)

Unused entries.  Why keep them ...

#define __NR_break                      (__NR_Linux +  17)
#define __NR_stty                       (__NR_Linux +  31)
#define __NR_gtty                       (__NR_Linux +  32)
#define __NR_ftime                      (__NR_Linux +  35)
#define __NR_prof                       (__NR_Linux +  44)
#define __NR_signal                     (__NR_Linux +  48)
#define __NR_mpx                        (__NR_Linux +  56)
#define __NR_ulimit                     (__NR_Linux +  58)
#define __NR_readdir                    (__NR_Linux +  89)
#define __NR_profil                     (__NR_Linux +  98)
#define __NR_modify_ldt                 (__NR_Linux + 123)

Slots that data back to day one of UNIX way before Linux was born.

#define __NR_socketcall                 (__NR_Linux + 102)

Wrapper syscall, obsoleted since quite a while in the 32-bit kernel.

#define __NR_idle                       (__NR_Linux + 112)

Internal syscall, no longer used.

#define __NR_ipc                        (__NR_Linux + 117)

Yet another multiplexor syscall and imho another candidate for getting
rid of.

#define __NR_oldstat                    (__NR_Linux +  18)
#define __NR_umount                     (__NR_Linux +  22)
#define __NR_oldfstat                   (__NR_Linux +  28)
#define __NR_oldlstat                   (__NR_Linux +  84)

Superseeded by newer versions.

#define __NR_uselib                     (__NR_Linux +  86)

a.out support.  Do we really want that.

I probably missed a few.  The primary purpose of this posting is to get a
discussion about the 64-bit syscall interface started.  It's still not
cast into stone so we can modify it as we see fit.  The entire syscall
interface is still open for changes, this includes all structures etc.
Along with a 64-bit ABI we'll also have to deciede about a N32 ABI.

Suggestions, comments etc?

  Ralf

^ permalink raw reply	[flat|nested] 54+ messages in thread
* Re: 64-bit and N32 kernel interfaces
@ 2002-09-05  9:30 Tor Arntsen
  2002-09-05 11:47 ` Maciej W. Rozycki
  0 siblings, 1 reply; 54+ messages in thread
From: Tor Arntsen @ 2002-09-05  9:30 UTC (permalink / raw)
  To: Maciej W. Rozycki, Carsten Langgaard; +Cc: Ralf Baechle, linux-mips

On Sep 5, 10:23, "Maciej W. Rozycki" wrote:
>On Thu, 5 Sep 2002, Carsten Langgaard wrote:
[...]
>> Please notice, that a 'long' is 32-bit for n32, so we need to do the same
>> conversion for a lot of syscalls, as we already do for o32.
>
> Any reference?  AFAIK, long is 64-bit for n32 and only void * is 32-bit. 
>It doesn't make sense otherwise. 

On SGI/Irix n32 long and void* are 32-bit, only long long is 64-bit.
On SGI/Irix n64 long and void* are 64-bit too.

-Tor

^ permalink raw reply	[flat|nested] 54+ messages in thread

end of thread, other threads:[~2002-09-16 15:41 UTC | newest]

Thread overview: 54+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-09-04 13:56 64-bit and N32 kernel interfaces Ralf Baechle
2002-09-04 14:14 ` Maciej W. Rozycki
2002-09-04 14:31   ` Ralf Baechle
2002-09-04 15:19     ` Maciej W. Rozycki
2002-09-04 18:46       ` Ralf Baechle
2002-09-05  9:53         ` Maciej W. Rozycki
2002-09-05  6:40       ` Carsten Langgaard
2002-09-05  9:23         ` Maciej W. Rozycki
2002-09-05 13:41           ` Daniel Jacobowitz
2002-09-04 17:32     ` Jun Sun
2002-09-04 17:56       ` Maciej W. Rozycki
2002-09-04 18:40       ` Ralf Baechle
2002-09-05 10:15         ` Kjeld Borch Egevang
2002-09-05 10:15           ` Kjeld Borch Egevang
2002-09-09 20:20 ` Jay Carlson
2002-09-16 13:01 ` Ralf Baechle
2002-09-16 15:40   ` Ralf Baechle
  -- strict thread matches above, loose matches on Subject: below --
2002-09-05  9:30 Tor Arntsen
2002-09-05 11:47 ` Maciej W. Rozycki
2002-09-05 12:48   ` Kevin D. Kissell
2002-09-05 12:48     ` Kevin D. Kissell
2002-09-05 14:09     ` Maciej W. Rozycki
2002-09-05 14:20       ` Hartvig Ekner
2002-09-05 14:20         ` Hartvig Ekner
2002-09-05 14:54         ` Maciej W. Rozycki
2002-09-05 14:59           ` Daniel Jacobowitz
2002-09-05 15:10             ` Maciej W. Rozycki
2002-09-05 15:14               ` Daniel Jacobowitz
2002-09-05 16:16                 ` Maciej W. Rozycki
2002-09-05 16:19                   ` Daniel Jacobowitz
2002-09-05 16:33                     ` Maciej W. Rozycki
2002-09-05 16:39                       ` Daniel Jacobowitz
2002-09-05 17:16                         ` Maciej W. Rozycki
2002-09-05 17:29                   ` Kevin D. Kissell
2002-09-05 17:29                     ` Kevin D. Kissell
2002-09-05 19:34                     ` Maciej W. Rozycki
2002-09-06  9:42                   ` Ralf Baechle
2002-09-05 18:07               ` Hartvig Ekner
2002-09-05 18:07                 ` Hartvig Ekner
2002-09-05 18:54                 ` Maciej W. Rozycki
2002-09-05 19:16                   ` Thiemo Seufer
2002-09-06  9:30               ` Ralf Baechle
2002-09-05 14:22       ` Daniel Jacobowitz
2002-09-05 15:08         ` Maciej W. Rozycki
2002-09-05 15:14           ` Daniel Jacobowitz
2002-09-05 16:28             ` Maciej W. Rozycki
2002-09-05 16:30           ` Thiemo Seufer
2002-09-05 16:54             ` Maciej W. Rozycki
2002-09-05 17:44               ` Thiemo Seufer
2002-09-05 19:50                 ` Maciej W. Rozycki
2002-09-05 22:12                   ` Thiemo Seufer
2002-09-09 17:39                     ` Maciej W. Rozycki
2002-09-06 10:14           ` Ralf Baechle
2002-09-09 14:01             ` Dominic Sweetman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox