Skip to content

tools/litex_server: Add DevMem (/dev/mem) interface - #2497

Merged
enjoy-digital merged 1 commit into
masterfrom
comm_devmem
Jul 6, 2026
Merged

tools/litex_server: Add DevMem (/dev/mem) interface#2497
enjoy-digital merged 1 commit into
masterfrom
comm_devmem

Conversation

@enjoy-digital

Copy link
Copy Markdown
Owner

Add CommDevMem, a mmap-based /dev/mem backend for litex_server, for LiteX SoCs directly memory-mapped from a Hard CPU running Linux (ex Zynq7000's GP0 at 0x4000_0000 or Cyclone V HPS's H2F LW bridge at 0xff20_0000, see #2496).

Running litex_server --devmem on the Hard CPU then allows remote litex_cli/litescope accesses over the network:

litex_server --devmem [--devmem-base 0xff200000] [--devmem-size 0x200000]
litex_cli --host <hard-cpu-ip> --regs

Addresses are physical addresses; base/size define the mmap'ed window (defaults match the Cyclone V HPS H2F LW bridge). Modeled on CommPCIe (same mmap/ctypes access pattern), with a window check on accesses.

Functionally tested against a regular file through the dev parameter (write/read/burst/window-check); on-target test on a MiSTer/DE10-Nano is the next step together with the Cyclone V HPS bring-up.

@enjoy-digital
enjoy-digital merged commit cec31cb into master Jul 6, 2026
8 checks passed
Add CommDevMem, a mmap-based /dev/mem backend for litex_server, for
LiteX SoCs directly memory-mapped from a Hard CPU running Linux (ex
Zynq7000's GP0 at 0x40000000 or Cyclone V HPS's H2F LW bridge at
0xff200000). Running litex_server --devmem on the Hard CPU then allows
remote litex_cli/litescope accesses:

litex_server --devmem [--devmem-base 0xff200000] [--devmem-size 0x200000]

Addresses are physical addresses; base/size define the mmap'ed window
(defaults match the Cyclone V HPS H2F LW bridge).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant