Skip to content

fix(x86_64): be UEFI agnostic - #2615

Merged
mkroening merged 6 commits into
mainfrom
rm-uefi
Aug 10, 2026
Merged

fix(x86_64): be UEFI agnostic#2615
mkroening merged 6 commits into
mainfrom
rm-uefi

Conversation

@mkroening

@mkroening mkroening commented Aug 9, 2026

Copy link
Copy Markdown
Member

In preparation of #2546, this removes all occurrences of env::is_uefi() and handles every occurrence agnostically.

The first commit fixes #2402.

Depends on:

@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: 93a79dc Previous: 2e23902 Performance Ratio
startup_benchmark Build Time 82.01 s 80.34 s 1.02
startup_benchmark File Size 0.77 MB 0.80 MB 0.96
Startup Time - 1 core 0.76 s (±0.02 s) 0.75 s (±0.02 s) 1.02
Startup Time - 2 cores 0.75 s (±0.02 s) 0.74 s (±0.02 s) 1.03
Startup Time - 4 cores 0.75 s (±0.02 s) 0.74 s (±0.02 s) 1.01
multithreaded_benchmark Build Time 83.10 s 82.11 s 1.01
multithreaded_benchmark File Size 0.86 MB 0.86 MB 1.00
Multithreaded Pi Efficiency - 2 Threads 88.80 % (±8.24 %) 85.89 % (±6.61 %) 1.03
Multithreaded Pi Efficiency - 4 Threads 44.49 % (±2.45 %) 43.43 % (±2.56 %) 1.02
Multithreaded Pi Efficiency - 8 Threads 25.91 % (±1.39 %) 25.76 % (±1.53 %) 1.01
micro_benchmarks Build Time 82.27 s 80.40 s 1.02
micro_benchmarks File Size 0.86 MB 0.86 MB 1.00
Scheduling time - 1 thread 64.31 ticks (±2.30 ticks) 62.65 ticks (±4.06 ticks) 1.03
Scheduling time - 2 threads 36.47 ticks (±5.44 ticks) 34.08 ticks (±4.10 ticks) 1.07
Micro - Time for syscall (getpid) 3.48 ticks (±0.60 ticks) 3.45 ticks (±0.58 ticks) 1.01
Memcpy speed - (built_in) block size 4096 82352.78 MByte/s (±56959.29 MByte/s) 82448.38 MByte/s (±56997.13 MByte/s) 1.00
Memcpy speed - (built_in) block size 1048576 30385.51 MByte/s (±24502.55 MByte/s) 30585.98 MByte/s (±24707.84 MByte/s) 0.99
Memcpy speed - (built_in) block size 16777216 27129.01 MByte/s (±22375.11 MByte/s) 26340.06 MByte/s (±21720.96 MByte/s) 1.03
Memset speed - (built_in) block size 4096 82519.30 MByte/s (±57060.41 MByte/s) 82292.76 MByte/s (±56891.50 MByte/s) 1.00
Memset speed - (built_in) block size 1048576 31111.52 MByte/s (±24913.02 MByte/s) 31323.85 MByte/s (±25145.86 MByte/s) 0.99
Memset speed - (built_in) block size 16777216 27902.21 MByte/s (±22858.35 MByte/s) 27104.68 MByte/s (±22209.94 MByte/s) 1.03
Memcpy speed - (rust) block size 4096 74913.04 MByte/s (±52292.51 MByte/s) 74097.96 MByte/s (±51811.44 MByte/s) 1.01
Memcpy speed - (rust) block size 1048576 30378.42 MByte/s (±24572.16 MByte/s) 30361.60 MByte/s (±24602.37 MByte/s) 1.00
Memcpy speed - (rust) block size 16777216 26478.60 MByte/s (±21942.21 MByte/s) 27625.34 MByte/s (±22806.88 MByte/s) 0.96
Memset speed - (rust) block size 4096 75392.69 MByte/s (±52638.76 MByte/s) 74373.47 MByte/s (±51976.48 MByte/s) 1.01
Memset speed - (rust) block size 1048576 31079.51 MByte/s (±24981.77 MByte/s) 31110.89 MByte/s (±25033.24 MByte/s) 1.00
Memset speed - (rust) block size 16777216 27237.36 MByte/s (±22420.66 MByte/s) 28386.93 MByte/s (±23265.03 MByte/s) 0.96
alloc_benchmarks Build Time 77.27 s 74.76 s 1.03
alloc_benchmarks File Size 0.85 MB 0.87 MB 0.97
Allocations - Allocation success 91.34 % 91.31 % 1.00
Allocations - Deallocation success 100.00 % 100.00 % 1
Allocations - Pre-fail Allocations 61.54 % 61.44 % 1.00
Allocations - Average Allocation time 5229.14 Ticks (±97.77 Ticks) 5860.58 Ticks (±98.43 Ticks) 0.89
Allocations - Average Allocation time (no fail) 5956.41 Ticks (±124.48 Ticks) 6554.81 Ticks (±92.86 Ticks) 0.91
Allocations - Average Deallocation time 1524.08 Ticks (±314.02 Ticks) 1805.01 Ticks (±250.35 Ticks) 0.84
mutex_benchmark Build Time 79.72 s 79.82 s 1.00
mutex_benchmark File Size 0.86 MB 0.86 MB 1.00
Mutex Stress Test Average Time per Iteration - 1 Threads 12.26 ns (±0.44 ns) 12.10 ns (±0.41 ns) 1.01
Mutex Stress Test Average Time per Iteration - 2 Threads 42.22 ns (±3.63 ns) 40.26 ns (±1.68 ns) 1.05

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

@mkroening
mkroening marked this pull request as ready for review August 10, 2026 15:05
@mkroening

Copy link
Copy Markdown
Member Author

CC: @sarahspberrypi

@mkroening
mkroening enabled auto-merge August 10, 2026 16:07
@mkroening
mkroening disabled auto-merge August 10, 2026 16:08
@mkroening
mkroening added this pull request to the merge queue Aug 10, 2026
Merged via the queue into main with commit 3fd5e5c Aug 10, 2026
21 checks passed
@mkroening
mkroening deleted the rm-uefi branch August 22, 2026 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SMP boot code mapping got broken on Hermit

1 participant