[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r6890 - in gnuradio/branches/developers/eb/gcell: . config src src/include src/lib,
eb <=