CVP13 register access compatibility
Description
This MR aims at adding the CVP13 compatibility in the memhub
library. In order to achieve such a goal, the memhub
library was re-written from scratch, with both a server and client part.
The server, running as a privileged user, is in charge of sending a file descriptor to the underlying memory to a non-privileged user via a UNIX domain socket.
The memhub
client is a library that can be used to fetch the open file descriptor from the server. It maps the physical memory into the virtual address space and arbitrates the register accesses.
Related Issue
How Has This Been Tested?
Extensively tested with the CVP13 during the Phase-II test-beam and preliminary test with the CTP7 on the GE1/1 integration setup in b904.
Types of changes
-
Bug fix (non-breaking change which fixes an issue) -
New feature (non-breaking change which adds functionality) -
Breaking change (fix or feature that would cause existing functionality to change)
Checklist:
-
My code follows the code style of this project. -
My change requires a change to the documentation. -
I have updated the documentation accordingly. -
I have read the CONTRIBUTING document. -
I have added tests to cover my changes. -
All new and existing tests passed.