WIP First draft of FVP post commands
WIP: Getting this visible early to check if this is a sensible way of proceeding and is not in a state that it is ready to be merged. This is with regard to the discussion last week on the design call on how to upload files from FVP models.
The reason for doing this at all is that the FVP binaries can produce trace files. To extract these files, you'll need to have access to run commands to upload them from the docker container.
Some key notes of this implementation:
- instead of directly using "docker run" on the model binary, the container is forked (defaultly uses sleep infinity) and then model binary is run using exec. This is because the FVP will often only flush to file once it is stopped, but we need to keep the container up afterwards.
- To be useful, introducing a mechanism of putting URLs into a LAVA result after certain commands, though this is a bit fiddly and ugly in the definition.
- LAVA will kill the FVP model for you via sending a Ctrl+C instead of simply killing the docker exec process. This is needed to forward the signal into the model binary. This is needed as trace files are only flushed on exit.
- Need to check a lot for regressions and checking this doesn't break any other use cases.
- need to make this more robust.
- definitely want pointers on how to better structure this