patch-2.3.42 linux/arch/sparc/ap1000/sync.c
Next file: linux/arch/sparc/ap1000/timer.c
Previous file: linux/arch/sparc/ap1000/msc.c
Back to the patch index
Back to the overall index
- Lines: 56
- Date:
Wed Dec 31 16:00:00 1969
- Orig file:
v2.3.41/linux/arch/sparc/ap1000/sync.c
- Orig date:
Tue Sep 7 12:14:06 1999
diff -u --recursive --new-file v2.3.41/linux/arch/sparc/ap1000/sync.c linux/arch/sparc/ap1000/sync.c
@@ -1,55 +0,0 @@
- /*
- * Copyright 1996 The Australian National University.
- * Copyright 1996 Fujitsu Laboratories Limited
- *
- * This software may be distributed under the terms of the Gnu
- * Public License version 2 or later
- */
-/* sync functions using the Tnet */
-
-#include <asm/ap1000/apreg.h>
-#include <linux/mm.h>
-#include <linux/sched.h>
-#include <linux/threads.h>
-
-extern int cap_cid0;
-extern unsigned _ncel, _ncelx, _ncely, _cid;
-
-static volatile int sync_flags[MPP_NUM_TASKS];
-
-
-int ap_sync(int numcells, int *phys_map)
-{
- int basecell;
- int i,err;
- int tsk = current->taskid;
-
- if (numcells < 2) return 0;
-
- if (!MPP_IS_PAR_TASK(tsk)) {
- printk("nonparallel task %d called ap_sync\n",tsk);
- return 0;
- }
- tsk -= MPP_TASK_BASE;
-
- basecell = phys_map[0];
- if (cap_cid0 == basecell) {
- if ((err=wait_on_int(&sync_flags[tsk],numcells-1,5)))
- return err;
- sync_flags[tsk] = 0;
- if (numcells == _ncel) {
- ap_bput(0,0,0,&sync_flags[tsk],0);
- } else {
- for (i=1;i<numcells;i++)
- ap_put(phys_map[i],0,0,0,&sync_flags[tsk],0);
- }
- return 0;
- }
-
- ap_put(basecell,0,0,0,&sync_flags[tsk],0);
- if ((err=wait_on_int(&sync_flags[tsk],1,5)))
- return err;
- sync_flags[tsk] = 0;
- return 0;
-}
-
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)