Hi,

֣ΰ wrote:

Hi All,

I downloaded the latest binary of kernel from http://downloads.freesmartphone.org/fso-stable/milestone5/om-gta01/ and the kernel runs well on qemu. I noticed that the kernel’s version is 2.6.24.

But the kernel 2.6.29 failed on qemu when I downloaded the latest source code of openmoko kernel like this:

                git clone git://git.openmoko.org/git/kernel.git linux-2.6

            cd linux-2.6

            git checkout origin/andy-tracking

cp arch/arm/configs/gta01-moredrivers_defconfig .config

make ARCH=arm menuconfig //I unselected the EABI option from kernel features.

make –j2 ARCH=arm CONFIG_DEBUG_SECTION_MISMATCH=y EXTRAVERSION=GTA01_stable;

${CROSS_COMPILE}objcopy -O binary -R .note -R .comment -S arch/arm/boot/compressed/vmlinux linux.bin

                rm -f linux.bin.gz

                gzip -9 linux.bin

../u-boot/tools/mkimage -A arm -O linux -T kernel -C gzip -a $START -e $START -n "OM $PRODUCT $BRANCH""_$HEAD" -d linux.bin.gz uImage-$PRODUCT.bin

Please tell me why. Thanks. I have spent a lot of time on it.

The kernel's output is below :

Linux version 2.6.29-GTA01_stable (v-wei...@atc-vs3025) (gcc version 3.4.5) #3 PREEMPT Tue Feb 17 23:37:39 CST 2009

CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177

CPU: VIVT data cache, VIVT instruction cache

Machine: GTA01

Memory policy: ECC disabled, Data cache writeback

On node 0 totalpages: 32768

free_area_init_node: node 0, pgdat c03dee80, node_mem_map c0492000

  Normal zone: 256 pages used for memmap

  Normal zone: 0 pages reserved

  Normal zone: 32512 pages, LIFO batch:7

CPU S3C2410A (id 0x32410002)

S3C24XX Clocks, (c) 2004 Simtec Electronics

S3C2410: core 266.000 MHz, memory 133.000 MHz, peripheral 66.500 MHz

CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on

Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512

Kernel command line: rootfstype=jffs2 root=/dev/mtdblock4 console=ttySAC0,115200

console=tty0 loglevel=8 mtdparts=neo1973-nand:0x00040000(u-boot),0x00004000(u-b

oot_env),0x00200000(kernel),0x000a0000(splash),0x03d1c000(rootfs)

irq: clearing subpending status 00000002

PID hash table entries: 512 (order: 9, 2048 bytes)

timer tcon=00500000, tcnt d877, tcfg 00000200,00000000, usec 00001719

Console: colour dummy device 80x30

console [tty0] enabled

console [ttySAC0] enabled

Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)

Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)

Memory: 128MB = 128MB total

Memory: 125112KB available (3632K code, 867K data, 144K init)

Calibrating delay loop... 581.63 BogoMIPS (lpj=1454080)

Mount-cache hash table entries: 512

CPU: Testing write buffer coherency: ok

net_namespace: 988 bytes

regulator: core version 0.5

NET: Registered protocol family 16

S3C Power Management, Copyright 2004 Simtec Electronics

wake enabled for irq 17

Enabled GSM wakeup IRQ 17 (rc=0)

S3C2410: Initialising architecture

S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics

DMA channel 0 at c8808000, irq 33

DMA channel 1 at c8808040, irq 34

DMA channel 2 at c8808080, irq 35

DMA channel 3 at c88080c0, irq 36

bio: create slab <bio-0> at 0

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

Bluetooth: Core ver 2.14

NET: Registered protocol family 31

Bluetooth: HCI device and connection manager initialized

Bluetooth: HCI socket layer initialized

NET: Registered protocol family 2

IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

TCP established hash table entries: 4096 (order: 3, 32768 bytes)

TCP bind hash table entries: 4096 (order: 2, 16384 bytes)

TCP: Hash tables configured (established 4096 bind 4096)

TCP reno registered

NET: Registered protocol family 1

NetWinder Floating Point Emulator V0.97 (double precision)

JFFS2 version 2.2. (NAND) (SUMMARY)  漏 2001-2006 Red Hat, Inc.

