On Mon, 2013-01-28 at 14:32 +0800, Chao Xie wrote:
hi
I have seen in the arm website that arm release the VE 5.0. THere is a
patch named "CPU Migration Patch for version 5.0" for cpu migration.
Now i have downloaded the source code from
git.linaro.org/git-ro/landing-teams/working/arm/kernel.git, and use
the branch integration-android-vexpress.
It is strange that it reports errors when boot up at TC2, and only one
core boots up. So what is the branch and commit number for the cpu
migration?
That commit should work, though really you should be using Linaro's main
kernel tree [1] not the ARM Landing Team working tree. However, both of
these trees should be OK with TC2 as long as you also have the new
firmware in "CPU Migration Patch for version 5.0".
[1] http://git.linaro.org/gitweb?p=kernel/linux-linaro-tracking.git%3Ba=shortlog...
What I suspect is that the configuration in SITE1/HBI0249A/board.txt
isn't right, particularly the value for SCC 0x700. We are currently
putting the files and instructions together for the 13.01 release, but
if you use the attached board.txt file then I hope that will get the
system booting on all CPUs. (One quirk I found when swapping back and
forth between firmware versions is that it seemed to take two boots
before the changes firmware worked correctly, I don't know if that's
just something I'm doing different or if it is a general problem.)
The stack backtrace you see is a lockdep warning that is a bug in
mainline Linux that they are still deciding on how to fix. We have a
Linaro bug for the issue:
https://bugs.launchpad.net/linaro-landing-team-arm/+bug/1103485
--
Tixy
> I attached the boot up logs as well.
>
> ARM Versatile Express Boot Monitor
> Version: V5.1.9
> Build Date: Dec 3 2012
> Daughterboard Site 1: V2P-CA15_A7 Cortex A15
> Daughterboard Site 2: Not Used
> Running boot script from flash - BOOTSCRIPT
> Loaded FDT - tc2_dtb
> Loaded initrd - initrd
> Loaded kernel - zimage
> Booting kernel @ 0x80008000
> Command line 'console=tty0 console=ttyAMA0,38400n8 rootwait ro
> init=/init androidboot.console=ttyAMA0 mmci.fmax=12000000'
> initrd @ 0xa0100000 (194422 bytes)
> FDT @ 0xa0000000 (14295 bytes)
> [ 0.000000] Booting Linux on physical CPU 0x0
> [ 0.000000] Initializing cgroup subsys cpu
> [ 0.000000] Linux version 3.8.0-rc4-00621-g95f63d2
> (cxie4@cxie4-OptiPlex-780) (gcc version 4.5.2 (Ubuntu/Linaro
> 4.5.2-8ubuntu3) ) #1 SMP Sun Jan 27 21:07:09 EST 2013
> [ 0.000000] CPU: ARMv7 Processor [412fc0f1] revision 1 (ARMv7), cr=10c5387d
> [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing
> instruction cache
> [ 0.000000] Machine: ARM-Versatile Express, model: V2P-CA15_CA7
> [ 0.000000] Truncating memory at 0x80000000 to fit in 32-bit
> physical address space
> [ 0.000000] Memory policy: ECC disabled, Data cache writealloc
> [ 0.000000] PERCPU: Embedded 9 pages/cpu @c1d59000 s14528 r8192 d14144 u36864
> [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on.
> Total pages: 520191
> [ 0.000000] Kernel command line: console=tty0
> console=ttyAMA0,38400n8 rootwait ro init=/init
> androidboot.console=ttyAMA0 mmci.fmax=12000000
> [ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
> [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
> [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
> [ 0.000000] __ex_table already sorted, skipping sort
> [ 0.000000] Memory: 2032MB = 2032MB total
> [ 0.000000] Memory: 2049536k/2049536k available, 47612k reserved,
> 1302528K highmem
> [ 0.000000] Virtual kernel memory layout:
> [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
> [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
> [ 0.000000] vmalloc : 0xf0000000 - 0xff000000 ( 240 MB)
> [ 0.000000] lowmem : 0xc0000000 - 0xef800000 ( 760 MB)
> [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
> [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
> [ 0.000000] .text : 0xc0008000 - 0xc0748870 (7427 kB)
> [ 0.000000] .init : 0xc0749000 - 0xc078e8c0 ( 279 kB)
> [ 0.000000] .data : 0xc0790000 - 0xc07da5f0 ( 298 kB)
> [ 0.000000] .bss : 0xc07da5f0 - 0xc0d324a0 (5472 kB)
> [ 0.000000] Hierarchical RCU implementation.
> [ 0.000000] RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=5.
> [ 0.000000] NR_IRQS:16 nr_irqs:16 16
> [ 0.000000] Using SP804
> '/smb/motherboard/iofpga@3,00000000/timer@110000' as a clock & events
> source
> [ 0.000000] Architected local timer running at 24.00MHz (virt).
> [ 0.000000] Switching to timer-based delay loop
> [ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps
> every 178956ms
> [ 0.000000] Console: colour dummy device 80x30
> [ 0.000000] console [tty0] enabled
> [ 0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat,
> Inc., Ingo Molnar
> [ 0.000000] ... MAX_LOCKDEP_SUBCLASSES: 8
> [ 0.000000] ... MAX_LOCK_DEPTH: 48
> [ 0.000000] ... MAX_LOCKDEP_KEYS: 8191
> [ 0.000000] ... CLASSHASH_SIZE: 4096
> [ 0.000000] ... MAX_LOCKDEP_ENTRIES: 16384
> [ 0.000000] ... MAX_LOCKDEP_CHAINS: 32768
> [ 0.000000] ... CHAINHASH_SIZE: 16384
> [ 0.000000] memory used by lock dependency info: 3695 kB
> [ 0.000000] per task-struct memory footprint: 1152 bytes
> [ 0.003045] Calibrating delay loop (skipped), value calculated
> using timer frequency.. 48.00 BogoMIPS (lpj=240000)
> [ 0.003100] pid_max: default: 32768 minimum: 301
> [ 0.003596] Mount-cache hash table entries: 512
> [ 0.006550] CPU: Testing write buffer coherency: ok
> [ 0.006658] ftrace: allocating 19546 entries in 39 pages
> [ 0.030427] CPU0: update cpu_power 1441
> [ 0.030451] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
> [ 0.030505] Setting up static identity map for 0x80586830 - 0x80586888
> [ 0.033403] vexpress_spc loaded at f0008000
> [ 0.033424] TC2 power management initialized
> [ 1.031517] CPU1: failed to come online
> [ 2.032563] CPU2: failed to come online
> [ 3.033640] CPU3: failed to come online
> [ 4.034716] CPU4: failed to come online
> [ 4.034957] Brought up 1 CPUs
> [ 4.034974] SMP: Total of 1 processors activated (48.00 BogoMIPS).
> [ 4.050297] regulator-dummy: no parameters
> [ 4.051903] NET: Registered protocol family 16
> [ 4.052193] DMA: preallocated 256 KiB pool for atomic coherent allocations
> [ 4.056236] hw perfevents: enabled with CCI PMU driver, 5 counters available
> [ 4.056391] CCI loaded at f0060000
> [ 4.081223] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4
> watchpoint registers.
> [ 4.081252] hw-breakpoint: maximum watchpoint size is 8 bytes.
> [ 4.081277] Serial: AMBA PL011 UART driver
> [ 4.081747] 1c090000.uart: ttyAMA0 at MMIO 0x1c090000 (irq = 37) is
> a PL011 rev2
> [ 5.311555] console [ttyAMA0] enabled
> [ 5.323483] 1c0a0000.uart: ttyAMA1 at MMIO 0x1c0a0000 (irq = 38) is
> a PL011 rev2
> [ 5.346604] 1c0b0000.uart: ttyAMA2 at MMIO 0x1c0b0000 (irq = 39) is
> a PL011 rev2
> [ 5.369330] 1c0c0000.uart: ttyAMA3 at MMIO 0x1c0c0000 (irq = 40) is
> a PL011 rev2
> [ 5.430220] bio: create slab <bio-0> at 0
> [ 5.443702] 3V3: 3300 mV
> [ 5.453380] SCSI subsystem initialized
> [ 5.465955] usbcore: registered new interface driver usbfs
> [ 5.482706] usbcore: registered new interface driver hub
> [ 5.499039] usbcore: registered new device driver usb
> [ 5.516764] Advanced Linux Sound Architecture Driver Initialized.
> [ 5.537505] Switching to clocksource arch_sys_counter
> [ 5.629531] NET: Registered protocol family 2
> [ 5.643681] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
> [ 5.665088] TCP bind hash table entries: 8192 (order: 6, 294912 bytes)
> [ 5.687156] TCP: Hash tables configured (established 8192 bind 8192)
> [ 5.706343] TCP: reno registered
> [ 5.716034] UDP hash table entries: 512 (order: 3, 40960 bytes)
> [ 5.734118] UDP-Lite hash table entries: 512 (order: 3, 40960 bytes)
> [ 5.753925] NET: Registered protocol family 1
> [ 5.767674] RPC: Registered named UNIX socket transport module.
> [ 5.785435] RPC: Registered udp transport module.
> [ 5.799537] RPC: Registered tcp transport module.
> [ 5.813640] RPC: Registered tcp NFSv4.1 backchannel transport module.
> [ 5.833462] Trying to unpack rootfs image as initramfs...
> [ 5.860865] Freeing initrd memory: 188K
> [ 5.872674] hw perfevents: enabled with ARMv7_Cortex_A15 PMU
> driver, 7 counters available
> [ 5.897282] hw perfevents: enabled with ARMv7_Cortex_A7 PMU driver,
> 7 counters available
> [ 5.927891] bounce pool size: 64 pages
> [ 5.939532] VFS: Disk quotas dquot_6.5.2
> [ 5.951412] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
> [ 5.973922] NFS: Registering the id_resolver key type
> [ 5.989306] Key type id_resolver registered
> [ 6.001853] Key type id_legacy registered
> [ 6.013945] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006
> Red Hat, Inc.
> [ 6.036089] Btrfs loaded
> [ 6.043705] msgmni has been set to 1459
> [ 6.057314] Block layer SCSI generic (bsg) driver version 0.4
> loaded (major 253)
> [ 6.079538] io scheduler noop registered
> [ 6.091298] io scheduler deadline registered
> [ 6.104137] io scheduler cfq registered (default)
> [ 6.128812] hdlcd 2b000000.hdlcd: HDLCD: found ARM HDLCD version r0p0
> [ 6.148141] hdlcd 2b000000.hdlcd: using 1024x768-16@60 mode
> [ 6.186002] Console: switching to colour frame buffer device 128x48
> [ 6.222902] A15 Vcore: 800 <--> 1050 mV at 902 mV
> [ 6.252893] A7 Vcore: 800 <--> 1050 mV at 905 mV
> [ 6.282884] VIO: at 1810 mV
> [ 6.461313] brd: module loaded
> [ 6.479745] loop: module loaded
> [ 6.491370] mtdoops: mtd device (mtddev=name/number) must be supplied
> [ 6.511472] smsc911x: Driver version 2008-10-21
> [ 6.529078] libphy: smsc911x-mdio: probed
> [ 6.541403] smsc911x 1a000000.ethernet eth0: attached PHY driver
> [Generic PHY] (mii_bus:phy_addr=1a000000.etherne:01, irq=-1)
> [ 6.575673] smsc911x 1a000000.ethernet eth0: MAC Address: 00:02:f7:00:48:3e
> [ 6.597680] nxp-isp1760 1b000000.usb: NXP ISP1760 USB Host Controller
> [ 6.617233] nxp-isp1760 1b000000.usb: new USB bus registered,
> assigned bus number 1
> [ 6.840279] nxp-isp1760 1b000000.usb: bus width: 32, oc: digital
> [ 6.879588] nxp-isp1760 1b000000.usb: irq 48, io mem 0x1b000000
> [ 6.898690] nxp-isp1760 1b000000.usb: USB ISP 1761 HW rev. 1 started
> [ 6.921425] hub 1-0:1.0: USB hub found
> [ 6.934175] hub 1-0:1.0: 1 port detected
> [ 6.948140] Initializing USB Mass Storage driver...
> [ 6.964390] usbcore: registered new interface driver usb-storage
> [ 6.983703] USB Mass Storage support registered.
> [ 7.000663] mousedev: PS/2 mouse device common for all mice
> [ 7.021765] rtc-pl031 1c170000.rtc: rtc core: registered pl031 as rtc0
> [ 7.047669] device-mapper: ioctl: 4.23.1-ioctl (2012-12-18)
> initialised: dm-devel@redhat.com
> [ 7.074755] arm_big_little: CPU 0 initialized
> [ 7.090452] arm_big_little: bL_cpufreq_register: Registered
> platform driver: vexpress-bL
> [ 7.115989] cpuidle: using governor ladder
> [ 7.129314] cpuidle: using governor menu
> [ 7.142871] mmci-pl18x 1c050000.mmci: mmc0: PL180 manf 41 rev0 at
> 0x1c050000 irq 41,42 (pio)
> [ 7.208100] usbcore: registered new interface driver usbhid
> [ 7.225944] usbhid: USB HID core driver
> [ 7.238570] nxp-isp1760 1b000000.usb: port 1 high speed
> [ 7.256126] ashmem: initialized
> [ 7.266944] logger: created 256K log 'log_main'
> [ 7.281984] logger: created 256K log 'log_events'
> [ 7.297493] logger: created 256K log 'log_radio'
> [ 7.312718] logger: created 256K log 'log_system'
> [ 7.329155] usb 1-1: new high-speed USB device number 2 using nxp-isp1760
> [ 7.369801] aaci-pl041 1c040000.aaci: ARM AC'97 Interface PL041
> rev0 at 0x1c040000, irq 43
> [ 7.395664] aaci-pl041 1c040000.aaci: FIFO 512 entries
> [ 7.412174] mmc0: new SDHC card at address 1234
> [ 7.427205] nxp-isp1760 1b000000.usb: port 1 high speed
> [ 7.446068] mmcblk0: mmc0:1234 SA04G 3.67 GiB
> [ 7.460930] oprofile: using timer interrupt.
> [ 7.475030] TCP: cubic registered
> [ 7.485974] Initializing XFRM netlink socket
> [ 7.499963] NET: Registered protocol family 10
> [ 7.515539] NET: Registered protocol family 17
> [ 7.529915] NET: Registered protocol family 15
> [ 7.544503] Key type dns_resolver registered
> [ 7.558334] VFP support v0.3: implementor 41 architecture 4 part 30
> variant f rev 0
> [ 7.582361] Registering SWP/SWPB emulation handler
> [ 7.600441] rtc-pl031 1c170000.rtc: setting system clock to
> 1970-01-14 00:44:54 UTC (1125894)
> [ 7.627306] bl_idle_init: No compatible node found
> [ 7.642860] ALSA device list:
> [ 7.652758] #0: ARM AC'97 Interface PL041 rev0 at 0x1c040000, irq 43
> [ 7.674670] Freeing init memory: 276K
> [ 7.696502] init (1): /proc/1/oom_adj is deprecated, please use
> /proc/1/oom_score_adj instead.
> [ 7.724501] mmcblk0: p1 p2 p3 p4 < p5 p6 >
> [ 7.740112] hub 1-1:1.0: USB hub found
> [ 7.752494] hub 1-1:1.0: 3 ports detected
> [ 8.013108] atkbd serio0: keyboard reset failed on 1c060000.kmi
> [ 8.538862]
> [ 8.538864] ======================================================
> [ 8.538866] [ INFO: possible circular locking dependency detected ]
> [ 8.538872] 3.8.0-rc4-00621-g95f63d2 #1 Not tainted
> [ 8.538874] -------------------------------------------------------
> [ 8.538877] init/1 is trying to acquire lock:
> [ 8.538900] ((fb_notifier_list).rwsem){.+.+.+}, at: [<c004d488>]
> __blocking_notifier_call_chain+0x34/0x68
> [ 8.538902]
> [ 8.538902] but task is already holding lock:
> [ 8.538917] (console_lock){+.+.+.}, at: [<c035ab44>] do_fb_ioctl+0x39c/0x5d8
> [ 8.538919]
> [ 8.538919] which lock already depends on the new lock.
> [ 8.538919]
> [ 8.538920]
> [ 8.538920] the existing dependency chain (in reverse order) is:
> [ 8.538929]
> [ 8.538929] -> #1 (console_lock){+.+.+.}:
> [ 8.538939] [<c007e230>] lock_acquire+0xa0/0x104
> [ 8.538948] [<c002534c>] console_lock+0x5c/0x6c
> [ 8.538956] [<c03862d0>] register_con_driver+0x44/0x154
> [ 8.538962] [<c038692c>] take_over_console+0x24/0x38c
> [ 8.538970] [<c035f834>] fbcon_takeover+0x88/0xdc
> [ 8.538976] [<c004cfb0>] notifier_call_chain+0x4c/0x8c
> [ 8.538982] [<c004d4a4>] __blocking_notifier_call_chain+0x50/0x68
> [ 8.538989] [<c004d4dc>] blocking_notifier_call_chain+0x20/0x28
> [ 8.538995] [<c035a380>] register_framebuffer+0x1a4/0x240
> [ 8.539000] [<c0369a5c>] hdlcd_probe+0x674/0x774
> [ 8.539007] [<c03990f8>] platform_drv_probe+0x20/0x24
> [ 8.539014] [<c0397d30>] driver_probe_device+0x88/0x21c
> [ 8.539020] [<c0397f60>] __driver_attach+0x9c/0xa0
> [ 8.539027] [<c03964ac>] bus_for_each_dev+0x58/0x84
> [ 8.539033] [<c03973ec>] bus_add_driver+0xb0/0x24c
> [ 8.539039] [<c03984fc>] driver_register+0x80/0x14c
> [ 8.539046] [<c00085fc>] do_one_initcall+0x3c/0x180
> [ 8.539053] [<c057c808>] kernel_init+0x13c/0x2b0
> [ 8.539060] [<c000e3b0>] ret_from_fork+0x14/0x20
> [ 8.539069]
> [ 8.539069] -> #0 ((fb_notifier_list).rwsem){.+.+.+}:
> [ 8.539075] [<c007d8cc>] __lock_acquire+0x1a98/0x1e54
> [ 8.539081] [<c007e230>] lock_acquire+0xa0/0x104
> [ 8.539087] [<c058448c>] down_read+0x3c/0x4c
> [ 8.539093] [<c004d488>] __blocking_notifier_call_chain+0x34/0x68
> [ 8.539100] [<c004d4dc>] blocking_notifier_call_chain+0x20/0x28
> [ 8.539105] [<c035a710>] fb_set_var+0x2ac/0x344
> [ 8.539111] [<c035ab5c>] do_fb_ioctl+0x3b4/0x5d8
> [ 8.539118] [<c010f948>] do_vfs_ioctl+0x8c/0x5e4
> [ 8.539123] [<c010fee4>] sys_ioctl+0x44/0x68
> [ 8.539129] [<c000e300>] ret_fast_syscall+0x0/0x3c
> [ 8.539131]
> [ 8.539131] other info that might help us debug this:
> [ 8.539131]
> [ 8.539133] Possible unsafe locking scenario:
> [ 8.539133]
> [ 8.539135] CPU0 CPU1
> [ 8.539137] ---- ----
> [ 8.539142] lock(console_lock);
> [ 8.539147] lock((fb_notifier_list).rwsem);
> [ 8.539152] lock(console_lock);
> [ 8.539157] lock((fb_notifier_list).rwsem);
> [ 8.539159]
> [ 8.539159] *** DEADLOCK ***
> [ 8.539159]
> [ 8.539162] 2 locks held by init/1:
> [ 8.539175] #0: (&fb_info->lock){+.+.+.}, at: [<c035963c>]
> lock_fb_info+0x20/0x44
> [ 8.539187] #1: (console_lock){+.+.+.}, at: [<c035ab44>]
> do_fb_ioctl+0x39c/0x5d8
> [ 8.539189]
> [ 8.539189] stack backtrace:
> [ 8.539200] [<c0015234>] (unwind_backtrace+0x0/0x100) from
> [<c007a544>] (print_circular_bug+0x21c/0x310)
> [ 8.539209] [<c007a544>] (print_circular_bug+0x21c/0x310) from
> [<c007d8cc>] (__lock_acquire+0x1a98/0x1e54)
> [ 8.539216] [<c007d8cc>] (__lock_acquire+0x1a98/0x1e54) from
> [<c007e230>] (lock_acquire+0xa0/0x104)
> [ 8.539224] [<c007e230>] (lock_acquire+0xa0/0x104) from
> [<c058448c>] (down_read+0x3c/0x4c)
> [ 8.539231] [<c058448c>] (down_read+0x3c/0x4c) from [<c004d488>]
> (__blocking_notifier_call_chain+0x34/0x68)
> [ 8.539239] [<c004d488>] (__blocking_notifier_call_chain+0x34/0x68)
> from [<c004d4dc>] (blocking_notifier_call_chain+0x20/0x28)
> [ 8.539246] [<c004d4dc>] (blocking_notifier_call_chain+0x20/0x28)
> from [<c035a710>] (fb_set_var+0x2ac/0x344)
> [ 8.539254] [<c035a710>] (fb_set_var+0x2ac/0x344) from [<c035ab5c>]
> (do_fb_ioctl+0x3b4/0x5d8)
> [ 8.539261] [<c035ab5c>] (do_fb_ioctl+0x3b4/0x5d8) from
> [<c010f948>] (do_vfs_ioctl+0x8c/0x5e4)
> [ 8.539268] [<c010f948>] (do_vfs_ioctl+0x8c/0x5e4) from
> [<c010fee4>] (sys_ioctl+0x44/0x68)
> [ 8.539275] [<c010fee4>] (sys_ioctl+0x44/0x68) from [<c000e300>]
> (ret_fast_syscall+0x0/0x3c)
> [ 9.781834] atkbd serio1: keyboard reset failed on 1c070000.kmi
> [ 10.414567] EXT4-fs (mmcblk0p2): mounted filesystem with ordered
> data mode. Opts: (null)
> [ 10.567713] EXT4-fs (mmcblk0p3): warning: maximal mount count
> reached, running e2fsck is recommended
> [ 10.598900] EXT4-fs (mmcblk0p3): recovery complete
> [ 10.621476] EXT4-fs (mmcblk0p3): mounted filesystem with ordered
> data mode. Opts: (null)
> [ 15.288641] EXT4-fs (mmcblk0p5): warning: maximal mount count
> reached, running e2fsck is recommended
> [ 15.320604] EXT4-fs (mmcblk0p5): recovery complete
> [ 15.339184] EXT4-fs (mmcblk0p5): mounted filesystem with ordered
> data mode. Opts: (null)
> [ 15.665576] gator: version magic '3.5.0-rc7-23732-g179e319 SMP
> mod_unload ARMv7 p2v8 ' should be '3.8.0-rc4-00621-g95f63d2 SMP
> mod_unload ARMv7 p2v8 '
> [ 15.749911] init: cannot find '/system/etc/install-recovery.sh',
> disabling 'flash_recovery'
> [ 17.473536] input: Fake Touchscreen as /devices/virtual/input/input0
> [ 17.769936] smsc911x 1a000000.ethernet eth0: SMSC911x/921x
> identified at 0xf00e0000, IRQ: 47
>
> _______________________________________________
> linaro-dev mailing list
> linaro-dev@lists.linaro.org
>
http://lists.linaro.org/mailman/listinfo/linaro-dev