Recent Releases of hermit-kernel

hermit-kernel - 0.11.0

๐Ÿš€ Features

  • (xtask) Download OVMF prebuilts
  • (processor) Read TSC frequency from FDT
  • (hermit-builtins) Add nan, nanf
  • (fs/mem) Implement fstat
  • Add gap between kernel and available virtual memory
  • (x86_64/mm) Remove detect_from_multiboot
  • (x86_64/mm) Remove detect_from_uhyve
  • Switch to identity-mapped page tables
  • (fs) Make off_t signed as required by POSIX
  • (fd) Implement fcntl(F_GETFL)
  • (aarch64-interrupts) Rename gic related variables
  • (aarch64-interrupts) Use cpuid and gicr_stride
  • (socket) Add AF_UNSPEC
  • (socket) Make AF_INET non-zero
  • (time) Add SystemTime::UNIX_EPOCH and SystemTime::duration_since
  • Make empty mm public
  • (mm) Export virtual_to_physical

๐Ÿ› Bug Fixes

  • Move O_NONBLOCK definition into OpenOptions
  • (paging) clippy::doc_overindented_list_items
  • (xtask) Run doc for hermit-builtins and xtask
  • (xtask) Setup the correct buildtype for hermit-c
  • Don't set errno on success
  • (xtask/qemu) Set virtio-mmio.force-legacy=off
  • (drivers) Initialize 64-bit RISC-V drivers before the executor
  • (riscv64) Finalize MMIO drivers
  • (x86_64/paging) Don't panic in disect
  • (x86_64/paging) Break when printing unused table entries
  • (x86_64/paging) Support all functions on UEFI
  • (mm) Exempt UEFI from device alloc mapping
  • (x86_64/mm) kernel_heap_end should only be the first page
  • (x86_64/mm) Identity-map physical memory
  • (fd) Extract StatusFlags into separate type
  • (riscv64/interrupts) Typo
  • (riscv64/interrupts) Remove commented-out code
  • (riscv64/interrupts) Improve interrupt handler
  • (fd) Make open options contain the file status flags
  • (fs) Only check for O_CREAT if file does not exist
  • (fs) Deduplicate boolean expression
  • Provide type annotations in comparisons
  • clippy::uninlined-format-args

๐Ÿ’ผ Other

  • (deps) Upgrade ureq from 2 to 3
  • Map BAR with the information from capabilities
  • (deps) Update OpenSBI to version 1.5.1
  • (deps) Upgrade arm-gic to 0.2
  • (kernel) Specify hermit-macro version
  • (deps) Update Cargo.lock

๐Ÿšœ Refactor

  • (x86_64/paging) Use higher-ranked trait bounds
  • (x86_64/mm) Merge kernel_heap_end functions
  • (x86_64/mm) Make kernel_heap_end non-const
  • (x86_64/mm) Explicitly work with page table indices for kernel_heap_end
  • (fd) Replace ObjectInterface::ioctl with set_status_flags

๐ŸŽจ Styling

  • Format hermit-builtins
  • Sort hermit-builtins exports
  • (x86_64/apic) Rename typ to ty for types
  • (hermit-macro) Reorder Cargo.toml

โš™๏ธ Miscellaneous Tasks

  • Run format job for hermit-builtins
  • Test virtio-net on UEFI
  • Activate httpd target for riscv64
  • Upgrade toolchain channel to nightly-2025-03-15
  • (hermit-macro) Add authors, repository to Cargo.toml

- Rust
Published by mkroening about 1 year ago

hermit-kernel - 0.10.0

๐Ÿš€ Features

  • (x86_64) Print FDT
  • (newlib) Add support for riscv64
  • (virtio-spec) Add vsock definitions
  • (newlib) Add support for aarch64
  • (xtask) Sanitize rustc for finding binutils
  • (xtask) Sanitize rustup calls
  • (xtask) Sanitize cargo for normal builds
  • (xtask) Support relative paths
  • (xtask) Add --artifact-dir option for builds
  • (xtask) Allow starting the hypervisor using sudo
  • (newlib) Remove sbrk
  • Add strace feature
  • Log jumping into application
  • (env) Parse FDT bootargs on all platforms
  • (env) Parse env=KEY=VALUE for env vars
  • (uhyve) Don't override get_application_parameters
  • UEFI MVP
  • Add stable exit code message in non-Uhyve VMs
  • (xtask) Set vcpu_count for Firecracker
  • (xtask) Create xtask ci rs subcommand
  • (xtask) Add xtask ci c subcommand
  • (log) Make HERMIT_LOG_LEVEL_FILTER case-insensitive
  • (panic) Resolve deadlock when panicking while printing
  • Upgrade to Rust 2024
  • (uhyve) Use absolute paths
  • Weakly provide the sys_errno_location function for all errno access
  • Add version note

๐Ÿ› Bug Fixes

  • (pci) Remove FnOnce workaround
  • (virtio) Remove unused PciError::BadCapPtr
  • (virtio/pci) Remove PciCfgAlt
  • (pci) Make BAR pages no-execute
  • (virtio) Make config generation checking transport independent
  • (net/virtio/pci) Remove commented out code
  • (virtio-spec) Rustdoc::brokenintradoc_links
  • (net/virtio) Remove unused and wrong net command enums
  • (virtio-spec) Make net::Config fields read-only
  • (x86_64/physicalmem) Rename detect_from_limits to detect_from_uhyve
  • (virtqueue/packed) Simplify DrvNotif::enable_specific
  • (virtqueue/split) Set next_idx for driver notifications
  • (virtqueue/packed) Fix EventSuppr bitfield operations
  • (virtqueue/packed) Check range on RING_EVENT_FLAGS_DESC
  • (virtqueue/packed) Use correct next_idx
  • (virtqueue/packed) Set flags according to wrap count
  • (virtqueue/split) Fix off-by-one error
  • (pci) Remove unused enum DeviceHeader
  • (pci) Remove unused mod constants
  • (pci) Remove unused PciDevice methods
  • (virtqueue/split) Remove dead code
  • (virtqueue/packed) Zero-initialize descriptors
  • (virtqueue/packed) Don't change flags when not making available
  • (virtqueue/packed) Check for descriptor exhaustion
  • (virtq/split) Return id with the correct index for the chain head
  • (virtio-spec) Export vsock feature bits
  • (virtq) Move fuseentryout to payload
  • (net/virtio) Push the correct number of packets to the queue
  • (xtask) Keep CARGO_HOME and RUSTUP_HOME
  • (xtask) Set current dir for sanitized binaries
  • (xtask) Move builtins target dir into main one
  • (syscalls) Unused_imports
  • (entropy) Unused_imports
  • (recmutex) Clippy::newwithoutdefault
  • (recmutex) Clippy::notunsafeptrargderef
  • (tasks) Clippy::notunsafeptrargderef
  • (riscv64/virtualmem) Dead_code
  • (xtask) Enable clippy for feature = "newlib"
  • Boot application processors after initializing scheduler
  • (fd) Clippy::toolongfirstdocparagraph
  • (x86_64) Downgrade log level of page unmap
  • (x8664/physmem) Don't panic on empty FDT memory map
  • Remove explicit link section attributes
  • (aarch64) Remove unused get_boot_info_address
  • (entry) Only set boot info globals on first CPU core
  • (riscv64) Validate entry signature
  • (entry) Allow boot info null pointer
  • (smp) Don't populate boot info pointer
  • (x86_64/smp) Remove boot_info parameter
  • (arch) Remove RAW_BOOT_INFO
  • (arch) Make BOOT_INFO a OnceCell
  • Make Virtq require Send
  • (pci) Put PCI devices into a cell
  • (pci) Put PCI drivers into a cell
  • (x86_64) Put MMIO drivers into a cell
  • (x86_64/vga) Put VGA screen into mutex
  • (aarch64) Put serial port into mutex
  • (aarch64) Put GIC into mutex
  • (net) Make GEM driver Send
  • (riscv64) Put MMIO drivers into a cell
  • (riscv64) Put available HARTs into a cell
  • (shell) Unreachable_code
  • (shell) Unused_variables
  • (xtask) Enable shell feature
  • clippy::needless_lifetimes
  • (aarch64/core_local) clippy::pointers_in_nomem_asm_block
  • (shell) Move shell into async task
  • (arch) Migrate to naked_asm in naked functions
  • (riscv64) Remove manual align implementations
  • (cfg) dead_code
  • (x86_64/mem) Allow deallocating before kernel
  • (x86_64/paging) Extract map_pages
  • (x86_64/paging) print_page_tables
  • (x86_64/paging) Rework disect
  • (x86_64/paging) Add print_page_table_entries
  • (virtqueue) Clippy::extraunusedlifetimes
  • (xtask) Build docs for each arch separately
  • (x86_64) Make kernel_heap_end a valid virtual address
  • (x86_64) Log interrupt even without handler
  • (x86_64) Check for null pointer in core_scheduler
  • (main) Enable interrupts after initializing scheduler
  • (apic) Disable PIT interrupt
  • (x86_64) Use unaligned write for TLS pointer
  • (apic) Fix width of MP config table entry type
  • (xtask) Remove --verbose from Uhyve call
  • (virtqueue) clippy::unnecessary_map_or
  • (pci) clippy::question_mark
  • (syscalls) Use c_char instead of u8
  • (socket) Remove upstream-resolved allow
  • (virtio-net) Use the correct number of buffers for merging
  • (syscalls) Use ptr::byte_add
  • (syscalls) Remove useless pointer casts
  • Enable clippy::string_to_string
  • Enable clippy::ref_as_ptr
  • Enable clippy::ptr_as_ptr
  • Enable clippy::ptr_cast_constness
  • Enable clippy::borrow_as_ptr
  • Enable clippy::cast_lossless
  • Enable clippy::if_not_else
  • Enable clippy::ignored_unit_patterns
  • Enable clippy::manual_let_else
  • Enable clippy::semicolon_if_nothing_returned
  • Enable clippy::ref_option
  • Enable clippy::explicit_deref_methods
  • Enable clippy::default_trait_access
  • Enable clippy::manual_assert
  • Enable clippy::inconsistent_struct_constructor
  • Enable clippy::match_wildcard_for_single_variants
  • Enable clippy::unreadable_literal
  • Enable clippy::separated_literal_suffix
  • Enable clippy::decimal_literal_representation
  • (dns) clippy::len_zero
  • (dns) clippy::useless_conversion
  • (xtask) Run clippy on feature = "dns"
  • (xtask) Don't test feature = "shell" on unsupported arches
  • (virtqueue) Make BufferElem::{len,capacity} return u32
  • (uhyve) Fix improper unlink string handling
  • (common-os) clippy::unreadable-literal
  • (common-os) clippy::fn_to_numeric_cast
  • (common-os) clippy::unnecessary_cast
  • (common-os) clippy::result_unit_err
  • (common-os) Expect dead_code
  • (aarch64) Fix compilation with feature = "common-os"
  • (riscv64) Fix compilation with feature = "common-os"
  • (xtask) Run clippy on feature = "common-os"
  • (x86_64) Use correct MSR for read{fs,gs}
  • Allow building with all features
  • (interrupts) unused_imports
  • (scheduler) dead_code
  • (rtl8139) clippy::if-not-else
  • clippy::semicolon-if-nothing-returned
  • (udp) clippy::ignored-unit-patterns
  • (xtask) Clippy all features
  • clippy::literal_string_with_formatting_args
  • clippy::precedence
  • (tests) static_mut_refs
  • (tests) stable_features
  • (tests) Remove unused value_fence
  • (tests) Don't reexport in common
  • (tests) Move parse to avoid dead_code
  • (tests) unsafe-op-in-unsafe-fn
  • (tests) Allow dead_code on test_case_runner
  • (tests) Literals
  • (tests/basic_mem) Clippy
  • (tests) clippy::uninit_vec
  • (tests/thread) Pointer casting
  • (tests) clippy::result_unit_err
  • (tests) Remove explicit QEMU debug exit
  • (xtask) Run clippy on all targets
  • (tests) Clean up comments
  • Use #[unsafe(no_mangle)]
  • Mark extern blocks as unsafe
  • (macros) tail_expr_drop_order
  • (xtask) Use canonical cargo_home location
  • (xtask) Assume exe exists in cargo_home
  • (xtask) Add support testing for C-based HTTP servers
  • (xtask) Don't assume exe exists in cargo_home
  • (paging) Support huge pages in debug function