msgmni has been set to 244

alg: No test for stdrng (krng)

io scheduler noop registered

io scheduler deadline registered (default)

fbcon_event_notify action=5, data=c7819bdc

Console: switching to colour frame buffer device 80x58

fb0: s3c2410fb frame buffer device

##### init_resume_dependency_list(head=c03d2bcc)

s3c2410-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2410

##### init_resume_dependency_list(head=c03d2c90)

s3c2410-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2410

brd: module loaded

S3C24XX NAND Driver, (c) 2004 Simtec Electronics

s3c2410-nand s3c2410-nand: Tacls=3, 22ns Twrph0=8 60ns, Twrph1=3 22ns

NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit

)

Bad block table found at page 131040, version 0x01

Bad block table found at page 131008, version 0x01

5 cmdlinepart partitions found on MTD device neo1973-nand

Creating 5 MTD partitions on "neo1973-nand":

0x000000000000-0x000000040000 : "u-boot"

0x000000040000-0x000000044000 : "u-boot_env"

0x000000044000-0x000000244000 : "kernel"

0x000000244000-0x0000002e4000 : "splash"

0x0000002e4000-0x000004000000 : "rootfs"

spi_s3c24xx_gpio spi_s3c24xx_gpio.1: registering c03bce14: jbt6k74

gta01_jbt6k74_reset

gta01_jbt6k74_reset

Unable to handle kernel NULL pointer dereference at virtual address 00000000

pgd = c0004000

[00000000] *pgd=00000000

