Hi

 

I have tested both this patch and the patch by Rabin and they are OK for me. The patches fixes the identified problems and I have not found any unwanted consequences from the patches.

 

Jan

 

Jan Karlsson

Senior Software Engineer

MIB

 

Sony Mobile Communications

Tel: +46703062174

sonymobile.com

 

SONY make.believe

 

From: paawan oza [mailto:paawan1982@yahoo.com]
Sent: fredag den 5 oktober 2012 07:51
To: Dave Anderson; Discussion list for crash utility usage, maintenance and development
Cc: Fänge, Thomas; Rabin Vincent; Mika Westerberg; Karlsson, Jan
Subject: Re: [Crash-utility] using crash for ARM

 

Hi,

please find the patch below.


--- arm.c       2012-06-29 20:29:18.000000000 +0530

+++ arm_section.c       2012-10-04 19:49:01.166889000 +0530

@@ -932,6 +932,13 @@

         */

        page_dir = pgd + PGD_OFFSET(vaddr) * 2;

 

+       /* The unity-mapped region is mapped using 1MB pages,

+        * hence 1-level translation if bit 20 is set,

+        * we are 1MB apart physically,

+        * hence we move the page_dir in case bit 20 is set.

+        */

+        if (((vaddr) >> (20)) & 1)

+               page_dir = page_dir + 1;

        FILL_PGD(PAGEBASE(pgd), KVADDR, PGDIR_SIZE());

        pgd_pte = ULONG(machdep->pgd + PGDIR_OFFSET(page_dir));

 

Regards,

Oza.


From: Dave Anderson <anderson@redhat.com>
To: paawan oza <
paawan1982@yahoo.com>; "Discussion list for crash utility usage, maintenance and development" <crash-utility@redhat.com>
Cc: Thomas Fänge <
thomas.fange@sonymobile.com>; Rabin Vincent <rabin@rab.in>; Mika Westerberg <mika.westerberg@iki.fi>; jan karlsson <jan.karlsson@sonymobile.com>
Sent: Thursday, 4 October 2012 6:30 PM
Subject: Re: [Crash-utility] using crash for ARM




----- Original Message -----

> > Paawan, your fix looks sane to me but can you add a small comment describing
> > why this is done?
> >
>
> ok,
> Let us wait for Dave and others to comment on it, and try to see how
> this could be pushed.
>
> Regards,
> Oza.

Oza,

Can you please append your actual patch as Rabin has done?  The only
thing that I have from you is this pseudo-code description:

> then I have to do workaround for section level physical addresses as
> follows.
> page_dir = pgd + PGD_OFFSET(vaddr) * 2;
> if (bit(vaddr,20)) //if bit is set then move to the next pgd */
> page_dir = page_dir + 1;
> FILL_PGD(PAGEBASE(pgd), KVADDR, PGDIR_SIZE());
> pgd_pte = ULONG(machdep->pgd + PGDIR_OFFSET(page_dir));
>

Then Mika can decide on how to proceed with the two patches.

Dave