How to read non-physical memory?

Alexandr Matveev timon at timon.net.nz
Sun Jan 23 20:03:11 UTC 2011


On 23.01.2011 22:26, Neel Natu wrote:
> Hi Alexandr,
>
> On Sun, Jan 23, 2011 at 7:56 AM, Alexandr Matveev<timon at timon.net.nz>  wrote:
>> Hello.
>>
>>   When FreeBSD boots with 'boot -v' it show SMAP:
>> SMAP type=01 base=0000000000000000 len=000000000009d800
>> SMAP type=02 base=000000000009d800 len=0000000000002800
>> SMAP type=02 base=00000000000e0000 len=0000000000020000
>> SMAP type=01 base=0000000000100000 len=00000000bfdb0000
>> <...>
>> SMAP type=02 base=00000000fed1c000 len=0000000000004000
>> <...>
>>
>>   Memory range 0xfed1c000 - 0xfed2000 belongs to ICH8 mapped to memory
>> configuration registers.
>>   If I correctly understand mem man page, /dev/mem allow to read only real
>> physical memory. How can I read data from this range?
> I am not sure what the man page says but you can certainly use
> /dev/mem to access mmio space.
>
> I have used 'dd' with 'if=/dev/mem' to dump out mmio registers on
> amd64. YMMV with other architectures.

   Thank you very much.
   dd if=/dev/mem of=mem.dump bs=4 count=4095 skip=1068789760
   works perfectly!

-- 
Alexandr Matveev



More information about the freebsd-hackers mailing list