<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Makefile</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>f7df02e7476731c31f12548e38bcadbaf0233f6a - libnetdriver: rewrite</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/minix3/minix/lib/libsys/Makefile#f7df02e7476731c31f12548e38bcadbaf0233f6a</link>
        <description>libnetdriver: rewriteThis is a driver-breaking update to the netdriver library, which isused by all network drivers.  The aim of this change is to make thelibrary more compatible with NetBSD, and in particular with variousfeatures that are expected to be supported by the NetBSD userland.The main changes made by this patch are the following:- each network driver now has a NetBSD-style short device name;- drivers are not expected to receive packets right after startup;- extended support for receipt modes, including multicast lists;- support for multiple parallel send, receive requests;- embedding of I/O vectors in send and receive requests;- support for capabilities, including checksum offloading;- support for reporting link status updates to the TCP/IP stack;- support for setting and retrieving media status;- support for changing the hardware (MAC) address;- support for NetBSD interface flags IFF_DEBUG, IFF_LINK[0-2];- support for NetBSD error statistics;- support for regular time-based (&quot;tick&quot;) callbacks.IMPORTANT: this patch applies a minimal update to the existing driversin order to make them work at all with the new netdriver library.  Ithowever does *not* change all drivers to make use of the new features.In fact, strictly speaking, all drivers are now violating requirementsimposed by the new library in one way or another, most notably byenabling packet receipt when starting the driver.  Changing all thedrivers to be compliant, and to support the newly added options, isleft to future patches.  The existing drivers should currently *not*be taken as examples of how to implement a new network driver!With that said, a few drivers have already been changed to make use ofsome of the new features: fxp, e1000, rtl8139, and rtl8169 now reportlink and media status, and the last three of those now support settingthe hardware MAC address on the fly.  In addition, dp8390 has beenchanged to default to PCI autoconfiguration if no configuration isspecified through environment variables.Change-Id: I4b3ea9c0b9bc25d5b0609c6ff256fb0db71cdc42

            List of files:
            /minix3/minix/lib/libsys/Makefile</description>
        <pubDate>Wed, 12 Oct 2016 04:41:08 +0000</pubDate>
        <dc:creator>David van Moolenbroek &lt;david@minix3.org&gt;</dc:creator>
    </item>
<item>
        <title>dd9696713548dbfd291c039366f7718a3249491f - UDS: prepare for socket file creation in bind(2)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/minix3/minix/lib/libsys/Makefile#dd9696713548dbfd291c039366f7718a3249491f</link>
        <description>UDS: prepare for socket file creation in bind(2)This patch prepares for moving of the creation of socket files on thefile system from the libc bind(2) stub into the UDS service.  Thischange is necessary for the socket type agnostic libc implementation.The change is not yet activated - the code that is not yet used isenclosed in &quot;#if NOT_YET&quot; blocks.  The activation needs to be atomicwith UDS&apos;s switch to libsockdriver; otherwise, user applications maybreak.As part of the change, various UDS bind(2) semantics are changed tomatch the POSIX standard and other operating systems.  Inimplementation terms, the service-only VFS API checkperms(2) isrenamed to socketpath(2), and extended with a new subcall whichcreates a new socket file.  An extension to test56 checks the newbind(2) semantics of UDS, although most new tests are still disableduntil activation as well.Finally, as further preparation for a more structural redesign of theUDS service, also return the &lt;device,inode&gt; number pair for thecreated or checked file name, and make returning the canonized pathname optional.Change-Id: I892d04b3301d4b911bdc571632ddde65fb747a8a

            List of files:
            /minix3/minix/lib/libsys/Makefile</description>
        <pubDate>Sun, 27 Dec 2015 19:35:12 +0000</pubDate>
        <dc:creator>David van Moolenbroek &lt;david@minix3.org&gt;</dc:creator>
    </item>
