When using hexdump to check /dev/mem, why are some addresses missing?

0

Here is the command I used:

sudo hexdump -C /dev/mem | less

And part of the result it dumped:

00000070  53 ff 00 f0 a4 f0 00 f0  c7 ef 00 f0 e0 ba 00 c0  |S...............|
00000080  ef 27 00 f0 ef 27 00 f0  ef 27 00 f0 ef 27 00 f0  |.'...'...'...'..|
*
00000100  99 1b 32 e7 01 e4 00 f0  65 f0 00 f0 e0 be 00 c0  |..2.....e.......|
00000110  ef 27 00 f0 ef 27 00 f0  ef 27 00 f0 ef 27 00 f0  |.'...'...'...'..|
*
00000180  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

The interesting thing is that addresses in [0x00000120, 0x0000017f] are ignored as "*" instead of the value I suppose to see.

As far as I can imagine, those parts are protected from being read, but why? Or am I missing something?

linux
memory
device
asked on Stack Overflow Dec 19, 2012 by sleepsort

1 Answer

1

hexdump is suppressing duplicate lines to make the output easier to read.

From the 'man hexdump' page:

-v      Cause hexdump to display all input data.  Without the -v option,
        any number of groups of output lines, which would be identical to
        the immediately preceding group of output lines (except for the
        input offsets), are replaced with a line comprised of a single
        asterisk.
answered on Stack Overflow Dec 19, 2012 by Jeremy Friesner

User contributions licensed under CC BY-SA 3.0