qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 7/9] i.MX: Add i.MX6 SOC implementation.


From: Jean-Christophe DUBOIS
Subject: Re: [Qemu-devel] [PATCH v2 7/9] i.MX: Add i.MX6 SOC implementation.
Date: Sat, 20 Feb 2016 11:55:26 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1

Just to compare I tried to run Linux on QEMU emulating highbank.

For now I am unable to start in SMP mode. Only one core is activated.

And there is linux backtrace in L2C-310 init.

My command line:

# qemu-system-arm -smp 4 -M highbank -m 1024M -display none -no-reboot -kernel zImage -initrd rootfs.cpio.gz -dtb highbank.dtb -serial stdio

The kernel output:
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.5.0-rc1-00028-g03c21cb-dirty (address@hidden) (gcc version 4.6.3 (GCC) ) #20 SMP Sat Feb 20 11:27:10 CET 2016
[    0.000000] CPU: ARMv7 Processor [410fc090] revision 0 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[    0.000000] Machine model: Calxeda Highbank
[    0.000000] cma: Reserved 64 MiB at 0x3c000000
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] DT missing boot CPU MPIDR[23:0], fall back to default cpu_logical_map
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: Using PSCI v0.1 Function IDs from DT
[    0.000000] PERCPU: Embedded 12 pages/cpu @ef7e3000 s18880 r8192 d22080 u49152
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260608
[    0.000000] Kernel command line: console=ttyAMA0
[    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] Memory: 958304K/1048576K available (8557K kernel code, 1112K rwdata, 4036K rodata, 1104K init, 345K bss, 24736K reserved, 65536K cma-reserved, 196608K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0208000 - 0xc0e554cc   (12598 kB)
[    0.000000]       .init : 0xc0e56000 - 0xc0f6a000   (1104 kB)
[    0.000000]       .data : 0xc0f6a000 - 0xc10803c0   (1113 kB)
[    0.000000]        .bss : 0xc1083000 - 0xc10d9598   ( 346 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000]     Build-time adjustment of leaf fanout to 32.
[    0.000000]     RCU restricting CPUs from NR_CPUS=16 to nr_cpu_ids=1.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=1
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] L2C-310 erratum 769419 enabled
[    0.000000] L2C-310 enabling early BRESP for Cortex-A9
[    0.000000] ------------[ cut here ]------------
[    0.000000] WARNING: CPU: 0 PID: 0 at arch/arm/mach-highbank/highbank.c:60 highbank_l2c310_write_sec+0x34/0x58()
[    0.000000] Highbank L2C310: ignoring write to reg 0x104
[    0.000000] Modules linked in:
[    0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.5.0-rc1-00028-g03c21cb-dirty #20
[    0.000000] Hardware name: Highbank
[    0.000000] [<c02187b4>] (unwind_backtrace) from [<c0213e20>] (show_stack+0x10/0x14)
[    0.000000] [<c0213e20>] (show_stack) from [<c048f9a4>] (dump_stack+0x70/0x8c)
[    0.000000] [<c048f9a4>] (dump_stack) from [<c024ab30>] (warn_slowpath_common+0x74/0xac)
[    0.000000] [<c024ab30>] (warn_slowpath_common) from [<c024abfc>] (warn_slowpath_fmt+0x30/0x40)
[    0.000000] [<c024abfc>] (warn_slowpath_fmt) from [<c02292fc>] (highbank_l2c310_write_sec+0x34/0x58)
[    0.000000] [<c02292fc>] (highbank_l2c310_write_sec) from [<c0223e44>] (l2c_configure+0x34/0x48)
[    0.000000] [<c0223e44>] (l2c_configure) from [<c0224128>] (l2c310_configure+0xc/0x16c)
[    0.000000] [<c0224128>] (l2c310_configure) from [<c0223f40>] (l2c_enable+0xe8/0xf8)
[    0.000000] [<c0223f40>] (l2c_enable) from [<c0e5eb90>] (l2c310_enable+0x140/0x21c)
[    0.000000] [<c0e5eb90>] (l2c310_enable) from [<c0e5f474>] (__l2c_init.part.6+0x19c/0x234)
[    0.000000] [<c0e5f474>] (__l2c_init.part.6) from [<c0e5f7b4>] (l2x0_of_init+0x208/0x254)
[    0.000000] [<c0e5f7b4>] (l2x0_of_init) from [<c0e5947c>] (init_IRQ+0x5c/0x80)
[    0.000000] [<c0e5947c>] (init_IRQ) from [<c0e56adc>] (start_kernel+0x244/0x3dc)
[    0.000000] [<c0e56adc>] (start_kernel) from [<0020807c>] (0x20807c)
[    0.000000] ---[ end trace cb88537fdc8fa200 ]---
[    0.000000] L2C-310 dynamic clock gating disabled, standby mode disabled
[    0.000000] L2C-310 cache controller enabled, 8 ways, 128 kB
[    0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x02020000
[    0.000000] clocksource: arm,sp804: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 12741736309 ns
[    0.000184] sched_clock: 32 bits at 150MHz, resolution 6ns, wraps every 14316557820ns
[    0.005851] Console: colour dummy device 80x30
[    0.010978] Calibrating delay loop... 830.66 BogoMIPS (lpj=2076672)
[    0.066316] pid_max: default: 32768 minimum: 301
[    0.067955] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.068026] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.080254] CPU: Testing write buffer coherency: ok
[    0.091638] missing device node for CPU 0
[    0.091966] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.092492] Setting up static identity map for 0x209000 - 0x209098
[    0.105477] Brought up 1 CPUs
[    0.105595] SMP: Total of 1 processors activated (830.66 BogoMIPS).
[    0.105723] CPU: All CPU(s) started in SVC mode.
[    0.161221] devtmpfs: initialized
[    0.173367] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 0
[    0.191622] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 9556302231375000 ns
[    0.218111] pinctrl core: initialized pinctrl subsystem
[    0.240982] NET: Registered protocol family 16
[    0.264314] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.273167] cpuidle: using governor menu
[    0.291816] of_amba_device_create(): amba_device_add() failed (-19) for /soc/address@hidden
[    0.296693] of_amba_device_create(): amba_device_add() failed (-19) for /soc/address@hidden
[    0.301322] No ATAGs?
[    0.301473] hw-breakpoint: debug architecture 0x4 unsupported.
[    0.311969] Serial: AMBA PL011 UART driver
[    0.314789] fff36000.serial: ttyAMA0 at MMIO 0xfff36000 (irq = 30, base_baud = 0) is a PL011 rev1
[    0.361986] console [ttyAMA0] enabled
[    0.424008] vgaarb: loaded
[    0.429273] SCSI subsystem initialized
[    0.432446] usbcore: registered new interface driver usbfs
[    0.433301] usbcore: registered new interface driver hub
[    0.434118] usbcore: registered new device driver usb
[    0.438497] pps_core: LinuxPPS API ver. 1 registered
[    0.438988] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <address@hidden>
[    0.439957] PTP clock support registered
[    0.441054] EDAC MC: Ver: 3.0.0
[    0.458770] clocksource: Switched to clocksource arm,sp804
[    0.512003] NET: Registered protocol family 2
[    0.519451] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[    0.520405] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    0.522070] TCP: Hash tables configured (established 8192 bind 8192)
[    0.523533] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.524236] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.526354] NET: Registered protocol family 1
[    0.531160] RPC: Registered named UNIX socket transport module.
[    0.531952] RPC: Registered udp transport module.
[    0.532391] RPC: Registered tcp transport module.
[    0.532765] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.551747] Trying to unpack rootfs image as initramfs...
[    0.772458] Freeing initrd memory: 428K (c8000000 - c806b000)
[    0.774751] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 1 counters available
[    0.780779] futex hash table entries: 256 (order: 2, 16384 bytes)
[    0.823585] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.828308] NFS: Registering the id_resolver key type
[    0.829517] Key type id_resolver registered
[    0.829774] Key type id_legacy registered
[    0.830580] ntfs: driver 2.1.32 [Flags: R/O].
[    0.840916] bounce: pool size: 64 pages
[    0.843410] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[    0.844144] io scheduler noop registered
[    0.844440] io scheduler deadline registered
[    0.844923] io scheduler cfq registered (default)
[    1.147672] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    1.155398] SuperH (H)SCI(F) driver initialized
[    1.158507] msm_serial: driver initialized
[    1.159302] STMicroelectronics ASC driver initialized
[    1.164268] [drm] Initialized drm 1.1.0 20060810
[    1.232423] brd: module loaded
[    1.272039] loop: module loaded
[    1.281563] highbank-ahci ffe08000.sata: AHCI 0001.0000 32 slots 1 ports 1.5 Gbps 0x1 impl platform mode
[    1.282249] highbank-ahci ffe08000.sata: flags: ncq only
[    1.290241] scsi host0: sata_highbank
[    1.296846] ata1: SATA max UDMA/133 mmio [mem 0xffe08000-0xffe17fff] port 0x100 irq 27
[    1.317097] libphy: Fixed MDIO Bus: probed
[    1.319831] CAN device driver interface
[    1.322883] calxedaxgmac fff50000.ethernet (unnamed net_device) (uninitialized): h/w version is 0x1012
[    1.327766] calxedaxgmac fff51000.ethernet (unnamed net_device) (uninitialized): h/w version is 0x1012
[    1.333222] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.3.0-k
[    1.333607] igb: Copyright (c) 2007-2014 Intel Corporation.
[    1.342007] pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB Ethernet driver
[    1.342613] usbcore: registered new interface driver pegasus
[    1.343188] usbcore: registered new interface driver asix
[    1.343679] usbcore: registered new interface driver ax88179_178a
[    1.344164] usbcore: registered new interface driver cdc_ether
[    1.344760] usbcore: registered new interface driver smsc75xx
[    1.345337] usbcore: registered new interface driver smsc95xx
[    1.346240] usbcore: registered new interface driver net1080
[    1.346742] usbcore: registered new interface driver cdc_subset
[    1.347219] usbcore: registered new interface driver zaurus
[    1.347861] usbcore: registered new interface driver cdc_ncm
[    1.352913] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.353397] ehci-pci: EHCI PCI platform driver
[    1.354023] ehci-platform: EHCI generic platform driver
[    1.354755] ehci-omap: OMAP-EHCI Host Controller driver
[    1.355447] ehci-orion: EHCI orion driver
[    1.356401] SPEAr-ehci: EHCI SPEAr driver
[    1.357040] ehci-st: EHCI STMicroelectronics driver
[    1.357691] ehci-exynos: EHCI EXYNOS driver
[    1.358307] ehci-atmel: EHCI Atmel driver
[    1.358907] tegra-ehci: Tegra EHCI driver
[    1.359672] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.360467] ohci-pci: OHCI PCI platform driver
[    1.361146] ohci-platform: OHCI generic platform driver
[    1.361889] ohci-omap3: OHCI OMAP3 driver
[    1.362535] SPEAr-ohci: OHCI SPEAr driver
[    1.363201] ohci-st: OHCI STMicroelectronics driver
[    1.364030] ohci-atmel: OHCI Atmel driver
[    1.366552] usbcore: registered new interface driver usb-storage
[    1.376379] mousedev: PS/2 mouse device common for all mice
[    1.389381] rtc-pl031 fff35000.rtc: rtc core: registered pl031 as rtc0
[    1.396441] i2c /dev entries driver
[    1.424256] hb_mc_edac fff00000.memory-controller: No ECC present, or ECC disabled
[    1.429835] EDAC DEVICE0: Giving out device to module hb_l2_edac controller calxeda,hb-sregs-l2-ecc: DEV fff3c200.sregs (INTERRUPT)
[    1.436472] sdhci: Secure Digital Host Controller Interface driver
[    1.436868] sdhci: Copyright(c) Pierre Ossman
[    1.442605] Synopsys Designware Multimedia Card Interface Driver
[    1.446809] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.453659] ledtrig-cpu: registered to indicate activity on CPUs
[    1.455151] usbcore: registered new interface driver usbhid
[    1.455559] usbhid: USB HID core driver
[    1.479532] NET: Registered protocol family 10
[    1.489877] sit: IPv6 over IPv4 tunneling driver
[    1.494441] NET: Registered protocol family 17
[    1.494878] can: controller area network core (rev 20120528 abi 9)
[    1.495609] NET: Registered protocol family 29
[    1.495939] can: raw protocol (rev 20120528)
[    1.496268] can: broadcast manager protocol (rev 20120528 t)
[    1.496630] can: netlink gateway (rev 20130117) max_hops=1
[    1.499025] Key type dns_resolver registered
[    1.499704] ThumbEE CPU extension supported.
[    1.500037] Registering SWP/SWPB emulation handler
[    1.514185] rtc-pl031 fff35000.rtc: setting system clock to 2016-02-20 10:36:54 UTC (1455964614)
[    1.522492] uart-pl011 fff36000.serial: no DMA platform data
[    1.769068] ata1: SATA link down (SStatus 0 SControl 300)
[    1.801718] Freeing unused kernel memory: 1104K (c0e56000 - c0f6a000)
Type exit when done.
/bin/ash: can't access tty; job control turned off
(:1) / #
And for sure there is only one CPU activated:
(:1) / # cat /proc/interrupts
           CPU0      
 16:       1003     GIC-0  29 Edge      twd
 17:          0     GIC-0  50 Level     timer
 25:          0     GIC-0 103 Level     fff3c200.sregs
 26:          0     GIC-0 104 Level     fff3c200.sregs
 27:          0     GIC-0 115 Level     highbank-ahci[ffe08000.sata]
 29:          0     GIC-0  51 Level     rtc-pl031
 30:         30     GIC-0  52 Level     uart-pl011
 33:          8     GIC-0 109 Level     fff50000.ethernet
 34:          0     GIC-0 110 Level     fff50000.ethernet
 36:          0     GIC-0 112 Level     fff51000.ethernet
 37:          0     GIC-0 113 Level     fff51000.ethernet
