Re: do_page_fault() related question.

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

 



On 4/26/06, gautam borad <borad.gautam@xxxxxxxxx> wrote:
> Hi,
> Who passes the address to do_page_fault() in arch/ppc/mm/fault.c ?
> I know that its in the DAR register for ppc ( cr2 in x86) but who puts
> it there?

I think its the CPU harware responsible for filling cr2 with fauting
address, there is no software instruction executed for this.

If I am not wrong, "address" ( got from cr2 register) in
do_page_fault() will be same as regs->eip , as in Linux we do not use
the segmentation concept and so the virtual address space is same a s
linear address space. Correct me if I am wrong anywhere.

Gaurav


> My question will be sane if you read the problem im facing ...
>
> I'm using a test prog which just calls malloc().
> For debugging purpose i've put the foll in arch/ppc/mm/fault.c :
>
>   printk("\nerror : vm_start = 0x%08x  vm_end = 0x%08x
>             Address = 0x%08x\n ",vma->vm_start,vma->vm_end,address);
>
> Now when i run the test program i get the foll :
>
>  vm_start = 0x10011000 vm_end = 0x10219000 Address = 0x101e9000
>  vm_start = 0x10011000 vm_end = 0x10219000 Address = 0x101ea000
>  vm_start = 0x10011000 vm_end = 0x10219000 Address = 0x101eb000
>  vm_start = 0x10000000 vm_end = 0x10001000 Address = 0x00000024
>  Oops: kernel access of bad area, sig: 11
>  < ... more dump ....>
>
>  Where does the address 0x00000024 comes from??
>  Is this a cache/tlb problem?
>
> Thanks in advance.
>
> --
> Kernelnewbies: Help each other learn about the Linux kernel.
> Archive:       http://mail.nl.linux.org/kernelnewbies/
> FAQ:           http://kernelnewbies.org/faq/
>
>


--
--
-Gaurav
Email: gauravd.chd@xxxxxxxxx
---------------------------------
Read my blog at: http://lkdp.blogspot.com/
---------------------------------

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux