diff options
Diffstat (limited to 'libdde_linux26/include/.svn/text-base')
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 |