All of lore.kernel.org
 help / color / mirror / Atom feed
* Enabling DEBUG in head.S file makes the kernel work
@ 2009-12-10 11:42 Virupax.SS at Lntemsys.com
  2009-12-16 17:31 ` Russell King - ARM Linux
  0 siblings, 1 reply; 2+ messages in thread
From: Virupax.SS at Lntemsys.com @ 2009-12-10 11:42 UTC (permalink / raw)
  To: linux-arm-kernel

Hi

I am using Linux 2.6.27 kernel on  at91sam9g20 Controller. The kernel 
boots fine on all the boards i have here , but on one board kernel does 
not boot and gives 

## Booting kernel from Legacy Image at 20400000 ...
   Image Name:   Linux-2.6.27
   Created:      2009-12-10   6:28:11 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1690656 Bytes =  1.6 MB
   Load Address: 20008000
   Entry Point:  20008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK
RFS-NAND

Starting kernel ...

Uncompressing 
Linux.............................................................
................................................

crc error

 -- System halted


Error message.

If i add 
#define DEBUG on top of the "arch/arm/boot/compressed/head.S" file, the 
kernel boots up upto the login prompt , but still the login will not be 
possible.
RFS shall not be mounted correctly in this case.


## Booting kernel from Legacy Image at 20400000 ...
   Image Name:   Linux-2.6.27
   Created:      2009-12-10   6:29:18 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1690624 Bytes =  1.6 MB
   Load Address: 20008000
   Entry Point:  20008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK
RFS-NAND

Starting kernel ...

Uncompressing 
Linux.............................................................
................................................ done, booting the kernel.

41069265:00000658:00055078
201BE040-20509540>20008000
20509540
20008000: E321F0D3 EE109F10 EB000055 E1B0A005  0A000051 EB00006A E1B08005 
0A0000
4E
20008020: EB000079 EB000013 E59FD0BC E28FE000  E28AF010 E3800002 E3A0501F 
EE035F
10
20008040: EE024F10 EA000005 E1A00000 E1A00000  E1A00000 E1A00000 E1A00000 
E1A000
00
20008060: E1A00000 EE010F10 EE103F10 E1A03003  E1A03003 E1A0F00D E59F4064 
E1A000
04
20008080: E3A03000 E2806901 E4803004 E4803004  E4803004 E4803004 E1300006 
1AFFFF
F9
200080A0: E59A7008 E1A06A2F E1873A06 E7843106  E2840A03 E5A03000 E59F6028 
E28000
04
200080C0: E0846926 E1500006 E2833601 94803004  9AFFFFFB E2840A03 E3876202 
E58060
00
200080E0: E1A0F00E 20004000 C0372AA7 C0008114  C0334000 C0334000 C0353500 
C0372A
A8
Linux version 2.6.27 (root at developer-desktop) (gcc version 4.3.2 
(crosstool-NG-1
.3.1) ) #4 Tue Dec 8 12:37:45 IST 2009
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: Atmel AT91SAM9G20-EK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 396 MHz, master 132 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 32768 bytes, associativity 4, 32 byte lines, 256 sets
CPU0: D cache: 32768 bytes, associativity 4, 32 byte lines, 256 set
..
..
..
...
...
.
(none) login: root
/bin/bash: symbol lookup error: /usr/lib/libncurses.so.5: undefined 
symbol: _nc_`isable_period

(none) login



The below part of the code in the head.S is making the difference between 
the working and non working of the kernel ( w.r.t DEBUG)

#ifndef DEBUG
                orr     r0, r0, #0x000d         @ Write buffer, mmu
#endif
                mov     r1, #-1
                mcr     p15, 0, r3, c2, c0, 0   @ load page table pointer
                mcr     p15, 0, r1, c3, c0, 0   @ load domain access 
control
                b       1f
                .align  5                       @ cache line aligned
1:              mcr     p15, 0, r0, c1, c0, 0   @ load control register
                mrc     p15, 0, r0, c1, c0, 0   @ and read it back to
                sub     pc, lr, r0, lsr #32     @ properly flush pipeline


It will be helpful if some one can point to why the error is there , is it 
because of the faulty board(controller).



Thanks and regards

Virupax




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20091210/b616b2d2/attachment-0001.htm>

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Enabling DEBUG in head.S file makes the kernel work
  2009-12-10 11:42 Enabling DEBUG in head.S file makes the kernel work Virupax.SS at Lntemsys.com
@ 2009-12-16 17:31 ` Russell King - ARM Linux
  0 siblings, 0 replies; 2+ messages in thread
From: Russell King - ARM Linux @ 2009-12-16 17:31 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Dec 10, 2009 at 05:12:56PM +0530, Virupax.SS at Lntemsys.com wrote:
> I am using Linux 2.6.27 kernel on  at91sam9g20 Controller. The kernel 
> boots fine on all the boards i have here , but on one board kernel does 
> not boot and gives 

Quite possibly your board has bad SDRAM routing.  Enabling debug disables
the cache, and the decompressor without debug seems to be an excellent
test for identifying marginal SDRAM signal quality.

Basically, if you get a CRC error on decompression, it means that the
image was corrupted somehow.  Experience shows that's not the fault of
the code but tends to be hardware weaknesses.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-12-16 17:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-12-10 11:42 Enabling DEBUG in head.S file makes the kernel work Virupax.SS at Lntemsys.com
2009-12-16 17:31 ` Russell King - ARM Linux

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.