Visitar URL original
merge loader to crates/loader by stlankes · Pull Request #2733 · hermit-os/kernel · GitHub
Skip to content

merge loader to crates/loader - #2733

Open
stlankes wants to merge 1491 commits into
hermit-os:mainfrom
stlankes:merge-loader
Open

stlankes wants to merge 1491 commits into
hermit-os:mainfrom
stlankes:merge-loader

Conversation

@stlankes

@stlankes stlankes commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

To simplify the development, the loader should be part of the kernel repository.

Objective: One repository for everything

mkroening and others added 30 commits January 29, 2026 08:59
refactor(x86_64): put platform-specific files into separate directories
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.55 to 4.5.56.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](clap-rs/clap@clap_complete-v4.5.55...clap_complete-v4.5.56)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.56
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…-4.5.56

build(deps): bump clap from 4.5.55 to 4.5.56
feat: print target architecture, target OS, and rustc version on boot
feat(xtask): add support for U-Boot
refactor: move linker script args to build.rs
Otherwise, link-time garbage collection may throw away this section.
fix(x86_64): adjust GDT values and extract to Rust
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.56 to 4.5.57.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](clap-rs/clap@clap_complete-v4.5.56...clap_complete-v4.5.57)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.57
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…-4.5.57

build(deps): bump clap from 4.5.56 to 4.5.57
refactor(x86_64): extract boot stack to Rust
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.100 to 1.0.101.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](dtolnay/anyhow@1.0.100...1.0.101)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-version: 1.0.101
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…ow-1.0.101