๐Ÿ’ผ Other

  • Turn cmd from a tuple into a struct
  • Separate response headers and payload
  • Don't assume uninitialized objects to be initalized
  • Don't expose uninit rsp to the fuse module
  • Use DeviceAlloc for virtq allocations
  • TransferTokens should always have a BufferToken
  • Move common logic for making descriptor available into a function
  • Remove unnecessary memory barriers
  • Move common lines in conditional outside
  • Move ctrl_desc to TransferToken
  • Merge Buffer variants
  • Start MemDescrId from 0
  • Delay MemDescrId assignment until push
  • Handle id exhaustion
  • Don't expose TransferTokens to the drivers
  • Use the actual type for ctrl_descs instead of MemDescr
  • Don't modify flags for skipped descriptors
  • Improve error handling
  • Correctly parse irq-flags from dts
  • (fs) Correct uhyve mount message
  • (deps) Upgrade zerocopy to 0.8, fuse-abi to 0.2, and virtio-spec to 0.2
  • Store only the most preferred capability of a type
  • (qemu) Simplify memory calculation
  • Close connection if data isn't available
  • (deps) Update Cargo.lock
  • (virtio-fs) Remove unnecessary to_string()
  • (vscode) Don't check all architectures
  • Don't panic on initial unmap if page is not mapped
  • (deps) Update Cargo.lock
  • (deps) Remove x86
  • Use the serial buffer hypercall instead of the byte-wise one
  • (deps) Update hermit-entry to 0.10.2
  • (deps) Don't specify minor version of bitflags crate
  • (deps) Update Cargo.lock

๐Ÿšœ Refactor

  • (virtio/pci) Remove offset, length fields
  • (virtio/pci) Inline Origin into PciCap
  • (virtio/pci) Rename PciCap::cap_struct to PciCap::cap
  • (virtio/pci) Remove cfg_type, id from PciCap
  • (virtio/pci) Migrate extra cap data reading to virtio-spec
  • (pci) Implement set_irq using EndpointHeader::update_interrupt
  • (virtio) Move notif_data into virtio-spec
  • (virtio) Remove memory newtypes
  • (virtio) Use generic PCI memorymapbar impl
  • (net/virtio) Move transport modules into virtio module
  • (net/virtio) Migrate Status to virtio-spec
  • (net/virtio) Migrate NetDevCfgRaw to virtio-spec
  • Rename virtio-spec dependency to virtio
  • (virtio-spec) Move fs module into separate file
  • (fs/virtio) Migrate FsDevCfgRaw to virtio-spec
  • (x86_64) Move Fdt creation into get_fdt
  • (x86_64) Extract TOTAL_MEMORY access
  • (x86_64) Extract PHYSICAL_FREE_LIST lock
  • (virtqueue) Extract NotificationData creation
  • (virtqueue/packed) Add RingIdx
  • (virtqueue/packed) Migrate from zerocopy::little_endian to virtio-spec
  • (virtqueue) Migrate to DescrFlags to virtio-spec
  • (virtqueue) Migrate Descriptor to virtio-spec
  • (virtqueue/split) Migrate UsedElem to virtio-spec
  • (virtqueue/packed) Migrate EventSuppr to virtio-spec
  • (virtqueue) Migrate Descriptor to virtio-spec
  • (virtqueue/split) Make accesses non-volatile
  • (virtqueue/split) Rename GenericRing::index to idx
  • (virtqueue/split) Migrate to virtq::Avail and virtq::Used
  • (virtqueue/packed) Move avail and used flag handling to the ring
  • Move fd::IoError to io::Error
  • Add and use io::Result type
  • (fuse) Migrate to fuse-abi crate
  • (virtio) Adapt DeviceConfigSpace::read_config_with
  • (virtio-spec) Import endian-num types from crate root
  • (virtio-spec) Move NotificationData into separate module
  • (virtio-spec) Feature-gate transport modules
  • (virtq) Use safe types for virtq buffers
  • (virtq) Represent avail and used buffers as distinct types
  • (virtq) Eliminate RefCell and Rc usage
  • Migrate to virtio-spec release
  • (virtio-net) Remove unused is_multi field
  • (virtq) Reduce code duplication
  • (xtask) Move sanitized cargo to crate root
  • (xtask) Extract sanitize function
  • (xtask) Extract fn project_root
  • (uhyve) Unify uhyve_send
  • (virtq) Remove intermediate virtqueue channels
  • (arch) Move boot info into env
  • (riscv64) Avoid redundant HARTS_AVAILABLE access
  • Remove arch-specific get_fdt
  • (mm) Memory check
  • (x86_64/physicalmem) Inline find_all_nodes
  • (x86_64/physicalmem) Simplify TOTAL_MEMORY handling
  • (x86_64/acpi) Use methods for reading pointers
  • (apic) Merge ioapic_inton and ioapic_intoff
  • (apic) Simplify I/O APIC config
  • (xtask) Make --smp hypervisor independent
  • (xtask) Determine small in Rs
  • (xtask) Extract arch in Rs
  • (xtask) impl Display for Arch
  • (pci) Remove explicit type
  • Move lint config into Cargo.toml
  • (console) Extract Console::write
  • (stdio) Use Console::write
  • (console) Extract Console::read
  • (console) Centralize state
  • (xtask) Extract clippy base
  • (stdio) Migrate to uhyve-interface
  • (acpi) Migrate from x86 crate to x86_64 crate
  • (apic) Migrate MSR access to x86_64 crate
  • (apic) Migrate CR3 access to x86_64 crate
  • (apic) Vendor MSR constants
  • (gdt) Migrate CR3 access to x86_64 crate
  • (kernel) Migrate CR0 and CR4 access to x86_64 crate
  • (pci) Migrate to x86_64 crate
  • (pic) Migrate to x86_64 crate
  • (pit) Migrate to x86_64 crate
  • (processor) Migrate CR0, CR4, and XCR0 access to x86_64 crate
  • (processor) Migrate FS and GS access to x86_64 crate
  • (processor) Migrate halt() to x86_64 crate
  • (processor) Migrate EFER setup to x86_64 crate
  • (processor) Migrate CPUID access to raw_cpuid crate
  • (processor) Decrease unsafe scope
  • (processor) Migrate MSR access to x86_64 crate
  • (processor) Use specialized functions for STAR, LSTAR, and SFMASK access
  • (processor) Use safe function for STAR access
  • (systemtime) Migrate port access to x86_64 crate
  • (vga) Migrate port access to x86_64 crate
  • (mm) Migrate CR3 access to x86_64 crate
  • (rtl8139) Migrate port access to x86_64 crate
  • (uhyve) Migrate port access to x86_64 crate

