Releases: hermit-os/kernel
Releases · hermit-os/kernel
0.7.0
Highlights
- Detect memory from fdt by @duanyu-yu in #1074
- fuse: reduce copying and handle errors by @cagatay-y in #1084
- build(deps): bump hermit-entry from 0.9.10 to 0.10.0 by @mkroening in #1132
- Hermit now requires at least the Hermit loader
v0.5.0
or Uhyvev0.3.0
- Hermit now requires at least the Hermit loader
What's Changed
- Use a trait for the common Virtq interface by @cagatay-y in #1053
- improve compatibility to the BSD socket layer by @stlankes in #1085
- remove obsolete code by @stlankes in #1086
- ignore unsupported kernel flags by @stlankes in #1094
- add option to start a simple shell as async task by @stlankes in #1096
- introduce feature flag
nostd
to boot the kernel withoutstd
by @stlankes in #1098 - feat: implement system calls with attribute proc macro by @mkroening in #1105
- fix(fuse): fix fat pointer metadata by @mkroening in #1112
- fuse: fix incorrect len field in command headers by @cagatay-y in #1113
- feat(shutdown): always try qemu debug exit for error codes by @mkroening in #1119
- feat: align Uhyve mount path to virtiofsd by @mkroening in #1120
- fix(riscv64): make time stubbing warning less noisy by @mkroening in #1131
- refactor: make platform matches non-exhaustive by @mkroening in #1133
New Contributors
- @duanyu-yu made their first contribution in #1074
Full Changelog: v0.6.9...v0.7.0
0.6.9
What's Changed
- refactor(eventfd): use
ready!
to extractPoll::Ready
by @mkroening in #1067 - fix(executor): replace
Pin::new_unchecked
withpin!
by @mkroening in #1072 - prepare kernel to use it as monolithic kernel by @stlankes in #1069
- refactor(scheduler): use
ready!
for extractingPoll::Ready
by @mkroening in #1077 - improve compatibility to BSD sockets by @stlankes in #1081
- add error number in thread local storage by @stlankes in #1082
Full Changelog: v0.6.8...v0.6.9
0.6.8
Hightlights
- add basic support of a virtual filesystem by @stlankes in #1013
- add support of a unix-like poll function by @stlankes in #1046
- add basic support a linux-like syscall
evendfd
by @stlankes in #1052 - Refactor FUSE by @cagatay-y in #1047
- fix(x86_64): support GNU variant of TLS by @mkroening in #1062
What's Changed
- add feature
syscall
to run kernel as standalone application by @stlankes in #1011 - if the feature
syscall
is enabled, don't switch the stack by @stlankes in #1012 - rename the feature "syscall" to "common-os" by @stlankes in #1026
- doc: fix broken internal links by @cagatay-y in #1023
- using crate semihosting on aarch64 by @stlankes in #1040
- fix: overflow in time calculation on AArch64 by @mkroening in #1041
- chore: add
.vscode/settings.json
by @mkroening in #993 - forward error code to the host by @stlankes in #1048
- unlink is only able to delete a file by @stlankes in #1049
- Remove Pinned by @cagatay-y in #983
- add CI tests for the MIO support by @stlankes in #1061
- perf(fs/mem): minimize locking duration of pos by @mkroening in #1066
- fix(eventfd): add explicit guard drop to avoid deadlock by @mkroening in #1065
- refactor(PollEvent): simplify flag propagation by @mkroening in #1064
Full Changelog: v0.6.7...v0.6.8
0.6.7
Highlights
- feat: make ready for instrumentation by @mkroening in #991
- feat: make hermit-builtins a workspace root by @mkroening in #1004
- feat: add
sys_image_start_address
by @mkroening in #999 - add recvfrom and sendto support by @stlankes in #1007
What's Changed
- ci: test everything with SMP by @mkroening in #994
- chore: update Rust to
nightly-2023-12-01
by @mkroening in #996 - ci: use latest Firecracker after 1.5.1 release by @mkroening in #1000
- fix(AP Boot): remove
nop
s by @mkroening in #1001 - build: upgrade to nightly-2023-12-15 by @mkroening in #1006
- chore: release version 0.6.7 by @mkroening in #1009
Full Changelog: v0.6.6...v0.6.7
0.6.6
Highlights
- feat: add 64-bit RISC-V support by @mkroening in #800
What's Changed
- chore: upgrade to nightly-2023-10-01 by @mkroening in #939
- chore: remove explicit dependency on tock-registers by @mkroening in #938
- chore: remove clippy allow for false positive by @mkroening in #944
- ci: only cache the main branch by @cagatay-y in #947
- fix(net): deallocate network buffers by @mkroening in #943
- ci: use a matrix for test configurations by @cagatay-y in #940
- ci: improve caches by @mkroening in #954
- refactor: use cfg-if for arch module by @mkroening in #948
- ci: pin firecracker to 1.4.1 by @mkroening in #965
- chore: upgrade to nightly-2023-10-15 by @mkroening in #956
- Minimize casts to pointers by @cagatay-y in #964
- chore: upgrade to nightly-2023-11-01 by @mkroening in #970
- chore: rename rusty-loader to hermit-loader by @mkroening in #971
- collect configuration of mmio devices by @stlankes in #968
- chore: upgrade to nightly-2023-11-15 by @mkroening in #977
- fix(rust-toolchain.toml): remove
x86_64-unknown-none
by @mkroening in #978 - fix(xtask): misc by @mkroening in #980
- chore: release version 0.6.6 by @mkroening in #990
New Contributors
- @cagatay-y made their first contribution in #947
Full Changelog: v0.6.5...v0.6.6
0.6.5
Highlights
- NASM is no longer required for SMP on x86-64 (#926)
What's Changed
- improve the readability by @stlankes in #845
- avoid unneeded programming of the timer interrupt by @stlankes in #847
- add support of VIRTIO_NET_F_MRG_RXBUF by @stlankes in #848
- build: upgrade Rust to nightly-2023-08-15 by @mkroening in #854
- fix: support lib tests on Apple Silicon by @mkroening in #856
- refactor(Cargo.toml): sort tests, features, dependencies by @mkroening in #858
- feat: rename crate to hermit-kernel by @mkroening in #860
- chore: adapt to hermit-rs' kernel renaming by @mkroening in #863
- chore(Cargo.toml): remove CMakeLists.txt from exclude by @mkroening in #862
- chore: rename RustyHermit to Hermit by @mkroening in #864
- chore: remove GitLab CI config by @mkroening in #861
- build(deps): upgrade zerocopy from 0.6.3 to 0.7.0 by @mkroening in #869
- feat: initialize heap after paging by @mkroening in #857
- chore(Cargo.toml): omit patch version from dependencies by @mkroening in #871
- fix(comments): fix repo links in TODOs by @mkroening in #872
- Updated Logo by @jounathaen in #873
- refactor: remove get_tls_* functions by @mkroening in #874
- ci: set network tests on aarch64 to continue-on-error by @mkroening in #876
- refactor(env): replace get_cmdline, get_cmdsize with args by @mkroening in #875
- create dummy folder to share files between host and guest by @stlankes in #883
- return error also in the closing state by @stlankes in #881
- add basic UDP support by @stlankes in #882
- build(toolchain): update to nightly-2023-09-01 by @mkroening in #885
- build(deps): upgrade talc to version 3 by @mkroening in #890
- add CI test for the UDP support by @stlankes in #891
- ci: change UDP port to 9975 by @mkroening in #892
- ci: run on main branch too to create caches by @mkroening in #893
- ci: cache the kernel workspace too by @mkroening in #894
- fix(aarch64): properly disable interrupts on mutexes by @mkroening in #896
- add KVM tests with uhyve, qemu and firecracker by @stlankes in #895
- fix: proper firecracker shutdown by @mkroening in #901
- ci: reorder kvm job by @mkroening in #902
- ci: install kernel toolchain too by @mkroening in #907
- feat(xtask): add ci subcommand by @mkroening in #879
- fix(scheduler): move cursor creation to first use by @mkroening in #908
- style(xtask): use Self instead of Arch in impl by @mkroening in #909
- refactor(scheduler): simplify add_network_timer by @mkroening in #915
- publish main branch (master isn't longer supported) by @stlankes in #916
- ci: add
-y --no-install-recommends
for self-hosted by @mkroening in #919 - chore: upgrade hermit-sync to 0.1.5 by @mkroening in #918
- chore: upgrade to nightly-2023-09-15 by @mkroening in #920
- Make
core_scheduler
sound by @mkroening in #912 - Extend the FUSE support by @stlankes in #917
- Replace HermitCore with Hermit by @mkroening in #927
- feat: remove NASM dependency by @mkroening in #926
- fix(paging): add debug functionality for identity mapped pagetables by @sarahspberrypi in #928
- chore: release version 0.6.5 by @mkroening in #933
New Contributors
- @sarahspberrypi made their first contribution in #928
Full Changelog: v0.6.4...v0.6.5
v0.6.4
What's Changed
- fix bug in the initialization of the virtio network driver
Full Changelog: v0.6.3...v0.6.4
v0.6.3: improving the performance
What's Changed
- improve network performance
- add option to enable / disable of FUSE support
- remove bug in the initialization of the memory subsystem
- using Talc as memory allocator to improve the overall performance
Full Changelog: v0.6.2...v0.6.3
0.6.2
What's Changed
- disable kaniko cache by @stlankes in #711
- Make CoreLocal repr(C) by @nathanwhyte in #705
- Implements PriorityTaskQueue with std's LinkedList rather than a custom linked list implementation by @michaelRichards99 in #706
- Change alignment of virtiofs structs to be based on the first field. by @joannejchen in #709
- Replace use of internal syscalls by @nathanwhyte in #715
- virtio-net: Replace AsSliceU8 trait with zerocopy::AsBytes. by @joannejchen in #716
- Add basic docs for timer and semaphore syscalls by @nathanwhyte in #719
- remove deprecated functions and use hermit-dtb from crates.io by @stlankes in #723
- add check if the idle task has to give up the processor by @stlankes in #724
- don't initialize IO-APIC for uhyve by @stlankes in #725
- remove obsolete function
detect_from_uhyve
by @stlankes in #726 - move hardware independent function is_uhyve to env by @stlankes in #728
- remove typo by @stlankes in #729
- remove trailing null characters by @stlankes in #730
- don't leak memory if the environment is empty by @stlankes in #731
- revise aarch64 support by @stlankes in #732
- add RTC support and determine boot time by @stlankes in #733
- revise assertion by @stlankes in #734
- revise TLS handling by @stlankes in #736
- using arm-gic to programm the ARM Generic Interrupt Controller by @stlankes in #741
- Delete bors.toml by @mkroening in #742
- revise PCI support by @stlankes in #745
- test also the virtio network interface by @stlankes in #747
- add option to program the the PCI bars by @stlankes in #748
- remove old socket interface by @stlankes in #681
- remove compiler warnings for the target aarch64 by @stlankes in #751
- remove some clippy warnings by @stlankes in #752
- use within an interrupt handler scheduler::abort instead of syscall exit by @stlankes in #753
- remove unneeded code by @stlankes in #754
- use kernel stack to allocate memory by @stlankes in #755
- Update Cargo.lock by @mkroening in #762
- take always the oldest task from the queue by @stlankes in #764
- Update Rust to nightly-2023-06-14 by @mkroening in #763
- CI (ARM): Pin CPU by @mkroening in #767
- AArch64: use a software-generated interrupt (SGI)to reschedule the system by @stlankes in #765
- Release version 0.6.2 by @mkroening in #766
New Contributors
- @nathanwhyte made their first contribution in #705
- @michaelRichards99 made their first contribution in #706
- @joannejchen made their first contribution in #709
Full Changelog: v0.6.1...v0.6.2
0.6.1
Highlights
- add basic Firecracker support
What's Changed
- Paging: Refactor page size from usize to u64 by @mkroening in #565
- xtask: Print description for llvm_tools::Error::NotFound by @mkroening in #563
- CI: Enable Rust Cache by @mkroening in #557
- Restore network configuration via kernel cli by @JTS22 in #571
- irq::nested_disable: Only disable if necessary by @mkroening in #575
- Reimplement synch::spinlock with lock_api by @mkroening in #574
- CI: Install uhyve with --locked by @mkroening in #579
- update lockfile / dependencies by @striezel in #580
- Rework paging by @mkroening in #545
- CI: Enable kaniko cache by @mkroening in #585
- Format imports by @mkroening in #576
- Omit implicit core,alloc from build-std by @mkroening in #581
- Dockerfile: Update rustup-init to 1.25.1 by @mkroening in #583
- Formatting: Import crates directly by @mkroening in #587
- Use log::set_logger instead of set_logger_racy by @mkroening in #590
- Run clippy, dependabot on hermit-builtins by @mkroening in #591
- Add .git-blame-ignore-revs by @mkroening in #588
- CI: Fix integration tests by @mkroening in #592
- Migrate to hermit-sync by @mkroening in #589
- Don't install clippy, rustfmt by default by @mkroening in #584
- mm: Paging rework fixup for newlib by @mkroening in #602
- scheduler: Fix newlib without smp by @mkroening in #603
- scheduler: Replace panic with unreachable by @mkroening in #604
- processor: Remove static mut by @mkroening in #599
- CI: Check all features by @mkroening in #601
- CI: Make bors require Check by @mkroening in #605
- x86_64 mm: Remove MultibootMemory static mut by @mkroening in #609
- mm: Remove static muts by @mkroening in #607
- lib.rs: Don't take ref of extern static mut by @mkroening in #608
- Rework interrupts by @mkroening in #586
- Rework unit test output by @mkroening in #610
- add support of basic file descriptors by @stlankes in #598
- Rework GDT by @mkroening in #614
- Fix SMP with 3 or more CPUs by @mkroening in #618
- syscalls: Remove static muts by @mkroening in #600
- Rewrite Serial by @mkroening in #611
- Rework GDT (cont.) by @mkroening in #616
- Make scheduler sharing safe by @mkroening in #612
- Fix spurious page faults by @mkroening in #625
- Rework Core-Local Storage by @mkroening in #621
- Upgrade to nightly-2022-12-12 by @mkroening in #627
- Migrate to align-address crate by @mkroening in #623
- Migrate to upstream linked-list-allocator crate by @mkroening in #628
- Put unit tests in modules by @mkroening in #631
- Simplify HW_DESTRUCTIVE_INTERFERENCE_SIZE by @mkroening in #632
- Rewrite BumpAllocator (BootstrapAllocator) by @mkroening in #629
- Reimplement random data generation, add
read_entropy
syscall by @joboet in #640 - add BSD socket layer by @stlankes in #633
- remove check of the backlog parameter by @stlankes in #642
- Remove some dependencies by @mkroening in #641
- APIC: Replace static mut by @mkroening in #646
- ACPI: Replace static mut by @mkroening in #645
- Systemtime: Remove static mut by @mkroening in #648
- Migrate to upstream pflock by @mkroening in #653
- Disable many unstable Rust features by @mkroening in #651
- Remove specialization on x86_64 by @mkroening in #650
- Provide math.h from hermit-builtins by @mkroening in #654
- bump smoltcp from 0.8.2 to 0.9.1 by @stlankes in #657
- remove obsolete syscall interface for the network driver by @stlankes in #658
- convert virtiofs driver to support the new virtqueue implementation by @stlankes in #661
- allow the parallel usage of the features pci and newlib by @stlankes in #671
- Upgrade to bitflags 2.0 by @mkroening in #672
- Fix newlib with SMP by @mkroening in #673
- switch to the latest nightly compiler by @stlankes in #675
- remove dependencies to a mboot section by @stlankes in #677
- initialize drivers also for the C user interface by @stlankes in #678
- add lseek support for the FUSE interface by @stlankes in #680
- improve debug messages by @stlankes in #682
- don't initialize C network stack for uhyve by @stlankes in #687
- use workaround only for RustHermit by @stlankes in #688
- define the same 32bit gap like uhyve by @stlankes in #689
- Paging: Log any required implicit unmaps by @mkroening in #683
- removed all instances of shutdown by @richiewahidin in #695
- remove obsolete ist0 handling by @stlankes in #699
- add usefull debug messages for all exceptions by @stlankes in #700
- switch to the latest nightly compiler by @stlankes in #696
- add message if rdseed is supported by @stlankes in #702
- use isolated stacks for interrupt handling by @stlankes in #703
- remove workaround, which fix wrong file flags by @stlankes in #704
- CI downloads loader for aarch64 by @stlankes in #707
- add CI tests for the release version on aarch64 by @stlankes in #708
- add support to boot RustyHermit on Firecracker by @stlankes in #663
New Contributors
- @richiewahidin made their first contribution in #695
Full Changelog: v0.6.0...v0.6.1