Skip to content

Commit

Permalink
tool: fix handling of long pd names
Browse files Browse the repository at this point in the history
Signed-off-by: Nick Spinale <[email protected]>
  • Loading branch information
nspin authored and Ivan-Velickovic committed May 31, 2024
1 parent b530b3f commit 0cdcd54
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions tool/microkit/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1801,7 +1801,9 @@ fn build_system(kernel_config: &Config,

for (i, pd) in system.protection_domains.iter().enumerate() {
let elf = &mut pd_elf_files[i];
elf.write_symbol("microkit_name", pd.name.as_bytes())?;
let name = pd.name.as_bytes();
let name_length = min(name.len(), PD_MAX_NAME_LENGTH);
elf.write_symbol("microkit_name", &name[..name_length])?;
elf.write_symbol("passive", &[pd.passive as u8])?;
}

Expand Down Expand Up @@ -2299,7 +2301,7 @@ fn main() -> Result<(), String> {
// and how large of a name we can encode
let name_length = min(name.len(), PD_MAX_NAME_LENGTH);
let end = start + name_length;
pd_names_bytes[start..end].copy_from_slice(&name);
pd_names_bytes[start..end].copy_from_slice(&name[..name_length]);
}
monitor_elf.write_symbol("pd_names", &pd_names_bytes)?;

Expand Down

0 comments on commit 0cdcd54

Please sign in to comment.