build(deps): bump anyhow from 1.0.100 to 1.0.101
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.57 to 4.5.58.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](clap-rs/clap@clap_complete-v4.5.57...clap_complete-v4.5.58)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.58
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [sysinfo](https://github.com/GuillaumeGomez/sysinfo) from 0.38.0 to 0.38.1.
- [Changelog](https://github.com/GuillaumeGomez/sysinfo/blob/main/CHANGELOG.md)
- [Commits](GuillaumeGomez/sysinfo@v0.38.0...v0.38.1)

---
updated-dependencies:
- dependency-name: sysinfo
  dependency-version: 0.38.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@stlankes
stlankes marked this pull request as draft September 28, 2026 19:56
@github-actions github-actions Bot added the cargo label Sep 28, 2026

@github-actions github-actions Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark Results

Details
Benchmark Current: b6f84bb Previous: 2e23902 Performance Ratio
startup_benchmark Build Time 93.35 s 80.34 s 1.16 ❗
startup_benchmark File Size 0.79 MB 0.80 MB 0.99 ❗
Startup Time - 1 core 0.78 s (±0.02 s) 0.75 s (±0.02 s) 1.04 ❗
Startup Time - 2 cores 0.78 s (±0.02 s) 0.74 s (±0.02 s) 1.06 ❗
Startup Time - 4 cores 0.79 s (±0.01 s) 0.74 s (±0.02 s) 1.07 ❗
multithreaded_benchmark Build Time 90.33 s 82.11 s 1.10 ❗
multithreaded_benchmark File Size 0.85 MB 0.86 MB 0.99 ❗
Multithreaded Pi Efficiency - 2 Threads 89.09 % (±9.85 %) 85.89 % (±6.61 %) 1.04
Multithreaded Pi Efficiency - 4 Threads 44.33 % (±3.38 %) 43.43 % (±2.56 %) 1.02
Multithreaded Pi Efficiency - 8 Threads 25.84 % (±1.53 %) 25.76 % (±1.53 %) 1.00
micro_benchmarks Build Time 85.62 s 80.40 s 1.07 ❗
micro_benchmarks File Size 0.85 MB 0.86 MB 0.99 ❗
Scheduling time - 1 thread 64.35 ticks (±2.53 ticks) 62.65 ticks (±4.06 ticks) 1.03
Scheduling time - 2 threads 34.91 ticks (±3.51 ticks) 34.08 ticks (±4.10 ticks) 1.02
Micro - Time for syscall (getpid) 3.72 ticks (±0.64 ticks) 3.45 ticks (±0.58 ticks) 1.08
Memcpy speed - (built_in) block size 4096 77357.93 MByte/s (±53794.60 MByte/s) 82448.38 MByte/s (±56997.13 MByte/s) 0.94
Memcpy speed - (built_in) block size 1048576 29646.28 MByte/s (±24081.73 MByte/s) 30585.98 MByte/s (±24707.84 MByte/s) 0.97
Memcpy speed - (built_in) block size 16777216 28329.42 MByte/s (±23379.62 MByte/s) 26340.06 MByte/s (±21720.96 MByte/s) 1.08
Memset speed - (built_in) block size 4096 77101.22 MByte/s (±53639.87 MByte/s) 82292.76 MByte/s (±56891.50 MByte/s) 0.94
Memset speed - (built_in) block size 1048576 30362.34 MByte/s (±24487.67 MByte/s) 31323.85 MByte/s (±25145.86 MByte/s) 0.97
Memset speed - (built_in) block size 16777216 29063.37 MByte/s (±23791.35 MByte/s) 27104.68 MByte/s (±22209.94 MByte/s) 1.07
Memcpy speed - (rust) block size 4096 73235.31 MByte/s (±51175.88 MByte/s) 74097.96 MByte/s (±51811.44 MByte/s) 0.99
Memcpy speed - (rust) block size 1048576 29565.14 MByte/s (±24071.25 MByte/s) 30361.60 MByte/s (±24602.37 MByte/s) 0.97
Memcpy speed - (rust) block size 16777216 28416.69 MByte/s (±23441.90 MByte/s) 27625.34 MByte/s (±22806.88 MByte/s) 1.03
Memset speed - (rust) block size 4096 73962.58 MByte/s (±51648.63 MByte/s) 74373.47 MByte/s (±51976.48 MByte/s) 0.99
Memset speed - (rust) block size 1048576 30325.26 MByte/s (±24514.02 MByte/s) 31110.89 MByte/s (±25033.24 MByte/s) 0.97
Memset speed - (rust) block size 16777216 29164.81 MByte/s (±23870.56 MByte/s) 28386.93 MByte/s (±23265.03 MByte/s) 1.03
alloc_benchmarks Build Time 84.95 s 74.76 s 1.14 ❗
alloc_benchmarks File Size 0.87 MB 0.87 MB 0.99 ❗
Allocations - Allocation success 91.38 % 91.31 % 1.00 ❗
Allocations - Deallocation success 100.00 % 100.00 % 1
Allocations - Pre-fail Allocations 61.60 % 61.44 % 1.00 ❗
Allocations - Average Allocation time 3264.82 Ticks (±504.17 Ticks) 5860.58 Ticks (±98.43 Ticks) 0.56 ❗
Allocations - Average Allocation time (no fail) 4223.41 Ticks (±432.38 Ticks) 6554.81 Ticks (±92.86 Ticks) 0.64 ❗
Allocations - Average Deallocation time 891.13 Ticks (±78.45 Ticks) 1805.01 Ticks (±250.35 Ticks) 0.49 ❗
mutex_benchmark Build Time 86.93 s 79.82 s 1.09 ❗
mutex_benchmark File Size 0.85 MB 0.86 MB 0.99 ❗
Mutex Stress Test Average Time per Iteration - 1 Threads 13.02 ns (±0.68 ns) 12.10 ns (±0.41 ns) 1.08 ❗
Mutex Stress Test Average Time per Iteration - 2 Threads 87.82 ns (±3.27 ns) 40.26 ns (±1.68 ns) 2.18 ❗

This comment was automatically generated by workflow using github-action-benchmark.

Replace the download of loader releases by a composite action that
builds the required targets and caches them until the loader sources
or the toolchain change.
@github-actions github-actions Bot added the ci label Sep 28, 2026
@jounathaen

Copy link
Copy Markdown
Member

@mkroening pointed out that the loader contained some git-lfs objects, and this might be an opportunity to get rid of them. The debate about the tradeoff between nicer history and consitent commit IDs is would apply then here as well.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants