commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r6890 - in gnuradio/branches/developers/eb/gcell: . co


From: eb
Subject: [Commit-gnuradio] r6890 - in gnuradio/branches/developers/eb/gcell: . config src src/include src/lib
Date: Tue, 13 Nov 2007 22:02:37 -0700 (MST)

Author: eb
Date: 2007-11-13 22:02:36 -0700 (Tue, 13 Nov 2007)
New Revision: 6890

Added:
   gnuradio/branches/developers/eb/gcell/Makefile.am
   gnuradio/branches/developers/eb/gcell/bootstrap
   gnuradio/branches/developers/eb/gcell/config/
   gnuradio/branches/developers/eb/gcell/config/Makefile.am
   gnuradio/branches/developers/eb/gcell/src/
   gnuradio/branches/developers/eb/gcell/src/Makefile.am
   gnuradio/branches/developers/eb/gcell/src/include/
   gnuradio/branches/developers/eb/gcell/src/include/Makefile.am
   gnuradio/branches/developers/eb/gcell/src/include/gc_cdefs.h
   gnuradio/branches/developers/eb/gcell/src/include/gc_job.h
   gnuradio/branches/developers/eb/gcell/src/include/gc_job_private.h
   gnuradio/branches/developers/eb/gcell/src/include/gc_types.h
   gnuradio/branches/developers/eb/gcell/src/lib/
   gnuradio/branches/developers/eb/gcell/src/lib/Makefile.am
Modified:
   gnuradio/branches/developers/eb/gcell/
Log:
work-in-progress


Property changes on: gnuradio/branches/developers/eb/gcell
___________________________________________________________________
Name: svn:ignore
   + configure
Makefile.in
config.log
config.guess
config.h
ltmain.sh
config.sub
Makefile
config.status
stamp-h1
config.h.in
autom4te.cache
libtool
missing
aclocal.m4
install-sh
depcomp
py-compile
compile
build
run_tests.sh
*-stamp



Added: gnuradio/branches/developers/eb/gcell/Makefile.am
===================================================================
--- gnuradio/branches/developers/eb/gcell/Makefile.am                           
(rev 0)
+++ gnuradio/branches/developers/eb/gcell/Makefile.am   2007-11-14 05:02:36 UTC 
(rev 6890)
@@ -0,0 +1,21 @@
+#
+# Copyright 2007 Free Software Foundation, Inc.
+# 
+# This file is part of GNU Radio
+# 
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+# 
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+
+SUBDIRS = config src


Property changes on: gnuradio/branches/developers/eb/gcell/Makefile.am
___________________________________________________________________
Name: svn:eol-style
   + native

Copied: gnuradio/branches/developers/eb/gcell/bootstrap (from rev 6856, 
gnuradio/trunk/bootstrap)
===================================================================
--- gnuradio/branches/developers/eb/gcell/bootstrap                             
(rev 0)
+++ gnuradio/branches/developers/eb/gcell/bootstrap     2007-11-14 05:02:36 UTC 
(rev 6890)
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+# Copyright 2001,2005 Free Software Foundation, Inc.
+# 
+# This file is part of GNU Radio
+# 
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+# 
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+
+
+rm -fr config.cache autom4te*.cache
+
+aclocal -I config
+autoconf
+autoheader
+libtoolize --automake
+automake --add-missing

Added: gnuradio/branches/developers/eb/gcell/config/Makefile.am
===================================================================
--- gnuradio/branches/developers/eb/gcell/config/Makefile.am                    
        (rev 0)
+++ gnuradio/branches/developers/eb/gcell/config/Makefile.am    2007-11-14 
05:02:36 UTC (rev 6890)
@@ -0,0 +1,19 @@
+#
+# Copyright 2007 Free Software Foundation, Inc.
+# 
+# This file is part of GNU Radio
+# 
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+# 
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#


Property changes on: gnuradio/branches/developers/eb/gcell/config/Makefile.am
___________________________________________________________________
Name: svn:eol-style
   + native

Added: gnuradio/branches/developers/eb/gcell/src/Makefile.am
===================================================================
--- gnuradio/branches/developers/eb/gcell/src/Makefile.am                       
        (rev 0)
+++ gnuradio/branches/developers/eb/gcell/src/Makefile.am       2007-11-14 
05:02:36 UTC (rev 6890)
@@ -0,0 +1,21 @@
+#
+# Copyright 2007 Free Software Foundation, Inc.
+# 
+# This file is part of GNU Radio
+# 
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+# 
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+
+SUBDIRS = include lib


Property changes on: gnuradio/branches/developers/eb/gcell/src/Makefile.am
___________________________________________________________________
Name: svn:eol-style
   + native

Added: gnuradio/branches/developers/eb/gcell/src/include/Makefile.am
===================================================================
--- gnuradio/branches/developers/eb/gcell/src/include/Makefile.am               
                (rev 0)
