archive-org.com » ORG » N » NETBSD.ORG

Total: 1243

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • Make Anita support multiple virtual machine systems
    for automated testing of NetBSD Anita automates the process of downloading a NetBSD distribution installing it into a fresh virtual machine and running the ATF tests in the distribution in a fully automated manner Originally the main focus of Anita was on testing the sysinst installation procedure and on finding regressions that cause the system to fail to install or boot but Anita is now used as the canonical platform for running the ATF test suite distributed with NetBSD You can see the results of such tests in the Test Run Logs page At the moment Anita only supports qemu as the system to create the virtual machine with qemu gives us the ability to test several ports of NetBSD because qemu emulates many different architectures but qemu is very slow because it lacks hardware virtualization support in NetBSD The goal of this project is to extend Anita to support other virtual machine systems There are many virtual machine systems out there but this project focuses on adding support to at least the following two Xen and VirtualBox Xen because NetBSD has native support to run as a dom0 and a domU so Anita could be used out of the box VirtualBox because it is the canonical free virtual machine system for workstation setups This project has the following milestones in this order Abstract the VM specific code in Anita to provide a modular interface that supports different virtual machines at run time This will result in one single module implementation for qemu Create a module to provide support for Xen dom0 Create a module to provide support for VirtualBox Update the pkgsrc package misc py anita to support the different virtual machine systems This must be done by providing new packages not by using package options If time permits

    Original URL path: http://wiki.netbsd.org/projects/project/anita-vms/ (2016-02-01)
    Open archived version from archive


  • Convert kernel printf() to aprint_*() or log()
    Home Edit Comment Source History New RecentChanges NetBSD Wiki projects project Convert kernel printf to aprint or log Contact tech kern Duration estimate 2 4 Weeks Most of the NetBSD kernel tree still uses printf 9 to send messages to the console primarily during boot and device configuration Each printf during device configuration should be audited and replaced with the appropriate aprint function to make the verbose boot option work

    Original URL path: http://wiki.netbsd.org/projects/project/aprint/ (2016-02-01)
    Open archived version from archive

  • Apropos replacement based on mandoc and SQLite's FTS
    a lot of useful documentation in the form of manual pages Finding the right manual page can be difficult though If you look for a library function it will sometimes fail because it is part of a larger manual page and doesn t have a MLINKS entry If you look for a program but don t know the exact name it can be hard to find as well Historically the content of the NAME section of each manual page has been extracted and put into a special file The apropos command has been used to search this file based on keywords This brings severe limitations as it restricts the list of potential matches significantly and requires very good descriptions of the content of a manual page in typically one line The goal of this project is to provide a modern replacement based on the Full Text Search of SqLite The most basic version of the new apropos builds an index from the text output of mandoc and queries it using appropriate SQL syntax Some basic form of position indications should be provided as well e g line number A more advanced version could use the mandoc parser directly too This

    Original URL path: http://wiki.netbsd.org/projects/project/apropos/ (2016-02-01)
    Open archived version from archive

  • ASAN port
    Comment Source History New RecentChanges NetBSD Wiki projects project ASAN port Contact tech kern tech userlevel Duration estimate 3 months IMPORTANT This project was completed by steve You may still contact the people above for details but please do not submit an application for this project The Address Sanitizer is a part of the LLVM stack It provides a feature set similar to Valgrind The goal of this project is

    Original URL path: http://wiki.netbsd.org/projects/project/asan-port/ (2016-02-01)
    Open archived version from archive

  • Create an SQL backend and statisticics/query page for ATF test results
    tests both on emulators and real hardware The results are generated in ATF or maybe sometime later in Kuya raw XML output format and then transformed via xslt into html This is good enough to display single test run results but does not provide any overview or comparison options across different test runs or architectures The target of this project is to provide a simple upload utility that takes the xml input and inserts it into a remote PostgresSQL database Creating a suitable database schema and the xml loader upload tool is the first half Second part is using the collected results to display some nice web pages showing statistics and allowing dedicated queries comparable to the query pages of typical bug tracking systems This project has the following milestones in this order Create and test a database schema suitable for multiple architectures and later migration to Kuya Create a tool to read the ATF xml data and insert it into a database This will be the half term milestone Create a web site providing basic browsing search options for the database Enhance the upload tool or create a second variant for Kuya output This part is optional Document the database schema web site setup and tool created A huge set of ATF xml data will be provided we assume that the student creates the database environment for local testing themselves The result is planed to be deployed on TNF servers later so it is of direct use for the community This deployment is not part of the GSoC timeline Note that item 4 above needs proper evaluation before the database schema is created Kuya already stores test results in a SQLite database so the extract and upload utility likely will be simple but the database schema is incompatible and

    Original URL path: http://wiki.netbsd.org/projects/project/atf-sql-backend/ (2016-02-01)
    Open archived version from archive

  • Lockless, atomic FIFO/LIFO queues
    and atomic FIFO LIFO queues in the kernel The routines to be implemented allow for commonly typed items to be locklessly inserted at either the head or tail of a queue for either last in first out LIFO or first in first out FIFO behavior respectively However a queue is not instrinsicly LIFO or FIFO Its behavior is determined solely by which method each item was pushed onto the queue It is only possible for an item to removed from the head of queue This removal is also performed in a lockless manner All items in the queue must share a atomic queue link t member at the same offset from the beginning of item This offset is passed to atomic qinit The proposed interface looks like this void atomic qinit atomic queue t q size t offset Initializes the atomic queue t queue at q offset is the offset to the atomic queue link t inside the data structure where the pointer to the next item in this queue will be placed It should be obtained using offsetof void atomic qpeek atomic queue t q Returns a pointer to the item at the head of the supplied queue q If there was no item because the queue was empty NULL is returned No item is removed from the queue Given this is an unlocked operation it should only be used as a hint as whether the queue is empty or not void atomic qpop atomic queue t q Removes the item if present at the head of the supplied queue q and returns a pointer to it If there was no item to remove because the queue was empty NULL is returned Because this routine uses atomic Compare And Store operations the returned item should stay accessible for some

    Original URL path: http://wiki.netbsd.org/projects/project/atomic_fifo_lifo_queues/ (2016-02-01)
    Open archived version from archive

  • Lockless, atomic producer/consumer queues
    funding independently The goal of this project is to implement lockess and atomic producer consumer queues PCQs in the kernel A PCQ allows multiple writers producers but only a single reader consumer Compare And Store operations are used to allow lockless updates The consumer is expected to be protected by a mutex that covers the structure that the PCQ is embedded into e g socket lock ifnet hwlock These queues operate in a First In First Out FIFO manner The act of inserting or removing an item from a PCQ does not modify the item in any way A PCQ does not prevent an item being inserted multiple times into a single PCQ Since this structure is not specific to networking it has to be accessed via sys pcq h and the code has to live in kern subr pcq c The proposed interface looks like this bool pcq put pcq t pcq void item Places item at the end of the queue If there is no room in the queue for the item false is returned otherwise true is returned The item must not have the value NULL void pcq peek pcq t pcq Returns the next item to

    Original URL path: http://wiki.netbsd.org/projects/project/atomic_pcq/ (2016-02-01)
    Open archived version from archive

  • Lockless, atomic and generic Radix/Patricia trees
    uses a far more expensive method of comparision Adapting the existing implementation to do the above is actually more expensive than writing a new implementation The primary requirements for the new radix tree are Be self contained It cannot require additional memory other than what is used in its data structures Be generic A radix tree has uses outside networking To make the radix tree flexible all knowledge of how keys are represented has to be encapsulated into a pt tree ops t structure with these functions bool ptto matchnode const void foo const void bar pt bitoff t max bitoff pt bitoff t bitoffp pt slot t slotp Returns true if both foo and bar objects have the identical string of bits starting at bitoffp and ending before max bitoff In addition to returning true bitoffp should be set to the smaller of max bitoff or the length in bits of the compared bit strings Any bits before bitoffp are to be ignored If the string of bits are not identical bitoffp is set to the where the bit difference occured slotp is the value of that bit in foo and false is returned The foo and bar if not NULL arguments are pointers to a key member inside a tree object If bar is NULL then assume it points to a key consisting of entirely of zero bits bool ptto matchkey const void key const void node key pt bitoff t bitoff pt bitlen t bitlen Returns true if both key and node key objects have identical strings of bitlen bits starting at bitoff The key argument is the same key argument supplied to ptree find filtered node pt slot t ptto testnode const void node key pt bitoff t bitoff pt bitlen t bitlen Returns bitlen bits

    Original URL path: http://wiki.netbsd.org/projects/project/atomic_radix_patricia_trees/ (2016-02-01)
    Open archived version from archive