Hi All
Please find a piece of code that i wrote in my driver,

void __iomem *tcpm_base = ioremap_nocache(0x03900000, SZ_16KB);
            printk("Virtual addresss %x\n",tcpm_base);
            if(tcpm_base!=NULL)
            {
            printk("Jiffies %x %ld\n\n\n\n", jiffies, jiffies);
            for(i=0;i<(SZ_16KB-1);i++)
            src = readl(tcpm_base+i);
            printk("%d\n",src);
            printk("Jiffies %x %ld\n\n\n\n", jiffies, jiffies);
            }
            else
                printk("unable to map \n");


When i execute this code, i am seeing a kernel panic telling
----- LOG --------
"Virtual addresss ea880000"
"Unable to handle kernel paging request at virtual address ea890000"
-----LOG-----

If you observe,
virtual address of  tcpm_base is ea880000.
if ioremap() returns all contigious memory, There should be no
dereferencing of "ea890000"(the max address should be ea88fffe)

But in kernel logs show, it is dereferencing that address.

My question now is...
doesn't ioremap() returns contigious address space?


With regards,
Sandeep Kumar Anantapalli,
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Reply via email to