<?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF 
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns="http://purl.org/rss/1.0/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
>

  <channel rdf:about="http://lwn.net/headlines/28746/">
    <title>LWN: Comments on "Driver porting: supporting mmap()"</title>
    <link>http://lwn.net/Articles/28746/</link>
    <description>
This is a special feed containing comments posted
to the individual LWN article titled &quot;Driver porting: supporting mmap()&quot;.

    </description>

    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>2</syn:updateFrequency>
    <items>
      <rdf:Seq>
	<rdf:li resource="http://lwn.net/Articles/265495/rss" />
	<rdf:li resource="http://lwn.net/Articles/248681/rss" />
	<rdf:li resource="http://lwn.net/Articles/235970/rss" />
	<rdf:li resource="http://lwn.net/Articles/124354/rss" />
	<rdf:li resource="http://lwn.net/Articles/123979/rss" />
	<rdf:li resource="http://lwn.net/Articles/115228/rss" />
	<rdf:li resource="http://lwn.net/Articles/96921/rss" />
      
      </rdf:Seq>
    </items>

  </channel>
    <item rdf:about="http://lwn.net/Articles/265495/rss">
      <title>No longer remap_page_range</title>
      <link>http://lwn.net/Articles/265495/rss</link>
      <dc:date>2008-01-17T13:12:57+00:00</dc:date>
      <dc:creator>richarddonkin</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;&lt;pre&gt;
An update for this article: see &lt;a rel=&quot;nofollow&quot; href=&quot;http://lwn.net/Articles/129480/&quot;&gt;http://lwn.net/Articles/129480/&lt;/a&gt; for the 
change of remap_page_range to remap_pfn_range.
&lt;/pre&gt;&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/248681/rss">
      <title>Driver porting: supporting mmap()</title>
      <link>http://lwn.net/Articles/248681/rss</link>
      <dc:date>2007-09-07T01:38:13+00:00</dc:date>
      <dc:creator>sonnyrao</dc:creator>
      <description>
      If remap_page_range() can't remap most system ram, why does it exist?&lt;br&gt;
&lt;p&gt;
The way this is written, it seems like io_remap_page_range() is the only &lt;br&gt;
thing you can do with remap_page_range() anyway (on non-sparc machines)&lt;br&gt;
&lt;p&gt;
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/235970/rss">
      <title>Driver porting: supporting mmap()</title>
      <link>http://lwn.net/Articles/235970/rss</link>
      <dc:date>2007-05-28T23:22:42+00:00</dc:date>
      <dc:creator>rael</dc:creator>
      <description>
      please refer to Documentation/kernel-parameters.txt:&lt;br&gt;
the mem=nn[KMG] kernel parameter still exists.&lt;br&gt;
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/124354/rss">
      <title>Driver porting: supporting mmap()</title>
      <link>http://lwn.net/Articles/124354/rss</link>
      <dc:date>2005-02-21T01:38:35+00:00</dc:date>
      <dc:creator>fleetinglife</dc:creator>
      <description>
      I test this on another machine and it succeeded. It seems the 2.6.0 kernrl didn't work normally on the original machine. &lt;br&gt;
&lt;p&gt;
But I encounter another question now.&lt;br&gt;
&lt;p&gt;
I reserve a 4M memory at boot time. In my driver I support mmap method by calling remap_page_range() function with (TOTAL_MEMORY_SIZE - 4M) as the physical memory start address parameter.&lt;br&gt;
&lt;p&gt;
In the driver I access the memory block with the pointer returned by ioremap(TOTAL_MEMORY_SIZE - 4M, 4M). It seems work. In App I write some data into the pointer returned by mmap, and dump the memory block in the driver, I find the output isn't the same as I wrote at App side. What's wrong with the driver?&lt;br&gt;
&lt;p&gt;
BTW, my driver supports read/write methods, too. In them I use copy_to_user/copy_from_user. After write in App, the driver dumps the memory block, the output is correct.&lt;br&gt;
&lt;p&gt;
How can I support mmap correctly?&lt;br&gt;
&lt;p&gt;
Any help will be appreciated.&lt;br&gt;
&lt;p&gt;
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/123979/rss">
      <title>Driver porting: supporting mmap()</title>
      <link>http://lwn.net/Articles/123979/rss</link>
      <dc:date>2005-02-17T06:07:21+00:00</dc:date>
      <dc:creator>fleetinglife</dc:creator>
      <description>
      Does Kernel 2.6.0 support reserving the highest physical memory using &quot;mem=*M&quot;. If it do, where should I write this into grub.conf?&lt;br&gt;
&lt;p&gt;
Any help will be appreciated.&lt;br&gt;
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/115228/rss">
      <title>Driver porting: supporting mmap()</title>
      <link>http://lwn.net/Articles/115228/rss</link>
      <dc:date>2004-12-10T19:38:00+00:00</dc:date>
      <dc:creator>admorgan</dc:creator>
      <description>
      Hopefully you have already solved this as it was posted in August.  Just in case the vfs will have already setup the correct vma when it passes it to your mmap function for your driver.  That is what you should pass to io_remap_page_range&lt;br&gt;
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/96921/rss">
      <title>Driver porting: supporting mmap()</title>
      <link>http://lwn.net/Articles/96921/rss</link>
      <dc:date>2004-08-06T03:37:58+00:00</dc:date>
      <dc:creator>jinzhcheng</dc:creator>
      <description>
      if we need to remap the address which returned from ioremap to our user-space, we can use remap_page_range in kernel2.4. but now the relevant virtual memory area (VMA) pointer must be passed as the first parameter of remap_page_range(), which vma can we pass to remap_page_range now ?&lt;br&gt;
thx for your's reply.&lt;br&gt;
      
      </description>
    </item>
</rdf:RDF>

