[PATCH 1/2] ARM: ux500: add an SMP enablement type and move cpu nodes
Linus Walleij
linus.walleij at linaro.org
Thu Oct 22 05:24:31 PDT 2015
On Tue, Oct 20, 2015 at 6:52 AM, Kevin Hilman <khilman at kernel.org> wrote:
> On Mon, Aug 3, 2015 at 12:26 AM, Linus Walleij <linus.walleij at linaro.org> wrote:
>> The "cpus" node cannot be inside the "soc" node, while this
>> works for the CoreSight blocks, the early boot code will look
>> for "cpus" directly under the root node, so this is a hard
>> convention. So move the CPU nodes.
>>
>> Augment the "reg" property to match what is actually in the
>> hardware: 0x300 and 0x301 respectively.
>>
>> Then add an SMP enablement type to be used by the SMP init
>> code, "ste,dbx500-smp".
>>
>> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
>> ---
>> Hi ARM SoC people: please apply this as a fix for v4.2
>> as it is prerequisite for 2/2 which is a more proper fix
>> for the secondary CPU boot regression addressed by the
>> fixed remappings patch.
>
> kernelci.org has had the ste-snowall failing in v4.2 stable[1] for
> awhile, so I finally bisected[2] it down to this patch, which is in
> mainline in the form of commit bf64dd262eaa (ARM: ux500: add an SMP
> enablement type and move cpu nodes). I confirmed that reverting that
> commit on top of v4.2 gets the snowball booting again.
>
> Kevin
>
> [1] http://kernelci.org/boot/all/job/stable/kernel/v4.2.3/
> [2] https://ci.linaro.org/view/people/job/tbaker-boot-bisect-bot/102/console
OK I tested the u8500_defconfig and it still works fine on
Snowball. So I have no clue what is causing this :(
(See below for my bootlog.)
- I first thought it was a multiplatform issue but it seems
not AFAICT from the logs.
- Is the CI boot is using the latest device tree from
arch/arm/boot/dts/ste-snowball.dts?
Yours,
Linus Walleij
5070] starting kernel at 0x00008000, machine 3293
[ 0.000000] Booting Linux on physical CPU 0x300
[ 0.000000] Linux version 4.3.0-rc6-00001-gdff502ea54cb
(linus at localhost.localdomain) (gcc version 4.9.3 20150113 (prerelease)
(Linaro GCC 4.95
[ 0.000000] CPU: ARMv7 Processor [412fc091] revision 1 (ARMv7), cr=10c5787d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing
instruction cache
[ 0.000000] Machine model: ST-Ericsson HREF (v60+) and TVK1281618 UIB
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] DB8500 v2.1 [0x008500b1]
[ 0.000000] PERCPU: Embedded 11 pages/cpu @dfbb2000 s14464 r8192
d22400 u45056
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on.
Total pages: 82944
[ 0.000000] Kernel command line: cachepolicy=writealloc noinitrd
rdinit=init init=init board_id=1 crashkernel=1M at 0x5600000
logo=logo.nologo st
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Memory: 318980K/335872K available (5053K kernel code,
203K rwdata, 1564K rodata, 6420K init, 253K bss, 16892K reserved, 0K
cma-res)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc067e990 (6619 kB)
[ 0.000000] .init : 0xc067f000 - 0xc0cc4000 (6420 kB)
[ 0.000000] .data : 0xc0cc4000 - 0xc0cf6f40 ( 204 kB)
[ 0.000000] .bss : 0xc0cf6f40 - 0xc0d366c4 ( 254 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Build-time adjustment of leaf fanout to 32.
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns,
wraps every 65535999984741ns
[ 0.000030] clocksource: dbx500-prcmu-timer: mask: 0xffffffff
max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
[ 0.000305] clocksource: mtu_0: mask: 0xffffffff max_cycles:
0xffffffff, max_idle_ns: 796358519366 ns
[ 0.000335] Switching to timer-based delay loop, resolution 416ns
[ 0.001495] Console: colour dummy device 80x30
[ 0.001525] Calibrating delay loop (skipped), value calculated
using timer frequency.. 4.80 BogoMIPS (lpj=24000)
[ 0.001525] pid_max: default: 32768 minimum: 301
[ 0.001678] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.001708] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.002380] CPU: Testing write buffer coherency: ok
[ 0.002777] CPU0: thread -1, cpu 0, socket 3, mpidr 80000300
[ 0.002960] Setting up static identity map for 0x8280 - 0x82d8
[ 0.003265] L2C-310 erratum 753970 enabled
[ 0.003295] L2C-310 cache controller enabled, 8 ways, 512 kB
[ 0.003295] L2C-310: CACHE_ID 0x410000c5, AUX_CTRL 0x7ec60800
[ 0.081024] CPU1: thread -1, cpu 1, socket 3, mpidr 80000301
[ 0.081085] Brought up 2 CPUs
[ 0.081085] SMP: Total of 2 processors activated (9.60 BogoMIPS).
[ 0.081085] CPU: All CPU(s) started in SVC mode.
[ 0.081756] devtmpfs: initialized
[ 0.092559] VFP support v0.3: implementor 41 architecture 3 part 30
variant 9 rev 2
[ 0.093048] clocksource: jiffies: mask: 0xffffffff max_cycles:
0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.093231] pinctrl core: initialized pinctrl subsystem
[ 0.094604] NET: Registered protocol family 16
[ 0.095489] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.120483] cpuidle: using governor ladder
[ 0.150482] cpuidle: using governor menu
[ 0.156188] pinctrl-nomadik soc:pinctrl: populate NMK GPIO 0 "gpio"
[ 0.156280] pinctrl-nomadik soc:pinctrl: populate NMK GPIO 1 "gpio"
[ 0.156311] pinctrl-nomadik soc:pinctrl: populate NMK GPIO 2 "gpio"
[ 0.156341] pinctrl-nomadik soc:pinctrl: populate NMK GPIO 3 "gpio"
[ 0.156372] pinctrl-nomadik soc:pinctrl: populate NMK GPIO 4 "gpio"
[ 0.156402] pinctrl-nomadik soc:pinctrl: populate NMK GPIO 5 "gpio"
[ 0.156402] pinctrl-nomadik soc:pinctrl: populate NMK GPIO 6 "gpio"
[ 0.156433] pinctrl-nomadik soc:pinctrl: populate NMK GPIO 7 "gpio"
[ 0.156463] pinctrl-nomadik soc:pinctrl: populate NMK GPIO 8 "gpio"
[ 0.157806] pinctrl-nomadik soc:pinctrl: initialized Nomadik pin
control driver
[ 0.158630] PRCMU firmware: U8500(2), version 3.6.1
[ 0.159851] ab8500-core ab8500-core.0: detected chip, AB8500 rev. 3.0
[ 0.159881] ab8500-core ab8500-core.0: switch off cause(s) (0x4):
[ 0.159881] "Vbat lower then BattOk falling threshold"
[ 0.159912] ab8500-core ab8500-core.0: turn on reason(s) (0x20):
[ 0.159942] "Vbus Detect (USB)"
[ 0.162963] abx500-gpio pinctrl-ab8500.0: added gpiochip
[ 0.167572] abx500-gpio pinctrl-ab8500.0: registered pin controller
[ 0.167572] abx500-gpio pinctrl-ab8500.0: initialized abx500 pinctrl driver
[ 0.168884] DB8500 PRCMU initialized
[ 0.175048] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1
watchpoint registers.
[ 0.175048] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 0.179107] Serial: AMBA PL011 UART driver
[ 0.179962] 80120000.uart: ttyAMA0 at MMIO 0x80120000 (irq = 112,
base_baud = 0) is a PL011 rev3
[ 0.180908] 80007000.uart: ttyAMA2 at MMIO 0x80007000 (irq = 113,
base_baud = 0) is a PL011 rev3
[ 0.733032] console [ttyAMA2] enabled
[ 0.737426] abx500-clk abx500-clk.0: register clocks for ab850x
[ 0.820983] gpio 8012e000.gpio: at address e08fa000
[ 0.826141] gpio 8012e080.gpio: at address e08fc080
[ 0.831359] gpio 8000e000.gpio: at address e08fe000
[ 0.836486] gpio 8000e080.gpio: at address e0900080
[ 0.841674] gpio 8000e100.gpio: at address e0902100
[ 0.846832] gpio 8000e180.gpio: at address e0904180
[ 0.852050] gpio 8011e000.gpio: at address e0906000
[ 0.857208] gpio 8011e080.gpio: at address e0908080
[ 0.862365] gpio a03fe000.gpio: at address e090a000
[ 0.867889] dma40 801c0000.dma-controller: hardware rev: 3 @
0x801c0000 with 8 physical and 256 logical channels
[ 0.878173] dma40 801c0000.dma-controller: 7 of 8 physical DMA
channels available
[ 0.885681] dma40 801c0000.dma-controller: [d40_phy_res_init] INFO:
channel 4 is misconfigured (0)
[ 0.894653] dma40 801c0000.dma-controller: [d40_phy_res_init] INFO:
channel 5 is misconfigured (0)
[ 0.903625] dma40 801c0000.dma-controller: [d40_phy_res_init] INFO:
channel 6 is misconfigured (0)
[ 0.943267] dma40 801c0000.dma-controller: initialized
[ 0.949249] regulator regulator.21: regulator constraints null pointer
[ 0.956207] regulator regulator.22: regulator constraints null pointer
[ 0.963226] regulator regulator.23: regulator constraints null pointer
[ 0.982208] V-CSI/DSI: Failed to create debugfs directory
[ 0.988677] ssp-pl022 80002000.ssp: ARM PL022 driver, device ID: 0x01080022
[ 0.996185] ssp-pl022 80002000.ssp: probe: no chip select defined
[ 1.002502] ssp-pl022 80003000.ssp: ARM PL022 driver, device ID: 0x01080022
[ 1.009460] ssp-pl022 80003000.ssp: probe: no chip select defined
[ 1.015686] ssp-pl022 8011a000.spi: ARM PL022 driver, device ID: 0x00080023
[ 1.022705] ssp-pl022 8011a000.spi: probe: no chip select defined
[ 1.028900] ssp-pl022 80112000.spi: ARM PL022 driver, device ID: 0x00080023
[ 1.035858] ssp-pl022 80112000.spi: probe: no chip select defined
[ 1.042053] ssp-pl022 80111000.spi: ARM PL022 driver, device ID: 0x00080023
[ 1.049011] ssp-pl022 80111000.spi: probe: no chip select defined
[ 1.055206] ssp-pl022 80129000.spi: ARM PL022 driver, device ID: 0x00080023
[ 1.062164] ssp-pl022 80129000.spi: probe: no chip select defined
[ 1.068634] usbcore: registered new interface driver usbfs
[ 1.074218] usbcore: registered new interface driver hub
[ 1.079620] usbcore: registered new device driver usb
[ 1.086120] abx5x0-usb ab8500-usb.0: could not get/set default pinstate
[ 1.096282] V-INTCORE: operation not allowed
[ 1.100555] abx5x0-usb ab8500-usb.0: Failed to set the Vintcore to
1.3V, ret=-1
[ 1.107940] abx5x0-usb ab8500-usb.0: Vintcore is not set to 1.3V volt=1250000
[ 1.115142] abx5x0-usb ab8500-usb.0: revision 0x30 driver initialized
[ 1.122283] nmk-i2c 80004000.i2c: initialize Nomadik I2C at [mem
0x80004000-0x80004fff] on virtual base e0942000
[ 1.133300] tc3589x 0-0044: manufacturer: 0x3, version: 0x80
[ 1.139892] tc3589x 0-0044: added gpio block
[ 1.144348] tc3589x 0-0044: added keypad block
[ 1.149261] nmk-i2c 80122000.i2c: initialize Nomadik I2C at [mem
0x80122000-0x80122fff] on virtual base e0944000
[ 1.160003] nmk-i2c 80128000.i2c: initialize Nomadik I2C at [mem
0x80128000-0x80128fff] on virtual base e0946000
[ 1.171539] nmk-i2c 80110000.i2c: initialize Nomadik I2C at [mem
0x80110000-0x80110fff] on virtual base e0948000
[ 1.182067] nmk-i2c 8012a000.i2c: initialize Nomadik I2C at [mem
0x8012a000-0x8012afff] on virtual base e094a000
[ 1.192840] Advanced Linux Sound Architecture Driver Initialized.
[ 1.211181] clocksource: Switched to clocksource dbx500-prcmu-timer
[ 1.226898] NET: Registered protocol family 2
[ 1.231903] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[ 1.238983] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[ 1.245574] TCP: Hash tables configured (established 4096 bind 4096)
[ 1.252136] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 1.257995] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 1.264465] NET: Registered protocol family 1
[ 1.269073] RPC: Registered named UNIX socket transport module.
[ 1.275054] RPC: Registered udp transport module.
[ 1.279754] RPC: Registered tcp transport module.
[ 1.284484] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 1.630401] Trying to unpack rootfs image as initramfs...
[ 1.986999] rootfs image is not initramfs (junk in compressed
archive); looks like an initrd
[ 1.995605] Freeing initrd memory: 4K (c1000000 - c1001000)
[ 2.002044] hw perfevents: enabled with armv7_cortex_a9 PMU driver,
7 counters available
[ 2.011474] futex hash table entries: 512 (order: 3, 32768 bytes)
[ 2.029296] io scheduler noop registered
[ 2.033325] io scheduler deadline registered
[ 2.037628] io scheduler cfq registered (default)
[ 2.072479] brd: module loaded
[ 2.075866] bh1780 2-0029: Ambient Light Sensor, Rev : 1
[ 2.081390] HSI/SSI char device loaded
[ 2.087158] musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver
[ 2.093078] musb-hdrc musb-hdrc.0.auto: new USB bus registered,
assigned bus number 1
[ 2.101654] hub 1-0:1.0: USB hub found
[ 2.105438] hub 1-0:1.0: 1 port detected
[ 2.131866] mousedev: PS/2 mouse device common for all mice
[ 2.139160] input: tc3589x-keypad as
/devices/soc0/soc/80004000.i2c/i2c-0/0-0044/tc3589x-keypad/input/input0
[ 2.152526] input: AB8500 POn(PowerOn) Key as
/devices/soc0/soc/db8500-prcmu/ab8500-core.0/ab8500-poweron-key.0/input/input1
[ 2.176818] ab8500-rtc ab8500-rtc.0: rtc core: registered ab8500-rtc as rtc0
[ 2.184448] rtc-pl031 80154000.rtc: rtc core: registered pl031 as rtc1
[ 2.191772] db8500-thermal db8500-thermal.0: Thermal zone device registered.
[ 2.199462] ux500_wdt ux500_wdt: initialized
[ 2.204101] dbx500-cpufreq: Available frequencies:
[ 2.208892] 200 Mhz
[ 2.211151] 400 Mhz
[ 2.213439] 800 Mhz
[ 2.215728] 1000 Mhz
[ 2.218170] cpufreq: cpufreq_online: CPU0: Running at unlisted
freq: 998400 KHz
[ 2.225952] cpufreq: cpufreq_online: CPU0: Unlisted initial
frequency changed to: 1000000 KHz
[ 2.239410] mmci-pl18x 80126000.sdi0_per1: Got CD GPIO
[ 2.245361] V-MMC-SD: supplied by VEXTSUPPLY3
[ 2.250610] mmci-pl18x 80126000.sdi0_per1: mmc0: PL180 manf 80 rev4
at 0x80126000 irq 114,0 (pio)
[ 2.260223] mmci-pl18x 80126000.sdi0_per1: DMA channels RX
dma0chan0, TX dma0chan1
[ 2.305084] mmci-pl18x 80118000.sdi1_per2: No vmmc regulator found
[ 2.311492] mmci-pl18x 80118000.sdi1_per2: No vqmmc regulator found
[ 2.317901] mmci-pl18x 80118000.sdi1_per2: mmc1: PL180 manf 80 rev4
at 0x80118000 irq 115,0 (pio)
[ 2.326904] mmci-pl18x 80118000.sdi1_per2: DMA channels RX
dma0chan2, TX dma0chan3
[ 2.375091] mmci-pl18x 80005000.sdi2_per3: No vqmmc regulator found
[ 2.381744] mmci-pl18x 80005000.sdi2_per3: mmc2: PL180 manf 80 rev4
at 0x80005000 irq 116,0 (pio)
[ 2.391143] mmci-pl18x 80005000.sdi2_per3: DMA channels RX
dma0chan4, TX dma0chan5
[ 2.435485] V-eMMC1: supplied by VEXTSUPPLY3
[ 2.440277] mmci-pl18x 80114000.sdi4_per2: No vqmmc regulator found
[ 2.446899] mmci-pl18x 80114000.sdi4_per2: mmc3: PL180 manf 80 rev4
at 0x80114000 irq 117,0 (pio)
[ 2.455963] mmci-pl18x 80114000.sdi4_per2: DMA channels RX
dma0chan6, TX dma0chan7
[ 2.473876] mmc0: host does not support reading read-only switch,
assuming write-enable
[ 2.482360] mmc0: new SD card at address 8001
[ 2.487335] mmcblk0: mmc0:8001 SU512 483 MiB
[ 2.493621] mmcblk0: p1
[ 2.507720] mmci-pl18x 80118000.sdi1_per2: card claims to support
voltages below defined range
[ 2.516479] mmci-pl18x 80118000.sdi1_per2: no support for card's volts
[ 2.523071] mmc1: error -22 whilst initialising MMC card
[ 2.542175] lp5521 2-0033: internal clock used
[ 2.551757] lp5521 2-0033: lp5521 programmable led chip found
[ 2.576232] mmci-pl18x 80118000.sdi1_per2: card claims to support
voltages below defined range
[ 2.584869] mmci-pl18x 80118000.sdi1_per2: no support for card's volts
[ 2.591522] mmc1: error -22 whilst initialising MMC card
[ 2.596862] lp5521 2-0034: internal clock used
[ 2.604370] lp5521 2-0034: lp5521 programmable led chip found
[ 2.613342] hash1 hash1: successfully registered
[ 2.619415] cryp1 cryp1: successfully registered
[ 2.625061] usbcore: registered new interface driver usbhid
[ 2.630706] usbhid: USB HID core driver
[ 2.635223] V-DISPLAY: supplied by VEXTSUPPLY3
[ 2.642059] iio iio:device0: registered accelerometer lsm303dlh_accel
[ 2.650970] iio iio:device1: registered gyroscope l3g4200d
[ 2.658905] iio iio:device2: registered magnetometer lsm303dlh_magn
[ 2.666229] iio iio:device3: Full-scale not possible
[ 2.672302] iio iio:device3: registered pressure sensor lps001wp
[ 2.678771] coresight-tpiu 80190000.tpiu: TPIU initialized
[ 2.684875] coresight-etb10 801a4000.etb: ETB initialized
[ 2.690673] coresight-funnel 801a6000.funnel: FUNNEL initialized
[ 2.697204] coresight-replicator soc:replicator: REPLICATOR initialized
[ 2.704467] coresight-etm3x 801ae000.ptm: PTM 1.0 initialized
[ 2.710784] coresight-etm3x 801af000.ptm: PTM 1.0 initialized
[ 2.717315] mmc2: new high speed MMC card at address 0001
[ 2.724121] ux500-msp-i2s ux500-msp-i2s.1: Failed to get DMA
channel capabilities, falling back to period counting: -6
[ 2.734893] snd-soc-mop500 snd-soc-mop500.0: ab8500-codec-dai.0 <->
ux500-msp-i2s.1 mapping ok
[ 2.743591] mmcblk1: mmc2:0001 002G03 1.84 GiB
[ 2.746795] ux500-msp-i2s ux500-msp-i2s.3: Failed to get DMA
channel capabilities, falling back to period counting: -6
[ 2.746795] snd-soc-mop500 snd-soc-mop500.0: ab8500-codec-dai.1 <->
ux500-msp-i2s.3 mapping ok
[ 2.767944] mmcblk1boot0: mmc2:0001 002G03 partition 1 512 KiB
[ 2.774047] mmcblk1boot1: mmc2:0001 002G03 partition 2 512 KiB
[ 2.781738] NET: Registered protocol family 10
[ 2.786926] sit: IPv6 over IPv4 tunneling driver
[ 2.790313] mmcblk1rpmb: mmc2:0001 002G03 partition 3 128 KiB
[ 2.798187] NET: Registered protocol family 17
[ 2.803527] NET: Registered protocol family 35
[ 2.808135] NET: Registered protocol family 37
[ 2.813079] Registering SWP/SWPB emulation handler
[ 2.830352] input: gpio_keys as /devices/soc0/gpio_keys/input/input2
[ 2.838226] ab8500-rtc ab8500-rtc.0: setting system clock to
2000-01-01 01:08:47 UTC (946688927)
[ 2.854370] db8500-esram12: disabling
[ 2.858123] db8500-esram34: disabling
[ 2.862030] V-CSI/DSI: disabling
[ 2.865478] ALSA device list:
[ 2.868438] #0: MOP500-card
[ 2.871887] uart-pl011 80007000.uart: DMA channel TX dma0chan12
[ 2.877807] uart-pl011 80007000.uart: DMA channel RX dma0chan13
[ 2.889587] Freeing unused kernel memory: 6420K (c067f000 - c0cc4000)
preparing networking...
[ 2.912109] mmc3: new high speed MMC card at address 0001
[ 2.921295] mmcblk2: mmc3:0001 008G03 7.37 GiB
[ 2.936279] mmcblk2boot0: mmc3:0001 008G03 partition 1 2.00 MiB
ip: SIOCGIFFLAGS: No such device
running rc.d services...
[ 2.952728] mmcblk2boot1: mmc3:0001 008G03 partition 2 2.00 MiB
mounting tmpfs at /dev ...done
mounting pts at /dev/pts ...[ 2.970336] mmcblk2rpmb: mmc3:0001
008G03 partition 3 128 KiB
[ 2.977752] mmcblk2: p1
More information about the linux-arm-kernel
mailing list