From a509b566d4d97a168e190706b0c5c1f4fd866691 Mon Sep 17 00:00:00 2001 From: Armin Luntzer <armin.luntzer@univie.ac.at> Date: Tue, 2 May 2017 15:00:34 +0200 Subject: [PATCH] update doxygen tags --- .../OS/usermanual/images/proc_task.png | Bin 0 -> 28972 bytes .../OS/usermanual/images/proc_tracker.png | Bin 0 -> 10965 bytes .../OS/usermanual/images/task_network.png | Bin 0 -> 114354 bytes Documentation/doxygen/Doxyfile | 9 +- Documentation/doxygen/doxy-boot.js | 2 +- arch/sparc/include/init.h | 2 + arch/sparc/include/srmmu.h | 2 + arch/sparc/include/srmmu_access.h | 2 + arch/sparc/kernel/bootmem.c | 14 +- arch/sparc/kernel/elf.c | 13 +- arch/sparc/kernel/init.c | 4 + arch/sparc/kernel/irq.c | 3 +- arch/sparc/kernel/mm.c | 2 + arch/sparc/kernel/mmu.c | 5 + arch/sparc/kernel/module.c | 7 + arch/sparc/kernel/page.c | 12 +- arch/sparc/kernel/setup.c | 5 + arch/sparc/kernel/stacktrace.c | 4 + arch/sparc/mm/srmmu.c | 18 ++ arch/sparc/mm/srmmu_access.c | 3 +- dsp/xentium/include/dma.h | 1 + dsp/xentium/include/xen.h | 7 + dsp/xentium/include/xen_printf.h | 2 + dsp/xentium/kernel/deglitch/xen_deglitch.c | 2 + dsp/xentium/kernel/dummy/xen_dummy.c | 2 + dsp/xentium/kernel/rampfit/xen_rampfit.c | 2 + dsp/xentium/kernel/stack/xen_stack.c | 3 + dsp/xentium/lib/dma.c | 6 +- dsp/xentium/lib/kmem.c | 5 +- dsp/xentium/lib/xen.c | 5 + dsp/xentium/lib/xen_printf.c | 4 +- include/chunk.h | 2 + include/data_proc_net.h | 2 + include/data_proc_tracker.h | 24 ++- include/elf.h | 5 + include/kernel/ar.h | 50 ++--- include/kernel/irq.h | 3 +- include/kernel/kmem.h | 1 + include/kernel/mm.h | 21 ++- include/kernel/module.h | 6 + include/kernel/string.h | 2 + include/kernel/xentium.h | 2 + include/kernel/xentium_dev.h | 2 + include/kernel/xentium_io.h | 46 +++-- init/main.c | 8 + init/modules-image.c | 5 +- init/xentium_demo.c | 3 + kernel/irq.c | 5 + kernel/kmem.c | 17 +- kernel/module.c | 7 + kernel/module_image.c | 1 + kernel/noc_dma.c | 23 +++ kernel/xentium.c | 48 +++-- lib/ar.c | 8 + lib/chunk.c | 6 + lib/data_proc_net.c | 51 +++-- lib/data_proc_task.c | 12 +- lib/data_proc_tracker.c | 25 ++- lib/elf.c | 6 + lib/mm.c | 6 + lib/page.c | 5 + lib/processing_tracker_circular.c | 175 ------------------ lib/string.c | 6 + lib/sysctl.c | 6 +- samples/proc_chain/proc_chain_demo.c | 1 - 65 files changed, 425 insertions(+), 311 deletions(-) create mode 100644 Documentation/OS/usermanual/images/proc_task.png create mode 100644 Documentation/OS/usermanual/images/proc_tracker.png create mode 100644 Documentation/OS/usermanual/images/task_network.png delete mode 100644 lib/processing_tracker_circular.c diff --git a/Documentation/OS/usermanual/images/proc_task.png b/Documentation/OS/usermanual/images/proc_task.png new file mode 100644 index 0000000000000000000000000000000000000000..93716dc52597b13eface77b7c2145591cbc8320b GIT binary patch literal 28972 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 S?#B!a3=E#GelF{r5}E*eB{=f{ literal 0 HcmV?d00001 diff --git a/Documentation/OS/usermanual/images/proc_tracker.png b/Documentation/OS/usermanual/images/proc_tracker.png new file mode 100644 index 0000000000000000000000000000000000000000..ba0bf2b92168a88568c764a859125895b132a2ac GIT binary patch literal 10965 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 Rn1O+T!PC{xWt~$(698{Jt&RWy literal 0 HcmV?d00001 diff --git a/Documentation/OS/usermanual/images/task_network.png b/Documentation/OS/usermanual/images/task_network.png new file mode 100644 index 0000000000000000000000000000000000000000..a12367f13b89153384699b76d9d497f923b944a7 GIT binary patch literal 114354 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 B%k%&M literal 0 HcmV?d00001 diff --git a/Documentation/doxygen/Doxyfile b/Documentation/doxygen/Doxyfile index af3b532..04d1daf 100644 --- a/Documentation/doxygen/Doxyfile +++ b/Documentation/doxygen/Doxyfile @@ -763,7 +763,8 @@ WARN_LOGFILE = # spaces. # Note: If this tag is empty the current directory is searched. -INPUT = ../../lib ../../arch/ ../../kernel ../../dsp +INPUT = ../../lib ../../arch/ ../../kernel ../../dsp \ + ../../include ../../init # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses @@ -872,7 +873,7 @@ EXCLUDE_SYMBOLS = # that contain example code fragments that are included (see the \include # command). -EXAMPLE_PATH = ../example ../spin +EXAMPLE_PATH = ../../samples # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and @@ -886,13 +887,13 @@ EXAMPLE_PATTERNS = * # irrespective of the value of the RECURSIVE tag. # The default value is: NO. -EXAMPLE_RECURSIVE = NO +EXAMPLE_RECURSIVE = YES # The IMAGE_PATH tag can be used to specify one or more files or directories # that contain images that are to be included in the documentation (see the # \image command). -IMAGE_PATH = images +IMAGE_PATH = images ../OS # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program diff --git a/Documentation/doxygen/doxy-boot.js b/Documentation/doxygen/doxy-boot.js index f045d16..f377c65 100644 --- a/Documentation/doxygen/doxy-boot.js +++ b/Documentation/doxygen/doxy-boot.js @@ -4,7 +4,7 @@ $( document ).ready(function() { $("div.title").addClass("h1"); $('li > a[href="index.html"] > span').before("<i class='fa fa-cog'></i> "); - $('li > a[href="index.html"] > span').text("CHEOPS IBSW"); + $('li > a[href="index.html"] > span').text("LeanOS"); $('li > a[href="modules.html"] > span').before("<i class='fa fa-square'></i> "); $('li > a[href="namespaces.html"] > span').before("<i class='fa fa-bars'></i> "); $('li > a[href="annotated.html"] > span').before("<i class='fa fa-list-ul'></i> "); diff --git a/arch/sparc/include/init.h b/arch/sparc/include/init.h index 4f64dd8..081e648 100644 --- a/arch/sparc/include/init.h +++ b/arch/sparc/include/init.h @@ -1,5 +1,7 @@ /** * @file arch/sparc/include/init.h + * + * @ingroup sparc */ #ifndef _SPARC_INIT_H_ diff --git a/arch/sparc/include/srmmu.h b/arch/sparc/include/srmmu.h index b62cc4d..d90d32b 100644 --- a/arch/sparc/include/srmmu.h +++ b/arch/sparc/include/srmmu.h @@ -2,6 +2,8 @@ * @brief SPARC Reference (SR) Memory Management Unit (MMU) * @author Armin Luntzer (armin.luntzer@univie.ac.at) * + * @ingroup srmmu + * * @see SPARCv8 Architecture Manual for more info */ diff --git a/arch/sparc/include/srmmu_access.h b/arch/sparc/include/srmmu_access.h index 6dca383..2aae1d3 100644 --- a/arch/sparc/include/srmmu_access.h +++ b/arch/sparc/include/srmmu_access.h @@ -2,6 +2,8 @@ * @brief SPARC Reference (SR) Memory Management Unit (MMU) access functions * @author Armin Luntzer (armin.luntzer@univie.ac.at) * + * @ingroup srmmu + * * @see SPARCv8 Architecture Manual for more info */ diff --git a/arch/sparc/kernel/bootmem.c b/arch/sparc/kernel/bootmem.c index 8d62255..14ea331 100644 --- a/arch/sparc/kernel/bootmem.c +++ b/arch/sparc/kernel/bootmem.c @@ -1,15 +1,19 @@ /** * @file arch/sparc/kernel/bootmem.c * - * This sets up a buddy system memory manager that handles the physical RAM - * banks. The kernel image RAM section itself is reserved, and a more - * fine-grained boot memory allocator is set up that can be used to reserve - * memory for low-level kernel objects such as MMU tables. + * @ingroup sparc + * + * @brief uses @ref chunk to manage the physical RAM banks + * + * This sets up a buddy system memory manager via @ref chunk that + * handles the physical RAM banks. The kernel image RAM section itself is + * reserved, and a more fine-grained boot memory allocator is set up that can be + * used to reserve memory for low-level kernel objects such as MMU tables. * * Note that because we don't use a two-stage bootstrap process at this time, * we will 1:1 map the relevant physical memory bank addresses through the MMU, * so the low level objects may be used without a translation step for now, - * but we will migrate to a new kernel stack base at (2^32 - 1) once we + * but we will migrate to a new kernel stack base at (2^32 - 1) VA once we * have set up the MMU. * * Because of the above, user space memory will be mapped below the diff --git a/arch/sparc/kernel/elf.c b/arch/sparc/kernel/elf.c index f886290..bba57c1 100644 --- a/arch/sparc/kernel/elf.c +++ b/arch/sparc/kernel/elf.c @@ -1,8 +1,13 @@ -#include <kernel/elf.h> - - - +/** + * @file arch/sparc/kernel/elf.c + * + * @ingroup sparc + * + * @brief implements the architecture-specific ELF interface + * + */ +#include <kernel/elf.h> /** diff --git a/arch/sparc/kernel/init.c b/arch/sparc/kernel/init.c index de081db..13cfe95 100644 --- a/arch/sparc/kernel/init.c +++ b/arch/sparc/kernel/init.c @@ -1,5 +1,9 @@ /** * @file arch/sparc/kernel/init.c + * + * @ingroup sparc + * + * @brief initalises paging */ #include <mm.h> diff --git a/arch/sparc/kernel/irq.c b/arch/sparc/kernel/irq.c index 2e67ef6..547093a 100644 --- a/arch/sparc/kernel/irq.c +++ b/arch/sparc/kernel/irq.c @@ -1,6 +1,7 @@ /** * @file arch/sparc/kernel/irq.c - * + * + * @ingroup sparc * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, diff --git a/arch/sparc/kernel/mm.c b/arch/sparc/kernel/mm.c index 9e3effb..fc3b53c 100644 --- a/arch/sparc/kernel/mm.c +++ b/arch/sparc/kernel/mm.c @@ -1,5 +1,7 @@ /** * @file arch/sparc/kernel/mm.c + * + * @ingroup sparc */ #include <mm.h> diff --git a/arch/sparc/kernel/mmu.c b/arch/sparc/kernel/mmu.c index 6730862..66bc3ce 100644 --- a/arch/sparc/kernel/mmu.c +++ b/arch/sparc/kernel/mmu.c @@ -1,5 +1,10 @@ /** * @file arch/sparc/kernel/mmu.c + * + * @ingroup sparc + * + * @brief SPARC MMU initialisation, context, trap handling and sbrk() + * */ #include <mm.h> diff --git a/arch/sparc/kernel/module.c b/arch/sparc/kernel/module.c index 7189813..1736686 100644 --- a/arch/sparc/kernel/module.c +++ b/arch/sparc/kernel/module.c @@ -1,3 +1,10 @@ +/** + * @file arch/sparc/kernel/module.c + * + * @ingroup sparc + * @brief implements architecture-specific @ref kernel_module interfaces + */ + #include <kernel/module.h> #include <kernel/printk.h> #include <kernel/err.h> diff --git a/arch/sparc/kernel/page.c b/arch/sparc/kernel/page.c index 47c2833..29291a0 100644 --- a/arch/sparc/kernel/page.c +++ b/arch/sparc/kernel/page.c @@ -1,15 +1,14 @@ /** * @file arch/sparc/kernel/page.c + * + * @ingroup sparc + * + * things we need statically allocated in the image (i.e. in .bss) + * at boot for page map/memory pool management */ #include <page.h> - - -/* things we need statically allocated in the image (i.e. in .bss) - * at boot - */ - unsigned long mm_init_bitmap[MM_INIT_LEN_BITMAP]; unsigned char mm_init_alloc_order[MM_INIT_NUM_BLOCKS]; struct list_head mm_init_block_order[MM_BLOCK_ORDER_MAX + 1]; @@ -17,4 +16,3 @@ struct list_head mm_init_block_order[MM_BLOCK_ORDER_MAX + 1]; struct mm_pool mm_init_page_pool; struct page_map_node mm_init_page_node; struct page_map_node *mm_init_page_map[INIT_PAGE_MAP_MAX_ENTRIES + 1]; - diff --git a/arch/sparc/kernel/setup.c b/arch/sparc/kernel/setup.c index 6cb4a7e..eebd07c 100644 --- a/arch/sparc/kernel/setup.c +++ b/arch/sparc/kernel/setup.c @@ -1,5 +1,10 @@ /** * @file arch/sparc/kernel/setup.c + * + * @ingroup sparc + * @defgroup sparc SPARC + * @brief the SPARC architecture-specific implementation + * */ #include <string.h> /* memset() */ diff --git a/arch/sparc/kernel/stacktrace.c b/arch/sparc/kernel/stacktrace.c index 889ffaf..1d1fc45 100644 --- a/arch/sparc/kernel/stacktrace.c +++ b/arch/sparc/kernel/stacktrace.c @@ -1,5 +1,9 @@ /** * @file arch/sparc/kernel/stacktrace.c + * + * @ingroup sparc + * + * @brief stack tracking for the SPARC target */ #include <stdlib.h> diff --git a/arch/sparc/mm/srmmu.c b/arch/sparc/mm/srmmu.c index 549793b..08c50ea 100644 --- a/arch/sparc/mm/srmmu.c +++ b/arch/sparc/mm/srmmu.c @@ -2,6 +2,10 @@ * * @file arch/sparc/mm/srmmu.c * + * @ingroup srmmu + * @defgroup srmmu SPARC Reference MMU + * + * @brief access to the SPARC Reference MMU (SRMMU) * * * ## Overview @@ -19,9 +23,11 @@ * address through the MMU, you can use the context table pointer (ctp) as * page table entry (pte): * + * @code{.c} * srmmu_set_ctx_tbl_addr((unsigned long) _mmu_ctp); * _mmu_ctp[0] = SRMMU_PTE(0x0, (SRMMU_CACHEABLE | SRMMU_ACC_S_RWX_2)); * srmmu_set_ctx(0); + * @endcode * * so the virtual address mapping starts at physical address address 0x0. * Note: accessing memory regions not actually mapped in hardware will @@ -32,14 +38,19 @@ * against accidential R/W/X operations, you can point a level 0 ctp to a * level 1 table by setting it up as a page table descriptor (ptd): * + * @code{.c} * _mmu_ctp[0] = SRMMU_PTD((unsigned long) &ctx->tbl.lvl1[0]); + * @endcode * * Let's say you want to map a 16 MiB chunk starting at 0x40000000 * transparently through the MMU, you would then set lvl 1 table entry * 0x40 (64), since lvl1 tables addresses are formed by the two highest-order * bytes: + * + * @code{.c} * ctx->tbl.lvl1[0x40] = * SRMMU_PTE(0x40000000, (SRMMU_CACHEABLE | SRMMU_ACC_S_RWX_2)); + * @endcode * * an then select the MMU context. * @@ -57,8 +68,10 @@ * * Let's say you created a second mapping to the same physical address: * + * @code{.c} * ctx->tbl.lvl1[0xaa] = * SRMMU_PTE(0x40000000, (SRMMU_CACHEABLE | SRMMU_ACC_S_RWX_2)); + * @endcode * * and try to access 0xaa123456. The MMU will then replace 0xaa with 0x40, and * you'll get the same physical address again! @@ -72,15 +85,20 @@ * setting up the entry as a pte, you would configure it as a ptd that * references a lvl 2 table, e.g. * + * @code{.c} * ctx->tbl.lvl1[0x40] = SRMMU_PTD((unsigned long) &ctx->tbl->lvl2[0]); + * @endcode * * and then set up the lvl 2 table entries, which reference 64 chunks of 256 KiB * each, which means that the next 6 _bits_ in the address are used by the MMU * for the offset into the table, i.e. (addr & 0x00FC0000 ) >> 18 * * If you configure a mapping for 0xaa04xxxx, you would set: + * + * @code{.c} * ctx->tbl.lvl2[0xaa][0x01] = * SRMMU_PTE(0x40000000, (SRMMU_CACHEABLE | SRMMU_ACC_S_RWX_2)); + * @endcode * * and then access 0xaa04cdef, the MMU will strip the upper 14 bits from that * address and replace them with the upper 14 bits of 0x40000000 and hence diff --git a/arch/sparc/mm/srmmu_access.c b/arch/sparc/mm/srmmu_access.c index 77b5e12..1407e66 100644 --- a/arch/sparc/mm/srmmu_access.c +++ b/arch/sparc/mm/srmmu_access.c @@ -1,8 +1,9 @@ - /** * @brief SRMMU register access functions * @author Armin Luntzer (armin.luntzer@univie.ac.at) * + * @ingroup srmmu + * * @note only LEON ASI is supported */ diff --git a/dsp/xentium/include/dma.h b/dsp/xentium/include/dma.h index 232d701..bbd3a68 100644 --- a/dsp/xentium/include/dma.h +++ b/dsp/xentium/include/dma.h @@ -1,5 +1,6 @@ /** * @file dsp/xentium/include/xdma.h + * @ingroup xen */ #ifndef _DSP_XENTIUM_DMA_H_ diff --git a/dsp/xentium/include/xen.h b/dsp/xentium/include/xen.h index a6fc120..f9dc22e 100644 --- a/dsp/xentium/include/xen.h +++ b/dsp/xentium/include/xen.h @@ -1,5 +1,12 @@ /** * @file dsp/xentium/include/xen.h + * @ingroup xen + * + * @defgroup xen Xentium Kernel Interface + * @brief a host interface and support library for Xentium Processing Kernels + * + * @defgroup xen_kernel Xentium Processing Kernels + * @brief a set of Xentium Processing Kernels */ #ifndef _DSP_XENTIUM_XEN_H_ diff --git a/dsp/xentium/include/xen_printf.h b/dsp/xentium/include/xen_printf.h index 6790e91..e535bd7 100644 --- a/dsp/xentium/include/xen_printf.h +++ b/dsp/xentium/include/xen_printf.h @@ -3,6 +3,8 @@ * @author Armin Luntzer (armin.luntzer@univie.ac.at) * @date November, 2013 * + * @ingroup xen + * * * @copyright * This program is free software; you can redistribute it and/or modify it diff --git a/dsp/xentium/kernel/deglitch/xen_deglitch.c b/dsp/xentium/kernel/deglitch/xen_deglitch.c index 5810a7b..177199b 100644 --- a/dsp/xentium/kernel/deglitch/xen_deglitch.c +++ b/dsp/xentium/kernel/deglitch/xen_deglitch.c @@ -1,4 +1,6 @@ /** + * @ingroup xen_kernel + * * @brief deglitch an array * * NOTE: This is for demonstration purposes only. There are lot of things that diff --git a/dsp/xentium/kernel/dummy/xen_dummy.c b/dsp/xentium/kernel/dummy/xen_dummy.c index e6ccdf3..a79715c 100644 --- a/dsp/xentium/kernel/dummy/xen_dummy.c +++ b/dsp/xentium/kernel/dummy/xen_dummy.c @@ -1,4 +1,6 @@ /** + * @ingroup xen_kernel + * * @brief this is just a dummy that uses the DMA to copy at most one TCM * bank of 32 bit words from the main memory and back */ diff --git a/dsp/xentium/kernel/rampfit/xen_rampfit.c b/dsp/xentium/kernel/rampfit/xen_rampfit.c index 958def6..05ec80c 100644 --- a/dsp/xentium/kernel/rampfit/xen_rampfit.c +++ b/dsp/xentium/kernel/rampfit/xen_rampfit.c @@ -1,4 +1,6 @@ /** + * @ingroup xen_kernel + * * @brief fit ramps to data in an array * * NOTE: This is for demonstration purposes only. There are lot of things that diff --git a/dsp/xentium/kernel/stack/xen_stack.c b/dsp/xentium/kernel/stack/xen_stack.c index 340cf22..bc67a44 100644 --- a/dsp/xentium/kernel/stack/xen_stack.c +++ b/dsp/xentium/kernel/stack/xen_stack.c @@ -1,4 +1,7 @@ /** + * + * @ingroup xen_kernel + * * @brief stack "frames" * * NOTE: This is for demonstration purposes only. There are lot of things that diff --git a/dsp/xentium/lib/dma.c b/dsp/xentium/lib/dma.c index 1d61c38..12ddbf6 100644 --- a/dsp/xentium/lib/dma.c +++ b/dsp/xentium/lib/dma.c @@ -1,5 +1,9 @@ /** - * @file dsp/xentium/lib/xdma.c + * @file dsp/xentium/lib/dma.c + * + * @ingroup xen + * + * @brief NoC DMA access from the Xentium * * These are mostly just duplicates of the noc_dma access functions... */ diff --git a/dsp/xentium/lib/kmem.c b/dsp/xentium/lib/kmem.c index 10b7a90..edbfcb3 100644 --- a/dsp/xentium/lib/kmem.c +++ b/dsp/xentium/lib/kmem.c @@ -1,6 +1,9 @@ /** + * @file dsp/xentium/lib/kmem.c * - * kmalloc/kfree via host processor for added convenience... + * @ingroup xen + * + * @brief kmalloc/kfree via host processor for added convenience... * */ diff --git a/dsp/xentium/lib/xen.c b/dsp/xentium/lib/xen.c index 3fd66f7..6821eff 100644 --- a/dsp/xentium/lib/xen.c +++ b/dsp/xentium/lib/xen.c @@ -1,5 +1,10 @@ /** * @file dsp/xentium/lib/xen.c + * + * @ingroup xen + * + * @brief host processor and Xentium interaction + * */ #include <xen.h> diff --git a/dsp/xentium/lib/xen_printf.c b/dsp/xentium/lib/xen_printf.c index 918c02a..56b66c7 100644 --- a/dsp/xentium/lib/xen_printf.c +++ b/dsp/xentium/lib/xen_printf.c @@ -1,11 +1,13 @@ /** - * @file xentium/xen_printf.c + * @file dsp/xentium/lib/xen_printf.c * @author Armin Luntzer (armin.luntzer@univie.ac.at), * @date November, 2013 * @brief a printf function suitable for use in xentium programs * @note there are many like it, but this one is mine... * @note the lack of a cross-processor locking mechanism obviously implies that x_printf and leon printf writes might interfere * + * @ingroup xen + * * @copyright * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, diff --git a/include/chunk.h b/include/chunk.h index 4a7ad62..0391919 100644 --- a/include/chunk.h +++ b/include/chunk.h @@ -1,5 +1,7 @@ /** * @file include/chunk.h + * + * @ingroup chunk */ diff --git a/include/data_proc_net.h b/include/data_proc_net.h index 57d1267..9b548cf 100644 --- a/include/data_proc_net.h +++ b/include/data_proc_net.h @@ -1,5 +1,7 @@ /** * @file include/data_proc_net.h + * + * @ingroup data_proc_net */ #ifndef _DATA_PROC_NET_H_ diff --git a/include/data_proc_tracker.h b/include/data_proc_tracker.h index c18957f..70df020 100644 --- a/include/data_proc_tracker.h +++ b/include/data_proc_tracker.h @@ -1,5 +1,7 @@ /** * @file include/data_proc_tracker.h + * + * @ingroup data_proc_tracker */ #ifndef _DATA_PROC_TRACKER_H_ @@ -9,21 +11,27 @@ #include <list.h> #include <data_proc_task.h> - - +/** + * the operator function type associated with a processing tracker + */ typedef int (*op_func_t)(unsigned long op_code, struct proc_task *); +/** + * @struct the data processing tracker structure + */ struct proc_tracker { - struct list_head tasks; - size_t n_tasks; - size_t n_tasks_crit; + struct list_head tasks; /*!< a list head links the tracked tasks */ + size_t n_tasks; /*!< the current number of tracked tasks */ + size_t n_tasks_crit; /*!< the number of tasks above which the + tracker should be considered critical */ - unsigned long op_code; + unsigned long op_code; /*!< the op code identifier of the tracker */ - op_func_t op; + op_func_t op; /*!< the operator function of this tracker */ - struct list_head node; /* to be used for external tracking */ + struct list_head node; /*!< may be used for external tracking of this + tracker */ }; diff --git a/include/elf.h b/include/elf.h index 883eeae..3ce0aa2 100644 --- a/include/elf.h +++ b/include/elf.h @@ -1,3 +1,8 @@ +/** + * @file include/elf.h + * @ingroup elf + */ + #ifndef _KERNEL_ELF_H_ #define _KERNEL_ELF_H_ diff --git a/include/kernel/ar.h b/include/kernel/ar.h index cb37e4b..7951c5a 100644 --- a/include/kernel/ar.h +++ b/include/kernel/ar.h @@ -1,3 +1,9 @@ +/** + * @file include/kernel/ar.h + * + * @ingroup ar + */ + #ifndef _KERNEL_AR_H_ #define _KERNEL_AR_H_ @@ -10,15 +16,17 @@ #define GNU_AR_STR_TBL_MAG "//" /* marks a gnu archive string table */ #define GNU_AR_SYM_TBL_MAG "/ " /* marks a gnu archive symbol table */ - +/** + * an AR header + */ struct ar_hdr { - char ar_name[16]; /* ar file identifier */ - char ar_date[12]; /* file date, dec seconds since epoch */ - char ar_uid[6]; /* user ID; dec */ - char ar_gid[6]; /* group ID; dec */ - char ar_mode[8]; /* file mode; oct */ - char ar_size[10]; /* file size; dec */ - char ar_fmag[2]; /* AR_FMAG (0x60, 0x0a) */ + char ar_name[16]; /**! ar file identifier */ + char ar_date[12]; /**! file date, dec seconds since epoch */ + char ar_uid[6]; /**! user ID; dec */ + char ar_gid[6]; /**! group ID; dec */ + char ar_mode[8]; /**! file mode; oct */ + char ar_size[10]; /**! file size; dec */ + char ar_fmag[2]; /**! AR_FMAG (0x60, 0x0a) */ }; @@ -27,19 +35,19 @@ struct ar_hdr { */ struct archive { - char *ar_base; /* the archive's memory location */ - unsigned long ar_size; /* the size of the archive in bytes */ - char *ar_str; /* the archive's string table */ - - unsigned int n_file; /* the number of files in the archive */ - char **fname; /* pointer array to the file name strings */ - char **p_file; /* pointer array to the file(s) */ - unsigned long *filesz; /* the size of each file */ - unsigned long *fnamesz; /* the size of each file name */ - - uint32_t n_sym; /* the number of symbols in the index */ - char **sym; /* pointer array to the symbol name strings */ - void **p_sym; /* pointer array to the file a symbol is in */ + char *ar_base; /**! the archive's memory location */ + unsigned long ar_size; /**! the size of the archive in bytes */ + char *ar_str; /**! the archive's string table */ + + unsigned int n_file; /**! the number of files in the archive */ + char **fname; /**! pointer array to the file name strings */ + char **p_file; /**! pointer array to the file(s) */ + unsigned long *filesz; /**! the size of each file */ + unsigned long *fnamesz; /**! the size of each file name */ + + uint32_t n_sym; /**! the number of symbols in the index */ + char **sym; /**! pointer array to the symbol name strings */ + void **p_sym; /**! pointer array to the file a symbol is in */ }; diff --git a/include/kernel/irq.h b/include/kernel/irq.h index 911f76e..b08bd04 100644 --- a/include/kernel/irq.h +++ b/include/kernel/irq.h @@ -1,7 +1,8 @@ /** * @file include/kernel/irq.h * @author Armin Luntzer (armin.luntzer@univie.ac.at) - * @date December, 2013 + * + * @ingroup irq * * @copyright GPLv2 * diff --git a/include/kernel/kmem.h b/include/kernel/kmem.h index 39f8f91..dbcd53e 100644 --- a/include/kernel/kmem.h +++ b/include/kernel/kmem.h @@ -1,5 +1,6 @@ /** * @file include/kernel/kmem.h + * @ingroup kmem */ #ifndef _KERNEL_KMEM_H_ diff --git a/include/kernel/mm.h b/include/kernel/mm.h index d96c989..68f06fc 100644 --- a/include/kernel/mm.h +++ b/include/kernel/mm.h @@ -1,5 +1,7 @@ /** * @file include/kernel/mm.h + * + * @ingroup buddy_mm */ #ifndef _KERNEL_MM_H_ @@ -19,15 +21,18 @@ #define MM_BITMAP_LEN(order_max, order_min) \ (BITS_TO_LONGS(MM_NUM_BLOCKS_TRACKABLE(order_max, order_min)) + 1) +/** + * the buddy memory pool + */ struct mm_pool { - unsigned long base; /** base address of the memory pool */ - unsigned long max_order; /** maximum order (i.e. pool size) */ - unsigned long min_order; /** block granularity */ - unsigned long n_blks; /** number of managed blocks */ - unsigned long alloc_blks; /** number of allocated blocks */ - unsigned char *alloc_order; /** the allocated order of a block */ - unsigned long *blk_free; /** per-block allocation bitmap */ - struct list_head *block_order; /** anchor for unused blocks */ + unsigned long base; /**! base address of the memory pool */ + unsigned long max_order; /**! maximum order (i.e. pool size) */ + unsigned long min_order; /**! block granularity */ + unsigned long n_blks; /**! number of managed blocks */ + unsigned long alloc_blks; /**! number of allocated blocks */ + unsigned char *alloc_order; /**! the allocated order of a block */ + unsigned long *blk_free; /**! per-block allocation bitmap */ + struct list_head *block_order; /**! anchor for unused blocks */ }; diff --git a/include/kernel/module.h b/include/kernel/module.h index 1ed00cd..e357eaf 100644 --- a/include/kernel/module.h +++ b/include/kernel/module.h @@ -1,3 +1,9 @@ +/** + * @file include/kernel/module.h + * + * @ingroup kernel_module + */ + #ifndef _KERNEL_MODULE_H_ #define _KERNEL_MODULE_H_ diff --git a/include/kernel/string.h b/include/kernel/string.h index 26825fa..980caa9 100644 --- a/include/kernel/string.h +++ b/include/kernel/string.h @@ -1,5 +1,7 @@ /** * @file include/kernel/string.h + * + * @ingroup string */ #ifndef _KERNEL_STRING_H_ diff --git a/include/kernel/xentium.h b/include/kernel/xentium.h index e973d91..f6c9213 100644 --- a/include/kernel/xentium.h +++ b/include/kernel/xentium.h @@ -1,5 +1,7 @@ /** * @file include/kernel/xentium.h + * + * @ingroup xentium_driver */ #ifndef _KERNEL_XENTIUM_H_ diff --git a/include/kernel/xentium_dev.h b/include/kernel/xentium_dev.h index d16a0ce..834a4f9 100644 --- a/include/kernel/xentium_dev.h +++ b/include/kernel/xentium_dev.h @@ -1,6 +1,8 @@ /** * @file include/kernel/xentium_dev.h * + * @ingroup xentium_driver + * * @note this file may also be included in xentium kernel code */ diff --git a/include/kernel/xentium_io.h b/include/kernel/xentium_io.h index fcb5626..47e4b8d 100644 --- a/include/kernel/xentium_io.h +++ b/include/kernel/xentium_io.h @@ -1,6 +1,8 @@ /** * @file include/kernel/xentium_io.h * + * @ingroup xentium_driver + * * @note this file may also be included in xentium kernel code */ @@ -32,18 +34,18 @@ struct xen_kernel_cfg { */ enum xen_cmd { - TASK_SUCCESS = PN_TASK_SUCCESS, /* ready for next task in node */ - TASK_STOP = PN_TASK_STOP, /* success, but abort processing node */ - TASK_DETACH = PN_TASK_DETACH, /* task tracking is internal */ - TASK_RESCHED = PN_TASK_RESCHED, /* requeue this task and abort */ - TASK_SORTSEQ = PN_TASK_SORTSEQ, /* TASK_RESCHED and sort by seq cntr */ - TASK_DESTROY = PN_TASK_DESTROY, /* something is wrong, destroy task */ - TASK_ATTACH, /* queue this task and let xentium continue */ - TASK_DATA_REALLOC, /* (re)allocate task data pointer */ - TASK_KZALLOC, /* request memory buffer */ - TASK_KMALLOC, /* request memory buffer */ - TASK_KFREE, /* release memory buffer */ - TASK_EXIT, /* Xentium exiting */ + TASK_SUCCESS = PN_TASK_SUCCESS, /*!< ready for next task in node */ + TASK_STOP = PN_TASK_STOP, /*!< success, but abort processing node */ + TASK_DETACH = PN_TASK_DETACH, /*!< task tracking is internal */ + TASK_RESCHED = PN_TASK_RESCHED, /*!< requeue this task and abort */ + TASK_SORTSEQ = PN_TASK_SORTSEQ, /*!< TASK_RESCHED and sort by seq cntr */ + TASK_DESTROY = PN_TASK_DESTROY, /*!< something is wrong, destroy task */ + TASK_ATTACH, /*!< queue this task and let xentium continue */ + TASK_DATA_REALLOC, /*!< (re)allocate task data pointer */ + TASK_KZALLOC, /*!< request memory buffer and clear */ + TASK_KMALLOC, /*!< request memory buffer */ + TASK_KFREE, /*!< release memory buffer */ + TASK_EXIT, /*!< Xentium exiting */ }; @@ -54,30 +56,26 @@ enum xen_cmd { struct xen_msg_data { struct proc_task *t; - unsigned long xen_id; /* the Xentium's id */ + unsigned long xen_id; /*!< the Xentium's id */ - struct noc_dma_channel *dma; /* the reserved DMA channel */ + struct noc_dma_channel *dma; /*!< the reserved DMA channel */ - enum xen_cmd cmd; /* command request */ - unsigned long cmd_param; /* command parameter */ + enum xen_cmd cmd; /*!< command request */ + unsigned long cmd_param; /*!< command parameter */ - void *ptr; /* kmem pointers */ - size_t size; /* kmem size request */ + void *ptr; /*!< kmem pointers */ + size_t size; /*!< kmem size request */ }; -/** - * wait/status masks for the Xentium mailboxes - */ - +/* wait/status masks for the Xentium mailboxes */ #define XEN_WAITMASK_MBOX_0 1 #define XEN_WAITMASK_MBOX_1 2 #define XEN_WAITMASK_MBOX_2 4 #define XEN_WAITMASK_MBOX_3 8 - -/** +/* * xentium <> host I/O * * we need two mailboxes to exchange command, otherwise x_wait() may trigger on diff --git a/init/main.c b/init/main.c index 1162c3a..dd43b1d 100644 --- a/init/main.c +++ b/init/main.c @@ -1,5 +1,13 @@ /** * @file init/main.c + * + * @ingroup main + * @defgroup main Kernel Main Function + * + * @brief the kernel main function + * + * Here we set up the kernel. + * */ #include <generated/autoconf.h> diff --git a/init/modules-image.c b/init/modules-image.c index 79126c2..fab061e 100644 --- a/init/modules-image.c +++ b/init/modules-image.c @@ -1,7 +1,10 @@ /** * @file init/modules-image.c * - * load files and modules in embedded modules.image + * @ingroup modimg + * @defgroup modimg Modules Image Loader + * + * @brief load files and modules in embedded modules.image */ diff --git a/init/xentium_demo.c b/init/xentium_demo.c index a7eadce..fec43a8 100644 --- a/init/xentium_demo.c +++ b/init/xentium_demo.c @@ -1,5 +1,8 @@ /** * @file init/xentium_demo.c + * + * @ingroup xen_demo + * @defgroup xen_demo Xentium Demonstrator * * @brief demonstrates how a Xentium processing network is used */ diff --git a/kernel/irq.c b/kernel/irq.c index 3253f93..b162072 100644 --- a/kernel/irq.c +++ b/kernel/irq.c @@ -2,6 +2,11 @@ * @file kernel/irq.c * @author Armin Luntzer (armin.luntzer@univie.ac.at) * + * @ingroup irq + * @defgroup irq IRQ interface + * + * @brief kernel IRQ interface + * * this implements the high-level IRQ logic (which is admittedly not very * thought-through) */ diff --git a/kernel/kmem.c b/kernel/kmem.c index 2f89dc2..f9b2f4f 100644 --- a/kernel/kmem.c +++ b/kernel/kmem.c @@ -1,11 +1,18 @@ /** * @file kernel/kmem.c * - * A simple high-level allocator that uses sbrk() to retrieve memory. - * Is similar to lib/chunk.c, but a lot simpler. I need to respect sbrk() - * so I can't just use _chunk_ because it may release any parent chunk, - * while we need to do that from _kmem_last to first as the become free. - * I don't have time do do this properly, so this must do for now.. + * @ingroup kmem + * @defgroup kmem Kernel Memory Allocator + * + * @brief a malloc-like kernel memory allocator + * + * A simple high-level allocator that uses kernel_sbrk() implemented by the + * architecture-specific (MMU) code to allocate memory. If no MMU is available, + * it falls back to using the architecture's boot memory allocator. + * + * This is similar to @ref chunk, but a lot simpler. This needs to respect + * sbrk() so it can't just use @chunk because it may release any parent chunk, + * while we need to do that from _kmem_last to _kmem_init as they become free. */ #include <list.h> diff --git a/kernel/module.c b/kernel/module.c index d205671..b15a5d7 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -1,6 +1,13 @@ /** * @file kernel/module.c * + * @ingroup kernel_module + * @defgroup kernel_module Loadable Kernel Module Support + * + * @brief implements loadable kernel modules + * + * + * * * TODO 1. module chainloading, reference counting and dependency * tracking for automatic unloading of unused modules diff --git a/kernel/module_image.c b/kernel/module_image.c index 51de991..c598c36 100644 --- a/kernel/module_image.c +++ b/kernel/module_image.c @@ -1,5 +1,6 @@ /** * linker references to embedded modules.image + * @ingroup modimg */ extern unsigned char _binary_modules_image_start; diff --git a/kernel/noc_dma.c b/kernel/noc_dma.c index 56411bb..e22c583 100644 --- a/kernel/noc_dma.c +++ b/kernel/noc_dma.c @@ -1,10 +1,33 @@ /** * @file kernel/noc_dma.c * + * @ingroup noc_dma + * @defgroup noc_dma SSDP/MPPBv2 NoC DMA driver + * + * @brief a driver for the SSDP/MPPBv2 NoC DMA + * + * + * + * This implements transfers via the NoC DMA feature of the SSDP/MPPBv2. + * + * Complex transfers (2D) may be programmed via noc_dma_req_xfer(), simpler (1D) + * transfers may be requested via noc_dma_req_lin_xfer(). + * + * A requested transfer is added to a queue of configurable length and executed + * as soon as a DMA channel becomes available. The caller is informed of + * transfer completion via a supplied callback notification function. + * + * Channels may be reserved for exclusive external use via + * noc_dma_reserve_channel() and returned by noc_dma_release_channel(). + * + * + * * @note parameter limits are usually not checked, as they are implicit by type * * @todo stuck channel detection (needs threading or at least a timer service) * and reset (if possible, transfer size 0 maybe? need to test...) + * + * @example noc_dma_demo.c */ diff --git a/kernel/xentium.c b/kernel/xentium.c index dd286b3..8ec2dae 100644 --- a/kernel/xentium.c +++ b/kernel/xentium.c @@ -1,50 +1,62 @@ /** * @file kernel/xentium.c * + * @ingroup xentium_driver + * @defgroup xentium_driver Xentium driver * + * @brief Xentium processing network driver * - * This is the Xentium processing network driver. It builds upon data_proc_net.c - * and maps tasks selected by op codes to the appropriate Xentium kernel - * program. To load and set up the "op code" nodes, the user must load - * corresponding ELF binaries of Xentium programs. These ELF binaries must - * export their capabilities as a struct xen_kernel_cfg (see - * kernel/xentium_io.h) and make use of the commanding exchange protocol (same - * file). See also dsp/xentium for kernel programs. + * This is the Xentium processing network driver. It builds upon + * @ref data_proc_net and maps tasks selected by op codes to the appropriate + * Xentium kernel program. To load and set up the "op code" nodes, the user + * loads corresponding ELF binaries of Xentium programs. These ELF binaries must + * export their capabilities as a struct xen_kernel_cfg and make use of the + * command exchange protocol (see kernel/xentium_io.h). + * See also dsp/xentium/ subdirectory for kernel programs. * * * A minimum setup requires the user to add at least one kernel, e.g. * + * @code{.c} * xentium_kernel_add(elf_kernel_binary_addr); + * @endcode * * and configure a custom output node that is of type op_func_t (see * data_proc_tracker.h): * - * int xentium_config_output_node(xen_op_output) - * { - * ... - * return PN_TASK_SUCCESS; - * } + * @code{.c} + * int xentium_config_output_node(xen_op_output) + * { + * ... + * return PN_TASK_SUCCESS; + * } + * @endcode * * via + * + * @code{.c} * xentium_config_output_node(xen_op_output); + * @endcode * * which corresponds to the call to pn_create_output_node() when using the - * generic processing network (data_proc_net.c) implementation + * generic @ref data_proc_net implementation * * * Note that the user is responsible to free the data pointer of the task * and the task itself (i.e. pt_destroy()), the same way that one would with - * a non-DSP processing network (see samples/proc_chain/ for an example) + * a non-DSP processing network (see @ref proc_chain_demo.c) * * * New processing tasks can then be added into the network, e.g. * + * @code{.c} * struct proc_task t = pt_create(data, ...); * * pt_add_step(t, op1, ...)); * pt_add_step(t, op2, ...)); * * xentium_input_task(t); + * @endcode * * the task will then move through the selected nodes in the processing network. * @@ -52,9 +64,9 @@ * reference to the struct proc_task, which they must be able to interpret * and/or process as the user desires. * - * In addition, the Xentiums are passed a DMA channel each, that they may use - * to transfer memory contents to and from their local tightly couple memory - * (TCM). + * In addition, the Xentiums are passed a DMA channel each (reserved from @ref + * noc_dma), which they may use to transfer memory contents to and from their + * local tightly couple memory (TCM). * * The task of the host processor consists of command exchange and loading of * the Xentium kernel programs as needed. Typically, a nodes are scheduled for @@ -78,7 +90,9 @@ * the output node. It is up to the user to retrieve and deallocate tasks form * this node by calling * + * @code{.c} * xentium_output_tasks(); + * @endcode * * * This will execute the output node previously configured by diff --git a/lib/ar.c b/lib/ar.c index ec81d89..6adae54 100644 --- a/lib/ar.c +++ b/lib/ar.c @@ -1,4 +1,10 @@ /** + * @file lib/ar.c + * + * @ingroup ar + * @defgroup ar AR reader + * + * @brief an AR file reader * * This is a very simple AR reader. It expects indexed SVR4/GNU type archive, * i.e. created invoking: ar rcs <archive> <files...> @@ -16,6 +22,8 @@ * * @note The sym array in struct archive may be used to lookup a module * dependency when resolving symbols. + * + * @example ar_demo.c */ diff --git a/lib/chunk.c b/lib/chunk.c index 12d687a..3e8dc94 100644 --- a/lib/chunk.c +++ b/lib/chunk.c @@ -1,6 +1,11 @@ /** * @file lib/chunk.c * + * @ingroup chunk + * @defgroup chunk Memory Chunk Allocator + * + * @brief a chunk-based memory allocator + * * * This is a stepping stone to something like malloc() * @@ -28,6 +33,7 @@ * a single chunk up to the alignement boundary and adds it to the "full" * pool, then returns the following (aligned) chunk. * + * @example chunk_demo.c */ #include <unistd.h> diff --git a/lib/data_proc_net.c b/lib/data_proc_net.c index 1d3fecf..47c117e 100644 --- a/lib/data_proc_net.c +++ b/lib/data_proc_net.c @@ -1,14 +1,20 @@ /** * @file lib/data_proc_net.c * + * @ingroup data_proc_net + * @defgroup data_proc_net Data Processing Network * - * This can be used to create data processing networks. + * @brief A generic data processing network. + * + * @image html usermanual/images/task_network.png + * + * This can be used to create arbitrary data processing networks. * * Each node in the network is a data processing tracker with a particular op * code. Tasks created with pt_create() are inserted into the network via the * input node and exit the network via the output node. Each processing task * is forwarded through the nodes as defined in its sequence of steps - * (via pt_add_step()), which form the processing chain the task must pass + * (via pt_add_step()), which form the processing chain the task must pass, * in order to be completed from the "chain link nodes" of the network. * * The steps are defined as "op codes" that must match an op code of a node in @@ -30,42 +36,51 @@ * interpretable data buffers. * * + * A node processing cycle can be started by simply calling: * - * - * - * Node procesing can be done by simply calling: - * - * pn_process_next() + * @code{.c} + * pn_process_next() + * @endcode * * which does all the work and returns the number of tasks processed in the next * pending node. * * * This is equivalent to doing it manually: - * - * pt = pn_get_next_pending_tracker(pn) - * - * while (1) { - * t = pn_get_next_pending_task(pt) - * ret = pt->op(pt_get_pend_step_op_code(t), t); - * if (!pn_eval_task_status(pn, pt, t, ret)) - * pn_node_to_queue_tail(pn, pt); - * abort_processing: + * + * @code{.c} + * pt = pn_get_next_pending_tracker(pn); + * + * while (1) { + * t = pn_get_next_pending_task(pt) + * ret = pt->op(pt_get_pend_step_op_code(t), t); + * if (!pn_eval_task_status(pn, pt, t, ret)) + * pn_node_to_queue_tail(pn, pt); + * abort_processing: + * } * } - * } + * @endcode * * This may be used when the call to pt->op() needs special control. * * * Input and output nodes are special, they must be processed explicitly by * calling + * + * @code{.c} * pn_process_inputs(pn); + * @endcode + * * and + * + * @code{.c} * pn_process_outputs(pn); + * @endcode * * This allows the operator of the processing network to control the I/O rate. * - * + * + * @example proc_chain_demo.c */ #include <kernel/printk.h> diff --git a/lib/data_proc_task.c b/lib/data_proc_task.c index aae5901..55d6467 100644 --- a/lib/data_proc_task.c +++ b/lib/data_proc_task.c @@ -1,8 +1,14 @@ /** * @file lib/data_proc_task.c * + * @ingroup data_proc_task + * @defgroup data_proc_task Data Processing Task * - * This manages processing tasks. Each task tracks an arbitrary number of steps + * @brief a data processing task + * + * @image html usermanual/images/proc_task.png + * + * Each processing task tracks an arbitrary number of steps * that each describe the next operation to perform on the data buffer tracked * by the processing task. Pending operations are stored in a "todo" list, * completed operations are stored in a "done" list. @@ -16,11 +22,11 @@ * by the first processing operation. * * The data buffer need not be tracked in kmalloc() and will not be freed - * on pt_destroy, but all op_info data are and hence must be allocated + * on pt_destroy(), but all op_info data are and hence must be allocated * accordingly. * * The number of elements may be any value that can be interpreted by the - * prcessing task and need not represent the actual size of the buffer. (They + * processing task and need not represent the actual size of the buffer. (They * should not exceed the buffer size tho...) * * The "done" list of processing steps is currently only used to rewind a list diff --git a/lib/data_proc_tracker.c b/lib/data_proc_tracker.c index 2bbd71d..88394da 100644 --- a/lib/data_proc_tracker.c +++ b/lib/data_proc_tracker.c @@ -1,9 +1,32 @@ /** * @file lib/data_proc_tracker.c * + * @ingroup data_proc_tracker + * @defgroup data_proc_tracker Data Processing Task Tracker * - * This is a list based processing task reference tracker. + * @brief A processing task reference tracker. * + * @image html usermanual/images/proc_tracker.png + * + * A data processing tracker tracks and executes tasks created with + * @ref data_proc_task. On creation, an operator function and a corresponding + * operation code identifier is assigned to the tracker. + * + * A critical level of input tasks may be assigned, which may be checked + * by the user to quickly determine if a tracker has accumulated a certain + * number of tasks for processing. This level is completely arbitrary and + * implementation dependent. + * + * Trackers do no do much themselves, they are essentially containers that + * are used as building blocks for a larger processing chain implementation + * (e.g. @ref data_proc_net) that manages the propagation of tasks. + * A user may add (pt_track_put()), execute (pt_track_execute_next()) and + * remove (pt_track_get()) tasks. + * + * pt_track_execute_next() executes the first item in the task list by feeding + * it to the operator function. It is up to the user to evaluate return codes, + * manipulate the step list of the @ref data_proc_task and remove it from the + * tracker. * */ diff --git a/lib/elf.c b/lib/elf.c index 56123fd..89553fd 100644 --- a/lib/elf.c +++ b/lib/elf.c @@ -1,5 +1,11 @@ /** * @file lib/elf.c + * + * @ingroup elf + * @defgroup elf ELF file access + * + * @brief ELF file access + * */ diff --git a/lib/mm.c b/lib/mm.c index 18c8f96..ebb49ff 100644 --- a/lib/mm.c +++ b/lib/mm.c @@ -2,6 +2,10 @@ * * @file lib/mm.c * + * @ingroup buddy_mm + * @defgroup buddy_mm Buddy-System Memory Manager + * @brief a buddy-system memory manager + * * This is a buddy-system memory manager. * * @@ -33,6 +37,8 @@ * chunk from the base and manage it on your own. * * @todo not atomic + * + * @example mm_demo.c */ diff --git a/lib/page.c b/lib/page.c index fa5076c..a7f48cd 100644 --- a/lib/page.c +++ b/lib/page.c @@ -1,6 +1,11 @@ /** * @file kernel/page.c + * @ingroup page + * @defgroup page Page Map Manager * + * @brief a page map manager and allocator + * + * Manages a memory pool managed by @ref buddy_mm * * @note this only ever uses one page map at a time, so if you want to remap * boot memory, define a new map or just expand the number of nodes in the diff --git a/lib/processing_tracker_circular.c b/lib/processing_tracker_circular.c deleted file mode 100644 index ed4c858..0000000 --- a/lib/processing_tracker_circular.c +++ /dev/null @@ -1,175 +0,0 @@ -/** - * @file kernel/processing_tracker_circular.c - * - * - * This is a processing task reference tracker, it does NOT make copies of the - * items stored. The member sizes of a buffer are powers of two, size arguments - * will be rounded up if necessary. - * - * @note deprecated in favour of list based tracker - */ - -#include <kernel/printk.h> -#include <kernel/kmem.h> -#include <kernel/log2.h> -#include <kernel/types.h> -#include <errno.h> -#include <list.h> - -#include <processing_task.h> - - - -struct proc_tracker{ - struct proc_task **task; - - size_t rd; - size_t wr; - - size_t n; - size_t nmemb; - size_t mask; -}; - - -/** - * @brief returns the usage of the tracker - * - * @param pt a struct proc_tracker - * - * return tracker usage in percent, range 0...100 - */ - -int pt_track_get_usage(struct proc_tracker *pt) -{ - return (pt->n * 100) / pt->nmemb; -} - - -/** - * @brief add a new item to the processing tracker - * - * @param pt a struct processing_tracker - * - * @param t a pointer to a task - * - * @returns -1 if full - */ - -int pt_track_put(struct proc_tracker *pt, - typeof((*((struct proc_tracker *)0)->task)) t) -{ - if (pt->n == pt->nmemb) - return -1; - - pt->n++; - pt->rd++; - pt->rd &= pt->mask; - - pt->task[pt->rd] = t; - - - return 0; -} - - -/** - * @brief get an item from processing tracker - * - * @param pt a struct processing_tracker - * - * @return processing task item or NULL if empty - */ - -typeof((*((struct proc_tracker *)0)->task)) -pt_track_get(struct proc_tracker *pt) -{ - if (!pt->n) - return NULL; - - pt->n--; - pt->wr++; - pt->wr &= pt->mask; - - return pt->task[pt->wr]; -} - - - -/** - * @brief create a processing tracker - * - * @param nmemb the number of elements to track - * - * @return processing tracker or NULL on error - */ - -struct proc_tracker *pt_track_create(size_t nmemb) -{ - struct proc_tracker *pt; - - - pt = (struct proc_tracker *) kzalloc(sizeof(struct proc_tracker)); - - if (!pt) - return NULL; - - pt->nmemb = roundup_pow_of_two(nmemb); - pt->mask = pt->nmemb - 1; - - pt->task = (typeof(pt->task)) kzalloc(pt->nmemb * - sizeof(typeof(pt->task))); - - if (!pt->task) { - kfree(pt); - return NULL; - } - - - return pt; -} - - -/** - * @brief expand a processing tracker - * - * @param pt a struct processing_tracker - * - * @param nmemb the number of extra elements to track - * - * @return -1 on error, 0 on success - */ - -int pt_track_expand(struct proc_tracker *pt, size_t nmemb) -{ - struct proc_tracker tmp; - - - tmp.task = (typeof(pt->task)) krealloc(pt->task, (pt->nmemb + nmemb) * - sizeof(typeof(pt->task))); - - if (!tmp.task) - return -1; - - - pt->nmemb += nmemb; - - pt->mask = pt->nmemb - 1; - - pt->task = tmp.task; - - return 0; -} - - -/** - * @brief destroy a processing tracker - * - * @param pt a struct processing_tracker - */ - -void pt_track_destroy(struct proc_tracker *pt) -{ - kfree(pt->task); - kfree(pt); -} diff --git a/lib/string.c b/lib/string.c index 93d0e98..15fa00a 100644 --- a/lib/string.c +++ b/lib/string.c @@ -1,6 +1,12 @@ /*+ * @file lib/string.c * + * @ingroup string + * + * @defgroup string String Manipulation + * + * @brief implememnts generic string manipulation functions + * * @note some of theses are just wrappers * @todo these functions are very generic, for performance, add architecture * specific implementations diff --git a/lib/sysctl.c b/lib/sysctl.c index 2a37eca..0b48405 100644 --- a/lib/sysctl.c +++ b/lib/sysctl.c @@ -15,8 +15,8 @@ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * - * @defgroup sysctl system control and statistics - * @brief + * @defgroup sysctl System Control Interface + * @brief system control interface * * This system statistics/configuration functionality is tailored/derived * from how sysfs/kobjects works in Linux. For obvious reasons, access via a @@ -44,6 +44,8 @@ * * * @note explicit references to linux source files are not always given + * + * @example sysctl_demo.c */ #include <kernel/printk.h> diff --git a/samples/proc_chain/proc_chain_demo.c b/samples/proc_chain/proc_chain_demo.c index 1267812..81850c2 100644 --- a/samples/proc_chain/proc_chain_demo.c +++ b/samples/proc_chain/proc_chain_demo.c @@ -1,7 +1,6 @@ /** * This creates a number processing nodes representing Xentium kernel * processing stages. Two special trackers are used for input and output. - * */ -- GitLab