+++ gnuradio/branches/developers/eb/gcell/src/include/Makefile.am       
2007-11-14 05:02:36 UTC (rev 6890)
@@ -0,0 +1,19 @@
+#
+# Copyright 2007 Free Software Foundation, Inc.
+# 
+# This file is part of GNU Radio
+# 
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+# 
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#


Property changes on: 
gnuradio/branches/developers/eb/gcell/src/include/Makefile.am
___________________________________________________________________
Name: svn:eol-style
   + native

Added: gnuradio/branches/developers/eb/gcell/src/include/gc_cdefs.h
===================================================================
--- gnuradio/branches/developers/eb/gcell/src/include/gc_cdefs.h                
                (rev 0)
+++ gnuradio/branches/developers/eb/gcell/src/include/gc_cdefs.h        
2007-11-14 05:02:36 UTC (rev 6890)
@@ -0,0 +1,34 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2007 Free Software Foundation, Inc.
+ * 
+ * This file is part of GNU Radio
+ * 
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ * 
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef INCLUDED_GC_CDEFS_H
+#define INCLUDED_GC_CDEFS_H
+
+/* C++ needs to know that types and declarations are C, not C++.  */
+#ifdef __cplusplus
+# define __GC_BEGIN_DECLS      extern "C" {
+# define __GC_END_DECLS        }
+#else
+# define __GC_BEGIN_DECLS
+# define __GC_END_DECLS
+#endif
+
+#endif /* INCLUDED_GC_CDEFS_H */


Property changes on: 
gnuradio/branches/developers/eb/gcell/src/include/gc_cdefs.h
___________________________________________________________________
Name: svn:eol-style
   + native

Added: gnuradio/branches/developers/eb/gcell/src/include/gc_job.h
===================================================================
--- gnuradio/branches/developers/eb/gcell/src/include/gc_job.h                  
        (rev 0)
+++ gnuradio/branches/developers/eb/gcell/src/include/gc_job.h  2007-11-14 
05:02:36 UTC (rev 6890)
@@ -0,0 +1,132 @@
+/* -*- c -*- */
+/*
+ * Copyright 2007 Free Software Foundation, Inc.
+ * 
+ * This file is part of GNU Radio
+ * 
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ * 
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef INCLUDED_GC_JOB_H
+#define INCLUDED_GC_JOB_H
+
+/*!
+ * This file contains the structures that are used to describe how to
+ * call "jobs" that execute on the SPEs.  A "job" is a task, or piece of
+ * work that you want to run on an SPE.
+ *
+ * There is code running in the SPE that knows how to interpret
+ * these job descriptions. Thus, in most cases, the overhead
+ * of invoking these is very low.
+ *
+ * The whole "job idea" is SPE centric.  At first pass,
+ * the PPE will be constructing jobs and enqueing them.
+ * However, there is nothing in the implementation that
+ * prohibits SPEs from creating their own jobs in the
+ * future.  Also, there is nothing prohibiting SPE-to-SPE
+ * DMA's.
+ *
+ * SPE's dequeue and "pull" jobs to themselves, do the work, then
+ * notify the entity that submitted the job.
+ */
+
+#include "gc_types.h"
+#include "gc_job_private.h"
+#include <libsync.h>
+
+/*
+ * This is C, not C++ code...
+ *
+ * ...and is used by both PPE and SPE code
+ */
+__GC_BEGIN_DECLS
+
+
+//! opaque ID that specifies which code to invoke on the SPE
+typedef uint32_t gc_method_t;
+
+//! final job status
+typedef enum {
+  JS_OK,
+  JS_UNKNOWN_METHOD,       // didn't recognize the method ID
+  JS_BAD_INPUT_SIGNATURE,   // input arg count and types are wrong
+  JS_BAD_OUTPUT_SIGNATURE,  // output arg count and types are wrong
+} gc_job_status_t;
+
+#define NARGS_BY_VALUE 8
+#define NARGS_BY_REF   8
+
+/*!
+ * \brief Tag type of "by value" argument
+ */
+typedef enum {
+  GCT_S32,
+  GCT_U32,
+  GCT_S64,
+  GCT_U64,
+  GCT_FLOAT,
+  GCT_DOUBLE,
+  GCT_FLT_CMPLX,
+  GCT_DBL_CMPLX,
+  GCT_EADDR,
+} gc_tag_t;
+
+/*!
+ * \brief union for passing "by value" argument
+ */
+typedef union gc_arg_union
+{
+  int32_t       s32;
+  uint32_t      u32;
+  int64_t       s64;
+  uint64_t      u64;
+  float                 f;
+  double        d;
+  float complex         fc;    //  64-bits (C99)
+  double complex dc;    // 128-bits (C99)
+  gc_eaddr_t    ea;    //  64-bits
+} __attribute__((aligned (16))) gc_arg_union_t;
+
+
+/*!
+ * \brief input or output arguments
+ */
+typedef struct gc_job_args
+{
+  uint32_t      n_by_val;                // # of args by value
+  uint32_t      n_by_ref;                // # of args by ref (DMA'd in/out)
+  gc_tag_t      val_tag[NARGS_BY_VALUE]; // type of val_arg[i]
+  gc_arg_union_t val_arg[NARGS_BY_VALUE]; // the args by value
+  uint_32_t     ref_len[NARGS_BY_REF];   // length in bytes of ref_arg[i]
+  gc_eaddr_t    ref_arg[NARGS_BY_REF];   // EA address for DMA
+} gc_job_args_t;
+
+
+/*!
+ * \brief "job description" that is DMA'd to/from the SPE.
+ */
+typedef struct gc_job
+{
+  gc_job_private_t  sys;       // internals
+  gc_method_t      method;     // specifies what to run (details to follow)
+  gc_job_status_t   status;    // what happened (output)
+  gc_job_args_t            input;      // input args (to SPE)
+  gc_job_args_t            output;     // output args (from SPE)
+
+} __attribute__((aligned (128))) gc_job_t;
+
+__GC_END_DECLS
+
+#endif /* INCLUDED_GCELL_JOB_H */


