On Sun, Jul 10, 2022 at 5:33 PM Kent Mcleod <kent.mcleo...@gmail.com> wrote:

> > >> >
> > >> > I'm trying to figure out the physical memory used by the kernel.
> This is
> > >> > for riscv if it matters.
> > >>
>
> Starting from the ram region defined by the device tree, I recall the
> following happens for RISC-V:
> - Some memory is subtracted from the start for the SBI program which I
> think is 2MiB for both RV32 and RV64. This might be where most of your
> memory is being lost to.  There's an unmerged PR for making this value
> configurable in the platform device tree:
> https://github.com/seL4/seL4/pull/759


Aha, thank you (that's very hidden)! I do see the 2MB reserve in the
generated DTS (gen_headers/plat/machine/devices_gen.h). And we don't
have/use SBI. Any reason why this PR has yet to be merged?


> - memory used by the kernel is for code + data and should be just what
> is reported by the ELF segment headers.
> - During boot the kernel does allocate memory dynamically but this
> should be only for the rootserver and should entirely happen in the
> function create_rootserver_objects()
> - The remaining memory is handed to the rootserver as untypeds.  The
> kernel also frees code and data that was only required during startup
> and releases that as untypeds too. These untypeds can be inspected in
> the boot info.
>
> What I've done in the past is to print out the untyped list and then
> audited how it corresponds to the memory usage rules listed above.
>

>
> > >
> > > I don't suppose there's some kernel variable I can print that will help
> > > answer my q?
> > >
>
> The untypeds handled to user level is the kernel's record of memory
> available for allocation. During boot time,
> calculate_rootserver_size() can be called to return the amount of
> memory the kernel dynamically allocates for the root_server, and
> during boot the range of memory used is kept in the global: region_t
> rootserver_mem, but would be freed once the kernel jumps to user
> level.  The kernel should already print the ranges of memory it is
> given to use at the start of boot.\


> Kent.
>
_______________________________________________
Devel mailing list -- devel@sel4.systems
To unsubscribe send an email to devel-leave@sel4.systems

Reply via email to