<item>
        <title>491d647a3b6c5e781017a8842cade543fc0b74a3 - VFS: support for suspending close(2) for sockets</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/minix3/minix/lib/libsys/Makefile#491d647a3b6c5e781017a8842cade543fc0b74a3</link>
        <description>VFS: support for suspending close(2) for socketsThis change effectively adds the VFS side of support for the SO_LINGERsocket option, by allowing file descriptor close operations to besuspended (and later resumed) by socket drivers.  Currently, supportis limited to the close(2) system call--in all other cases where filedescriptors are closed (dup2, close-on-exec, process exit..), theclose operation still completes instantly.  As a general policy, theclose(2) return value will always indicate that the file descriptorhas been closed: either 0, or -1 with errno set to EINPROGRESS.  Thelatter error may be thrown only when a suspended close is interruptedby a signal.As necessary for UDS, this change also introduces a closenb(2) systemcall extension, allowing the caller to bypass blocking SO_LINGER closebehavior.  This extension allows UDS to avoid blocking on closing thelast reference to an in-flight file descriptor, in an atomic fashion.The extension is currently part of libsys, but there is no reason whyuserland would not be allowed to make this call, so it is deliberatelynot protected from use by userland.Change-Id: Iec77d6665232110346180017fc1300b1614910b7

            List of files:
            /minix3/minix/lib/libsys/Makefile</description>
        <pubDate>Mon, 25 Jul 2016 11:11:37 +0000</pubDate>
        <dc:creator>David van Moolenbroek &lt;david@minix3.org&gt;</dc:creator>
    </item>
<item>
        <title>3ac58492b3d3709bad0ae9c60a137f63a90960b7 - Add LLVM GCOV coverage support</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/minix3/minix/lib/libsys/Makefile#3ac58492b3d3709bad0ae9c60a137f63a90960b7</link>
        <description>Add LLVM GCOV coverage supportWith this patch, it is now possible to generate coverage informationfor MINIX3 system services with LLVM.  In particular, the system canbe built with MKCOVERAGE=yes, either with a native &quot;make build&quot; orwith crosscompilation.  Either way, MKCOVERAGE=yes will build theMINIX3 system services with coverage profiling support, generating a.gcno file for each source module.  After a reboot it is possible toobtain runtime coverage data (.gcda files) for individual systemservices using gcov-pull(8).  The combination of the .gcno and .gcdafiles can then be inspected with llvm-cov(1).For reasons documented in minix.gcov.mk, only system service programmodules are supported for now; system service libraries (libsys etc.)are not included.  Userland programs are not affected by MKCOVERAGE.The heart of this patch is the libsys code that writes data generatedby the LLVM coverage hooks into a serialized format using the routineswe already had for GCC GCOV.  Unfortunately, the new llvm_gcov.c codeis LLVM ABI dependent, and may therefore have to be updated later whenwe upgrade LLVM.  The current implementation should support all LLVMversions 3.x with x &gt;= 4.The rest of this patch is mostly a light cleanup of our existing GCOVinfrastructure, with as most visible change that gcov-pull(8) nowtakes a service label string rather than a PID number.Change-Id: I6de055359d3d2b3f53e426f3fffb17af7877261f

            List of files:
            /minix3/minix/lib/libsys/Makefile</description>
        <pubDate>Sat, 24 Sep 2016 15:20:54 +0000</pubDate>
        <dc:creator>David van Moolenbroek &lt;david@minix3.org&gt;</dc:creator>
    </item>
<item>
        <title>6f3e0bcd3d3c17c74429db9d63eb808350d9a344 - MIB/libsys: support for remote MIB (RMIB) subtrees</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/minix3/minix/lib/libsys/Makefile#6f3e0bcd3d3c17c74429db9d63eb808350d9a344</link>
        <description>MIB/libsys: support for remote MIB (RMIB) subtreesMost of the nodes in the general sysctl tree will be managed directlyby the MIB service, which obtains the necessary information as needed.However, in certain cases, it makes more sense to let another servicemanage a part of the sysctl tree itself, in order to avoid replicatingpart of that other service in the MIB service.  This patch adds thebasic support for such delegation: remote services may now registertheir own subtrees within the full sysctl tree with the MIB service,which will then forward any sysctl(2) requests on such subtrees to theremote services.The system works much like mounting a file system, but in addition tosupport for shadowing an existing node, the MIB service also supportscreating temporary mount point nodes.  Each have their own use cases.A remote &quot;kern.ipc&quot; would use the former, because even when such asubtree were not mounted, userland would still expect some of itschildren to exist and return default values.  A remote &quot;net.inet&quot;would use the latter, as there is no reason to precreate nodes for allpossible supported networking protocols in the MIB &quot;net&quot; subtree.A standard remote MIB (RMIB) implementation is provided for servicesthat wish to make use of this functionality.  It is essentially asimplified and somewhat more lightweight version of the MIB service&apos;sinternals, and works more or less the same from a programmer&apos;s pointof view.  The most important difference is the &quot;rmib&quot; prefix insteadof the &quot;mib&quot; prefix.  Documentation will hopefully follow later.Overall, the RMIB functionality should not be used lightly, forseveral reasons.  First, despite being more lightweight than the MIBservice, the RMIB module still adds substantially to the codefootprint of the containing service.  Second, the RMIB protocol notonly adds extra IPC for sysctl(2), but has also not been optimized forperformance in other ways.  Third, and most importantly, the RMIBimplementation also several limitations.  The main limitation is thatremote MIB subtrees must be fully static.  Not only may the user notcreate or destroy nodes, the service itself may not either, as thiswould clash with the simplified remote node versioning system andthe cached subtree root node child counts.  Other limitations exist,such as the fact that the root of a remote subtree may only be anode-type node, and a stricter limit on the highest node identifierof any child in this subtree root (currently 4095).The current implementation was born out of necessity, and thereforeit leaves several improvements to future work.  Most importantly,support for exit and crash notification is missing, primarily in theMIB service.  This means that remote subtrees may not be cleaned upimmediately, but instead only when the MIB service attempts to talkto the dead remote service.  In addition, if the MIB service itselfcrashes, re-registration of remote subtrees is currently left up tothe individual RMIB users.  Finally, the MIB service uses synchronous(sendrec-based) calls to the remote services, which while convenientmay cause cascading service hangs.  The underlying protocol is readyfor conversion to an asynchronous implementation already, though.A new test set, testrmib.sh, tests the basic RMIB functionality.  Tothis end it uses a test service, rmibtest, and also reuses part ofthe existing test87 MIB service test.Change-Id: I3378fe04f2e090ab231705bde7e13d6289a9183e

            List of files:
            /minix3/minix/lib/libsys/Makefile</description>
        <pubDate>Sat, 23 Apr 2016 18:07:39 +0000</pubDate>
        <dc:creator>David van Moolenbroek &lt;david@minix3.org&gt;</dc:creator>
    </item>
<item>
        <title>910831cb5ca62d66feb4e9664745910bbf5c03e1 - PM: generic process event publish/subscribe system</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/minix3/minix/lib/libsys/Makefile#910831cb5ca62d66feb4e9664745910bbf5c03e1</link>
        <description>PM: generic process event publish/subscribe systemNow that there are services other than PM and VFS that implementuserland system calls directly, these services may need to know aboutevents related to user processes.  In particular, signal delivery mayhave to interrupt blocking system calls, and certain cleanup tasks mayhave to be performed after a user process exits.This patch aims to implement a generic, lasting solution for thisproblem, by allowing services to subscribe to &quot;signal delivered&quot;and/or &quot;process exit&quot; events from PM.  PM publishes such events bysending messages to its subscribed services, which must then reply anacknowledgment message.For now, only the two aforementioned events are implemented, and onlythe IPC service makes use of the process event facility.The new process event publish/subscribe system replaces the previousVM notify-sig/watch-exit/query-exit system, which was unsound: 1) itallowed subscription to events from individual processes, and sufferedfrom fundamental race conditions as a result; 2) it relied on &quot;not toomany&quot; processes making use of the IPC server functionality in order toavoid loss of notifications.  In addition, it had the &quot;ipc&quot; processname hardcoded, did not distinguish between signal delivery and exits,and added a roundtrip to VM for all events from all processes.Change-Id: I75ebad4bc54e646c6433f473294cb4003b2c3430

            List of files:
            /minix3/minix/lib/libsys/Makefile</description>
        <pubDate>Sat, 12 Dec 2015 17:22:00 +0000</pubDate>
        <dc:creator>David van Moolenbroek &lt;david@minix3.org&gt;</dc:creator>
    </item>
<item>
        <title>1f3ef2b206fbc798d1aa54783fe2c426e1276fb5 - Kernel: per-process CPU utilization statistics</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/minix3/minix/lib/libsys/Makefile#1f3ef2b206fbc798d1aa54783fe2c426e1276fb5</link>
        <description>Kernel: per-process CPU utilization statisticsSee the comment at the top of the new cpuavg.c file for details.Change-Id: Ic45617d00736931575949b702e98f9a4fd083768

            List of files:
            /minix3/minix/lib/libsys/Makefile</description>
        <pubDate>Mon, 02 Nov 2015 17:43:38 +0000</pubDate>
        <dc:creator>David van Moolenbroek &lt;david@minix3.org&gt;</dc:creator>
    </item>
<item>
        <title>bc2d75fa05289d971b2669f2f8593daa1524eb58 - Rework getrusage(2) infrastructure</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/minix3/minix/lib/libsys/Makefile#bc2d75fa05289d971b2669f2f8593daa1524eb58</link>
        <description>Rework getrusage(2) infrastructure- the userland call is now made to PM only, and PM relays the call to  other servers as appropriate; this is an ABI change that will  ultimately allow us to add proper support for wait3() and the like;  for the moment there is backward compatibility;- the getrusage-specific kernel subcall has been removed, as it  provided only redundant functionality, and did not provide the means  to be extended correctly in the future - namely, allowing the kernel  to return different values depending on whether resource usage of  the caller (self) or its children was requested;- VM is now told whether resource usage of the caller (self) or its  children is requested, and it refrains from filling in wrong values  for information it does not have;- VM now uses the correct unit for the ru_maxrss values;- VFS is cut out of the loop entirely, since it does not provide any  values at the moment; a comment explains how it should be readded.Change-Id: I27b0f488437dec3d8e784721c67b03f2f853120f

            List of files:
            /minix3/minix/lib/libsys/Makefile</description>
        <pubDate>Sun, 27 Sep 2015 17:32:10 +0000</pubDate>
        <dc:creator>David van Moolenbroek &lt;david@minix3.org&gt;</dc:creator>
    </item>
<item>
        <title>7c48de6cc4c6d56f2277d378dba01dbac8a8c3b9 - Resolve more warnings</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/minix3/minix/lib/libsys/Makefile#7c48de6cc4c6d56f2277d378dba01dbac8a8c3b9</link>
        <description>Resolve more warningsChange-Id: Ibc1b7f7cd45ad7295285e59c6ce55888266fece8

            List of files:
            /minix3/minix/lib/libsys/Makefile</description>
        <pubDate>Mon, 21 Sep 2015 17:14:39 +0000</pubDate>
        <dc:creator>David van Moolenbroek &lt;david@minix3.org&gt;</dc:creator>
    </item>
