Skip to content
Pavel A. edited this page Sep 22, 2015 · 19 revisions

Why yet another variation of the honorable devmem utility (a.k.a. devmem2) ?

  • Parameter validation. The original variant skips it.

  • Splitting the common base from offsets will help porting our scripts to other platforms where the base is different.

  • More script-helping stuff:

    • limit the spew to help parsing output
  • Keeping backward compatibility is the goal, to preserve existing scripts.

The memory we need to access is I/O memory, a memory mapped thru some PCI device's BARs. The BAR physical base address will vary on different host systems. (Yes I know about /sys/bus/pci... but we have a lot of existing code that uses fixed physical addresses).

There are two versions: branch master (tags "0.xxx-tc") is drop-in compatible with devmem2 (except the output is slightly different).

The other branch (tags "1.x-tc") has address rebasing and requires setting environment variables. It should be compatible with original devmem2 when used with switch -A , but there's no other compatibility promise.

Each version has a separate documentation page.

Clone this wiki locally