summaryrefslogtreecommitdiff
path: root/libdde_linux26/include/.svn/text-base
diff options
context:
space:
mode:
Diffstat (limited to 'libdde_linux26/include/.svn/text-base')
-rw-r--r--libdde_linux26/include/.svn/text-base/Makefile.svn-base33
-rw-r--r--libdde_linux26/include/.svn/text-base/dde26.h.svn-base79
-rw-r--r--libdde_linux26/include/.svn/text-base/dde26_mem.h.svn-base10
-rw-r--r--libdde_linux26/include/.svn/text-base/dde26_net.h.svn-base34
4 files changed, 156 insertions, 0 deletions
diff --git a/libdde_linux26/include/.svn/text-base/Makefile.svn-base b/libdde_linux26/include/.svn/text-base/Makefile.svn-base
new file mode 100644
index 00000000..a300aaaf
--- /dev/null
+++ b/libdde_linux26/include/.svn/text-base/Makefile.svn-base
@@ -0,0 +1,33 @@
+PKGDIR ?= ../..
+L4DIR ?= $(PKGDIR)/../..
+
+# Force these include files to appear in a special subfolder of dde/
+INSTALL_INC_PREFIX = l4/dde/linux26
+
+include $(L4DIR)/mk/Makeconf
+-include $(PKGDIR_OBJ)/Makeconf
+
+include $(L4DIR)/mk/include.mk
+
+#ifeq ($(CONFIG_DDE26),y)
+ifneq ($(BUILD_ARCH),amd64)
+SUFFIX_amd64 = x86_64
+SUFFIX_x86 = x86
+SUFFIX_arm = arm
+
+# macro to establish a symlink to a dir if not already existing
+MAKELINK = if [ ! $1 -ef $2 ] ; then ln -sf $3 $2 ; fi
+
+ARCH = $(BUILD_ARCH)
+
+all::
+ $(VERBOSE)$(call MAKELINK, \
+ $(INSTALLDIR_LOCAL)/$(ARCH)/$(INSTALL_INC_PREFIX)/asm-$(SUFFIX_$(ARCH)),\
+ $(INSTALLDIR_LOCAL)/$(ARCH)/$(INSTALL_INC_PREFIX)/asm, asm-$(SUFFIX_$(ARCH)))
+
+install::
+ $(VERBOSE)$(call MAKELINK, \
+ $(INSTALLDIR)/$(ARCH)/$(INSTALL_INC_PREFIX)/asm-$(SUFFIX_$(ARCH)),\
+ $(INSTALLDIR)/$(ARCH)/$(INSTALL_INC_PREFIX)/asm, asm-$(SUFFIX_$(ARCH)))
+endif
+#endif
diff --git a/libdde_linux26/include/.svn/text-base/dde26.h.svn-base b/libdde_linux26/include/.svn/text-base/dde26.h.svn-base
new file mode 100644
index 00000000..d1a4c171
--- /dev/null
+++ b/libdde_linux26/include/.svn/text-base/dde26.h.svn-base
@@ -0,0 +1,79 @@
+#ifndef __DDE_26_H
+#define __DDE_26_H
+
+#include <l4/dde/ddekit/thread.h>
+
+#define WARN_UNIMPL printk("unimplemented: %s\n", __FUNCTION__)
+
+/** \defgroup dde26
+ *
+ * DDELinux2.6 subsystems
+ */
+
+/** Initialize process subsystem.
+ * \ingroup dde26
+ */
+int l4dde26_process_init(void);
+
+/** Initialize DDELinux locks.
+ * \ingroup dde26
+ */
+void l4dde26_init_locks(void);
+
+/** Initialize SoftIRQ subsystem.
+ * \ingroup dde26
+ */
+void l4dde26_softirq_init(void);
+
+/** Initialize timer subsystem.
+ * \ingroup dde26
+ */
+void l4dde26_init_timers(void);
+
+/** Initialize PCI subsystem.
+ * \ingroup dde26
+ */
+void l4dde26_init_pci(void);
+
+/** Perform initcalls.
+ *
+ * This will run all initcalls from DDELinux. This includes
+ * initcalles specified in the DDELinux libraries as well as
+ * initcalls from the device driver.
+ *
+ * \ingroup dde26
+ */
+void l4dde26_do_initcalls(void);
+
+/** Initialize memory subsystem.
+ * \ingroup dde26
+ */
+void l4dde26_kmalloc_init(void);
+
+/** Initialize calling thread to become a DDEKit worker.
+ *
+ * This needs to be called for every thread that will issue
+ * calls to Linux functions.
+ *
+ * \ingroup dde26
+ */
+int l4dde26_process_add_worker(void);
+
+/** Enable an existing DDEKit thread to run as a DDELinux process.
+ *
+ * We need to call this for existing DDEKit threads (e.g., timers)
+ * that will end up running Linux code (e.g. timer functions).
+ *
+ * \ingroup dde26
+ */
+int l4dde26_process_from_ddekit(ddekit_thread_t *t);
+
+/** Perform vital initcalls to initialize DDELinux 2.6
+ *
+ * This includes initialization of the DDEKit.
+ *
+ * \ingroup dde26
+ */
+void l4dde26_init(void);
+
+#endif
diff --git a/libdde_linux26/include/.svn/text-base/dde26_mem.h.svn-base b/libdde_linux26/include/.svn/text-base/dde26_mem.h.svn-base
new file mode 100644
index 00000000..df89a01f
--- /dev/null
+++ b/libdde_linux26/include/.svn/text-base/dde26_mem.h.svn-base
@@ -0,0 +1,10 @@
+#ifndef DDE_MEM_H
+#define DDE_MEM_H
+
+#include <linux/mm.h>
+
+void dde_page_cache_add(struct page *p);
+void dde_page_cache_remove(struct page *p);
+struct page* dde_page_lookup(unsigned long va);
+
+#endif
diff --git a/libdde_linux26/include/.svn/text-base/dde26_net.h.svn-base b/libdde_linux26/include/.svn/text-base/dde26_net.h.svn-base
new file mode 100644
index 00000000..2c3847b8
--- /dev/null
+++ b/libdde_linux26/include/.svn/text-base/dde26_net.h.svn-base
@@ -0,0 +1,34 @@
+#ifndef __DDE_26_NET_H
+#define __DDE_26_NET_H
+
+#include <linux/skbuff.h>
+
+/** rx callback function */
+typedef int (*linux_rx_callback)(struct sk_buff *);
+
+extern linux_rx_callback l4dde26_rx_callback;
+
+/** Register rx callback function.
+ *
+ * This registers a function to be a rx callback. Whenever an ethernet packet
+ * arrives and is processed by a driver or a softirq, it will end up in either
+ * netif_rx() or netif_receive_skb(). Both will finally try to hand this to
+ * a DDE user using a previously registered callback.
+ *
+ * \param cb new callback function
+ * \return old callback function pointer
+ */
+linux_rx_callback l4dde26_register_rx_callback(linux_rx_callback cb);
+
+
+/** Run callback function.
+ */
+static inline int l4dde26_do_rx_callback(struct sk_buff *s)
+{
+ if (l4dde26_rx_callback != NULL)
+ return l4dde26_rx_callback(s);
+
+ return 0;
+}
+
+#endif