On Thursday, October 30, 2014 12:39:27 pm Sourish Mazumder wrote:
> Hi John,
> 
> I want to make a block device out of this nvram memory. So, I will need to
> perform memcpy() operation into this memory.
> Do I need to add this memory into the vm system, if I need to do operations
> like memcpy().

Ah, so you just need to map it.  The most expedient thing you can do for this
is:

        void *p;

        p = pmap_mapdev(physaddr, len);

(This uses an uncached mapping).

When you are finished (e.g during a detach routine if you need to unload the 
driver) you can do:

        pmap_unmapdev((vm_offset_t)p, len);

Note that for a PCI BAR you would do something different, but for a resource 
you discover via the SMAP and is x86 specific this is ok.

-- 
John Baldwin
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-amd64
To unsubscribe, send any mail to "[email protected]"

Reply via email to