Hi John, I tried the pmap_mapdev() as suggested by you. Works perfectly. Thanks for the information.
What is required, If I want to add this nvram memory to VM pages? On Thu, Oct 30, 2014 at 11:23 PM, John Baldwin <[email protected]> wrote: > 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 > -- Sourish Mazumder 9986309755 _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-amd64 To unsubscribe, send any mail to "[email protected]"
