x86 1-GByte pages?

Open
#505 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
linux, rust

Research direction

Start by tracing the Rust code that references KernelHugePage and the early seL4 PDPE1GB detection described in the issue. Reproduce the generic Microkit build on a cloud VM without PDPE1GB and compare its boot behavior with the feature available. Done means the generic build handles the missing feature without halting or failing because of an unconditional reference.

Written by the indexing model from the issue text.

Description

The cloud VM machines we've tried aren't providing PDPE1GB (aka X86_FEATURE_GBPAGES in linux) to guests for whatever reason (at least the 3 we tried don't). SeL4 detects it very early on in the boot sequence and halts with a message. We tried setting 'KernelHugePage: False' for our microkit build but it results in failure because the rust code seems to reference it unconditionally. I'm hardly a x86 hardware expert but using the feature is just a performance optimization I believe? Should it be set for a 'generic' build?

Dominant language
Rust
Stars
201
Forks
80
Avg merge
1d 4h
Merged PRs (30d)
7

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from seL4/microkit

All issues in seL4/microkit

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.