从UBOOT 那边移植过来的温度获取函数调用会出现内错泄露!
在ccm_ccgr2 = readl(MXC_CCM_CCGR2);这条语句进不去,uboot可以!
然后串口打印如下错误信息:
Unable to handle kernel paging request at virtual address 020c4070
pgd = b4a48000
[020c4070] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT SMP
Modules linked in: gts_temp xhci_hcd g_multi
CPU: 0 Not tainted (3.0.101 #1)
PC is at gts_temp_ioctl+0x194/0x528 [gts_temp]
LR is at gts_temp_ioctl+0x18c/0x528 [gts_temp]
pc : [<7f05b2d8>] lr : [<7f05b2d0>] psr: 60000013
sp : b4a57ed0 ip : c08be000 fp : 00000000
r10: 00000000 r9 : b4a56000 r8 : 8003c144
r7 : 00000064 r6 : b4a53f00 r5 : b4a56000 r4 : 7efdbb10
r3 : 020c4000 r2 : 80a750fc r1 : 60000093 r0 : 0000000c
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 10c53c7d Table: 44a4804a DAC: 00000015
Process temp_test (pid: 2489, stack limit = 0xb4a562f0)
Stack: (0xb4a57ed0 to 0xb4a58000)
7ec0: b4a57f78 b49cb000 00000001 00000000
7ee0: b4a56000 b497a9d0 7efdbb10 b4a53f00 00000003 8003c144 b4a56000 00000000
7f00: 00000000 800fb344 b49cb005 b44d9f00 b2053000 b497a9d0 00000101 00000000
7f20: 00000000 00000000 00000000 b4a53f08 80a67d74 000084fc b48ef7e0 00000000
7f40: 00000000 800eb918 00000002 b49cb000 b4a53f00 00000003 b4a53f08 00000020
7f60: b4a56000 b4a53f00 7efdbb10 80047400 00000003 8003c144 b4a56000 00000000
7f80: 00000000 800fb848 54c34a97 00000000 00000001 00000003 00000001 000084fc
7fa0: 00000036 8003bfc0 00000003 00000001 00000003 80047400 7efdbb10 00000001
7fc0: 00000003 00000001 000084fc 00000036 00000000 00000000 2ab04000 00000000
7fe0: 00000000 7efdbb10 000085d8 2acfc7bc 60000010 00000003 47ffe821 47ffec21
[<7f05b2d8>] (gts_temp_ioctl+0x194/0x528 [gts_temp]) from [<800fb344>] (do_vfs_ioctl+0x80/0x54c)
[<800fb344>] (do_vfs_ioctl+0x80/0x54c) from [<800fb848>] (sys_ioctl+0x38/0x5c)
[<800fb848>] (sys_ioctl+0x38/0x5c) from [<8003bfc0>] (ret_fast_syscall+0x0/0x30)
Code: e59f037c eb51f38f e3a03901 e340320c (e5938070)
BUG: scheduling while atomic: temp_test/2489/0x00000002
Modules linked in: gts_temp xhci_hcd g_multi
[<80042e34>] (unwind_backtrace+0x0/0xf8) from [<804dc584>] (__schedule+0x4c0/0x704)
[<804dc584>] (__schedule+0x4c0/0x704) from [<804dcda8>] (schedule_timeout+0x14c/0x1e8)
[<804dcda8>] (schedule_timeout+0x14c/0x1e8) from [<8007b3bc>] (msleep+0x14/0x20)
[<8007b3bc>] (msleep+0x14/0x20) from [<8039893c>] (ipu_init_sync_panel+0x134/0x137c)
[<8039893c>] (ipu_init_sync_panel+0x134/0x137c) from [<8026b7bc>] (mxcfb_set_par+0x3e0/0x6d4)
[<8026b7bc>] (mxcfb_set_par+0x3e0/0x6d4) from [<8026bb54>] (mxcfb_blank+0xa4/0xb8)
[<8026bb54>] (mxcfb_blank+0xa4/0xb8) from [<80253e60>] (fb_blank+0x54/0x98)
[<80253e60>] (fb_blank+0x54/0x98) from [<8025dcd0>] (fbcon_blank+0x1c4/0x258)
[<8025dcd0>] (fbcon_blank+0x1c4/0x258) from [<80291358>] (do_unblank_screen+0x94/0x194)
[<80291358>] (do_unblank_screen+0x94/0x194) from [<8023490c>] (bust_spinlocks+0x24/0x4c)
[<8023490c>] (bust_spinlocks+0x24/0x4c) from [<8003f5c0>] (die+0xa8/0x284)
[<8003f5c0>] (die+0xa8/0x284) from [<804d725c>] (__do_kernel_fault.part.4+0x54/0x74)
[<804d725c>] (__do_kernel_fault.part.4+0x54/0x74) from [<80046abc>] (do_page_fault+0x2b4/0x31c)
[<80046abc>] (do_page_fault+0x2b4/0x31c) from [<80036384>] (do_DataAbort+0x34/0x9c)
[<80036384>] (do_DataAbort+0x34/0x9c) from [<8003b990>] (__dabt_svc+0x70/0xa0)
Exception stack(0xb4a57e88 to 0xb4a57ed0)
7e80: 0000000c 60000093 80a750fc 020c4000 7efdbb10 b4a56000
7ea0: b4a53f00 00000064 8003c144 b4a56000 00000000 00000000 c08be000 b4a57ed0
7ec0: 7f05b2d0 7f05b2d8 60000013 ffffffff
[<8003b990>] (__dabt_svc+0x70/0xa0) from [<7f05b2d8>] (gts_temp_ioctl+0x194/0x528 [gts_temp])
[<7f05b2d8>] (gts_temp_ioctl+0x194/0x528 [gts_temp]) from [<800fb344>] (do_vfs_ioctl+0x80/0x54c)
[<800fb344>] (do_vfs_ioctl+0x80/0x54c) from [<800fb848>] (sys_ioctl+0x38/0x5c)
[<800fb848>] (sys_ioctl+0x38/0x5c) from [<8003bfc0>] (ret_fast_syscall+0x0/0x30)
---[ end trace 14cc14884e5c8a77 ]---
请大神帮忙解答 |