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_tsigned 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_INETnon-zero - (time) Add
SystemTime::UNIX_EPOCHandSystemTime::duration_since - Make empty
mmpublic - (mm) Export
virtual_to_physical
๐ Bug Fixes
- Move
O_NONBLOCKdefinition intoOpenOptions - (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
errnoon 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_endshould only be the first page - (x86_64/mm) Identity-map physical memory
- (fd) Extract
StatusFlagsinto 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_CREATif 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-macroversion - (deps) Update
Cargo.lock
๐ Refactor
- (x86_64/paging) Use higher-ranked trait bounds
- (x86_64/mm) Merge
kernel_heap_endfunctions - (x86_64/mm) Make
kernel_heap_endnon-const - (x86_64/mm) Explicitly work with page table indices for
kernel_heap_end - (fd) Replace
ObjectInterface::ioctlwithset_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,repositorytoCargo.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-diroption 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=VALUEfor 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 rssubcommand - (xtask) Add
xtask ci csubcommand - (log) Make
HERMIT_LOG_LEVEL_FILTERcase-insensitive - (panic) Resolve deadlock when panicking while printing
- Upgrade to Rust 2024
- (uhyve) Use absolute paths
- Weakly provide the
sys_errno_locationfunction for all errno access - Add version note
๐ Bug Fixes
- (pci) Remove
FnOnceworkaround - (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::Configfields read-only - (x86_64/physicalmem) Rename
detect_from_limitstodetect_from_uhyve - (virtqueue/packed) Simplify
DrvNotif::enable_specific - (virtqueue/split) Set
next_idxfor driver notifications - (virtqueue/packed) Fix
EventSupprbitfield 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
PciDevicemethods - (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_HOMEandRUSTUP_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_infoparameter - (arch) Remove
RAW_BOOT_INFO - (arch) Make
BOOT_INFOaOnceCell - Make
VirtqrequireSend - (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
shellfeature clippy::needless_lifetimes- (aarch64/core_local)
clippy::pointers_in_nomem_asm_block - (shell) Move shell into async task
- (arch) Migrate to
naked_asmin 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_enda 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
--verbosefrom Uhyve call - (virtqueue)
clippy::unnecessary_map_or - (pci)
clippy::question_mark - (syscalls) Use
c_charinstead ofu8 - (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}returnu32 - (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_argsclippy::precedence- (tests)
static_mut_refs - (tests)
stable_features - (tests) Remove unused
value_fence - (tests) Don't reexport in
common - (tests) Move
parseto avoiddead_code - (tests)
unsafe-op-in-unsafe-fn - (tests) Allow
dead_codeontest_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
externblocks asunsafe - (macros)
tail_expr_drop_order - (xtask) Use canonical
cargo_homelocation - (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
MemDescrIdfrom 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,lengthfields - (virtio/pci) Inline
OriginintoPciCap - (virtio/pci) Rename
PciCap::cap_structtoPciCap::cap - (virtio/pci) Remove
cfg_type,idfromPciCap - (virtio/pci) Migrate extra cap data reading to virtio-spec
- (pci) Implement
set_irqusingEndpointHeader::update_interrupt - (virtio) Move
notif_datainto virtio-spec - (virtio) Remove memory newtypes
- (virtio) Use generic PCI memorymapbar impl
- (net/virtio) Move transport modules into virtio module
- (net/virtio) Migrate
Statusto virtio-spec - (net/virtio) Migrate
NetDevCfgRawto virtio-spec - Rename
virtio-specdependency tovirtio - (virtio-spec) Move
fsmodule into separate file - (fs/virtio) Migrate
FsDevCfgRawto virtio-spec - (x86_64) Move
Fdtcreation intoget_fdt - (x86_64) Extract
TOTAL_MEMORYaccess - (x86_64) Extract
PHYSICAL_FREE_LISTlock - (virtqueue) Extract
NotificationDatacreation - (virtqueue/packed) Add
RingIdx - (virtqueue/packed) Migrate from
zerocopy::little_endiantovirtio-spec - (virtqueue) Migrate to
DescrFlagsto virtio-spec - (virtqueue) Migrate
Descriptorto virtio-spec - (virtqueue/split) Migrate
UsedElemto virtio-spec - (virtqueue/packed) Migrate
EventSupprto virtio-spec - (virtqueue) Migrate
Descriptorto virtio-spec - (virtqueue/split) Make accesses non-volatile
- (virtqueue/split) Rename
GenericRing::indexto idx - (virtqueue/split) Migrate to
virtq::Availandvirtq::Used - (virtqueue/packed) Move avail and used flag handling to the ring
- Move
fd::IoErrortoio::Error - Add and use
io::Resulttype - (fuse) Migrate to
fuse-abicrate - (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
sanitizefunction - (xtask) Extract
fn project_root - (uhyve) Unify
uhyve_send - (virtq) Remove intermediate virtqueue channels
- (arch) Move boot info into env
- (riscv64) Avoid redundant
HARTS_AVAILABLEaccess - Remove arch-specific
get_fdt - (mm) Memory check
- (x86_64/physicalmem) Inline
find_all_nodes - (x86_64/physicalmem) Simplify
TOTAL_MEMORYhandling - (x86_64/acpi) Use methods for reading pointers
- (apic) Merge
ioapic_intonandioapic_intoff - (apic) Simplify I/O APIC config
- (xtask) Make
--smphypervisor independent - (xtask) Determine
smallinRs - (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
x86crate tox86_64crate - (apic) Migrate MSR access to
x86_64crate - (apic) Migrate CR3 access to
x86_64crate - (apic) Vendor MSR constants
- (gdt) Migrate CR3 access to
x86_64crate - (kernel) Migrate CR0 and CR4 access to
x86_64crate - (pci) Migrate to
x86_64crate - (pic) Migrate to
x86_64crate - (pit) Migrate to
x86_64crate - (processor) Migrate CR0, CR4, and XCR0 access to
x86_64crate - (processor) Migrate FS and GS access to
x86_64crate - (processor) Migrate
halt()tox86_64crate - (processor) Migrate EFER setup to
x86_64crate - (processor) Migrate CPUID access to
raw_cpuidcrate - (processor) Decrease
unsafescope - (processor) Migrate MSR access to
x86_64crate - (processor) Use specialized functions for STAR, LSTAR, and SFMASK access
- (processor) Use safe function for STAR access
- (systemtime) Migrate port access to
x86_64crate - (vga) Migrate port access to
x86_64crate - (mm) Migrate CR3 access to
x86_64crate - (rtl8139) Migrate port access to
x86_64crate - (uhyve) Migrate port access to
x86_64crate
๐ Documentation
- (virtio-spec) Add missing doc aliases
- (virtio-spec)
pvirtqmodule docs typo
โก Performance
- (arch) Relax
TOTAL_MEMORYaccesses - Make network buffers a power of two
๐จ Styling
- (virtio-spec) Format code in doc comments
- (x86_64/paging) Stray comma
- (gem) Rename
RecieveStatustoReceiveStatus - Fix typos
- Add
typos.toml - (xtask) Add semicolons
- Format hex literals as lowercase
- Dont use
coreas::coreoutside of macros - Use Rust 2024 style edition
- (ci) Format
๐งช Testing
- Add
get_application_parameterstest
โ๏ธ 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-defcrate for virtio definitions by @mkroening in https://github.com/hermit-os/kernel/pull/1149 - feat(riscv64): fix compilation with default features and with
gem-netby @mkroening in https://github.com/hermit-os/kernel/pull/1162 - feat(mm): add
DeviceAllocfor 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_parallelismby @mkroening in https://github.com/hermit-os/kernel/pull/1184 - feat(xtask): add
xtask docby @mkroening in https://github.com/hermit-os/kernel/pull/1200 - feat: rename
virtio-defcrate tovirtio-specby @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_shutdownin favor ofsys_shutdown_socketby @mkroening in https://github.com/hermit-os/kernel/pull/1220 - feat(virtio-net): enable
VIRTIO_NET_F_MQand testVIRTIO_F_RING_PACKEDby @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!withparse_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
_privatetoTaskTLSallocation 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
freelistmodule withfree-listcrate 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
timespecinstatby @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.tomlby @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-defby @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_satisfiedby @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-15by @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_ptroffsets 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_getpidby @mkroening in https://github.com/hermit-os/kernel/pull/1221 - add system calls
readvandwritevby @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
MmioRegisterLayouttovirtio-specby @mkroening in https://github.com/hermit-os/kernel/pull/1231 - refactor(virtio/mmio): migrate
IsrStatusRawtovirtio-specby @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_offmust not be shifted for notification data by @mkroening in https://github.com/hermit-os/kernel/pull/1240 - refactor(virtio/pci): migrate
IsrStatusRawtovirtio-specby @mkroening in https://github.com/hermit-os/kernel/pull/1244 - refactor(virtio): migrate
DevIdtovirtio-specby @mkroening in https://github.com/hermit-os/kernel/pull/1245 - refactor(virtio/pci): migrate
CfgTypetovirtio-specby @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_typescrate by @mkroening in https://github.com/hermit-os/kernel/pull/1250 - fix(virtio/pci): remove
ComCfgRawby @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-01by @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
NotifCfgby @mkroening in https://github.com/hermit-os/kernel/pull/1262 - fix(x86_64/pci): incorporate function in
ConfigRegionAccessby @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
- Hermit now requires at least the Hermit loader
v0.5.0or 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 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
nostdto boot the kernel withoutstdby @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 extractPoll::Readyby @mkroening in https://github.com/hermit-os/kernel/pull/1067 - fix(executor): replace
Pin::new_uncheckedwithpin!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 extractingPoll::Readyby @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
evendfdby @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
syscallto run kernel as standalone application by @stlankes in https://github.com/hermit-os/kernel/pull/1011 - if the feature
syscallis 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.jsonby @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_addressby @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-01by @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-noneby @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-recommendsfor 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_schedulersound 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_uhyveby @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.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_waitby @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_fnby @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 - 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