Remove the need for `loader_link_address`
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Refactor
- Clarity
- Needs clarification
- Activity status
- Quiet
- Tech stack
- rust
- Domain
- operating-systems
Research direction
Start by tracing how loader_link_address places the loader, kernel image, and initial task in main memory, then review the work-arounds in pull requests 206 and 476. Define a replacement that avoids overlapping relocation regions for large images and confirm that the loader_link_address requirement can be removed.
Written by the indexing model from the issue text.
Description
We should look into removing the loader_link_address as it is fragile and also platform-specific.
The main issue that I've encountered is that we usually place loader_link_address somewhere near the start of main memory, the loader code itself goes at loader_link_address and then directly after is the binary data for the kernel and the initial task. These are then relocated to specific places in memory decided by the tool. What happens when you have really large images is that the regions that have to be copied around end up overlapping with the location of the loader itself.
I've had to do work-arounds like https://github.com/seL4/microkit/pull/206 and https://github.com/seL4/microkit/pull/476.
- Dominant language
- Rust
- Stars
- 201
- Forks
- 80
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 7
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from seL4/microkit
-
Difficulty 2/5 Half a day Newbie friendliness 72/100
-
Difficulty 1/5 1-3 hours Newbie friendliness 86/100
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100