IPI0:          0  CPU wakeup interrupts
IPI1:          0  Timer broadcast interrupts
IPI2:          0  Rescheduling interrupts
IPI3:          0  Function call interrupts
IPI4:          0  CPU stop interrupts
IPI5:          0  IRQ work interrupts
IPI6:          0  completion interrupts
Err:          0
(:1) / #
Am I missing something?

JC

Le 19/02/2016 22:06, Jean-Christophe DUBOIS a écrit :
Le 19/02/2016 10:32, Peter Maydell a écrit :
On 19 February 2016 at 06:32, Jean-Christophe DUBOIS
<address@hidden> wrote:
Le 18/02/2016 22:46, Peter Maydell a écrit :
Does SMP work with EL3 not enabled, or is this a different bug?
If I set has_el3 to false, I can boot the 4 cores without problem. With
has_el3 set to true (default value) I am getting the above behavior (boot OK
in uniprocessor mode, and misbehaving if -smp >= 2).
Odd. If you can point me to a test image I can use to investigate
(preferably with System.map and commit hash of kernel used to build it)
I'll see if I can find time to have a look at what's going on there.

I put my test image at the following address:

http://dl.free.fr/rADch1Xnx

You will get a tgz file with the following files in it:
  • imx6q-sabrelite.dtb
  • README
  • rootfs.cpio.gz
  • System.map 
  • zImage
Instruction to run the image are in the README file.

The kernel is compiled using the imx_v6_v7_defconfig file (without modification) in the linux source tree

Thanks

JC

-- PMM




reply via email to

[Prev in Thread] Current Thread [Next in Thread]