<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 28, 2016 at 2:49 AM, Paddie O&#39;Brien <span dir="ltr">&lt;<a href="mailto:paddieobrien@gmail.com" target="_blank">paddieobrien@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I have a system call that maps virtual to physical addresses. I have<br>
disabled CONFIG_STRICT_DEVMEM and am reading from /dev/mem to verify<br>
that the contents of the syscall-returned physical address match the<br>
contents of the virtual address. It works fine up to a point. Reading<br>
beyond byte 935321597 in /dev/mem throws a &quot;bad address&quot; error. Not<br>
sure it&#39;s relevant but I&#39;m running on virtual box and specifying 1GB<br>
of RAM. Tried with 2GB of RAM and hit the same problem.<br>
<br>
Any idea why I can&#39;t read beyond the above point?<br>
<br>
Thanks.<br>
<br></blockquote></div><br clear="all"></div><div class="gmail_extra">Hi paddie<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Is it 32 bit system?<br><br></div><div class="gmail_extra">If yes, it seems you are about to exceed boundary of kernel linear addres range, which is 0-896 MiB. The upper 896-1024 MiB (1 GiB) is reserved for dynamic mapping<br><br></div><div class="gmail_extra">CMIIW people.<br><br></div><div class="gmail_extra">-- <br><div class="gmail_signature" data-smartmail="gmail_signature">regards,<br><br>Mulyadi Santosa<br>Freelance Linux trainer and consultant<br><br>blog: <a href="http://the-hydra.blogspot.com" target="_blank">the-hydra.blogspot.com</a><br>training: <a href="http://mulyaditraining.blogspot.com" target="_blank">mulyaditraining.blogspot.com</a></div>
</div></div>