Property changes on: gnuradio/branches/developers/eb/gcell/src/include/gc_job.h
___________________________________________________________________
Name: svn:eol-style
   + native

Added: gnuradio/branches/developers/eb/gcell/src/include/gc_job_private.h
===================================================================
--- gnuradio/branches/developers/eb/gcell/src/include/gc_job_private.h          
                (rev 0)
+++ gnuradio/branches/developers/eb/gcell/src/include/gc_job_private.h  
2007-11-14 05:02:36 UTC (rev 6890)
@@ -0,0 +1,40 @@
+/* -*- c -*- */
+/*
+ * Copyright 2007 Free Software Foundation, Inc.
+ * 
+ * This file is part of GNU Radio
+ * 
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ * 
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef INCLUDED_GC_JOB_PRIVATE_H
+#define INCLUDED_GC_JOB_PRIVATE_H
+
+/*!
+ * \brief Implementation details we'd like to hide from the user but can't.
+ */
+typedef struct gc_job_private
+{
+  gc_eaddr_t   link;           // used to implement job queue
+
+  // FIXME:
+  // notifier_method
+  // notifier_arg
+  // location (where we're running)
+  
+} gc_job_private_t;
+
+#endif /* INCLUDED_GC_JOB_PRIVATE_H */
+


Property changes on: 
gnuradio/branches/developers/eb/gcell/src/include/gc_job_private.h
___________________________________________________________________
Name: svn:eol-style
   + native

Added: gnuradio/branches/developers/eb/gcell/src/include/gc_types.h
===================================================================
--- gnuradio/branches/developers/eb/gcell/src/include/gc_types.h                
                (rev 0)
+++ gnuradio/branches/developers/eb/gcell/src/include/gc_types.h        
2007-11-14 05:02:36 UTC (rev 6890)
@@ -0,0 +1,56 @@
+/* -*- c -*- */
+/*
+ * Copyright 2007 Free Software Foundation, Inc.
+ * 
+ * This file is part of GNU Radio
+ * 
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ * 
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef INCLUDED_GC_TYPES_H
+#define INCLUDED_GC_TYPES_H
+
+#include <stdint.h>
+#include <gc_cdefs.h>
+
+__GC_BEGIN_DECLS
+
+/*!
+ * \brief 64-bit integer type representing an effective address (EA)
+ *
+ * This type is always 64-bits, regardless of whether we're
+ * running in 32 or 64-bit mode.
+ */
+typedef uint64_t       eaddr_t;
+
+#if !defined(__SPU__)
+static inline void *
+ea_to_voidstar(eaddr_t ea)
+{
+  // in 32-bit mode we're tossing the top 32-bits.
+  return (void *) (uintptr_t) ea;
+}
+
+static inline eaddr_t
+voidstar_to_ea(void *p)
+{
+  // two steps to avoid compiler warning in 32-bit mode.
+  return (eaddr_t) (uintptr_t) p;
+}
+#endif
+
+__GC_END_DECLS
+
+#endif /* INCLUDED_GC_TYPES_H */


Property changes on: 
gnuradio/branches/developers/eb/gcell/src/include/gc_types.h
___________________________________________________________________
Name: svn:eol-style
   + native

Added: gnuradio/branches/developers/eb/gcell/src/lib/Makefile.am
===================================================================
--- gnuradio/branches/developers/eb/gcell/src/lib/Makefile.am                   
        (rev 0)
+++ gnuradio/branches/developers/eb/gcell/src/lib/Makefile.am   2007-11-14 
05:02:36 UTC (rev 6890)
@@ -0,0 +1,19 @@
+#
+# Copyright 2007 Free Software Foundation, Inc.
+# 
+# This file is part of GNU Radio
+# 
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+# 
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#


Property changes on: gnuradio/branches/developers/eb/gcell/src/lib/Makefile.am
___________________________________________________________________
Name: svn:eol-style
   + native





reply via email to

[Prev in Thread] Current Thread [Next in Thread]