Update rust-sel4 commit from TS fork to mainline#531
Conversation
d5a8b1e to
d9b1e0a
Compare
|
rust-seL4 PR has been merged now, so you should be able to update to that commit. |
| execute: bool, | ||
| vaddr: u64, | ||
| data: ElfSegmentData, | ||
| meta_phdr_type_maybe: Option<u32>, |
There was a problem hiding this comment.
This is weird? Why do it like this
There was a problem hiding this comment.
It's for the caller to say "create an additional program header for this segment with this type in addition to the loadable program header".
There was a problem hiding this comment.
Well, yes. But why this optional argument to creating a segment? It feels weird
There was a problem hiding this comment.
Because you don't need to extra phdr in all cases, see the diff to loader.rs for example
Previously, the ELF code treats program headers = segments. While this worked originally, it broke for cases that requires >= 2 program headers to refer to the same segment. Now, when the ELF is parsed, the code will create a 1-1 mapping of segments to program headers like before. But the allow for additional program headers to be inserted. Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au>
Added `pub fn phdrs_table(&self) -> Vec<(ElfProgramHeader64, usize)>` to ELF code. Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au>
Modified `pub fn add_segment()` to allow for an additional program header in the ELF to describe the segment with a user defined type identifier. Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au>
d9b1e0a to
835f47b
Compare
Does this need to be done? |
Yes I'm doing it right now |
Which also required changes to how the spec is packed into the intialiser. Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au>
Updated all instances of struct member name `type_` to `r#type`. Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au>
835f47b to
eeaf7c0
Compare
|
This is ready from my side. |
This required a few changes to how the spec is packed into the initialiser ELF from seL4/rust-sel4#345.
Do not merge until: