-
Federico Vaga authored
The HMQ architecture changed completely. For this reason it was impossible to propose a step by step migration to the new architecture, instead I did all the changes for all the layers in a single patch (@_@). It will not be easy to review or to blame/bisect but I hope you understand that this was the only way. In this architecture there are HMQ dedicated to each soft-CPU. This improve the soft-CPU determinism; it also simplifies the software layers which can take a couple of assumption: - each CPU has a set of dedicated HMQ - each HMQ has an input and an output channel At the driver level the main changes are on the organization of the HMQ devices and the interrupt handlers for input and output. The removal of the synchronous message ioctl(2) is another great improvement which simplifies the driver logic. At the library level, the user does not need anymore to open and close HMQ independently because this happens automatically when the user open the device. The synchronous messages are implemented in this layer by using the driver message filter to detect a synchronous answer (a convention to be decided later). At the python level I reflected the library changes. Broken things ============= Due to the complexity of this patch, this breaks the following tools: - mockturtle-ping - mockturtle-buffer - mockturtle-variable Signed-off-by: Federico Vaga <federico.vaga@cern.ch>
f240f4ce