Skip to content

CVP13 register access compatibility

Laurent Petre requested to merge feature/cvp13-memhub into main

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.
Edited by Laurent Petre

Merge request reports