public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: minggr@gmail.com (Lin Ming)
To: linux-arm-kernel@lists.infradead.org
Subject: kernel decompressor problem for ARMv7
Date: Mon, 08 Jul 2013 10:27:15 +0800	[thread overview]
Message-ID: <1373250435.824.6.camel@minggr> (raw)
In-Reply-To: <CAF1ivSbOXknHyDMH3RdmSGK2n5o2wVeR5oohCQnZ2gJrgvo=Hw@mail.gmail.com>

On Sat, 2013-07-06 at 00:58 +0800, Lin Ming wrote:
> On Sat, Jul 6, 2013 at 12:30 AM, Nicolas Pitre <nicolas.pitre@linaro.org> wrote:
> > On Fri, 5 Jul 2013, Will Deacon wrote:
> >
> >> On Fri, Jul 05, 2013 at 09:44:12AM +0100, Lin Ming wrote:
> >> > Hi all,
> >>
> >> Hello,
> >>
> >> > I'm porting BSP code from v2.6.36 to v3.10 kernel. It's ARMv7 processor.
> >>
> >> Which specific processor/SoC?
> >>
> >> > But decompressor doesn't work. With a lot of debug, I finally find
> >> > below 2 commits related.
> >> > Kernel uncompress OK with these commits reverted.
> >> >
> >> > dbece45: ARM: 7501/1: decompressor: reset ttbcr for VMSA ARMv7 cores
> >> > (Introduced in v3.6-rc6)
> >> >
> >> > 5010192: ARM: 7583/1: decompressor: Enable unaligned memory access for
> >> > v6 and above
> >> > (Introduced in v3.7-rc8)
> >> >
> >> > Any hint to fix it?
> >>
> >> There's not really enough information to go on here. What specifically
> >> fails? Also, do you have to revert *both* of the above changes to get things
> >> working again?
> >
> > Also, what is the bootloader used here?
> 
> uboot.
> 
> >
> > Does the bootloader call the kernel with the MMU off as documented in
> > Documentation/arm/Booting?
> 
> How to check this?
> 
> I'll check uboot code or add debug code in boot/compressed/head.S to
> check it next Monday.

I added below debug code to print the control reg from lowest 4bits to
highest 4bits.

It prints "B7805C". So the control reg is 0x00c5087b.
Seems bootloader calls the kernel with MMU enabled and Alignment fault
checking enabled.

diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 32337ff..9434720 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -125,6 +125,23 @@
 		.rept	7
 		mov	r0, r0
 		.endr
+
+		/* Dirty debug code to print control reg from lowest 4bits to highest 4bits */
+		ldr     r2, =0xf0070120		@ UART
+		mrc     p15, 0, r0, c1, c0, 0   @ read control reg
+	1:
+		cmp     r0, #0
+		beq	2f
+		and     r1, r0, #15
+		cmp	r1, #9
+		addgt	r1, r1, #7
+		add	r1, r1, #48
+		str     r1, [r2]
+		asr     r0, r0, #4
+		b	1b
+	2:
+
+
    ARM(		mov	r0, r0		)
    ARM(		b	1f		)
  THUMB(		adr	r12, BSYM(1f)	)


> 
> >
> > Nicolas

  reply	other threads:[~2013-07-08  2:27 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-05  8:44 kernel decompressor problem for ARMv7 Lin Ming
2013-07-05  9:57 ` Will Deacon
2013-07-05 16:30   ` Nicolas Pitre
2013-07-05 16:58     ` Lin Ming
2013-07-08  2:27       ` Lin Ming [this message]
2013-07-09  1:09         ` Lin Ming
2013-07-09  7:39           ` Nicolas Pitre
2013-07-09  7:53             ` Lin Ming
2013-07-09  8:05               ` Will Deacon
2013-07-09  8:21                 ` Lin Ming
2013-07-05 16:52   ` Lin Ming

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=1373250435.824.6.camel@minggr \
    --to=minggr@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.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