1. 10 Jan, 2023 4 commits
  2. 09 Jan, 2023 2 commits
  3. 16 Dec, 2022 1 commit
  4. 11 Dec, 2022 1 commit
    • Jonas Termansen's avatar
      Add networking stack. · 2ef6804e
      Jonas Termansen authored
      This change adds all the kernel parts of a network stack. The network stack
      is partial but implements many of the important parts.
      
      Add if(4) network interface abstraction. Network interfaces are registered
      in a global list that can be iterated and each assigned an unique integer
      identifier.
      
      Add reference counted packets with a cache that recycles recent packets.
      
      Add support for lo(4) loopback and ether(4) ethernet network interfaces.
      The /dev/lo0 loopback device is created automatically on boot.
      
      Add arp(4) address resolution protocol driver for translation of inet(4)
      network layer addresses into ether(4) link layer addresses. arp(4) entries
      are cached and evicted from the cache when needed or when the entry has not
      been used for a while. The cache is limited to 256 entries for now.
      
      Add ip(4) internet protocol version 4 support. IP fragmentation and options
      are not implemented yet.
      
      Add tcp(4) transmission control protocol sockets for a reliable transport
      layer protocol that prov...
      2ef6804e
  5. 10 Dec, 2022 1 commit
    • Jonas Termansen's avatar
      Fix deadlocks and lost wakeups in threading primitives. · 3154492d
      Jonas Termansen authored
      The futex and kutex implementations used the same linked list for waiting,
      however the futex implementation used kutexs and the same thread could be in
      the same list twice in the case of contention. This case corrupted the wait
      lists and led to deadlocks and lost wakeups. This change fixes the problem
      by having separate data structures for futexes and kutexes.
      
      Mutexes contended by multiple threads could lead to lost wakeups since only
      one contended thread was awoken and subsequent unlocks are unaware of the
      unawakened contended threads. This change fixes the problem with a temporary
      solution of waking all the contended threads until a better design is
      implemented.
      
      Additional details are tweaked to be more reliable and simpler.
      3154492d
  6. 04 Dec, 2022 2 commits
  7. 03 Dec, 2022 2 commits
  8. 20 Nov, 2022 1 commit
  9. 19 Nov, 2022 3 commits
  10. 16 Nov, 2022 7 commits
  11. 23 Oct, 2022 1 commit
  12. 21 Oct, 2022 2 commits
  13. 20 Oct, 2022 2 commits
    • Jonas Termansen's avatar
      Add halt(8), poweroff(8), and reboot(8). · 71edc766
      Jonas Termansen authored
      71edc766
    • Jonas Termansen's avatar
      Add daemon support to init(8). · f2d50bbf
      Jonas Termansen authored
      This change implements a dependency tracking daemon(7) system in init with
      overridable init(5) configuration, parallel startup, readiness signaling,
      rotating logs, reliable stopping, and handling of leaked processes.
      
      The /etc/init/target file is replaced by the new /etc/init/default per the
      new init(5) format. The old configuration is migrated upon upgrade using an
      upgrade hook.
      
      extfs(8) now signals readiness using READYFD for fast mounting.
      
      Filesystems that fail to be repaired are now mounted read-only.
      
      The mounting and filesystem checking code is synchronized with sysinstall.
      
      The duplicated array_add utility function now protects against overflows.
      
      tix-iso-bootconfig(8) gains the --init-target option.
      
      tix-iso-liveconfig(8) gains the --daemons option.
      f2d50bbf
  14. 18 Sep, 2022 3 commits
  15. 10 Sep, 2022 4 commits
  16. 28 Aug, 2022 1 commit
  17. 11 Jul, 2022 1 commit
  18. 10 Jul, 2022 2 commits