<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Aug 19, 2016 at 1:32 AM,  <span dir="ltr">&lt;<a href="mailto:Valdis.Kletnieks@vt.edu" target="_blank">Valdis.Kletnieks@vt.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
</span>Step 1: Figure out whether your driver is returning a physical or logical<br>
address for the CMA, and which of the two /dev/mem requires.<br>
<br>
Step 2: Take a look at the address returned and make sure it at least<br>
looks valid (is someplace the E820 map says is RAM, isn&#39;t a PCI BAR or<br>
something like that, etc etc)<br>
<br>
Those are the two biggest sources of error I can think of...<br>
</blockquote></div><br></div><div class="gmail_extra">First of all, just want to make my problem clear, the &quot;bad address&quot; is returned when I call vmsplice(), not mmap().</div><div class="gmail_extra"><br></div><div class="gmail_extra">1. I have verified the address is a physical one</div><div class="gmail_extra">2. It indeed is within the RAM range</div><div class="gmail_extra"><br></div><div class="gmail_extra">What bugs me is that write() works just fine but vmsplice() complains about the address. </div></div>