Releases: nanovms/nanos
Releases · nanovms/nanos
0.1.53
What's Changed
- Kernel timers: minimize occurrence of timer interrupts and CPU usage by @francescolavra in #2044
- Transparent Huge Pages: add configuration option to disable feature by @francescolavra in #2048
- Core dump: fix writing of core dump file data to disk by @francescolavra in #2049
- 9P filesystem: fix operation with deleted and renamed files by @francescolavra in #2050
- Page tables: unmap_page(): fix call to range handler by @francescolavra in #2052
- open(): add support for O_DIRECT flag by @francescolavra in #2046
- iov_to_sg(): fix SG buffer creation for iov entries larger than 4GB by @francescolavra in #2053
- pagecache_read_sg_finish(): fix locking order inversion by @francescolavra in #2055
- ARM exception handler: restore stack pointer when returning to EL0 by @francescolavra in #2056
- Filesystem: retire fs_status enum in favor of standard error codes by @francescolavra in #2054
- TFS extent extension: fix handling of exhausted disk space by @francescolavra in #2057
- Runloop: fix check for unset CPU timer when running a user thread by @francescolavra in #2058
- mmap(2): add support for MAP_GROWSDOWN flag by @francescolavra in #2060
- Add support for compiling the kernel with clang for all architectures by @francescolavra in #2059
- tun_close(): properly update
next_tx
file descriptor reference by @francescolavra in #2063 - Syscalls: add statx(2) implementation by @francescolavra in #2062
- Page faults: add support for custom fault handlers by @francescolavra in #2064
- x86 bootloader: keep 8259 PIC enabled when reading from disk by @francescolavra in #2065
- fix(log): correct debug log message in netsyscall.c by @rinor in #2067
- fix: correct socket state checks and handle listen errors in netsyscall by @rinor in #2068
- New features to support TigerBeetle by @francescolavra in #2072
- fix doc and build issue (for linux) by @peppergrayxyz in #2071
- Network socket options: add support for IPPROTO_IP/IP_MTU_DISCOVER by @francescolavra in #2075
- epoll: add support for polling on epoll file descriptors by @francescolavra in #2074
- Aarch64 GIC: adding locking for concurrently accessed resources by @francescolavra in #2073
- updating readme to reflect new klib location by @eyberg in #2077
- Aarch64 powerdown: add support for GPIO power key by @francescolavra in #2076
- Logging: add user-adjustable log levels ("err", "warn", "info") by @francescolavra in #2079
New Contributors
- @peppergrayxyz made their first contribution in #2071
Full Changelog: 0.1.52...0.1.53
0.1.52
What's Changed
- getsockopt(SOL_TCP): add support for TCP_INFO and TCP_CONGESTION by @francescolavra in #2035
- On-demand program file paging: fix initialization of BSS areas by @francescolavra in #2032
- Aarch64 physical ID heap: fix setting of memory end address by @francescolavra in #2038
- exec_elf_finish(): add setting of cwd for non-static executables by @francescolavra in #2036
- pci_discover(): fix missing probe of bus 0 by @francescolavra in #2039
- Memory mapping: add support for Transparent Huge Pages (THP) by @francescolavra in #2037
- ARM: add parsing of device tree blob by @francescolavra in #2043
- ARM: add support for Azure instances by @francescolavra in #2041
Full Changelog: 0.1.51...0.1.52
0.1.51
What's Changed
- virtio-net: add multiqueue support by @francescolavra in #2011
- pagecache: fix on-demand mapping of evicted pages by @francescolavra in #2016
- timm_dealloc(): fix handling of tuples that reference
timm_oom
by @francescolavra in #2018 - TFS: fix handling of storage operations on uninited extents by @francescolavra in #2017
- x86: setup_initmap(): fix mapping of initial pages by @francescolavra in #2019
- adding in initial doxygen by @eyberg in #2020
- build(deps): bump golang.org/x/crypto from 0.0.0-20220321153916-2c7772ba3064 to 0.17.0 in /test/go by @dependabot in #2021
- x86: fix overlapping of kernel addresses with vsyscall page by @francescolavra in #2023
- bump xcode by @eyberg in #2026
- Azure: implement sending memory metrics via diagnostic extension by @francescolavra in #2022
- memfd_create(): add support for file sealing by @francescolavra in #2027
- scheduler: add support for CPU affinity (thread pinning) by @francescolavra in #2024
- Klibs: add strace by @francescolavra in #2028
- rm nightly x86 mac runner; change default mac runner to arm by @eyberg in #2031
- Virtio-9P device attach: fix initialization of virtio_9p struct by @francescolavra in #2030
New Contributors
- @dependabot made their first contribution in #2021
Full Changelog: 0.1.50...0.1.51
0.1.50
What's Changed
- E2E tests: ruby: remove sinatra gem install and GEM_HOME env var by @francescolavra in #1990
- cloud_init: fix errors when loaded before acquiring IP address by @francescolavra in #1992
- ELF exec: add AT_BASE entry to auxiliary vector by @francescolavra in #1991
- Kernel heaps: add page heap by @francescolavra in #1994
- Strings: remove unbounded memory access by @francescolavra in #1995
- Hyper-V: netvsc: fix setting of pbuf length in received packets by @francescolavra in #1997
- Klibs (x86_64): add User-Managed Concurrency Groups by @francescolavra in #1996
- Memory leak fixes by @francescolavra in #2001
- virtIO fixes by @francescolavra in #2002
- Security: add kernel address space layout randomization (KASLR) by @francescolavra in #2004
- Syscalls: add support for memfd_create by @francescolavra in #2005
- Closures: add closure struct definition to closure_type() macro by @francescolavra in #2006
- tmpfs_create(): add missing initialization of return value by @francescolavra in #2009
- uname: add configurability of sysname and release by @francescolavra in #2008
- Klibs: add DigitalOcean metrics agent by @francescolavra in #2007
- Fixing linker warnings by @francescolavra in #2012
Full Changelog: 0.1.49...0.1.50
0.1.49
0.1.48
bump mac dep (#1957) Co-authored-by: Ian Eyberg <[email protected]>
0.1.47
stage2, uefi: allocate untyped buffers from tagged region This addresses a long-standing bug in targets that use a rewind tag for values (specifically the stage2 and uefi bootloaders), whereby an untyped buffer allocation was being allocated without creating space for the tag type. This could manifest in an incorrect tag type being read for a buffer. To remedy this, an additional tagged region heap is created of type tag_unknown, and untyped buffer values (currently only coming from decode_value() when using an old TFS encoding for backward compatibility) are allocated from that heap.
0.1.46
0.1.45
netlink RTM_GETADDR: add support for AF_INET6 and AF_UNSPEC This adds netlink support for reporting IPv6 interface addresses via the RTM_GETADDR request. It also handles the AF_UNSPEC address family by reporting both IPv4 and IPv6 addresses.
0.1.44
ATA: honor maximum number of sectors in each I/O request This commit adds a new function to the ATA disk driver to retrieve the maxiumum number of sectors that can be submitted in a single I/O request, which depends on whether LBA48 addressing is supported. This new function is called by both the x86_64 bootloader and the kernel ATA PCI driver, which check the maximum sector count value to split each I/O request so that it doesn't exceed the limit. This fixes booting on vsphere VMs with IDE disk emulation.