[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] mmap in PV xen-4.0.1
On Mon, Aug 15, 2011 at 08:13:37PM -0700, Ranjith Ravi wrote: > > Looking into the kernel source, a check in range_is_allowed failed so > > I just can't map /dev/mem with specified range (-EPERM). > > mmap() and read access works on 2.6.37.6 > ( dom0 - fc13 xen 4.0.2) > Tried it after disabling 'CONFIG_STRICT_DEVMEM' in kernel config. So it did not work with CONFIG_STRICT_DEVMEM=y? > > Can someone point out the changes/patches in 2.6.37.6 which fixes mmap() > problem ? Um, so 2.6.37 did not work? > > Thanks > Ranjith > > > On Fri, Aug 12, 2011 at 10:20 AM, Eric Camachat > <eric.camachat@xxxxxxxxx>wrote: > > > On Thu, Aug 11, 2011 at 9:26 PM, Wei Liu <liuw@xxxxxxxxx> wrote: > > > On Thu, Aug 11, 2011 at 10:11:20AM -0700, Eric Camachat wrote: > > >> > > >> Let us back to my original concern: > > >> Why remap_pfn_range() woks with my own device node, but deesn't work > > >> with /dev/mem node? > > >> This behavior is confused me. > > >> > > >> /Eric > > > > > > Well, I slightly modify your code -- remove the ioctl and hardcoded > > > *base into mapper, and run on my box in dom0 (Xen 4.2 + 2.6.39 PVOPS), > > > I get following output and kernel log: > > > > > > paddr = 0x6d368000 > > > mem = 0xffffffffffffffff > > > map = 0x7fa928e88000 > > > map[0]= 1234 > > > map[1]= abcd > > > > > > [ 405.039120] memtest: registering /dev/memtest (886) > > > [ 405.039125] memtest: size of phys_addr_t is 8 bytes > > > [ 405.039132] memtest: _vbase = 0xffff88006d368000 > > > [ 405.039134] memtest: _pbase = 0x6d368000 > > > [ 405.039135] memtest: _mbase = 0x6fbaa000 > > > [ 781.414747] Program mapper tried to access /dev/mem between > > 6d368000->6d36c000. > > > [ 781.414764] memtest_vma_open: virt 0x7f327a275000, phys 0x6d368000 > > > [ 781.414942] mapper[2744]: segfault at ffffffffffffffff ip > > 00000000004008d7 sp 00007fff233638e0 error 4 in mapper[400000+1000] > > > [ 781.415064] memtest_vma_close > > > [ 891.350796] Program mapper tried to access /dev/mem between > > 6d368000->6d36c000. > > > [ 891.350813] memtest_vma_open: virt 0x7fa928e88000, phys 0x6d368000 > > > [ 891.350987] mapper[2811]: segfault at ffffffffffffffff ip > > 00000000004008d7 sp 00007fffc154efd0 error 4 in mapper[400000+1000] > > > [ 891.351102] memtest_vma_close > > > > > > Looking into the kernel source, a check in range_is_allowed failed so > > > I just can't map /dev/mem with specified range (-EPERM). > > > > > > But please note that my output of map[0] and map[1] are correct, while > > > your output is not correct ('4C4C4C4C'), which you ignored > > > > That's I memset() 'L' to _vbase. Sorry, I pasted wrong output. > > > > > previously. Why not make sure your mapper works correctly? Or can you > > > try newer kernel and Xen? > > > > > > Wei. > > > > > > > It works with newer kernel (like 2.6.37), so I think its not XEN's problem. > > Thanks for your help! > > > > /Eric > > > > _______________________________________________ > > Xen-devel mailing list > > Xen-devel@xxxxxxxxxxxxxxxxxxx > > http://lists.xensource.com/xen-devel > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |