From: Dmytro Bablinyuk <dmytro.bablinyuk@tait.co.nz>
To: linux-kernel@vger.kernel.org
Subject: Problem with remap_page_range
Date: Tue, 09 Sep 2003 21:13:49 -0400 [thread overview]
Message-ID: <3F5E7ACD.8040106@tait.co.nz> (raw)
We have a DSP shared memory which we should access (from PowerPC).
The problem is when I do ioremap I can see the memory correctly from the
driver (see below) but when I do remap_page_range to the user space
application then data appears to be wrong, I can recognize some values
there, but they are in the wrong places and other values around from
everywhere else (see below).
I tried mem_map_reserve - but still without luck.
Could somebody please give me a clue on this.
Thank you very much in advance for any help.
Below: the dsp_area prints correct values from DSP RAM but remap_page_range does not work properly.
dsp_ptr=ioremap_nocache( DSP_ADDR, WINDOW_SIZE);
dsp_area=(ushort *)(((unsigned long)dsp_ptr + PAGE_SIZE -1) &
PAGE_MASK);
/* for (virt_addr=(unsigned long)dsp_area; virt_addr<(unsigned
long)dsp_area+WINDOW_SIZE; */
/* virt_addr+=PAGE_SIZE) { */
/* /\* reserve all pages to make them remapable *\/ */
/* mem_map_reserve(virt_to_page(virt_addr)); */
/* } */
printk("dsp_area[0]=%04x\n", dsp_area[0]); //prints correct values
...
vma->vm_flags |= (VM_SHM | VM_LOCKED | VM_IO | VM_RESERVED);
if (remap_page_range(vma->vm_start,
DSP_ADDR,
size,
vma->vm_page_prot
))
{
printk("remap page range failed\n");
return -ENXIO;
}
Here is the ouput:
//correct from the driver
dsp_area[0]=0000
dsp_area[1]=bc00
dsp_area[2]=eb17
dsp_area[3]=2643
dsp_area[4]=54cd
dsp_area[5]=5405
dsp_area[6]=91ba
dsp_area[7]=49c2
dsp_area[8]=1f61
hpi_mmap: vma->vm_start=3006f000, vma->vm_end=30097000
vma->vm_flags=864fb
//wrong from the user space application
kadr=0x3006f000
kadr[0]=1c59
kadr[1]=49c2
kadr[2]=5405
kadr[3]=bc00
kadr[4]=49c2
kadr[5]=54cd
kadr[6]=bc00
kadr[7]=54cd
next reply other threads:[~2003-09-09 9:09 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-09-10 1:13 Dmytro Bablinyuk [this message]
2003-09-09 9:59 ` Problem with remap_page_range Jamie Lokier
2003-09-09 17:03 ` Matt Porter
2003-09-10 2:19 ` Dmytro Bablinyuk
2003-09-09 17:02 ` Matt Porter
2003-09-09 21:54 ` Dmytro Bablinyuk
2003-09-09 22:06 ` Matt Porter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3F5E7ACD.8040106@tait.co.nz \
--to=dmytro.bablinyuk@tait.co.nz \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox