[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] mmap in PV xen-4.0.1

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 
[  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 
[  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
previously. Why not make sure your mapper works correctly? Or can you
try newer kernel and Xen?


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.