Skip to content

Conversation

@Ivan-Velickovic
Copy link
Collaborator

One of the things the tool has to do is emulate the kernel boot process, this involves getting a layout of all memory and putting into two categories, 'device' memory and 'normal' memory as defined by the kernel.

The way we do this currently is by looking at certain symbols in the kernel ELF that encode this information. This doesn't work well when the compiler decides to optimise that symbol out and instead embed the information directly into where it's being used in the kernel code.

So, instead we use the platform_gen.json file that gets generated by the kernel build system to get the same information.

There should be no difference at all in terms of what the tool actually spits out at the end, it just means that the process of doing this emulation is less fragile.

Closes #35.

Depends on seL4/seL4#1390 first.

One of the things the tool has to do is emulate the kernel boot process,
this involves getting a layout of all memory and putting into two
categories, 'device' memory and 'normal' memory as defined by the
kernel.

The way we do this currently is by looking at certain symbols in the
kernel ELF that encode this information. This doesn't work well when
the compiler decides to optimise that symbol out and instead embed
the information directly into where it's being used in the kernel code.

So, instead we use the `platform_gen.json` file that gets generated by
the kernel build system to get the same information.

There should be no difference at all in terms of what the tool actually
spits out at the end, it just means that the process of doing this
emulation is less fragile.

Signed-off-by: Ivan-Velickovic <i.velickovic@unsw.edu.au>
Signed-off-by: Ivan-Velickovic <i.velickovic@unsw.edu.au>
@Ivan-Velickovic Ivan-Velickovic merged commit e43e43d into main Feb 10, 2025
11 checks passed
@Ivan-Velickovic Ivan-Velickovic deleted the issue_35 branch February 10, 2025 01:51
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.

zcu102 hello example build with SEL4CP_CONFIG=release fails

1 participant