Internal error: Oops: 0 [#1] PREEMPT

Modules linked in:

CPU: 0    Not tainted  (2.6.29-GTA01_stable #3)

PC is at 0x0

LR is at jbt_probe+0x1a8/0x22c

pc : [<00000000>]    lr : [<c02dc884>]    psr: 60000013

sp : c7819b08  ip : c7a78630  fp : c7819b28

r10: 00000000  r9 : 00000000  r8 : c02e0fec

r7 : c71dda44  r6 : c71ff400  r5 : c71dda00  r4 : 00000000

r3 : 00000000  r2 : 00000000  r1 : c71ff418  r0 : c71dda00

Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel

Control: c0007177  Table: 30004000  DAC: 00000017

Process swapper (pid: 1, stack limit = 0xc7818260)

Stack: (0xc7819b08 to 0xc781a000)

9b00: c71dda00 00000000 00000000 c03cea60 c04279c8 c7819b38

9b20: c7819b2c c01eae04 c02dc6e8 c7819b60 c7819b3c c01ca4d4 c01eadec c7819b48

9b40: 00000000 c7819b74 c01ca578 c71dda00 c71dda68 c7819b70 c7819b64 c01ca588

9b60: c01ca3fc c7819b98 c7819b74 c01c9620 c01ca584 c7995828 c79c83b4 c71dda00

9b80: 00000000 c71dda88 c71dda44 c7819bb4 c7819b9c c01ca5e8 c01c95d4 c03d51d4

9ba0: 00000000 c71dda00 c7819bd0 c7819bb8 c01c990c c01ca598 00000000 c71dda00

9bc0: c71dda68 c7819c18 c7819bd4 c01c7e3c c01c98e4 c7819be0 00000000 c03bcc80

9be0: c7819c18 c7819bf0 c01eb894 c02de13c c03bcc80 c71dda00 c71dda68 00000000

9c00: 00000104 00000001 00000001 c7819c44 c7819c1c c01eb054 c01c7a48 c71ddb14

9c20: 00000007 c71dda00 c03bce14 00000000 c03bcc80 c03bcc78 c7819c60 c7819c48

9c40: c01eb144 c01eaf70 c71ddd0c 00000000 c71ddc00 c7819c8c c7819c64 c01ec2ac

9c60: c01eb0bc c03bce14 c03bcc80 00000000 00000000 c03d52b4 c04279c8 c71fb6c0

9c80: c7819c9c c7819c90 c01cb9a8 c01ec140 c7819cc4 c7819ca0 c01ca4d4 c01cb994

9ca0: c7819cc4 c03bcc80 c03d52b4 c03bcd08 c03d52b4 c03d2fc8 c7819ce0 c7819cc8

9cc0: c01ca664 c01ca3fc c7819ce4 00000000 c01ca600 c7819d08 c7819ce4 c01c9388

9ce0: c01ca60c c78034d8 c03bccb0 00000000 c03d52b4 00000000 c7818000 c7819d18

9d00: c7819d0c c01ca6a4 c01c9340 c7819d48 c7819d1c c01c9af4 c01ca690 c0368eac

9d20: c002719c c03d52b4 00000000 c7818000 c001e35c 00000001 c03df8ec c7819d68

9d40: c7819d4c c01cab64 c01c9a54 c002719c c0027280 00000000 c7818000 c7819d78

9d60: c7819d6c c01cbabc c01caad8 c7819d88 c7819d7c c001e370 c01cba5c c7819fd8

9d80: c7819d8c c002c2d4 c001e368 c002c9f8 c002c00c c7819f98 c039b2bd 00000064

9da0: 00000042 c03ce3c4 c7819f98 00000032 c03ce3c4 c7819f98 00000050 c7819f98

9dc0: c7819f94 00000000 00000000 c7819f78 c7819ddc c018c498 c018b854 0000000a

9de0: ffffffff ffffffff 00000002 ffffffff ffffffff 00000002 ffffffff 387e6067

9e00: c7819f98 c039b2be c7819e44 c7819e18 c02de0fc c0041d5c c02de7a0 c7818000

9e20: c7818008 7fffffff 00000002 00000000 00000000 c0423d2c c03df434 c0585280

9e40: c7819e98 c7819e50 c03df434 c05852a0 c7819ea8 c7819e60 c0082538 c02de13c

9e60: 00000044 00000000 00000000 00000000 c03df434 00000000 c03dee80 c03dee80

9e80: 00000000 000000d0 c03df430 00000000 c7817be0 00000000 c78001e0 c7819efc

9ea0: c7819eac c0083138 c008221c 00000000 00000044 000200d0 c7800de0 c78035a0

9ec0: c7819eec c7819ed0 c7800de0 c78035a0 c7819efc c7819ee0 c00a2ab8 c018fba0

9ee0: c78035a4 c78035a0 00000000 00000088 c7819f44 c7819f00 c0186b84 c00a2aa0

9f00: c7811e10 00000000 c041a270 a0000013 c7819f3c c7819f20 c0185fcc c7995960

9f20: c7995960 c7994200 c03f6c78 00000000 00000000 00000000 c7819f54 c7819f48

9f40: c0186bac 00000000 c7819f7c c7819f58 c00e5b68 c02de13c c03c3484 00000088

9f60: c7995960 c7819f98 00000050 c03f6c78 c7819f00 c7819f80 c00e5db0 c00e59b8

9f80: c7994200 c03c3484 c7819fc0 c7819f98 c0072f60 c00e5d38 00003038 00000000

9fa0: c0020000 00000055 c03c35b0 00000000 c002719c c0027280 00000000 00000000

9fc0: 00000000 00000000 00000000 c7819ff4 c7819fdc c0008a20 c002c27c 00000001

9fe0: 00000000 00000000 00000000 c7819ff8 c0049b7c c00089a0 00000000 00000000

Backtrace:

[<c02dc6dc>] (jbt_probe+0x0/0x22c) from [<c01eae04>] (spi_drv_probe+0x24/0x28)

 r8:c04279c8 r7:c03cea60 r6:00000000 r5:00000000 r4:c71dda00

[<c01eade0>] (spi_drv_probe+0x0/0x28) from [<c01ca4d4>] (driver_probe_device+0xe

4/0x188)

0x10/0x14)>] (driver_probe_device+0x0/0x188) from [<c01ca588>] (__device_attach+

 r8:c71dda68 r7:c71dda00 r6:c01ca578 r5:c7819b74 r4:00000000

/0x98)a578>] (__device_attach+0x0/0x14) from [<c01c9620>] (bus_for_each_drv+0x58

[<c01c95c8>] (bus_for_each_drv+0x0/0x98) from [<c01ca5e8>] (device_attach+0x5c/0

x74)

 r7:c71dda44 r6:c71dda88 r5:00000000 r4:c71dda00

[<c01ca58c>] (device_attach+0x0/0x74) from [<c01c990c>] (bus_attach_device+0x34/

0x70)

 r6:c71dda00 r5:00000000 r4:c03d51d4

53c)1c98d8>] (bus_attach_device+0x0/0x70) from [<c01c7e3c>] (device_add+0x400/0x

 r6:c71dda68 r5:c71dda00 r4:00000000

)<c01c7a3c>] (device_add+0x0/0x53c) from [<c01eb054>] (spi_add_device+0xf0/0x14c

[<c01eaf64>] (spi_add_device+0x0/0x14c) from [<c01eb144>] (spi_new_device+0x94/0

xbc)

 r8:c03bcc78 r7:c03bcc80 r6:00000000 r5:c03bce14 r4:c71dda00

[<c01eb0b0>] (spi_new_device+0x0/0xbc) from [<c01ec2ac>] (s3c2410_spigpio_probe+

0x178/0x1dc)

 r6:c71ddc00 r5:00000000 r4:c71ddd0c

[<c01ec134>] (s3c2410_spigpio_probe+0x0/0x1dc) from [<c01cb9a8>] (platform_drv_p

robe+0x20/0x24)

[<c01cb988>] (platform_drv_probe+0x0/0x24) from [<c01ca4d4>] (driver_probe_devic

e+0xe4/0x188)

[<c01ca3f0>] (driver_probe_device+0x0/0x188) from [<c01ca664>] (__driver_attach+

0x64/0x84)

 r8:c03d2fc8 r7:c03d52b4 r6:c03bcd08 r5:c03d52b4 r4:c03bcc80

[<c01ca600>] (__driver_attach+0x0/0x84) from [<c01c9388>] (bus_for_each_dev+0x54

/0x88)

 r6:c01ca600 r5:00000000 r4:c7819ce4

[<c01c9334>] (bus_for_each_dev+0x0/0x88) from [<c01ca6a4>] (driver_attach+0x20/0

x28)

 r7:c7818000 r6:00000000 r5:c03d52b4 r4:00000000

[<c01ca684>] (driver_attach+0x0/0x28) from [<c01c9af4>] (bus_add_driver+0xac/0x2

2c)

[<c01c9a48>] (bus_add_driver+0x0/0x22c) from [<c01cab64>] (driver_register+0x98/

0x114)

[<c01caacc>] (driver_register+0x0/0x114) from [<c01cbabc>] (platform_driver_regi

ster+0x6c/0x88)

 r7:c7818000 r6:00000000 r5:c0027280 r4:c002719c

[<c01cba50>] (platform_driver_register+0x0/0x88) from [<c001e370>] (s3c2410_spig

pio_init+0x14/0x1c)

[<c001e35c>] (s3c2410_spigpio_init+0x0/0x1c) from [<c002c2d4>] (__exception_text

_end+0x64/0x198)

[<c002c270>] (__exception_text_end+0x0/0x198) from [<c0008a20>] (kernel_init+0x8

c/0xec)

[<c0008994>] (kernel_init+0x0/0xec) from [<c0049b7c>] (do_exit+0x0/0x78c)

 r5:00000000 r4:00000000

Code: bad PC value.

---[ end trace 83d01b32625f6c75 ]---

Kernel panic - not syncing: Attempted to kill init!


------------------------------------------------------------------------
Windows Live Writer,支持离线撰写博客内容,随时随地想写就写。 立即使 用! <http://get.live.cn/product/writer.html>
Can you apply and test this patch?

Michael
This patch check the probe_completed function pointer.

Signed-off-by: Michael Trimarchi <[email protected]>

---
diff --git a/drivers/video/display/jbt6k74.c b/drivers/video/display/jbt6k74.c
index 9a8ae1b..141e8d2 100644
--- a/drivers/video/display/jbt6k74.c
+++ b/drivers/video/display/jbt6k74.c
@@ -683,7 +683,8 @@ static int __devinit jbt_probe(struct spi_device *spi)
 		goto err_sysfs;
 	}
 
-	(jbt6k74_pdata->probe_completed)(&spi->dev);
+	if (jbt6k74_pdata->probe_completed)
+		(jbt6k74_pdata->probe_completed)(&spi->dev);
 
 	return 0;
 

Reply via email to