Hi, I’ve sent these questions to devel@sel4.systems, but since I haven’t got any answers there, I’ll try here:
I’ve been playing around with the camkes Arm VMM. However, the
meaning of some of the configuration fields is not completely clear to
me. For example:
-
what is the difference between “linux_ram_base” and
“linux_ram_paddr_base” in the linux_address_config attribute? Are
these supposed to define the virtual and physical addresses of the
guest’s ram region base, respectively? If so, can we have non-identity
mappings by setting them to different values? From my experiments
having different addresses on those does not always work (even if both
are aligned to a 2M superpage boundary) . -
what is the difference between the untyped_mmios and mmios
attributes? They seem to serve pretty similar purposes. For example,
in different vm-examples they are both used for assigning the virtual
gic cpu interface to the guest.
I probably have a few other questions. I couldn’t find it, but I was
hoping there was more thorough documentation for the vm configuration
detailing the meaning of these fields (and others)?
Best regards,
José