All of lore.kernel.org
 help / color / mirror / Atom feed
* [parisc-linux] 2.4 and semtimedop - need kernel compat?
@ 2003-05-19 20:12 Carlos O'Donell
  2003-05-19 22:06 ` Matthew Wilcox
  0 siblings, 1 reply; 6+ messages in thread
From: Carlos O'Donell @ 2003-05-19 20:12 UTC (permalink / raw)
  To: parisc-linux

pa,

I think I'm leaving the "filling in" of this to Randolph :)
For now it provides enough functionality for glibc to build and be all
happy and merry. Wether we strictly need compat code for semtimedop is
uknown.

Comments appreciated before checkin.

Willy handed out the new syscall number 228 for semtimedop.

c.

Index: arch/parisc/kernel/sys_parisc.c
===================================================================
RCS file: /var/cvs/linux/arch/parisc/kernel/sys_parisc.c,v
retrieving revision 1.14
diff -u -p -r1.14 sys_parisc.c
--- arch/parisc/kernel/sys_parisc.c	23 Nov 2001 21:54:28 -0000	1.14
+++ arch/parisc/kernel/sys_parisc.c	19 May 2003 19:57:48 -0000
@@ -256,3 +256,11 @@ int sys_shmctl_broken(int shmid, int cmd
 	return sys_shmctl (shmid, cmd, (struct shmid_ds *)buf);
 }
 
+/* 2.4 compat code required for IPC calls */
+asmlinkage long sys_semtimedop(int semid, struct sembuf *tsops,
+                                unsigned nsops, const struct timespec *timeout)
+{
+	/* FIXME: Need to implement compat? */
+	return -ENOSYS;
+}
+
Index: arch/parisc/kernel/sys_parisc32.c
===================================================================
RCS file: /var/cvs/linux/arch/parisc/kernel/sys_parisc32.c,v
retrieving revision 1.27
diff -u -p -r1.27 sys_parisc32.c
--- arch/parisc/kernel/sys_parisc32.c	14 Sep 2002 05:14:03 -0000	1.27
+++ arch/parisc/kernel/sys_parisc32.c	19 May 2003 19:57:48 -0000
@@ -3104,3 +3104,11 @@ asmlinkage long sys32_semctl_broken(int 
 	return sys_semctl (semid, semnum, cmd, arg);
 }
 
+/* 2.4 compat code required for IPC calls */
+asmlinkage long sys32_semtimedop(int semid, struct sembuf *tsops,
+				unsigned nsops, const struct timespec *timeout)
+{
+	/* FIXME: Possible 32/64 conversions required */
+	/* FIXME: Need to implement compat? */
+	return -ENOSYS;
+}
Index: arch/parisc/kernel/syscall.S
===================================================================
RCS file: /var/cvs/linux/arch/parisc/kernel/syscall.S,v
retrieving revision 1.78
diff -u -p -r1.78 syscall.S
--- arch/parisc/kernel/syscall.S	4 Aug 2002 22:57:47 -0000	1.78
+++ arch/parisc/kernel/syscall.S	19 May 2003 19:57:48 -0000
@@ -604,8 +604,31 @@ sys_call_table:
 #endif
 	ENTRY_SAME(gettid)             
 	ENTRY_SAME(readahead)          
-	ENTRY_SAME(tkill)
+	ENTRY_SAME(tkill)		/* 208 */
 
+	/* COMPAT semtimedop call requires the same syscall number
+	across kernel versions. */
+	
+	ENTRY_SAME(ni_syscall)
+	ENTRY_SAME(ni_syscall)		/* 210 */
+	ENTRY_SAME(ni_syscall)
+	ENTRY_SAME(ni_syscall)
+	ENTRY_SAME(ni_syscall)
+	ENTRY_SAME(ni_syscall)
+	ENTRY_SAME(ni_syscall)
+	ENTRY_SAME(ni_syscall)
+	ENTRY_SAME(ni_syscall)
+	ENTRY_SAME(ni_syscall)
+	ENTRY_SAME(ni_syscall)
+	ENTRY_SAME(ni_syscall)		/* 220 */
+	ENTRY_SAME(ni_syscall)
+	ENTRY_SAME(ni_syscall)
+	ENTRY_SAME(ni_syscall)
+	ENTRY_SAME(ni_syscall)
+	ENTRY_SAME(ni_syscall)
+	ENTRY_SAME(ni_syscall)
+	ENTRY_SAME(ni_syscall)
+	ENTRY_DIFF(semtimedop)		/* 228 */
 .end
 
 	/* Make sure nothing else is placed on this page */
Index: include/asm-parisc/unistd.h
===================================================================
RCS file: /var/cvs/linux/include/asm-parisc/unistd.h,v
retrieving revision 1.26
diff -u -p -r1.26 unistd.h
--- include/asm-parisc/unistd.h	4 Aug 2002 22:59:52 -0000	1.26
+++ include/asm-parisc/unistd.h	19 May 2003 19:57:50 -0000
@@ -702,6 +702,8 @@
 #define __NR_readahead          (__NR_Linux + 207)
 #define __NR_tkill              (__NR_Linux + 208)
 
+#define __NR_semtimedop         (__NR_Linux + 228)
+
 #define __NR_Linux_syscalls     208
 
 #define HPUX_GATEWAY_ADDR       0xC0000004

^ permalink raw reply	[flat|nested] 6+ messages in thread
* Re: [parisc-linux] 2.4 and semtimedop - need kernel compat?
@ 2003-05-20 17:20 Joel Soete
  2003-05-21  2:09 ` Carlos O'Donell
  0 siblings, 1 reply; 6+ messages in thread
From: Joel Soete @ 2003-05-20 17:20 UTC (permalink / raw)
  To: Carlos O'Donell, Matthew Wilcox; +Cc: parisc-linux

>The idea was that it might be able to provide the required compat
>functionality in 2.4. If we feel it's not possible then we can eliminate
>all the entries in sys_parisc.c/sys32_parisc.c and leave the syscall as
>ENTRY_SAME(nisyscall) in entry.S.
>
>The glibc side of the code is done.
>
Hi Carlos,

In the very last Andrea's patch 2.4.21rc2aa1.bz2, I read that Andrea already
back port this stuff :)

At a first glance, the job is also applied for hppa. Would you like that
I have
a look to see if it is applicable with your patch in p-l cvs tree?

Joel




---------------------------------
Vous surfez avec une ligne classique ?
Economisez jusqu'à 25% avec Tiscali Complete !
Offre spéciale : première année d'abonnement offerte.
... Plus d'info sur http://complete.tiscali.be

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

end of thread, other threads:[~2003-05-21  6:31 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-05-19 20:12 [parisc-linux] 2.4 and semtimedop - need kernel compat? Carlos O'Donell
2003-05-19 22:06 ` Matthew Wilcox
2003-05-19 23:16   ` Carlos O'Donell
  -- strict thread matches above, loose matches on Subject: below --
2003-05-20 17:20 Joel Soete
2003-05-21  2:09 ` Carlos O'Donell
2003-05-21  6:30   ` Joel Soete

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.