๐Ÿ“š Documentation

  • (virtio-spec) Add missing doc aliases
  • (virtio-spec) pvirtq module docs typo

โšก Performance

  • (arch) Relax TOTAL_MEMORY accesses
  • Make network buffers a power of two

๐ŸŽจ Styling

  • (virtio-spec) Format code in doc comments
  • (x86_64/paging) Stray comma
  • (gem) Rename RecieveStatus to ReceiveStatus
  • Fix typos
  • Add typos.toml
  • (xtask) Add semicolons
  • Format hex literals as lowercase
  • Dont use core as ::core outside of macros
  • Use Rust 2024 style edition
  • (ci) Format

๐Ÿงช Testing

  • Add get_application_parameters test

โš™๏ธ Miscellaneous Tasks

  • (Cargo.toml) Sort features
  • Migrate to maintained rustsec/audit-check
  • Add typos job
  • Remove caching

- Rust
Published by mkroening over 1 year ago

hermit-kernel - 0.8.0

Highlights

  • feat(xtask): add support for building with cargo-careful by @mkroening in https://github.com/hermit-os/kernel/pull/1142
  • feat: allow mounting a virtiofsd share to / by @stlankes in https://github.com/hermit-os/kernel/pull/774
  • feat: add virtio-def crate for virtio definitions by @mkroening in https://github.com/hermit-os/kernel/pull/1149
  • feat(riscv64): fix compilation with default features and with gem-net by @mkroening in https://github.com/hermit-os/kernel/pull/1162
  • feat(mm): add DeviceAlloc for communicating with devices by @mkroening in https://github.com/hermit-os/kernel/pull/1160
  • feat: stabilize kernel interface by @stlankes in https://github.com/hermit-os/kernel/pull/1167
  • feat(sys): add sys_available_parallelism by @mkroening in https://github.com/hermit-os/kernel/pull/1184
  • feat(xtask): add xtask doc by @mkroening in https://github.com/hermit-os/kernel/pull/1200
  • feat: rename virtio-def crate to virtio-spec by @mkroening in https://github.com/hermit-os/kernel/pull/1201
  • feat(virtio-spec): many features for endian numbers, make feature flags little-endian by @mkroening in https://github.com/hermit-os/kernel/pull/1205
  • feat(syscall): add sys_shutdown in favor of sys_shutdown_socket by @mkroening in https://github.com/hermit-os/kernel/pull/1220
  • feat(virtio-net): enable VIRTIO_NET_F_MQ and test VIRTIO_F_RING_PACKED by @mkroening in https://github.com/hermit-os/kernel/pull/1223
  • feat(virtio-spec): migrate to endian-num crate by @mkroening in https://github.com/hermit-os/kernel/pull/1225
  • feat(newlib): using kernel networking, instead of lwip by @CarlWachter in https://github.com/hermit-os/kernel/pull/1237
  • feat(newlib): remove lwIP support by @mkroening in https://github.com/hermit-os/kernel/pull/1165

