Open sitestudio opened 10 months ago
This seems to be something that Nick added to his fork of Microkit, https://github.com/coliasgroup/microkit/commit/51a8042033556a8a7a85f280e020abb51fc586a8.
Thanks for tracking it down - for some reason I couldn't find. Will have a play with integrating unless/until another solution emerges.
If you look at the system file, the way setvar
is being used is actually to just set global variables to certain values (e.g the size of a buffer). From what I can tell it's not actually being used to set a virtual address.
Thanks again, sounds like it can be worked around. Will have a look in the coming days.
@Ivan-Velickovic is correct. I am guilty of abusing the Microkit setvar
features to avoid hard-coding addresses in two different places (the Microkit system description and the Rust code itself). I made the patch @Ivan-Velickovic linked anticipating that it might be accepted upstream, as the feature the patch adds seemed to be partially implemented already. However (@Ivan-Velickovic would know better on this), Microkit is likely headed in the direction of removing this sort of feature from the system description language, delegating managing and possibly injecting these configuration values to higher-level tools which emit Microkit system descriptions.
In the meantime, I will work towards getting this demo working with upstream Microkit. Hard-coding addresses in multiple places will suffice in the meantime before we start developing higher-level tools on top of Microkit.
This demo no longer relies on the patch to Microkit mentioned above (https://github.com/coliasgroup/microkit/commit/51a8042033556a8a7a85f280e020abb51fc586a8).
https://github.com/seL4/rust-sel4 and this demo do, however, for the time being, still rely on a few other patches to Microkit. This is the branch that they depend on: https://github.com/coliasgroup/microkit/tree/rust.
Trying to merge the contents of the http-server.system file into the rust_vmm.system file in the rust example in the libvmm repo and seeing this error:
Error: invalid attribute 'vaddr' on element 'setvar': rust_vmm.system:53.8
Relevant line is
Has something been deprecated?