<item>
        <title>abf8a7e7b3a56fc9b8ce81cb3a69d8531aa90ce5 - RS/VM: proper preparation for multi-VM live update</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/minix3/minix/lib/libsys/Makefile#abf8a7e7b3a56fc9b8ce81cb3a69d8531aa90ce5</link>
        <description>RS/VM: proper preparation for multi-VM live updateDue to changed VM internals, more elaborate preparation is requiredbefore a live update with multiple components including VM can takeplace.  This patch adds the essential preparation infrastructure toVM and adapts RS to make use of it.  As a side effect, it is nolonger necessary to supply RS as the last component (if at all)during the set-up of a multicomponent live update operation.Change-Id: If069fd3f93f96f9d5433998e4615f861465ef448

            List of files:
            /minix3/minix/lib/libsys/Makefile</description>
        <pubDate>Tue, 14 Jul 2015 05:42:48 +0000</pubDate>
        <dc:creator>David van Moolenbroek &lt;david@minix3.org&gt;</dc:creator>
    </item>
<item>
        <title>d196e2c33387eb64e579688b8649f271be970f1f - sef: Extensions for new RS.</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/minix3/minix/lib/libsys/Makefile#d196e2c33387eb64e579688b8649f271be970f1f</link>
        <description>sef: Extensions for new RS.Change-Id: I89b6f8015b1f9c46bf98694450bdaa80b7777940

            List of files:
            /minix3/minix/lib/libsys/Makefile</description>
        <pubDate>Tue, 30 Sep 2014 05:15:41 +0000</pubDate>
        <dc:creator>Cristiano Giuffrida &lt;giuffrida@cs.vu.nl&gt;</dc:creator>
    </item>
<item>
        <title>685aa79304a3b43efa0194233b5d70cfb6df335e - libsys: resolve clang warnings</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/minix3/minix/lib/libsys/Makefile#685aa79304a3b43efa0194233b5d70cfb6df335e</link>
        <description>libsys: resolve clang warningsChange-Id: Ic954ba8667b4d039172b8e0d2ec57674a479b8aa

            List of files:
            /minix3/minix/lib/libsys/Makefile</description>
        <pubDate>Tue, 30 Sep 2014 20:08:54 +0000</pubDate>
        <dc:creator>David van Moolenbroek &lt;david@minix3.org&gt;</dc:creator>
    </item>
<item>
        <title>1dcfbcd17383a5c335ef7172dc751771716b632d - Remove support for call profiling</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/minix3/minix/lib/libsys/Makefile#1dcfbcd17383a5c335ef7172dc751771716b632d</link>
        <description>Remove support for call profilingThe entire infrastructure relied on an ACK feature, and as such, ithas been broken for years now, with no easy way to repair it.Change-Id: I783c2a21276967af115a642199f31fef0f14a572

            List of files:
            /minix3/minix/lib/libsys/Makefile</description>
        <pubDate>Tue, 30 Sep 2014 12:31:44 +0000</pubDate>
        <dc:creator>David van Moolenbroek &lt;david@minix3.org&gt;</dc:creator>
    </item>
<item>
        <title>ad80a203dbe8dfd72afcba56c4335320c60b2e5a - Move clock_time into libsys</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/minix3/minix/lib/libsys/Makefile#ad80a203dbe8dfd72afcba56c4335320c60b2e5a</link>
        <description>Move clock_time into libsysChange-Id: Ibc5034617e6f6581de7c4a166ca075b3c357fa82

            List of files:
            /minix3/minix/lib/libsys/Makefile</description>
        <pubDate>Sun, 24 Aug 2014 10:00:06 +0000</pubDate>
        <dc:creator>David van Moolenbroek &lt;david@minix3.org&gt;</dc:creator>
    </item>
<item>
        <title>433d6423c39e34ec4b79c950597bb2d236f886be - New sources layout</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/minix3/minix/lib/libsys/Makefile#433d6423c39e34ec4b79c950597bb2d236f886be</link>
        <description>New sources layoutChange-Id: Ic716f336b7071063997cf5b4dae6d50e0b4631e9

            List of files:
            /minix3/minix/lib/libsys/Makefile</description>
        <pubDate>Mon, 28 Jul 2014 19:19:37 +0000</pubDate>
        <dc:creator>Lionel Sambuc &lt;lionel@minix3.org&gt;</dc:creator>
    </item>
</channel>
</rss>