What's Changed

  • ci: upgrade OpenSBI to version 1.4 by @mkroening in https://github.com/hermit-os/kernel/pull/1139
  • riscv64: replace deprecated legacy extensions to SBI 2.0 extensions by @luojia65 in https://github.com/hermit-os/kernel/pull/1088
  • fix(riscv64): remove dbg! invocation by @mkroening in https://github.com/hermit-os/kernel/pull/1143
  • fix(virtio/pci): use volatile accesses for device features by @mkroening in https://github.com/hermit-os/kernel/pull/1146
  • refactor(macro): replace syn::parse2(quote! with parse_quote! by @mkroening in https://github.com/hermit-os/kernel/pull/1147
  • ci: enable fs feature for rusty_demo by @mkroening in https://github.com/hermit-os/kernel/pull/1126
  • chore: upgrade to nightly-2024-04-15 by @stlankes in https://github.com/hermit-os/kernel/pull/1148
  • virtq: specify endianness by @cagatay-y in https://github.com/hermit-os/kernel/pull/1141
  • fix(virtio/pci): put common config into volatile reference by @mkroening in https://github.com/hermit-os/kernel/pull/1145
  • fix(aarch64): add size of _private to TaskTLS allocation by @mkroening in https://github.com/hermit-os/kernel/pull/1155
  • perf: forward default allocator methods and remove memory overprovisioning by @SFBdragon in https://github.com/hermit-os/kernel/pull/1045
  • virtio_net: use smoltcp methods instead of hardcoding field offsets by @cagatay-y in https://github.com/hermit-os/kernel/pull/1161
  • fix(gem-net): clippy warnings by @mkroening in https://github.com/hermit-os/kernel/pull/1163
  • fix(x86_64): virtio-net-device (MMIO) by @mkroening in https://github.com/hermit-os/kernel/pull/1164
  • fix(x86_64/newlib): remove unused import by @mkroening in https://github.com/hermit-os/kernel/pull/1169
  • new: Add colored log levels by @camnwalter in https://github.com/hermit-os/kernel/pull/1171
  • virtq: use a struct with the actual layout rather than a struct of references by @cagatay-y in https://github.com/hermit-os/kernel/pull/1150
  • fix(microvm): explicitly disable ACPI by @mkroening in https://github.com/hermit-os/kernel/pull/1180
  • fix(x86_64): make CoreLocal #[repr(Rust)] again by @mkroening in https://github.com/hermit-os/kernel/pull/1172
  • fix(abi): various typedefs by @mkroening in https://github.com/hermit-os/kernel/pull/1179
  • remove typo with in debug message by @stlankes in https://github.com/hermit-os/kernel/pull/1183
  • refactor(mm): replace freelist module with free-list crate by @mkroening in https://github.com/hermit-os/kernel/pull/1182
  • fix(x86_64): shutdown using triple fault on all platforms by @mkroening in https://github.com/hermit-os/kernel/pull/1181
  • fix(virtio/pci): compare capabilities length with proper struct size by @mkroening in https://github.com/hermit-os/kernel/pull/1185
  • fix(POSIX/time): make subsecond fields signed and use timespec in stat by @mkroening in https://github.com/hermit-os/kernel/pull/1196
  • Virtq refactor by @cagatay-y in https://github.com/hermit-os/kernel/pull/1174
  • style: sort dependencies in Cargo.toml by @mkroening in https://github.com/hermit-os/kernel/pull/1198
  • fix(xtask): run clippy on virtio-mmio configurations by @mkroening in https://github.com/hermit-os/kernel/pull/1199
  • refactor(virtio): move feature definitions to virtio-def by @mkroening in https://github.com/hermit-os/kernel/pull/1197
  • refactor(virtio-net): migrate header to virtio-spec by @mkroening in https://github.com/hermit-os/kernel/pull/1202
  • refactor(virtio): migrate to virtio-spec::FeatureBits::requirements_satisfied by @mkroening in https://github.com/hermit-os/kernel/pull/1203
  • Fix device notification by @stlankes in https://github.com/hermit-os/kernel/pull/1206
  • fix conversion from IpAddress::Ipv4 to in_addr by @stlankes in https://github.com/hermit-os/kernel/pull/1207
  • add file attributes for mounted directories by @stlankes in https://github.com/hermit-os/kernel/pull/1209
  • build: update toolchain nightly-2024-05-15 by @mkroening in https://github.com/hermit-os/kernel/pull/1208
  • add option to open a directory by @stlankes in https://github.com/hermit-os/kernel/pull/1210
  • Added no_mangle to all extern C functions by @CarlWachter in https://github.com/hermit-os/kernel/pull/1216
  • fix(virtio-pci): next_ptr + cfg_ptr offsets by @jounathaen in https://github.com/hermit-os/kernel/pull/1218
  • fix(syscalls): use EAI_* constants from FreeBSD by @mkroening in https://github.com/hermit-os/kernel/pull/1222
  • fix(syscall): always return zero on sys_getpid by @mkroening in https://github.com/hermit-os/kernel/pull/1221
  • add system calls readv and writev by @stlankes in https://github.com/hermit-os/kernel/pull/1219
  • add basic DNS support by @stlankes in https://github.com/hermit-os/kernel/pull/1211
  • fuse: provide header and payloads separately by @cagatay-y in https://github.com/hermit-os/kernel/pull/1204
  • add option to define the DNS servers at compile time by @stlankes in https://github.com/hermit-os/kernel/pull/1224
  • introduce public interface to shutdown the system by @stlankes in https://github.com/hermit-os/kernel/pull/1227
  • add interface to create a directory by @stlankes in https://github.com/hermit-os/kernel/pull/1228
  • move all filesystem functions to crate::fs by @stlankes in https://github.com/hermit-os/kernel/pull/1229
  • remove unneeded unwraps by @stlankes in https://github.com/hermit-os/kernel/pull/1230
  • ci: workaround bad mio branch by @mkroening in https://github.com/hermit-os/kernel/pull/1236
  • refactor(virtio/mmio): migrate MmioRegisterLayout to virtio-spec by @mkroening in https://github.com/hermit-os/kernel/pull/1231
  • refactor(virtio/mmio): migrate IsrStatusRaw to virtio-spec by @mkroening in https://github.com/hermit-os/kernel/pull/1239
  • fix(virtio): notification location calculation by @mkroening in https://github.com/hermit-os/kernel/pull/1238
  • fix(virtqueue): next_off must not be shifted for notification data by @mkroening in https://github.com/hermit-os/kernel/pull/1240
  • refactor(virtio/pci): migrate IsrStatusRaw to virtio-spec by @mkroening in https://github.com/hermit-os/kernel/pull/1244
  • refactor(virtio): migrate DevId to virtio-spec by @mkroening in https://github.com/hermit-os/kernel/pull/1245
  • refactor(virtio/pci): migrate CfgType to virtio-spec by @mkroening in https://github.com/hermit-os/kernel/pull/1246
  • refactor(virtqueue): make several types smaller by @mkroening in https://github.com/hermit-os/kernel/pull/1241
  • reduce the number of log messages by @stlankes in https://github.com/hermit-os/kernel/pull/1252
  • fix(fuse): potential panic on unknown mode bits by @mkroening in https://github.com/hermit-os/kernel/pull/1251
  • add warning if HERMIT_IP is set and dhcpv4 feature is enabled by @stlankes in https://github.com/hermit-os/kernel/pull/1254
  • refactor(pci): use more of the pci_types crate by @mkroening in https://github.com/hermit-os/kernel/pull/1250
  • fix(virtio/pci): remove ComCfgRaw by @mkroening in https://github.com/hermit-os/kernel/pull/1255
  • build(deps): update volatile to version 0.6 by @mkroening in https://github.com/hermit-os/kernel/pull/1258
  • chore: upgrade toolchain channel to nightly-2024-06-01 by @mkroening in https://github.com/hermit-os/kernel/pull/1259
  • add option to use a busy waiting within the idle loop by @stlankes in https://github.com/hermit-os/kernel/pull/1243
  • refactor(virtio/transport): move notification location calculation into NotifCfg by @mkroening in https://github.com/hermit-os/kernel/pull/1262
  • fix(x86_64/pci): incorporate function in ConfigRegionAccess by @mkroening in https://github.com/hermit-os/kernel/pull/1256
  • refactor(virtio/pci): migrate PCI capabilities to virtio-spec by @mkroening in https://github.com/hermit-os/kernel/pull/1257
  • chore: release version 0.8.0 by @mkroening in https://github.com/hermit-os/kernel/pull/1263

New Contributors

  • @luojia65 made their first contribution in https://github.com/hermit-os/kernel/pull/1088
  • @SFBdragon made their first contribution in https://github.com/hermit-os/kernel/pull/1045
  • @camnwalter made their first contribution in https://github.com/hermit-os/kernel/pull/1171
  • @CarlWachter made their first contribution in https://github.com/hermit-os/kernel/pull/1216

Full Changelog: https://github.com/hermit-os/kernel/compare/v0.7.0...v0.8.0

- Rust
Published by mkroening almost 2 years ago

hermit-kernel - 0.7.0

Highlights

  • Detect memory from fdt by @duanyu-yu in https://github.com/hermit-os/kernel/pull/1074
  • fuse: reduce copying and handle errors by @cagatay-y in https://github.com/hermit-os/kernel/pull/1084
  • build(deps): bump hermit-entry from 0.9.10 to 0.10.0 by @mkroening in https://github.com/hermit-os/kernel/pull/1132

What's Changed

  • Use a trait for the common Virtq interface by @cagatay-y in https://github.com/hermit-os/kernel/pull/1053
  • improve compatibility to the BSD socket layer by @stlankes in https://github.com/hermit-os/kernel/pull/1085
  • remove obsolete code by @stlankes in https://github.com/hermit-os/kernel/pull/1086
  • ignore unsupported kernel flags by @stlankes in https://github.com/hermit-os/kernel/pull/1094
  • add option to start a simple shell as async task by @stlankes in https://github.com/hermit-os/kernel/pull/1096
  • introduce feature flag nostd to boot the kernel without std by @stlankes in https://github.com/hermit-os/kernel/pull/1098
  • feat: implement system calls with attribute proc macro by @mkroening in https://github.com/hermit-os/kernel/pull/1105
  • fix(fuse): fix fat pointer metadata by @mkroening in https://github.com/hermit-os/kernel/pull/1112
  • fuse: fix incorrect len field in command headers by @cagatay-y in https://github.com/hermit-os/kernel/pull/1113
  • feat(shutdown): always try qemu debug exit for error codes by @mkroening in https://github.com/hermit-os/kernel/pull/1119
  • feat: align Uhyve mount path to virtiofsd by @mkroening in https://github.com/hermit-os/kernel/pull/1120
  • fix(riscv64): make time stubbing warning less noisy by @mkroening in https://github.com/hermit-os/kernel/pull/1131
  • refactor: make platform matches non-exhaustive by @mkroening in https://github.com/hermit-os/kernel/pull/1133

New Contributors

  • @duanyu-yu made their first contribution in https://github.com/hermit-os/kernel/pull/1074

Full Changelog: https://github.com/hermit-os/kernel/compare/v0.6.9...v0.7.0

- Rust
Published by mkroening about 2 years ago

hermit-kernel - 0.6.9

What's Changed

  • refactor(eventfd): use ready! to extract Poll::Ready by @mkroening in https://github.com/hermit-os/kernel/pull/1067
  • fix(executor): replace Pin::new_unchecked with pin! by @mkroening in https://github.com/hermit-os/kernel/pull/1072
  • prepare kernel to use it as monolithic kernel by @stlankes in https://github.com/hermit-os/kernel/pull/1069
  • refactor(scheduler): use ready! for extracting Poll::Ready by @mkroening in https://github.com/hermit-os/kernel/pull/1077
  • improve compatibility to BSD sockets by @stlankes in https://github.com/hermit-os/kernel/pull/1081
  • add error number in thread local storage by @stlankes in https://github.com/hermit-os/kernel/pull/1082

Full Changelog: https://github.com/hermit-os/kernel/compare/v0.6.8...v0.6.9

- Rust
Published by mkroening over 2 years ago

hermit-kernel - 0.6.8

Hightlights

  • add basic support of a virtual filesystem by @stlankes in https://github.com/hermit-os/kernel/pull/1013
  • add support of a unix-like poll function by @stlankes in https://github.com/hermit-os/kernel/pull/1046
  • add basic support a linux-like syscall evendfd by @stlankes in https://github.com/hermit-os/kernel/pull/1052
  • Refactor FUSE by @cagatay-y in https://github.com/hermit-os/kernel/pull/1047
  • fix(x86_64): support GNU variant of TLS by @mkroening in https://github.com/hermit-os/kernel/pull/1062

What's Changed

  • add feature syscall to run kernel as standalone application by @stlankes in https://github.com/hermit-os/kernel/pull/1011
  • if the feature syscall is enabled, don't switch the stack by @stlankes in https://github.com/hermit-os/kernel/pull/1012
  • rename the feature "syscall" to "common-os" by @stlankes in https://github.com/hermit-os/kernel/pull/1026
  • doc: fix broken internal links by @cagatay-y in https://github.com/hermit-os/kernel/pull/1023
  • using crate semihosting on aarch64 by @stlankes in https://github.com/hermit-os/kernel/pull/1040
  • fix: overflow in time calculation on AArch64 by @mkroening in https://github.com/hermit-os/kernel/pull/1041
  • chore: add .vscode/settings.json by @mkroening in https://github.com/hermit-os/kernel/pull/993
  • forward error code to the host by @stlankes in https://github.com/hermit-os/kernel/pull/1048
  • unlink is only able to delete a file by @stlankes in https://github.com/hermit-os/kernel/pull/1049
  • Remove Pinned by @cagatay-y in https://github.com/hermit-os/kernel/pull/983
  • add CI tests for the MIO support by @stlankes in https://github.com/hermit-os/kernel/pull/1061
  • perf(fs/mem): minimize locking duration of pos by @mkroening in https://github.com/hermit-os/kernel/pull/1066
  • fix(eventfd): add explicit guard drop to avoid deadlock by @mkroening in https://github.com/hermit-os/kernel/pull/1065
  • refactor(PollEvent): simplify flag propagation by @mkroening in https://github.com/hermit-os/kernel/pull/1064

Full Changelog: https://github.com/hermit-os/kernel/compare/v0.6.7...v0.6.8

- Rust
Published by mkroening over 2 years ago

hermit-kernel - 0.6.7

Highlights

  • feat: make ready for instrumentation by @mkroening in https://github.com/hermit-os/kernel/pull/991
  • feat: make hermit-builtins a workspace root by @mkroening in https://github.com/hermit-os/kernel/pull/1004
  • feat: add sys_image_start_address by @mkroening in https://github.com/hermit-os/kernel/pull/999
  • add recvfrom and sendto support by @stlankes in https://github.com/hermit-os/kernel/pull/1007

What's Changed

  • ci: test everything with SMP by @mkroening in https://github.com/hermit-os/kernel/pull/994
  • chore: update Rust to nightly-2023-12-01 by @mkroening in https://github.com/hermit-os/kernel/pull/996
  • build(deps): bump zerocopy from 0.7.27 to 0.7.28 by @dependabot in https://github.com/hermit-os/kernel/pull/997
  • build(deps): bump clap from 4.4.10 to 4.4.11 by @dependabot in https://github.com/hermit-os/kernel/pull/998
  • ci: use latest Firecracker after 1.5.1 release by @mkroening in https://github.com/hermit-os/kernel/pull/1000
  • fix(AP Boot): remove nops by @mkroening in https://github.com/hermit-os/kernel/pull/1001
  • build(deps): bump pci_types from 0.5.0 to 0.6.1 by @dependabot in https://github.com/hermit-os/kernel/pull/1003
  • build(deps): bump zerocopy from 0.7.28 to 0.7.30 by @dependabot in https://github.com/hermit-os/kernel/pull/1002
  • build: upgrade to nightly-2023-12-15 by @mkroening in https://github.com/hermit-os/kernel/pull/1006
  • build(deps): bump zerocopy from 0.7.30 to 0.7.31 by @dependabot in https://github.com/hermit-os/kernel/pull/1005
  • build(deps): bump crossbeam-utils from 0.8.16 to 0.8.17 by @dependabot in https://github.com/hermit-os/kernel/pull/1008
  • chore: release version 0.6.7 by @mkroening in https://github.com/hermit-os/kernel/pull/1009

Full Changelog: https://github.com/hermit-os/kernel/compare/v0.6.6...v0.6.7

- Rust
Published by mkroening over 2 years ago

hermit-kernel - 0.6.6

Highlights

  • feat: add 64-bit RISC-V support by @mkroening in https://github.com/hermit-os/kernel/pull/800

What's Changed

  • chore: upgrade to nightly-2023-10-01 by @mkroening in https://github.com/hermit-os/kernel/pull/939
  • chore: remove explicit dependency on tock-registers by @mkroening in https://github.com/hermit-os/kernel/pull/938
  • chore: remove clippy allow for false positive by @mkroening in https://github.com/hermit-os/kernel/pull/944
  • ci: only cache the main branch by @cagatay-y in https://github.com/hermit-os/kernel/pull/947
  • fix(net): deallocate network buffers by @mkroening in https://github.com/hermit-os/kernel/pull/943
  • ci: use a matrix for test configurations by @cagatay-y in https://github.com/hermit-os/kernel/pull/940
  • ci: improve caches by @mkroening in https://github.com/hermit-os/kernel/pull/954
  • refactor: use cfg-if for arch module by @mkroening in https://github.com/hermit-os/kernel/pull/948
  • ci: pin firecracker to 1.4.1 by @mkroening in https://github.com/hermit-os/kernel/pull/965
  • chore: upgrade to nightly-2023-10-15 by @mkroening in https://github.com/hermit-os/kernel/pull/956
  • Minimize casts to pointers by @cagatay-y in https://github.com/hermit-os/kernel/pull/964
  • chore: upgrade to nightly-2023-11-01 by @mkroening in https://github.com/hermit-os/kernel/pull/970
  • chore: rename rusty-loader to hermit-loader by @mkroening in https://github.com/hermit-os/kernel/pull/971
  • collect configuration of mmio devices by @stlankes in https://github.com/hermit-os/kernel/pull/968
  • chore: upgrade to nightly-2023-11-15 by @mkroening in https://github.com/hermit-os/kernel/pull/977
  • fix(rust-toolchain.toml): remove x86_64-unknown-none by @mkroening in https://github.com/hermit-os/kernel/pull/978
  • fix(xtask): misc by @mkroening in https://github.com/hermit-os/kernel/pull/980
  • chore: release version 0.6.6 by @mkroening in https://github.com/hermit-os/kernel/pull/990

New Contributors

  • @cagatay-y made their first contribution in https://github.com/hermit-os/kernel/pull/947

Full Changelog: https://github.com/hermit-os/kernel/compare/v0.6.5...v0.6.6

- Rust
Published by mkroening over 2 years ago

hermit-kernel - 0.6.5

Highlights

  • NASM is no longer required for SMP on x86-64 (https://github.com/hermit-os/kernel/pull/926)

What's Changed

  • build(deps): bump hermit-entry from 0.9.4 to 0.9.6 by @dependabot in https://github.com/hermit-os/kernel/pull/841
  • build(deps): bump zerocopy from 0.6.1 to 0.6.3 by @dependabot in https://github.com/hermit-os/kernel/pull/844
  • build(deps): bump bitflags from 2.3.3 to 2.4.0 by @dependabot in https://github.com/hermit-os/kernel/pull/842
  • improve the readability by @stlankes in https://github.com/hermit-os/kernel/pull/845
  • avoid unneeded programming of the timer interrupt by @stlankes in https://github.com/hermit-os/kernel/pull/847
  • add support of VIRTIONETFMRGRXBUF by @stlankes in https://github.com/hermit-os/kernel/pull/848
  • build(deps): bump log from 0.4.19 to 0.4.20 by @dependabot in https://github.com/hermit-os/kernel/pull/843
  • build(deps): bump time from 0.3.25 to 0.3.26 by @dependabot in https://github.com/hermit-os/kernel/pull/851
  • build(deps): bump anyhow from 1.0.72 to 1.0.75 by @dependabot in https://github.com/hermit-os/kernel/pull/853
  • build(deps): bump hermit-entry from 0.9.6 to 0.9.7 by @dependabot in https://github.com/hermit-os/kernel/pull/850
  • build(deps): bump dyn-clone from 1.0.12 to 1.0.13 by @dependabot in https://github.com/hermit-os/kernel/pull/852
  • build: upgrade Rust to nightly-2023-08-15 by @mkroening in https://github.com/hermit-os/kernel/pull/854
  • build(deps): bump talc from 2.2.0 to 2.2.2 by @dependabot in https://github.com/hermit-os/kernel/pull/840
  • fix: support lib tests on Apple Silicon by @mkroening in https://github.com/hermit-os/kernel/pull/856
  • refactor(Cargo.toml): sort tests, features, dependencies by @mkroening in https://github.com/hermit-os/kernel/pull/858
  • feat: rename crate to hermit-kernel by @mkroening in https://github.com/hermit-os/kernel/pull/860
  • chore: adapt to hermit-rs' kernel renaming by @mkroening in https://github.com/hermit-os/kernel/pull/863
  • chore(Cargo.toml): remove CMakeLists.txt from exclude by @mkroening in https://github.com/hermit-os/kernel/pull/862
  • chore: rename RustyHermit to Hermit by @mkroening in https://github.com/hermit-os/kernel/pull/864
  • build(deps): bump hermit-entry from 0.9.7 to 0.9.9 by @dependabot in https://github.com/hermit-os/kernel/pull/865
  • build(deps): bump time from 0.3.26 to 0.3.27 by @dependabot in https://github.com/hermit-os/kernel/pull/866
  • chore: remove GitLab CI config by @mkroening in https://github.com/hermit-os/kernel/pull/861
  • build(deps): upgrade zerocopy from 0.6.3 to 0.7.0 by @mkroening in https://github.com/hermit-os/kernel/pull/869
  • build(deps): bump time from 0.3.27 to 0.3.28 by @dependabot in https://github.com/hermit-os/kernel/pull/870
  • feat: initialize heap after paging by @mkroening in https://github.com/hermit-os/kernel/pull/857
  • chore(Cargo.toml): omit patch version from dependencies by @mkroening in https://github.com/hermit-os/kernel/pull/871
  • fix(comments): fix repo links in TODOs by @mkroening in https://github.com/hermit-os/kernel/pull/872
  • Updated Logo by @jounathaen in https://github.com/hermit-os/kernel/pull/873
  • refactor: remove gettls* functions by @mkroening in https://github.com/hermit-os/kernel/pull/874
  • ci: set network tests on aarch64 to continue-on-error by @mkroening in https://github.com/hermit-os/kernel/pull/876
  • refactor(env): replace getcmdline, getcmdsize with args by @mkroening in https://github.com/hermit-os/kernel/pull/875
  • create dummy folder to share files between host and guest by @stlankes in https://github.com/hermit-os/kernel/pull/883
  • return error also in the closing state by @stlankes in https://github.com/hermit-os/kernel/pull/881
  • add basic UDP support by @stlankes in https://github.com/hermit-os/kernel/pull/882
  • build(toolchain): update to nightly-2023-09-01 by @mkroening in https://github.com/hermit-os/kernel/pull/885
  • build(deps): bump actions/checkout from 3 to 4 by @dependabot in https://github.com/hermit-os/kernel/pull/886
  • build(deps): bump take-static from 0.1.0 to 0.1.2 by @dependabot in https://github.com/hermit-os/kernel/pull/888
  • build(deps): bump zerocopy from 0.7.0 to 0.7.3 by @dependabot in https://github.com/hermit-os/kernel/pull/889
  • build(deps): upgrade talc to version 3 by @mkroening in https://github.com/hermit-os/kernel/pull/890
  • add CI test for the UDP support by @stlankes in https://github.com/hermit-os/kernel/pull/891
  • ci: change UDP port to 9975 by @mkroening in https://github.com/hermit-os/kernel/pull/892
  • ci: run on main branch too to create caches by @mkroening in https://github.com/hermit-os/kernel/pull/893
  • ci: cache the kernel workspace too by @mkroening in https://github.com/hermit-os/kernel/pull/894
  • fix(aarch64): properly disable interrupts on mutexes by @mkroening in https://github.com/hermit-os/kernel/pull/896
  • add KVM tests with uhyve, qemu and firecracker by @stlankes in https://github.com/hermit-os/kernel/pull/895
  • fix: proper firecracker shutdown by @mkroening in https://github.com/hermit-os/kernel/pull/901
  • ci: reorder kvm job by @mkroening in https://github.com/hermit-os/kernel/pull/902
  • ci: install kernel toolchain too by @mkroening in https://github.com/hermit-os/kernel/pull/907
  • feat(xtask): add ci subcommand by @mkroening in https://github.com/hermit-os/kernel/pull/879
  • fix(scheduler): move cursor creation to first use by @mkroening in https://github.com/hermit-os/kernel/pull/908
  • style(xtask): use Self instead of Arch in impl by @mkroening in https://github.com/hermit-os/kernel/pull/909
  • build(deps): bump crazy-max/ghaction-github-pages from 3 to 4 by @dependabot in https://github.com/hermit-os/kernel/pull/910
  • build(deps): bump sysinfo from 0.29.9 to 0.29.10 by @dependabot in https://github.com/hermit-os/kernel/pull/911
  • refactor(scheduler): simplify addnetworktimer by @mkroening in https://github.com/hermit-os/kernel/pull/915
  • publish main branch (master isn't longer supported) by @stlankes in https://github.com/hermit-os/kernel/pull/916
  • ci: add -y --no-install-recommends for self-hosted by @mkroening in https://github.com/hermit-os/kernel/pull/919
  • chore: upgrade hermit-sync to 0.1.5 by @mkroening in https://github.com/hermit-os/kernel/pull/918
  • chore: upgrade to nightly-2023-09-15 by @mkroening in https://github.com/hermit-os/kernel/pull/920
  • build(deps): bump zerocopy from 0.7.3 to 0.7.5 by @dependabot in https://github.com/hermit-os/kernel/pull/921
  • build(deps): bump x86_64 from 0.14.10 to 0.14.11 by @dependabot in https://github.com/hermit-os/kernel/pull/922
  • build(deps): bump clap from 4.4.2 to 4.4.4 by @dependabot in https://github.com/hermit-os/kernel/pull/923
  • Make core_scheduler sound by @mkroening in https://github.com/hermit-os/kernel/pull/912
  • Extend the FUSE support by @stlankes in https://github.com/hermit-os/kernel/pull/917
  • Replace HermitCore with Hermit by @mkroening in https://github.com/hermit-os/kernel/pull/927
  • feat: remove NASM dependency by @mkroening in https://github.com/hermit-os/kernel/pull/926
  • fix(paging): add debug functionality for identity mapped pagetables by @sarahspberrypi in https://github.com/hermit-os/kernel/pull/928
  • build(deps): bump dyn-clone from 1.0.13 to 1.0.14 by @dependabot in https://github.com/hermit-os/kernel/pull/929
  • build(deps): bump time from 0.3.28 to 0.3.29 by @dependabot in https://github.com/hermit-os/kernel/pull/931
  • build(deps): bump smallvec from 1.11.0 to 1.11.1 by @dependabot in https://github.com/hermit-os/kernel/pull/930
  • build(deps): bump talc from 3.0.1 to 3.1.0 by @dependabot in https://github.com/hermit-os/kernel/pull/932
  • chore: release version 0.6.5 by @mkroening in https://github.com/hermit-os/kernel/pull/933

New Contributors

  • @sarahspberrypi made their first contribution in https://github.com/hermit-os/kernel/pull/928

Full Changelog: https://github.com/hermit-os/kernel/compare/v0.6.4...v0.6.5

- Rust
Published by mkroening over 2 years ago

hermit-kernel -

What's Changed

  • fix bug in the initialization of the virtio network driver

Full Changelog: https://github.com/hermitcore/libhermit-rs/compare/v0.6.3...v0.6.4

- Rust
Published by stlankes almost 3 years ago

hermit-kernel -

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: https://github.com/hermitcore/libhermit-rs/compare/v0.6.2...v0.6.3

- Rust
Published by stlankes almost 3 years ago

hermit-kernel - 0.6.2

What's Changed

  • disable kaniko cache by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/711
  • Make CoreLocal repr(C) by @nathanwhyte in https://github.com/hermitcore/libhermit-rs/pull/705
  • Implements PriorityTaskQueue with std's LinkedList rather than a custom linked list implementation by @michaelRichards99 in https://github.com/hermitcore/libhermit-rs/pull/706
  • Change alignment of virtiofs structs to be based on the first field. by @joannejchen in https://github.com/hermitcore/libhermit-rs/pull/709
  • Replace use of internal syscalls by @nathanwhyte in https://github.com/hermitcore/libhermit-rs/pull/715
  • virtio-net: Replace AsSliceU8 trait with zerocopy::AsBytes. by @joannejchen in https://github.com/hermitcore/libhermit-rs/pull/716
  • build(deps): bump dsaltares/fetch-gh-release-asset from 1.1.0 to 1.1.1 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/720
  • build(deps): bump bitflags from 2.1.0 to 2.2.1 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/721
  • Add basic docs for timer and semaphore syscalls by @nathanwhyte in https://github.com/hermitcore/libhermit-rs/pull/719
  • remove deprecated functions and use hermit-dtb from crates.io by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/723
  • add check if the idle task has to give up the processor by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/724
  • don't initialize IO-APIC for uhyve by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/725
  • remove obsolete function detect_from_uhyve by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/726
  • move hardware independent function is_uhyve to env by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/728
  • remove typo by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/729
  • remove trailing null characters by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/730
  • don't leak memory if the environment is empty by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/731
  • revise aarch64 support by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/732
  • add RTC support and determine boot time by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/733
  • revise assertion by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/734
  • build(deps): bump anyhow from 1.0.70 to 1.0.71 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/735
  • revise TLS handling by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/736
  • using arm-gic to programm the ARM Generic Interrupt Controller by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/741
  • Delete bors.toml by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/742
  • build(deps): bump time from 0.3.20 to 0.3.21 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/744
  • revise PCI support by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/745
  • build(deps): bump libm from 0.2.6 to 0.2.7 in /hermit-builtins by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/746
  • test also the virtio network interface by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/747
  • build(deps): bump bitflags from 2.2.1 to 2.3.1 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/749
  • build(deps): bump log from 0.4.17 to 0.4.18 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/750
  • add option to program the the PCI bars by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/748
  • remove old socket interface by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/681
  • remove compiler warnings for the target aarch64 by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/751
  • remove some clippy warnings by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/752
  • use within an interrupt handler scheduler::abort instead of syscall exit by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/753
  • remove unneeded code by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/754
  • use kernel stack to allocate memory by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/755
  • build(deps): bump hashbrown from 0.13.2 to 0.14.0 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/757
  • build(deps): bump crossbeam-utils from 0.8.15 to 0.8.16 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/758
  • build(deps): bump lock_api from 0.4.9 to 0.4.10 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/760
  • build(deps): bump goblin from 0.6.1 to 0.7.1 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/759
  • build(deps): bump log from 0.4.18 to 0.4.19 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/761
  • Update Cargo.lock by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/762
  • take always the oldest task from the queue by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/764
  • Update Rust to nightly-2023-06-14 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/763
  • CI (ARM): Pin CPU by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/767
  • build(deps): bump hermit-entry from 0.9.3 to 0.9.4 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/768
  • AArch64: use a software-generated interrupt (SGI)to reschedule the system by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/765
  • Release version 0.6.2 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/766

New Contributors

  • @nathanwhyte made their first contribution in https://github.com/hermitcore/libhermit-rs/pull/705
  • @michaelRichards99 made their first contribution in https://github.com/hermitcore/libhermit-rs/pull/706
  • @joannejchen made their first contribution in https://github.com/hermitcore/libhermit-rs/pull/709

Full Changelog: https://github.com/hermitcore/libhermit-rs/compare/v0.6.1...v0.6.2

- Rust
Published by mkroening almost 3 years ago

hermit-kernel - 0.6.1

  • add basic Firecracker support

- Rust
Published by stlankes about 3 years ago

hermit-kernel - 0.6.0

What's Changed

  • Bump goblin from 0.5.3 to 0.5.4 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/533
  • Bump anyhow from 1.0.61 to 1.0.62 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/535
  • Bump once_cell from 1.13.0 to 1.13.1 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/536
  • Bump time from 0.3.13 to 0.3.14 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/537
  • Add futex syscalls by @joboet in https://github.com/hermitcore/libhermit-rs/pull/534
  • Upgrade to nightly-2022-09-01 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/538
  • Bump once_cell from 1.13.1 to 1.14.0 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/540
  • Bump anyhow from 1.0.62 to 1.0.64 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/541
  • Fix deadlock on spurious wakeup in futex_wait by @joboet in https://github.com/hermitcore/libhermit-rs/pull/539
  • xtask refactors by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/543
  • CI: Enable kaniko cache again by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/531
  • Add hermit-builtins for mem exports by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/480
  • Bump anyhow from 1.0.64 to 1.0.65 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/547
  • Bump once_cell from 1.14.0 to 1.15.0 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/548
  • Bump crossbeam-utils from 0.8.11 to 0.8.12 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/549
  • Remove compiler-builtins-mem by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/550
  • Bump time from 0.3.14 to 0.3.15 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/552
  • xtask: Upgrade to xflags 0.3 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/553
  • Percore: Remove specialization by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/544
  • Upgrade to nightly-2022-10-19 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/554
  • Release 0.6.0 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/556

New Contributors

  • @joboet made their first contribution in https://github.com/hermitcore/libhermit-rs/pull/534

Full Changelog: https://github.com/hermitcore/libhermit-rs/compare/v0.5.0...v0.6.0

- Rust
Published by mkroening over 3 years ago

hermit-kernel - 0.5.0

What's Changed

  • SpinlockGuard should get the value of the new ticket by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/523
  • Upgrade to hermit-entry 0.7.0 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/524
  • Bump anyhow from 1.0.58 to 1.0.59 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/525
  • Bump time from 0.3.11 to 0.3.12 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/526
  • Upgrade hermit-entry to 0.8.0 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/527
  • Bump anyhow from 1.0.59 to 1.0.60 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/528
  • Upgrade to hermit-entry version 2 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/507
  • Release version 0.5.0 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/529
  • Bump hermit-entry to 0.9.1 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/532

Full Changelog: https://github.com/hermitcore/libhermit-rs/compare/v0.4.4...v0.5.0

- Rust
Published by mkroening almost 4 years ago

hermit-kernel - 0.4.4

What's Changed

  • move smoltcp support into libhermit-rs @stlankes in https://github.com/hermitcore/libhermit-rs/pull/520
  • Remove multikernel stubs @mkroening in https://github.com/hermitcore/libhermit-rs/pull/511

Full Changelog: https://github.com/hermitcore/libhermit-rs/compare/v0.4.3...v0.4.4

- Rust
Published by stlankes almost 4 years ago

hermit-kernel - 0.4.3

What's Changed

  • Upgrade to nightly-2022-06-29 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/479
  • xtask: Extract Archive abstraction by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/478
  • Enable lwIP support by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/469
  • Bump x86 from 0.49.0 to 0.50.0 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/481
  • Bump once_cell from 1.12.0 to 1.12.1 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/482
  • fix several typos by @striezel in https://github.com/hermitcore/libhermit-rs/pull/483
  • update dependencies / lockfile by @striezel in https://github.com/hermitcore/libhermit-rs/pull/484
  • Add entry version by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/486
  • Release version 0.4.3 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/487

Full Changelog: https://github.com/hermitcore/libhermit-rs/compare/v0.4.2...v0.4.3

- Rust
Published by mkroening almost 4 years ago

hermit-kernel - v0.4.2

Changes: - #477 : Improvement of the ring buffer management - #476 : Bump time from 0.3.10 to 0.3.11 - #475 : Bump crossbeam-utils from 0.8.9 to 0.8.10

- Rust
Published by stlankes almost 4 years ago

hermit-kernel - v0.4.1

What's Changed

  • add system calls to change the priority of a task by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/376
  • Explicitly set OSABI by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/453

- Rust
Published by stlankes almost 4 years ago

hermit-kernel - v0.4.0

New build system

$ cargo xtask build --arch x86_64

generates target/x86_64/debug/libhermit.a.

What's Changed

  • Rework Dockerfile by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/315
  • determine Local APIC and IO-APIC by the MultiProcessor Specification by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/314
  • Clarify sys_clone behavior by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/318
  • CI: Compile uhyve on stable toolchain by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/319
  • Fix typos by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/322
  • add option that COMMANDLINECPU_FREQUENCY is invalid by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/335
  • Cargo.toml: Improve mkroening author by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/325
  • synchronize aarch64 port to x86 port by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/324
  • Fix typo. by @teymour-aldridge in https://github.com/hermitcore/libhermit-rs/pull/336
  • Make _print public again by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/341
  • Allow for specifying static network configuration at launch by @JTS22 in https://github.com/hermitcore/libhermit-rs/pull/337
  • Cleanup entry.asm remains by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/343
  • SMP Boot Code: Include via includenasmbin! by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/334
  • Replace pci_ids.rs with pci-ids crate by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/342
  • Fixup: Correctly merge CMake patches by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/349
  • CI: Install NASM in docs workflow by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/350
  • Upgrade toolchain channel to 2022-01-05 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/330
  • Update x86 requirement from 0.43 to 0.45 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/347
  • Upgrade toolchain channel to 2022-01-30 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/351
  • add paging support for aarch64 by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/344
  • Dockerfile: Sync Rust version by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/352
  • Update x86 requirement from 0.45 to 0.46 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/354
  • Replace ffi::cstr with cstrcore crate by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/358
  • RTL: RAII buffers by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/356
  • Env: Replace util with shell-words crate by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/357
  • FS: Make FileError variants to units by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/361
  • PCI: Fix clippy::enumvariantnames by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/362
  • Tests: Fix unused_attributes by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/359
  • PCI: Fix clippy::upper-case-acronyms by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/363
  • Reduce crate exports by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/360
  • Remove unused features by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/366
  • use latest nightly compiler with new hermit target by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/365
  • CI: Build aarch64-unknown-none-hermitkernel target by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/368
  • Cargo.toml: Set targets for docs.rs by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/369
  • Remove AUTHORS file by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/371
  • Fix doc warnings by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/370
  • Remove .vscode/settings.json by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/375
  • Bump actions/checkout from 2 to 3 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/379
  • Update x86 requirement from 0.46 to 0.47 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/380
  • Macros: Add dbg by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/383
  • Implement early shutdown by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/384
  • Enable unsafe_op_in_unsafe_fn by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/382
  • Don't export environment module by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/389
  • Don't export USERSTACKSIZE by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/388
  • Errno: Format comments as docs by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/387
  • Export errno module by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/390
  • ACPI: Check strings for UTF-8 validity by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/386
  • Clean up .gitignore by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/398
  • Rework environment module by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/385
  • Use time crate to display boot time by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/393
  • Use custom targets for kernel by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/395
  • Rustify C-Style docs by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/392
  • Fix clippy lints by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/399
  • Add xtask crate for kernel building by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/378
  • Revert "[REVERT] CI: Pin RustyHermit for xtask" by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/400
  • Fixup: CI: Specify target for publish_docs by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/401
  • Add Cargo.lock by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/402
  • xtask: Export lwIP functions by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/405
  • xtask: Don't export mem-builtins by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/406
  • xtask: Run clippy with no and all features by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/404
  • Remove target_os = "hermit" checks by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/410
  • Align x8664 target to x8664-unknown-none by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/411
  • Update toolchain to 2022-03-27 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/408
  • Remove cargo-download by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/409
  • Remove CMake configuration by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/396
  • Dependabot: Check for updates weekly by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/403
  • Don't modify the loader's Makefile by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/416
  • runtimeglue: Remove _rg_oom by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/407
  • Align aarch64 target to aarch64-unknown-none-softfloat by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/415
  • Make pci-ids optional by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/419
  • Upgrade toolchain to 2022-03-30 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/420
  • chore: Set permissions for GitHub actions by @naveensrinivasan in https://github.com/hermitcore/libhermit-rs/pull/426
  • [Revert] Disable Windows CI for now by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/427
  • Targets: Use none-elf instead of hermit llvm-target by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/414
  • Condvar: Mark sys functions as extern "C" by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/422
  • Clippy: Enable and fix notunsafeptrargderef by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/425
  • Remove drivers::net::uhyve by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/428
  • Upgrade rust toolchain to nightly-2022-04-24 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/429
  • Clippy: Enable and fix transmuteptrto_ptr by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/424
  • Migrate to x86_64-unknown-none by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/430
  • Remove unused sysuhyve* functions by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/421
  • Bump multiboot to 0.8 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/432
  • Bump anyhow from 1.0.56 to 1.0.57 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/433
  • Random: Make syssecure* functions extern "C" by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/423
  • Let sys_rand write to uninitialized memory by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/434
  • Replace cstrcore crate with corec_str feature by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/435
  • Revert "[Revert] Disable Windows CI for now" by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/431
  • Bump log from 0.4.16 to 0.4.17 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/440
  • Bump num-traits from 0.2.14 to 0.2.15 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/441
  • Complete migration to x86_64-unknown-none by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/444
  • Revert "print debug messages during test run" by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/446
  • Remove dead code by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/367
  • Dockerfile: Fix whitespaces by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/449
  • Adapt to xtask based loader build system by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/450
  • Don't export _rgoom by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/413
  • Bump version to 0.4.0 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/451

New Contributors

  • @teymour-aldridge made their first contribution in https://github.com/hermitcore/libhermit-rs/pull/336
  • @JTS22 made their first contribution in https://github.com/hermitcore/libhermit-rs/pull/337
  • @naveensrinivasan made their first contribution in https://github.com/hermitcore/libhermit-rs/pull/426

Full Changelog: https://github.com/hermitcore/libhermit-rs/compare/v0.3.54...v0.4.0

- Rust
Published by mkroening about 4 years ago

hermit-kernel - New network driver based on the Virtio Over MMIO Interface

  • QEMU: Enable xsaveopt cpu feature by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/278
  • Implement sysfreetx_buffer by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/281
  • fmt: Replace hex prefix with alternate flag by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/282
  • Bump x86 from 0.41.0 to 0.42.1 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/284
  • Bump x86 from 0.42.1 to 0.43.0 by @dependabot in https://github.com/hermitcore/libhermit-rs/pull/285
  • add method to use default APIC addresses by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/286
  • add CI tests for Qemu's microvm by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/287
  • Remove Cargo.lock by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/276
  • Remove uses of alloc::prelude by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/289
  • Remove license headers by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/290
  • Rework C string abstractions by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/288
  • Upgrade to newer nightly channel by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/293
  • README: Fix Slack link by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/295
  • Upgrade to recent nightly channel by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/292
  • Upgrade to Rust 2021 by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/294
  • Revert "Upgrade to recent nightly channel" by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/297
  • add network driver based on the Virtio Over MMIO by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/296
  • Cargo.toml: Streamline profile configuration by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/300
  • using write_volatile to guarantee that the data is written to the I/O device by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/303
  • Tests: Add testthreadlocal by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/304
  • Tests: Make testthreadlocal useful for release builds by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/308
  • Tests: Add overaligned struct to testthreadlocal by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/310
  • Fix thread pointer calculation, rework TaskTLS by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/311
  • Upgrade to recent nightly channel by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/306
  • CI: Install cargo-binutils by @mkroening in https://github.com/hermitcore/libhermit-rs/pull/312
  • fix limit of the TSS descriptor by @stlankes in https://github.com/hermitcore/libhermit-rs/pull/313

Full Changelog: https://github.com/hermitcore/libhermit-rs/compare/v0.3.53...v0.3.54

- Rust
Published by stlankes over 4 years ago

hermit-kernel - add support of nightly-2021-08-31

- Rust
Published by stlankes over 4 years ago

hermit-kernel - redesign of the network interface

  • using async tasks to check the network device

- Rust
Published by stlankes almost 5 years ago

hermit-kernel - rename kernel target

  • fixed bug in the CI

- Rust
Published by stlankes almost 5 years ago

hermit-kernel - revise code to increase the readability

  • update several crates

- Rust
Published by stlankes about 5 years ago

hermit-kernel - Use stabilized `hint::spin_loop` instead of deprecated `atomic::spin_loop_hint`

  • using the latest version of the crate x86

- Rust
Published by stlankes over 5 years ago

hermit-kernel - switch to the latest version of the nightly compiler

- Rust
Published by stlankes over 5 years ago

hermit-kernel - add network driver for the Realteck device 8139

  • Fix broken rdrand implementation (#154)
  • revise VGA interface (#153)
  • add network driver for the Realteck device 8139 (#150)
  • add option to disable SMP support (#142)
  • using a exponential backoff to realize a spinlock (#131)

- Rust
Published by stlankes over 5 years ago

hermit-kernel - add option to disable FSGSBASE support

  • add option to disable FSGSBASE support, which is required on older x86 processors
  • using a exponential backoff to realize a spinlock
  • disable interrupts during the initialization of PCI devices => avoids a deadlock during the initialization of PCI devices

- Rust
Published by stlankes over 5 years ago

hermit-kernel - performance improvements

  • revision of the memory subsystem initialization to avoid false sharing
  • using a exponential backoff to realize a spinlock
  • improving the performace of basic functions (e.g. memcpy)

- Rust
Published by stlankes over 5 years ago

hermit-kernel - required changes to support the latest nightly compiler

  • required changes to support the latest nightly compiler
  • using compiler builtins to realize basic operation (e.g. mercoy)

- Rust
Published by stlankes over 5 years ago

hermit-kernel - add function to determine the current priority of a task

- Rust
Published by stlankes over 5 years ago

hermit-kernel - add system calls to block and unblock a task

  • avoiding a subtract with overflow

- Rust
Published by stlankes over 5 years ago

hermit-kernel - add syscalls to create cryptographicly secure random numbers

  • add syscalls to create cryptographicly secure random numbers #96
  • add integration tests
  • avoid deadlock when multiple cores are available #106

- Rust
Published by stlankes over 5 years ago

hermit-kernel - add dependency to `Send` for the implementation of spinlock

  • add requirement to use only types T for spinlocks, where the behavior Send is specified
  • remove obsolete implementation of a irqsave refcell
  • replace DoubleLinkedList by LinkedList of the alloc library
  • using of the core collection library to handle memory and tasks
  • the vector of PCI adapters aren't longer protected by a lock because these adapter are initialized at boot time. Afterwards, we have only read-access.
  • Freelist: add check if a reunion with the previous slot is possible

- Rust
Published by stlankes over 5 years ago

hermit-kernel - remove dependency to rust feature "naked functions"

avoid bug in the nightly compiler by removing the dependency to the feature "naked functions"

- Rust
Published by stlankes over 5 years ago

hermit-kernel - improving the performance

  • remove conflicts with the latest version of libstd

- Rust
Published by stlankes almost 6 years ago

hermit-kernel - improve performace, revise network interface

  • reduce the FPU interrupts
  • revise network interface to impove the performance
  • safer allocation/deallocation of the stack
  • activate LTO support

- Rust
Published by stlankes almost 6 years ago

hermit-kernel - remove deadlock, define log level at compile time

  • extend pipeline to test the kernel (#40)
  • remove deadlock in the implementation of conditional variables
  • add option to set LevelFilter at compile time (#53)

- Rust
Published by stlankes about 6 years ago

hermit-kernel -

  • add function to initialize CondQueue
  • improve hypervisor detection, solve issue in nested virtualization environments

- Rust
Published by stlankes about 6 years ago

hermit-kernel - fix issue by determine the cpu frequency

  • use for all system call the prefix sys_
  • fix typos in the readme

- Rust
Published by stlankes about 6 years ago

hermit-kernel - separate stack for kernel / user space

  • introduce page guards to protect the stacks
  • remove compiler warnings
  • ensure CpuFrequency is never explicitly set to zero (PR #29)

- Rust
Published by stlankes about 6 years ago

hermit-kernel - add check if a task with higher priority is available

  • wakeup handler checks if a task with higher priority is available
  • if yes the handler calls the scheduler

- Rust
Published by stlankes about 6 years ago

hermit-kernel - completly revision of the scheduler

  • lockless scheduling on a local core
  • only the communication between cores is realized with protected cores
  • cores use inter-processor-interrupts to trigger a queue check
  • introduce a type to handle the CoreId => increase the readability of the code

- Rust
Published by stlankes about 6 years ago

hermit-kernel - remove deadlock during wakeup of an processor in halt state

  • some code cleanups

- Rust
Published by stlankes about 6 years ago

hermit-kernel - add support of the latest memory allocator interface

  • use AllocInit to check if a memory block has to be initialized

- Rust
Published by stlankes about 6 years ago

hermit-kernel - simplify PIC initialization

  • remove compiler warnings

- Rust
Published by stlankes about 6 years ago

hermit-kernel - revision of IO-APCI handling, removing deadlocks

  • remove deadlock if more the one cpu is activated
  • revise IO-APIC handling for uhyve
  • support of the latest version of the nightly compiler

- Rust
Published by stlankes about 6 years ago

hermit-kernel - add support of the latest nightly compiler

  • add options to disable pci and acpi support
  • remove bug in stack handling

- Rust
Published by stlankes over 6 years ago

hermit-kernel - use rust-lld as linker

  • remove dependency from the old tool chain "x86_64-unknown-"
  • switch to LLVM linker

- Rust
Published by stlankes over 6 years ago