linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* console output duplicated when registering additional consoles
@ 2019-11-07  1:09 Jonathan Richardson
  2019-11-14  1:28 ` Jonathan Richardson
  0 siblings, 1 reply; 11+ messages in thread
From: Jonathan Richardson @ 2019-11-07  1:09 UTC (permalink / raw)
  To: gregkh, jslaby
  Cc: linux-serial, linux-kernel, Scott Branden, Ray Jui, Srinath Mannam

[-- Attachment #1: Type: text/plain, Size: 657 bytes --]

Hi,

I have a console driver that registers an additional boot console and
"normal" console. The command line is:
earlycon=uart8250,mmio32,0x68A10000 console=ttyS0,115200n8
earlylog=0x8f110000,0x10000

When the second bootconsole is registered via register_console(), the
output in the log buffer is written a second time to the uart8250
console resulting in duplicate output. When the second "normal"
console is registered the complete buffer is written again to
uart8250. It looks like a bug in printk but I'm still trying to figure
out how it's keeping track of what has been written to a console.

I've attached the driver and uart8250 output.

Thanks.

[-- Attachment #2: console-output.txt --]
[-- Type: text/plain, Size: 48107 bytes --]

bootcmd=FS2:\Image.2  root=/dev/nfs nfsroot=/nfs/nxs,hard,tcp,intr,v3 rw rootwait  earlycon=uart8250
,mmio32,0x68A10000 earlylog=0x8f110000,0x10000 console=ttyS0,115200n8 hugepages=0 cma=1G crashkernel
=512M pci=pcie_bus_safe pciehp.pciehp_poll_mode=1 pciehp.pciehp_poll_time=5 vfio_pci.disable_idle_d3
=1 pcie_ports=native maxcpus=8  bgmac_platform.ethaddr=00:0A:F7:95:62:82 ip=10.136.13.31:10.136.4.15
1:10.136.13.1:255.255.255.0:::off  loglevel=7
Kernel slot 2, dtb slot 1, rootfs slot 1
 --- STARTING KERNEL
EFI stub: Booting Linux Kernel...
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services and installing virtual address map...
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
[    0.000000] Linux version 5.1.0 (oe-user@oe-host) (gcc version 7.3.0 (GCC)) #1 SMP Thu Nov 7 00:17:13 UTC 2019
[    0.000000] Machine model: Stingray Combo SVK w/PAXB IOMMU (BCM958742K)
[    0.000000] earlycon: uart8250 at MMIO32 0x0000000068a10000 (options '')
[    0.000000] printk: bootconsole [uart8250] enabled
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
[    0.000000] Linux version 5.1.0 (oe-user@oe-host) (gcc version 7.3.0 (GCC)) #1 SMP Thu Nov 7 00:17:13 UTC 2019
[    0.000000] Machine model: Stingray Combo SVK w/PAXB IOMMU (BCM958742K)
[    0.000000] earlycon: uart8250 at MMIO32 0x0000000068a10000 (options '')
[    0.000000] printk: bootconsole [uart8250] enabled
[    0.000000] printk: bootconsole [earlycon_log0] enabled
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: EFI v2.70 by EDK II
[    0.000000] efi:  SMBIOS=0x85c90000  SMBIOS 3.0=0x85a20000  ACPI 2.0=0x85d50000  MEMATTR=0x89398018  MEMRESERVE=0x85f83018
[    0.000000] crashkernel reserved: 0x00000000dfe00000 - 0x00000000ffe00000 (512 MB)
[    0.000000] cma: Reserved 1024 MiB at 0x000000009fc00000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.1
[    0.000000] random: get_random_bytes called from start_kernel+0xa4/0x448 with crng_init=0
[    0.000000] percpu: Embedded 23 pages/cpu s53848 r8192 d32168 u94208
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: detected: EL2 vector hardening
[    0.000000] Speculative Store Bypass Disable mitigation not required
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 12376560
[    0.000000] Kernel command line: FS2:\Image.2  root=/dev/nfs nfsroot=/nfs/nxs,hard,tcp,intr,v3 rw rootwait  earlycon=uart8250,mmio32,0x68A10000 earlylog=0x8f110000,0x10000 console=ttyS0,115200n8 hugepages=0 cma=1G crashkernel=512M pci=pcie_bus_safe pciehp.pciehp_poll_mode=1 pciehp.pciehp_poll_time=5 vfio_pci.disable_idle_d3=1 pcie_ports=native maxcpus=8  bgmac_platform.ethaddr=00:0A:F7:95:62:82 ip=10.136.13.31:10.136.4.151:10.136.13.1:255.255.255.0:::off  loglevel=7
[    0.000000] Dentry cache hash table entries: 8388608 (order: 14, 67108864 bytes)
[    0.000000] Inode-cache hash table entries: 4194304 (order: 13, 33554432 bytes)
[    0.000000] software IO TLB: mapped [mem 0x9bc00000-0x9fc00000] (64MB)
[    0.000000] Memory: 47645776K/50292608K available (9532K kernel code, 742K rwdata, 3488K rodata, 960K init, 363K bss, 1598256K reserved, 1048576K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	RCU event tracing is enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: Distributor has no Range Selector support
[    0.000000] GICv3: no VLPI support, no direct LPI support
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000063e00000
[    0.000000] ITS [mem 0x63c20000-0x63c2ffff]
[    0.000000] ITS@0x0000000063c20000: allocated 32768 Devices @a3c3880000 (flat, esz 8, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] GICv3: using LPI property table @0x000000a3c3850000
[    0.000000] GIC: using cache flushing for LPI property table
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x000000a3c3860000
[    0.000000] arch_timer: cp15 timer(s) running at 125.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x39a85c4118, max_idle_ns: 881590405314 ns
[    0.000001] sched_clock: 56 bits at 125MHz, resolution 8ns, wraps every 4398046511100ns
[    0.009132] clocksource: arm,sp804: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 152900835740 ns
[    0.020032] Console: colour dummy device 80x25
[    0.025066] printk: bootconsole [earlycon_log0] disabled
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
[    0.000000] Linux version 5.1.0 (oe-user@oe-host) (gcc version 7.3.0 (GCC)) #1 SMP Thu Nov 7 00:17:13 UTC 2019
[    0.000000] Machine model: Stingray Combo SVK w/PAXB IOMMU (BCM958742K)
[    0.000000] earlycon: uart8250 at MMIO32 0x0000000068a10000 (options '')
[    0.000000] printk: bootconsole [uart8250] enabled
[    0.000000] printk: bootconsole [earlycon_log0] enabled
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: EFI v2.70 by EDK II
[    0.000000] efi:  SMBIOS=0x85c90000  SMBIOS 3.0=0x85a20000  ACPI 2.0=0x85d50000  MEMATTR=0x89398018  MEMRESERVE=0x85f83018
[    0.000000] crashkernel reserved: 0x00000000dfe00000 - 0x00000000ffe00000 (512 MB)
[    0.000000] cma: Reserved 1024 MiB at 0x000000009fc00000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.1
[    0.000000] random: get_random_bytes called from start_kernel+0xa4/0x448 with crng_init=0
[    0.000000] percpu: Embedded 23 pages/cpu s53848 r8192 d32168 u94208
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: detected: EL2 vector hardening
[    0.000000] Speculative Store Bypass Disable mitigation not required
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 12376560
[    0.000000] Kernel command line: FS2:\Image.2  root=/dev/nfs nfsroot=/nfs/nxs,hard,tcp,intr,v3 rw rootwait  earlycon=uart8250,mmio32,0x68A10000 earlylog=0x8f110000,0x10000 console=ttyS0,115200n8 hugepages=0 cma=1G crashkernel=512M pci=pcie_bus_safe pciehp.pciehp_poll_mode=1 pciehp.pciehp_poll_time=5 vfio_pci.disable_idle_d3=1 pcie_ports=native maxcpus=8  bgmac_platform.ethaddr=00:0A:F7:95:62:82 ip=10.136.13.31:10.136.4.151:10.136.13.1:255.255.255.0:::off  loglevel=7
[    0.000000] Dentry cache hash table entries: 8388608 (order: 14, 67108864 bytes)
[    0.000000] Inode-cache hash table entries: 4194304 (order: 13, 33554432 bytes)
[    0.000000] software IO TLB: mapped [mem 0x9bc00000-0x9fc00000] (64MB)
[    0.000000] Memory: 47645776K/50292608K available (9532K kernel code, 742K rwdata, 3488K rodata, 960K init, 363K bss, 1598256K reserved, 1048576K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	RCU event tracing is enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: Distributor has no Range Selector support
[    0.000000] GICv3: no VLPI support, no direct LPI support
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000063e00000
[    0.000000] ITS [mem 0x63c20000-0x63c2ffff]
[    0.000000] ITS@0x0000000063c20000: allocated 32768 Devices @a3c3880000 (flat, esz 8, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] GICv3: using LPI property table @0x000000a3c3850000
[    0.000000] GIC: using cache flushing for LPI property table
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x000000a3c3860000
[    0.000000] arch_timer: cp15 timer(s) running at 125.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x39a85c4118, max_idle_ns: 881590405314 ns
[    0.000001] sched_clock: 56 bits at 125MHz, resolution 8ns, wraps every 4398046511100ns
[    0.009132] clocksource: arm,sp804: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 152900835740 ns
[    0.020032] Console: colour dummy device 80x25
[    0.025066] printk: bootconsole [earlycon_log0] disabled
[    0.427284] printk: console [console_log0] enabled
[    0.432717] Calibrating delay loop (skipped), value calculated using timer frequency.. 250.00 BogoMIPS (lpj=500000)
[    0.444549] pid_max: default: 32768 minimum: 301
[    0.449793] LSM: Security Framework initializing
[    0.455207] Mount-cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.463369] Mountpoint-cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.471990] *** VALIDATE proc ***
[    0.475793] *** VALIDATE cgroup1 ***
[    0.479842] *** VALIDATE cgroup2 ***
[    0.484076] ASID allocator initialised with 32768 entries
[    0.490212] rcu: Hierarchical SRCU implementation.
[    0.496067] Platform MSI: gic-its@63c20000 domain created
[    0.502216] PCI/MSI: /scr/interrupt-controller@2c00000/gic-its@63c20000 domain created
[    0.511235] Remapping and enabling EFI services.
[    0.516835] smp: Bringing up secondary CPUs ...
I: Cluster #1 entering to snoop/dvm domain
I: Cluster #2 entering to snoop/dvm domain
I: Cluster #3 entering to snoop/dvm domain
[    0.522127] Detected PIPT I-cache on CPU1
[    0.522140] GICv3: CPU1: found redistributor 1 region 0:0x0000000063e20000
[    0.522146] GICv3: CPU1: using allocated LPI pending table @0x000000a3c3870000
[    0.522158] CPU1: Booted secondary processor 0x0000000001 [0x410fd083]
[    0.522577] Detected PIPT I-cache on CPU2
[    0.522588] GICv3: CPU2: found redistributor 100 region 0:0x0000000063e40000
[    0.522597] GICv3: CPU2: using allocated LPI pending table @0x000000a3c38c0000
[    0.522610] CPU2: Booted secondary processor 0x0000000100 [0x410fd083]
[    0.522793] Detected PIPT I-cache on CPU3
[    0.522799] GICv3: CPU3: found redistributor 101 region 0:0x0000000063e60000
[    0.522804] GICv3: CPU3: using allocated LPI pending table @0x000000a3c38d0000
[    0.522812] CPU3: Booted secondary processor 0x0000000101 [0x410fd083]
[    0.524601] Detected PIPT I-cache on CPU4
[    0.524610] GICv3: CPU4: found redistributor 200 region 0:0x0000000063e80000
[    0.524618] GICv3: CPU4: using allocated LPI pending table @0x000000a3c38e0000
[    0.524629] CPU4: Booted secondary processor 0x0000000200 [0x410fd083]
[    0.524812] Detected PIPT I-cache on CPU5
[    0.524818] GICv3: CPU5: found redistributor 201 region 0:0x0000000063ea0000
[    0.524823] GICv3: CPU5: using allocated LPI pending table @0x000000a3c38f0000
[    0.524832] CPU5: Booted secondary processor 0x0000000201 [0x410fd083]
[    0.528543] Detected PIPT I-cache on CPU6
[    0.528553] GICv3: CPU6: found redistributor 300 region 0:0x0000000063ec0000
[    0.528560] GICv3: CPU6: using allocated LPI pending table @0x000000a3c3900000
[    0.528572] CPU6: Booted secondary processor 0x0000000300 [0x410fd083]
[    0.528751] Detected PIPT I-cache on CPU7
[    0.528757] GICv3: CPU7: found redistributor 301 region 0:0x0000000063ee0000
[    0.528762] GICv3: CPU7: using allocated LPI pending table @0x000000a3c3910000
[    0.528771] CPU7: Booted secondary processor 0x0000000301 [0x410fd083]
[    0.528799] smp: Brought up 1 node, 8 CPUs
[    0.735446] SMP: Total of 8 processors activated.
[    0.740773] CPU features: detected: 32-bit EL0 Support
[    0.746592] CPU features: detected: CRC32 instructions
[    0.752929] CPU: All CPU(s) started at EL2
[    0.757583] alternatives: patching kernel code
[    0.762963] devtmpfs: initialized
[    0.768336] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.779389] futex hash table entries: 2048 (order: 5, 131072 bytes)
[    0.793206] xor: measuring software checksum speed
[    0.838657]    8regs     :  9090.000 MB/sec
[    0.883406]    32regs    :  9449.000 MB/sec
[    0.928154]    arm64_neon:  9022.000 MB/sec
[    0.932888] xor: using function: 32regs (9449.000 MB/sec)
[    0.939006] pinctrl core: initialized pinctrl subsystem
[    0.945274] SMBIOS 3.3.0 present.
[    0.949031] DMI: BRCM BRCM-SR/BRCM-SR, BIOS 0.1 Nov  4 2019
[    0.955465] NET: Registered protocol family 16
[    0.960667] audit: initializing netlink subsys (disabled)
[    0.966825] audit: type=2000 audit(0.580:1): state=initialized audit_enabled=0 res=1
[    0.975614] cpuidle: using governor menu
[    0.980141] vdso: 2 pages (1 code @ (____ptrval____), 1 data @ (____ptrval____))
[    0.988525] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.996520] DMA: preallocated 256 KiB pool for atomic allocations
[    1.005641] brcm,iproc-mailbox 66424024.mailbox: Initializing iproc mailbox controller
[    1.015451] iproc-idm 8f130000.idm-elog: iProc IDM ELOG registered
[    1.022580] iProc IDM device idm-paxb0-axi registered
[    1.028411] iProc IDM device idm-paxb1-axi registered
[    1.034240] iProc IDM device idm-paxb2-axi registered
[    1.040071] iProc IDM device idm-paxb3-axi registered
[    1.045908] iProc IDM device idm-pcie-axi registered
[    1.051638] iProc IDM device idm-paxb4-axi registered
[    1.057467] iProc IDM device idm-paxb5-axi registered
[    1.063294] iProc IDM device idm-paxb6-axi registered
[    1.069123] iProc IDM device idm-paxb7-axi registered
[    1.074952] iProc IDM device idm-mhb-nitro-axi registered
[    1.081170] iProc IDM device idm-mhb-pcie-axi registered
[    1.087296] iProc IDM device idm-mhb-ep-apb registered
[    1.093224] iProc IDM device idm-mhb-paxc-axi registered
[    1.099348] iProc IDM device idm-mhb-apb registered
[    1.104979] iProc IDM device idm-mhb-paxc-apb registered
[    1.111105] iProc IDM device idm-scr-pcie0 registered
[    1.116934] iProc IDM device idm-scr-pcie1 registered
[    1.122768] iProc IDM device idm-scr-paxc registered
[    1.128500] iProc IDM device idm-scr-fs registered
[    1.134032] iProc IDM device idm-scr-hsls registered
[    1.139764] iProc IDM device idm-scr-crmu registered
[    1.145494] iProc IDM device idm-scr-usb registered
[    1.151124] iProc IDM device idm-scr-axi2apb-div4 registered
[    1.157652] iProc IDM device idm-scr-axi2apb-div4-eme registered
[    1.164567] iProc IDM device idm-scr-axi2apb-cssys registered
[    1.171188] iProc IDM device idm-scr-smmu registered
[    1.176918] iProc IDM device idm-scr-gic500 registered
[    1.182847] iProc IDM device idm-scr-sata registered
[    1.188579] iProc IDM device idm-scr-cssys-stm-axi registered
[    1.195198] iProc IDM device idm-scr-ds0 registered
[    1.202535] gpiochip_add_data_with_key: GPIOs 355..505 (689d0000.gpio) failed to register, -517
[    1.212399] iproc-gpio 689d0000.gpio: unable to add GPIO chip
[    1.226476] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    1.234076] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[    1.241669] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    1.249262] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[    1.256986] cryptd: max_cpu_qlen set to 1000
[    1.329849] raid6: neonx8   gen()  6792 MB/s
[    1.402713] raid6: neonx8   xor()  5873 MB/s
[    1.475578] raid6: neonx4   gen()  6676 MB/s
[    1.548440] raid6: neonx4   xor()  5163 MB/s
[    1.621305] raid6: neonx2   gen()  5500 MB/s
[    1.694168] raid6: neonx2   xor()  5330 MB/s
[    1.767033] raid6: neonx1   gen()  3581 MB/s
[    1.839899] raid6: neonx1   xor()  3544 MB/s
[    1.912763] raid6: int64x8  gen()  3807 MB/s
[    1.985628] raid6: int64x8  xor()  2513 MB/s
[    2.058493] raid6: int64x4  gen()  3804 MB/s
[    2.131361] raid6: int64x4  xor()  2676 MB/s
[    2.204227] raid6: int64x2  gen()  2846 MB/s
[    2.277098] raid6: int64x2  xor()  2510 MB/s
[    2.349965] raid6: int64x1  gen()  1812 MB/s
[    2.422835] raid6: int64x1  xor()  1555 MB/s
[    2.427669] raid6: using algorithm neonx8 gen() 6792 MB/s
[    2.433782] raid6: .... xor() 5873 MB/s, rmw enabled
[    2.439404] raid6: using neon recovery algorithm
[    2.444975] vgaarb: loaded
[    2.448099] SCSI subsystem initialized
[    2.452424] ssp-pl022 68a80000.spi: ARM PL022 driver, device ID: 0x00241022
[    2.460338] ssp-pl022 68a90000.spi: ARM PL022 driver, device ID: 0x00241022
[    2.468287] usbcore: registered new interface driver usbfs
[    2.474510] usbcore: registered new interface driver hub
[    2.480549] usbcore: registered new device driver usb
[    2.486291] pps_core: LinuxPPS API ver. 1 registered
[    2.491913] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    2.502269] PTP clock support registered
[    2.506764] EDAC MC: Ver: 3.0.0
[    2.510398] Registered efivars operations
[    2.515214] clocksource: Switched to clocksource arch_sys_counter
[    2.522170] VFS: Disk quotas dquot_6.6.0
[    2.526625] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    2.534426] *** VALIDATE hugetlbfs ***
[    2.540486] NET: Registered protocol family 2
[    2.545550] tcp_listen_portaddr_hash hash table entries: 32768 (order: 7, 524288 bytes)
[    2.554837] TCP established hash table entries: 524288 (order: 10, 4194304 bytes)
[    2.564374] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[    2.572244] TCP: Hash tables configured (established 524288 bind 65536)
[    2.579788] UDP hash table entries: 32768 (order: 8, 1048576 bytes)
[    2.587291] UDP-Lite hash table entries: 32768 (order: 8, 1048576 bytes)
[    2.595320] NET: Registered protocol family 1
[    2.600384] RPC: Registered named UNIX socket transport module.
[    2.607094] RPC: Registered udp transport module.
[    2.612420] RPC: Registered tcp transport module.
[    2.617747] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    2.625402] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    2.634354] kvm [1]: IPA Size Limit: 44bits
[    2.639265] kvm [1]: GICv3: no GICV resource entry
[    2.644692] kvm [1]: disabling GICv2 emulation
[    2.649734] kvm [1]: GIC system register CPU interface enabled
[    2.656398] kvm [1]: vgic interrupt IRQ1
[    2.660913] kvm [1]: Hyp mode initialized successfully
[    2.675519] workingset: timestamp_bits=46 max_order=24 bucket_order=0
[    2.684711] NFS: Registering the id_resolver key type
[    2.690439] Key type id_resolver registered
[    2.695173] Key type id_legacy registered
[    2.699713] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    2.707347] 9p: Installing v9fs 9p2000 file system support
[    2.717536] alg: No test for lzo-rle (lzo-rle-generic)
[    2.723566] alg: No test for lzo-rle (lzo-rle-scomp)
[    2.733057] NET: Registered protocol family 38
[    2.738094] async_tx: api initialized (async)
[    2.743041] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
[    2.751424] io scheduler mq-deadline registered
[    2.756553] io scheduler kyber registered
[    2.761428] brcm-sata-phy 67d02100.sata_phy: registered 1 port(s)
[    2.768411] brcm-sata-phy 67d12100.sata_phy: registered 1 port(s)
[    2.775361] brcm-sata-phy 67d22100.sata_phy: registered 1 port(s)
[    2.782311] brcm-sata-phy 67d32100.sata_phy: registered 1 port(s)
[    2.789263] brcm-sata-phy 67e02100.sata_phy: registered 1 port(s)
[    2.796213] brcm-sata-phy 67e12100.sata_phy: registered 1 port(s)
[    2.803163] brcm-sata-phy 67e22100.sata_phy: registered 1 port(s)
[    2.810113] brcm-sata-phy 67e32100.sata_phy: registered 1 port(s)
[    2.817205] sr-pcie-phy 40000000.phy: Stingray PCIe PHY driver initialized
[    2.825273] pinctrl-single 68a40000.pinconf: please update dts to use #pinctrl-cells = <1>
[    2.834707] pinctrl-single 68a40000.pinconf: 148 pins, size 592
[    2.841445] pinctrl-single 68a4029c.pinmux: please update dts to use #pinctrl-cells = <1>
[    2.850781] pinctrl-single 68a4029c.pinmux: 155 pins, size 620
[    2.857620] iproc-pcie 48000000.pcie: host bridge /pcie@48000000 ranges:
[    2.865223] iproc-pcie 48000000.pcie:   MEM 0x400000000..0x46fffffff -> 0x400000000
[    2.873902] iproc-pcie 48000000.pcie:   MEM 0x470000000..0x47fffffff -> 0x40000000
[    2.882484] iproc-pcie 48000000.pcie: reads of config registers that contain 0xffff0001 return incorrect data
[    2.999250] iproc-pcie 48000000.pcie: link UP @ Speed Gen-3 and width-x4
[    3.006882] iproc-pcie 48000000.pcie: not using iProc MSI
[    3.013028] iproc-pcie 48000000.pcie: PCI host bridge to bus 0000:00
[    3.020223] pci_bus 0000:00: root bus resource [bus 00-ff]
[    3.026437] pci_bus 0000:00: root bus resource [mem 0x400000000-0x46fffffff pref]
[    3.034918] pci_bus 0000:00: root bus resource [mem 0x470000000-0x47fffffff] (bus address [0x40000000-0x4fffffff])
[    3.047320] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    3.057773] pci 0000:01:00.0: enabling Extended Tags
[    3.064580] pci 0000:00:00.0: BAR 14: assigned [mem 0x470000000-0x4700fffff]
[    3.072570] pci 0000:01:00.0: BAR 6: assigned [mem 0x470000000-0x47001ffff pref]
[    3.080952] pci 0000:01:00.0: BAR 4: assigned [mem 0x470020000-0x47002ffff 64bit]
[    3.089612] pci 0000:01:00.0: BAR 0: assigned [mem 0x470030000-0x470033fff 64bit]
[    3.098213] pci 0000:00:00.0: PCI bridge to [bus 01]
[    3.103838] pci 0000:00:00.0:   bridge window [mem 0x470000000-0x4700fffff]
[    3.111734] pci 0000:00:00.0: Max Payload Size set to  256/ 512 (was  128), Max Read Rq  512
[    3.121340] pci 0000:01:00.0: Max Payload Size set to  256/ 256 (was  128), Max Read Rq  512
[    3.130962] iproc-pcie 48004000.pcie: host bridge /pcie@48004000 ranges:
[    3.138563] iproc-pcie 48004000.pcie:   MEM 0x480000000..0x4efffffff -> 0x480000000
[    3.147243] iproc-pcie 48004000.pcie:   MEM 0x4f0000000..0x4ffffffff -> 0x40000000
[    3.155824] iproc-pcie 48004000.pcie: reads of config registers that contain 0xffff0001 return incorrect data
[    3.275248] iproc-pcie 48004000.pcie: link UP @ Speed Gen-3 and width-x4
[    3.282868] iproc-pcie 48004000.pcie: not using iProc MSI
[    3.289005] iproc-pcie 48004000.pcie: PCI host bridge to bus 0001:00
[    3.296207] pci_bus 0001:00: root bus resource [bus 00-ff]
[    3.302421] pci_bus 0001:00: root bus resource [mem 0x480000000-0x4efffffff pref]
[    3.310907] pci_bus 0001:00: root bus resource [mem 0x4f0000000-0x4ffffffff] (bus address [0x40000000-0x4fffffff])
[    3.323270] pci 0001:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    3.333712] pci 0001:01:00.0: enabling Extended Tags
[    3.351768] pci 0001:00:00.0: BAR 14: assigned [mem 0x4f0000000-0x4f00fffff]
[    3.359758] pci 0001:01:00.0: BAR 6: assigned [mem 0x4f0000000-0x4f001ffff pref]
[    3.368141] pci 0001:01:00.0: BAR 4: assigned [mem 0x4f0020000-0x4f002ffff 64bit]
[    3.376800] pci 0001:01:00.0: BAR 0: assigned [mem 0x4f0030000-0x4f0033fff 64bit]
[    3.385399] pci 0001:00:00.0: PCI bridge to [bus 01]
[    3.391023] pci 0001:00:00.0:   bridge window [mem 0x4f0000000-0x4f00fffff]
[    3.398919] pci 0001:00:00.0: Max Payload Size set to  256/ 512 (was  128), Max Read Rq  512
[    3.408525] pci 0001:01:00.0: Max Payload Size set to  256/ 256 (was  128), Max Read Rq  512
[    3.418141] iproc-pcie 48008000.pcie: host bridge /pcie@48008000 ranges:
[    3.425741] iproc-pcie 48008000.pcie:   MEM 0x500000000..0x56fffffff -> 0x500000000
[    3.434422] iproc-pcie 48008000.pcie:   MEM 0x570000000..0x57fffffff -> 0x40000000
[    3.443001] iproc-pcie 48008000.pcie: reads of config registers that contain 0xffff0001 return incorrect data
[    3.454242] phy phy-40000000.phy.10: phy init failed --> -19
[    3.460653] iproc-pcie 48008000.pcie: unable to initialize PCIe PHY
[    3.467752] iproc-pcie 48008000.pcie: PCIe controller setup failed
[    3.474774] iproc-pcie 4800c000.pcie: host bridge /pcie@4800c000 ranges:
[    3.482375] iproc-pcie 4800c000.pcie:   MEM 0x580000000..0x5efffffff -> 0x580000000
[    3.491055] iproc-pcie 4800c000.pcie:   MEM 0x5f0000000..0x5ffffffff -> 0x40000000
[    3.499634] iproc-pcie 4800c000.pcie: reads of config registers that contain 0xffff0001 return incorrect data
[    3.510875] phy phy-40000000.phy.11: phy init failed --> -19
[    3.517285] iproc-pcie 4800c000.pcie: unable to initialize PCIe PHY
[    3.524385] iproc-pcie 4800c000.pcie: PCIe controller setup failed
[    3.531405] iproc-pcie 48010000.pcie: host bridge /pcie@48010000 ranges:
[    3.539003] iproc-pcie 48010000.pcie:   MEM 0x600000000..0x66fffffff -> 0x600000000
[    3.547682] iproc-pcie 48010000.pcie:   MEM 0x670000000..0x67fffffff -> 0x40000000
[    3.556261] iproc-pcie 48010000.pcie: reads of config registers that contain 0xffff0001 return incorrect data
[    3.567502] phy phy-40000000.phy.12: phy init failed --> -19
[    3.573911] iproc-pcie 48010000.pcie: unable to initialize PCIe PHY
[    3.581011] iproc-pcie 48010000.pcie: PCIe controller setup failed
[    3.588032] iproc-pcie 48014000.pcie: host bridge /pcie@48014000 ranges:
[    3.595632] iproc-pcie 48014000.pcie:   MEM 0x680000000..0x6efffffff -> 0x680000000
[    3.604312] iproc-pcie 48014000.pcie:   MEM 0x6f0000000..0x6ffffffff -> 0x40000000
[    3.612891] iproc-pcie 48014000.pcie: reads of config registers that contain 0xffff0001 return incorrect data
[    3.624132] phy phy-40000000.phy.13: phy init failed --> -19
[    3.630542] iproc-pcie 48014000.pcie: unable to initialize PCIe PHY
[    3.637642] iproc-pcie 48014000.pcie: PCIe controller setup failed
[    3.644662] iproc-pcie 48018000.pcie: host bridge /pcie@48018000 ranges:
[    3.652262] iproc-pcie 48018000.pcie:   MEM 0x700000000..0x76fffffff -> 0x700000000
[    3.660941] iproc-pcie 48018000.pcie:   MEM 0x770000000..0x77fffffff -> 0x40000000
[    3.669519] iproc-pcie 48018000.pcie: reads of config registers that contain 0xffff0001 return incorrect data
[    3.787248] iproc-pcie 48018000.pcie: link UP @ Speed Gen-3 and width-x4
[    3.794867] iproc-pcie 48018000.pcie: not using iProc MSI
[    3.801006] iproc-pcie 48018000.pcie: PCI host bridge to bus 0006:00
[    3.808208] pci_bus 0006:00: root bus resource [bus 00-ff]
[    3.814422] pci_bus 0006:00: root bus resource [mem 0x700000000-0x76fffffff pref]
[    3.822902] pci_bus 0006:00: root bus resource [mem 0x770000000-0x77fffffff] (bus address [0x40000000-0x4fffffff])
[    3.835262] pci 0006:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    3.845706] pci 0006:01:00.0: enabling Extended Tags
[    3.852502] pci 0006:00:00.0: BAR 14: assigned [mem 0x770000000-0x7700fffff]
[    3.860491] pci 0006:01:00.0: BAR 6: assigned [mem 0x770000000-0x77001ffff pref]
[    3.868874] pci 0006:01:00.0: BAR 4: assigned [mem 0x770020000-0x77002ffff 64bit]
[    3.877532] pci 0006:01:00.0: BAR 0: assigned [mem 0x770030000-0x770033fff 64bit]
[    3.886134] pci 0006:00:00.0: PCI bridge to [bus 01]
[    3.891758] pci 0006:00:00.0:   bridge window [mem 0x770000000-0x7700fffff]
[    3.899653] pci 0006:00:00.0: Max Payload Size set to  256/ 512 (was  128), Max Read Rq  512
[    3.909259] pci 0006:01:00.0: Max Payload Size set to  256/ 256 (was  128), Max Read Rq  512
[    3.918877] iproc-pcie 4801c000.pcie: host bridge /pcie@4801c000 ranges:
[    3.926477] iproc-pcie 4801c000.pcie:   MEM 0x780000000..0x7dfffffff -> 0x780000000
[    3.935157] iproc-pcie 4801c000.pcie:   MEM 0x7e0000000..0x7efffffff -> 0x7d0000000
[    3.943837] iproc-pcie 4801c000.pcie:   MEM 0x7f0000000..0x7ffffffff -> 0x40000000
[    3.952417] iproc-pcie 4801c000.pcie: reads of config registers that contain 0xffff0001 return incorrect data
[    4.071248] iproc-pcie 4801c000.pcie: link UP @ Speed Gen-3 and width-x4
[    4.078867] iproc-pcie 4801c000.pcie: not using iProc MSI
[    4.085004] iproc-pcie 4801c000.pcie: PCI host bridge to bus 0007:00
[    4.092207] pci_bus 0007:00: root bus resource [bus 00-ff]
[    4.098420] pci_bus 0007:00: root bus resource [mem 0x780000000-0x7dfffffff pref]
[    4.106901] pci_bus 0007:00: root bus resource [mem 0x7e0000000-0x7efffffff pref] (bus address [0x7d0000000-0x7dfffffff])
[    4.119325] pci_bus 0007:00: root bus resource [mem 0x7f0000000-0x7ffffffff] (bus address [0x40000000-0x4fffffff])
[    4.131682] pci 0007:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    4.142138] pci 0007:01:00.0: enabling Extended Tags
[    4.148938] pci 0007:00:00.0: BAR 14: assigned [mem 0x7f0000000-0x7f00fffff]
[    4.156929] pci 0007:01:00.0: BAR 6: assigned [mem 0x7f0000000-0x7f001ffff pref]
[    4.165313] pci 0007:01:00.0: BAR 4: assigned [mem 0x7f0020000-0x7f002ffff 64bit]
[    4.173972] pci 0007:01:00.0: BAR 0: assigned [mem 0x7f0030000-0x7f0033fff 64bit]
[    4.182574] pci 0007:00:00.0: PCI bridge to [bus 01]
[    4.188199] pci 0007:00:00.0:   bridge window [mem 0x7f0000000-0x7f00fffff]
[    4.196096] pci 0007:00:00.0: Max Payload Size set to  256/ 512 (was  128), Max Read Rq  512
[    4.205704] pci 0007:01:00.0: Max Payload Size set to  256/ 256 (was  128), Max Read Rq  512
[    4.215305] iproc-pcie 60400000.pcie: host bridge /pcie@60400000 ranges:
[    4.222902] iproc-pcie 60400000.pcie:   MEM 0x10000000..0x2fffffff -> 0x10000000
[    4.231295] iproc-pcie 60400000.pcie: not using iProc MSI
[    4.237434] iproc-pcie 60400000.pcie: PCI host bridge to bus 0008:00
[    4.244634] pci_bus 0008:00: root bus resource [bus 00-01]
[    4.250848] pci_bus 0008:00: root bus resource [mem 0x10000000-0x2fffffff]
[    4.258722] OF: /pcie@60400000: Invalid msi-map translation - no match for rid 0x0 on           (null)
[    4.270690] pci 0008:00:00.0: BAR 14: assigned [mem 0x10000000-0x100fffff]
[    4.278482] pci 0008:00:00.0: BAR 15: assigned [mem 0x10100000-0x103fffff 64bit pref]
[    4.287360] pci 0008:01:00.0: BAR 2: assigned [mem 0x10100000-0x101fffff 64bit pref]
[    4.296145] pci 0008:01:00.1: BAR 2: assigned [mem 0x10200000-0x102fffff 64bit pref]
[    4.304928] pci 0008:01:00.0: BAR 0: assigned [mem 0x10000000-0x1000ffff 64bit]
[    4.313219] pci 0008:01:00.1: BAR 0: assigned [mem 0x10010000-0x1001ffff 64bit]
[    4.321510] pci 0008:01:00.0: BAR 4: assigned [mem 0x10300000-0x10300fff 64bit pref]
[    4.330294] pci 0008:01:00.1: BAR 4: assigned [mem 0x10301000-0x10301fff 64bit pref]
[    4.339077] pci 0008:00:00.0: PCI bridge to [bus 01]
[    4.344703] pci 0008:00:00.0:   bridge window [mem 0x10000000-0x100fffff]
[    4.352398] pci 0008:00:00.0:   bridge window [mem 0x10100000-0x103fffff 64bit pref]
[    4.361194] pci 0008:00:00.0: Max Payload Size set to  512/ 512 (was  128), Max Read Rq  512
[    4.370774] pci 0008:01:00.0: Max Payload Size set to  512/ 512 (was  128), Max Read Rq  512
[    4.380343] pci 0008:01:00.1: Max Payload Size set to  512/ 512 (was  128), Max Read Rq  512
[    4.391727] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    4.399370] printk: console [ttyS0] disabled
[    4.404214] 68a10000.uart: ttyS0 at MMIO 0x68a10000 (irq = 117, base_baud = 1562500) is a 16550A
[    4.414184] printk: console [ttyS0] enabled
[    4.414184] printk: console [ttyS0] enabled
[    4.423231] printk: bootconsole [uart8250] disabled
[    4.423231] printk: bootconsole [uart8250] disabled
[    4.433885] 68a20000.uart: ttyS2 at MMIO 0x68a20000 (irq = 118, base_baud = 1562500) is a 16550A
[    4.443050] 68a30000.uart: ttyS3 at MMIO 0x68a30000 (irq = 119, base_baud = 1562500) is a 16550A
[    4.452434] iproc-rng200 68b20000.hwrng: hwrng registered
[    4.458219] arm-smmu 64000000.mmu: probing hardware configuration...
[    4.464777] arm-smmu 64000000.mmu: SMMUv2 with:
[    4.469452] arm-smmu 64000000.mmu: 	stage 1 translation
[    4.474842] arm-smmu 64000000.mmu: 	stage 2 translation
[    4.480233] arm-smmu 64000000.mmu: 	nested translation
[    4.485535] arm-smmu 64000000.mmu: 	stream matching with 55 register groups
[    4.492719] arm-smmu 64000000.mmu: 	62 context banks (0 stage-2 only)
[    4.499366] arm-smmu 64000000.mmu: 	Supported page sizes: 0x61311000
[    4.505922] arm-smmu 64000000.mmu: 	Stage-1: 48-bit VA -> 48-bit IPA
[    4.512478] arm-smmu 64000000.mmu: 	Stage-2: 48-bit IPA -> 48-bit PA
[    4.521533] loop: module loaded
[    4.524940] Loading iSCSI transport class v2.0-870.
[    4.530092] iscsi: registered transport (tcp)
[    4.534589] mpt3sas version 27.102.00.00 loaded
[    4.539533] nvme 0000:01:00.0: Adding to iommu group 0
[    4.545049] nvme nvme0: pci function 0000:01:00.0
[    4.549922] pci 0000:00:00.0: enabling device (0000 -> 0002)
[    4.549947] nvme 0001:01:00.0: Adding to iommu group 1
[    4.561093] nvme 0000:01:00.0: enabling device (0000 -> 0002)
[    4.567157] nvme nvme1: pci function 0001:01:00.0
[    4.573633] pci 0001:00:00.0: enabling device (0000 -> 0002)
[    4.573647] nvme 0006:01:00.0: Adding to iommu group 2
[    4.584805] nvme 0001:01:00.0: enabling device (0000 -> 0002)
[    4.590868] nvme nvme2: pci function 0006:01:00.0
[    4.597424] pci 0006:00:00.0: enabling device (0000 -> 0002)
[    4.597427] nvme 0007:01:00.0: Adding to iommu group 3
[    4.608596] nvme 0006:01:00.0: enabling device (0000 -> 0002)
[    4.614660] nvme nvme3: pci function 0007:01:00.0
[    4.621154] pci 0007:00:00.0: enabling device (0000 -> 0002)
[    4.621342] ahci 67d00000.ahci: masking port_map 0x1 -> 0x1
[    4.632750] ahci 67d00000.ahci: SSS flag set, parallel bus scan disabled
[    4.632774] nvme 0007:01:00.0: enabling device (0000 -> 0002)
[    4.649751] ahci 67d00000.ahci: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    4.658552] ahci 67d00000.ahci: flags: 64bit ncq sntf stag clo pmp fbs slum part
[    4.666523] scsi host0: ahci
[    4.669600] ata1: SATA max UDMA/133 mmio [mem 0x67d00000-0x67d00fff] port 0x100 irq 101
[    4.677974] ahci 67d10000.ahci: masking port_map 0x1 -> 0x1
[    4.683729] ahci 67d10000.ahci: SSS flag set, parallel bus scan disabled
[    4.700706] ahci 67d10000.ahci: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    4.709503] ahci 67d10000.ahci: flags: 64bit ncq sntf stag clo pmp fbs slum part
[    4.717429] scsi host1: ahci
[    4.720470] ata2: SATA max UDMA/133 mmio [mem 0x67d10000-0x67d10fff] port 0x100 irq 102
[    4.728841] ahci 67d20000.ahci: masking port_map 0x1 -> 0x1
[    4.734597] ahci 67d20000.ahci: SSS flag set, parallel bus scan disabled
[    4.751574] ahci 67d20000.ahci: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    4.760371] ahci 67d20000.ahci: flags: 64bit ncq sntf stag clo pmp fbs slum part
[    4.768326] scsi host2: ahci
[    4.771366] ata3: SATA max UDMA/133 mmio [mem 0x67d20000-0x67d20fff] port 0x100 irq 103
[    4.779737] ahci 67d30000.ahci: masking port_map 0x1 -> 0x1
[    4.785493] ahci 67d30000.ahci: SSS flag set, parallel bus scan disabled
[    4.802471] ahci 67d30000.ahci: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    4.811269] ahci 67d30000.ahci: flags: 64bit ncq sntf stag clo pmp fbs slum part
[    4.819196] scsi host3: ahci
[    4.822243] ata4: SATA max UDMA/133 mmio [mem 0x67d30000-0x67d30fff] port 0x100 irq 104
[    4.830615] ahci 67e00000.ahci: masking port_map 0x1 -> 0x1
[    4.836370] ahci 67e00000.ahci: SSS flag set, parallel bus scan disabled
[    4.853346] ahci 67e00000.ahci: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    4.862144] ahci 67e00000.ahci: flags: 64bit ncq sntf stag clo pmp fbs slum part
[    4.870076] scsi host4: ahci
[    4.873118] ata5: SATA max UDMA/133 mmio [mem 0x67e00000-0x67e00fff] port 0x100 irq 105
[    4.881492] ahci 67e10000.ahci: masking port_map 0x1 -> 0x1
[    4.887247] ahci 67e10000.ahci: SSS flag set, parallel bus scan disabled
[    4.904224] ahci 67e10000.ahci: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    4.913021] ahci 67e10000.ahci: flags: 64bit ncq sntf stag clo pmp fbs slum part
[    4.920960] scsi host5: ahci
[    4.924001] ata6: SATA max UDMA/133 mmio [mem 0x67e10000-0x67e10fff] port 0x100 irq 106
[    4.932373] ahci 67e20000.ahci: masking port_map 0x1 -> 0x1
[    4.938128] ahci 67e20000.ahci: SSS flag set, parallel bus scan disabled
[    4.955104] ahci 67e20000.ahci: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    4.963903] ahci 67e20000.ahci: flags: 64bit ncq sntf stag clo pmp fbs slum part
[    4.971877] scsi host6: ahci
[    4.974914] ata7: SATA max UDMA/133 mmio [mem 0x67e20000-0x67e20fff] port 0x100 irq 107
[    4.983289] ahci 67e30000.ahci: masking port_map 0x1 -> 0x1
[    4.989044] ahci 67e30000.ahci: SSS flag set, parallel bus scan disabled
[    4.993337] ata1: SATA link down (SStatus 0 SControl 300)
[    5.006021] ahci 67e30000.ahci: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    5.014818] ahci 67e30000.ahci: flags: 64bit ncq sntf stag clo pmp fbs slum part
[    5.022751] scsi host7: ahci
[    5.025792] ata8: SATA max UDMA/133 mmio [mem 0x67e30000-0x67e30fff] port 0x100 irq 108
[    5.034502] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xc3
[    5.041060] nand: Micron MT29F8G16ABACAWP
[    5.041331] ata2: SATA link down (SStatus 0 SControl 300)
[    5.045197] nand: 1024 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB size: 224
[    5.045203] iproc_nand 68c60000.nand: detected 1024MiB total, 256KiB blocks, 4KiB pages, 16B OOB, 16-bit, BCH-8
[    5.069167] Scanning device for bad blocks
[    5.089318] random: fast init done
[    5.093330] ata3: SATA link down (SStatus 0 SControl 300)
[    5.144390] ata4: SATA link down (SStatus 0 SControl 300)
[    5.198953] ata5: SATA link down (SStatus 0 SControl 300)
[    5.245340] ata6: SATA link down (SStatus 0 SControl 300)
[    5.297336] ata7: SATA link down (SStatus 0 SControl 300)
[    5.348397] ata8: SATA link down (SStatus 0 SControl 300)
[    5.820025] random: crng init done
[    6.894772] libphy: iProc MDIO mux bus: probed
[    6.899376] libphy: mdio_mux: probed
[    6.903079] libphy: mdio_mux: probed
[    6.910852] mdio-mux-iproc 68920000.mdio-mux: iProc mdiomux registered
[    6.917749] libphy: Fixed MDIO Bus: probed
[    6.921977] tun: Universal TUN/TAP device driver, 1.6
[    6.953370] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    6.959390] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    6.965530] usbcore: registered new interface driver r8152
[    6.971203] usbcore: registered new interface driver asix
[    6.976788] usbcore: registered new interface driver ax88179_178a
[    6.983082] usbcore: registered new interface driver cdc_ether
[    6.989108] usbcore: registered new interface driver net1080
[    6.994955] usbcore: registered new interface driver cdc_subset
[    7.002778] usbcore: registered new interface driver zaurus
[    7.003344] nvme nvme0: 8/0/0 default/read/poll queues
[    7.008538] usbcore: registered new interface driver cdc_ncm
[    7.019848] VFIO - User Level meta-driver version: 0.3
[    7.025229] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    7.031975] ehci-pci: EHCI PCI platform driver
[    7.036578] ehci-platform: EHCI generic platform driver
[    7.042047] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    7.048425] ohci-pci: OHCI PCI platform driver
[    7.053019] ohci-platform: OHCI generic platform driver
[    7.175218] xhci-hcd 68501000.usb: xHCI Host Controller
[    7.180615] xhci-hcd 68501000.usb: new USB bus registered, assigned bus number 1
[    7.188449] xhci-hcd 68501000.usb: hcc params 0x0250f16d hci version 0x100 quirks 0x0000001000010010
[    7.197888] xhci-hcd 68501000.usb: irq 109, io mem 0x68501000
[    7.204039] hub 1-0:1.0: USB hub found
[    7.207917] hub 1-0:1.0: 2 ports detected
[    7.212143] xhci-hcd 68501000.usb: xHCI Host Controller
[    7.217537] xhci-hcd 68501000.usb: new USB bus registered, assigned bus number 2
[    7.225171] xhci-hcd 68501000.usb: Host supports USB 3.0  SuperSpeed
[    7.231739] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    7.240194] hub 2-0:1.0: USB hub found
[    7.244068] hub 2-0:1.0: 1 port detected
[    7.259847] nvme nvme2: 8/0/0 default/read/poll queues
[    7.259862] nvme nvme1: 8/0/0 default/read/poll queues
[    7.259898] nvme nvme3: 8/0/0 default/read/poll queues
[    7.447216] xhci-hcd 68511000.usb: xHCI Host Controller
[    7.452612] xhci-hcd 68511000.usb: new USB bus registered, assigned bus number 3
[    7.460428] xhci-hcd 68511000.usb: hcc params 0x0250f16d hci version 0x100 quirks 0x0000001000010010
[    7.469865] xhci-hcd 68511000.usb: irq 111, io mem 0x68511000
[    7.475974] hub 3-0:1.0: USB hub found
[    7.479849] hub 3-0:1.0: 2 ports detected
[    7.484061] xhci-hcd 68511000.usb: xHCI Host Controller
[    7.489455] xhci-hcd 68511000.usb: new USB bus registered, assigned bus number 4
[    7.497087] xhci-hcd 68511000.usb: Host supports USB 3.0  SuperSpeed
[    7.503654] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[    7.512105] hub 4-0:1.0: USB hub found
[    7.515980] hub 4-0:1.0: 1 port detected
[    7.520160] usbcore: registered new interface driver cdc_acm
[    7.526000] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[    7.534280] usbcore: registered new interface driver usb-storage
[    7.540502] usbcore: registered new interface driver ftdi_sio
[    7.546438] usbserial: USB Serial support registered for FTDI USB Serial Device
[    7.554007] usbcore: registered new interface driver pl2303
[    7.559764] usbserial: USB Serial support registered for pl2303
[    7.566089] bdc 68502000.usb: Clock not found in Device Tree
[    7.571943] bdc 68502000.usb: Using 2 phy(s)
[    7.576475] bdc 68521000.usb: Clock not found in Device Tree
[    7.582326] bdc 68521000.usb: Using 1 phy(s)
[    7.586902] iproc-rtc rtc: bbl is not powered up:-1
[    7.591974] i2c /dev entries driver
[    7.595740] bcm-iproc-i2c 689b0000.i2c: bus set to 100000 Hz
[    7.601805] bcm-iproc-i2c 689e0000.i2c: bus set to 100000 Hz
[    7.607983] pcf857x 1-0027: probed
[    7.611966] sp805-wdt 689c0000.watchdog: registration successful
[    7.618302] device-mapper: ioctl: 4.40.0-ioctl (2019-01-18) initialised: dm-devel@redhat.com
[    7.627131] sdhci: Secure Digital Host Controller Interface driver
[    7.633509] sdhci: Copyright(c) Pierre Ossman
[    7.638004] sdhci-pltfm: SDHCI platform and OF driver helper
[    7.643928] sdhci-iproc 68cf1000.sdhci: Adding to iommu group 4
[    7.650166] sdhci-iproc 68cf2000.sdhci: Adding to iommu group 5
[    7.656381] EFI Variables Facility v0.08 2004-May-17
[    7.664210] usbcore: registered new interface driver usbhid
[    7.669961] usbhid: USB HID core driver
[    7.674002] NET: Registered protocol family 40
[    7.678809] arm-ccn 61000000.ccn: No access to interrupts, using timer.
[    7.685902] GACT probability on
[    7.689148] Mirror/redirect action on
[    7.692932] Simple TC action Loaded
[    7.696537] u32 classifier
[    7.699329]     Performance counters on
[    7.703285]     input device check on
[    7.707061]     Actions configured
[    7.710615] NET: Registered protocol family 17
[    7.715249] 9pnet: Installing 9P2000 support
[    7.719672] Key type dns_resolver registered
[    7.724310] registered taskstats version 1
[    7.729902] ssp-pl022 68a80000.spi: ARM PL022 driver, device ID: 0x00241022
[    7.737111] ssp-pl022 68a80000.spi: mapped registers from 0x0000000068a80000 to 000000009c395184
[    7.746194] ssp-pl022 68a80000.spi: Failed to work in dma mode, work without dma!
[    7.754043] ssp-pl022 68a90000.spi: ARM PL022 driver, device ID: 0x00241022
[    7.761246] ssp-pl022 68a90000.spi: mapped registers from 0x0000000068a90000 to 000000000a741b16
[    7.770321] ssp-pl022 68a90000.spi: Failed to work in dma mode, work without dma!
[    7.778196] pcieport 0000:00:00.0: Adding to iommu group 6
[    7.783975] pcieport 0000:00:00.0: Signaling PME with IRQ 140
[    7.789969] aer 0000:00:00.0:pcie002: AER enabled with IRQ 140
[    7.796070] pcieport 0001:00:00.0: Adding to iommu group 7
[    7.801835] pcieport 0001:00:00.0: Signaling PME with IRQ 141
[    7.807824] aer 0001:00:00.0:pcie002: AER enabled with IRQ 141
[    7.813923] pcieport 0006:00:00.0: Adding to iommu group 8
[    7.819678] pcieport 0006:00:00.0: Signaling PME with IRQ 143
[    7.825663] aer 0006:00:00.0:pcie002: AER enabled with IRQ 143
[    7.831761] pcieport 0007:00:00.0: Adding to iommu group 9
[    7.837517] pcieport 0007:00:00.0: Signaling PME with IRQ 145
[    7.843504] aer 0007:00:00.0:pcie002: AER enabled with IRQ 145
[    7.849597] dma-pl330 68c10000.dma: Adding to iommu group 10
[    7.855959] dma-pl330 68c10000.dma: Loaded driver for PL330 DMAC-241330
[    7.862786] dma-pl330 68c10000.dma: 	DBUFF-1024x8bytes Num_Chans-8 Num_Peri-32 Num_Events-32
[    7.871540] pca953x 0-0020: 0-0020 supply vcc not found, using dummy regulator
[    7.881820] pca953x 0-0020: interrupt support not compiled in
[    7.920740] mmc0: SDHCI controller on 68cf1000.sdhci [68cf1000.sdhci] using ADMA
[    7.957698] mmc1: SDHCI controller on 68cf2000.sdhci [68cf2000.sdhci] using ADMA
[    7.965441] hctosys: unable to open rtc device (rtc0)
[    8.003108] bgmac-enet 68c40000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[    8.005539] mmc0: new DDR MMC card at address 0001
[    8.016977] mmcblk0: mmc0:0001 MMC16G 14.6 GiB
[    8.021873] mmcblk0boot0: mmc0:0001 MMC16G partition 1 4.00 MiB
[    8.028205] mmcblk0boot1: mmc0:0001 MMC16G partition 2 4.00 MiB
[    8.031217] IP-Config: Complete:
[    8.034366] mmcblk0rpmb: mmc0:0001 MMC16G partition 3 128 KiB, chardev (243:0)
[    8.037642]      device=eth0, hwaddr=00:0a:f7:95:62:82, ipaddr=10.136.13.31, mask=255.255.255.0, gw=10.136.13.1
[    8.037644]      host=10.136.13.31, domain=, nis-domain=(none)
[    8.037646]      bootserver=10.136.4.151, rootserver=10.136.4.151, rootpath=
[    8.054501]  mmcblk0: p1 p2 p3 p4 p5
[    8.072682] ttyS0 - failed to request DMA
[    8.076847] md: Waiting for all devices to be available before autodetect
[    8.083850] md: If you don't use raid, use raid=noautodetect
[    8.089836] md: Autodetecting RAID arrays.
[    8.094065] md: autorun ...
[    8.096947] md: ... autorun DONE.
[    8.104366] VFS: Mounted root (nfs filesystem) on device 0:18.
[    8.110557] devtmpfs: mounted
[    8.113864] Freeing unused kernel memory: 960K
[    8.147264] Run /sbin/init as init process
[    8.207071] systemd[1]: System time before build time, advancing clock.
[    8.235106] NET: Registered protocol family 10
[    8.239987] Segment Routing with IPv6
[    8.249921] systemd[1]: systemd 237 running in system mode. (-PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid)
[    8.272027] systemd[1]: Detected architecture arm64.

[-- Attachment #3: log_console.c --]
[-- Type: application/octet-stream, Size: 4418 bytes --]

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) 2019 Broadcom Corporation
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation version 2.
 *
 * This program is distributed "as is" WITHOUT ANY WARRANTY of any
 * kind, whether express or implied; without even the implied warranty
 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 */

/*
 * The log console implements both a bootconsole (earlycon) and a console that
 * writes the kernel log buffer to volatile memory. It's configured with a
 * kernel boot parameter (earlylog=address,size). Both an earlycon and earlylog
 * can be configured at the same time. Any output to earlycon will also be sent
 * to earlylog. earlylog is disabled when the "normal" console is available and
 * initialized by the kernel.
 */
#include <asm/early_ioremap.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/serial_core.h>
#include <linux/types.h>

/* logging signature */
#define LOG_SIG_OFFSET       0x0000
#define LOG_SIG_VAL          0x75767971

/* current logging offset that points to where new logs should be added */
#define LOG_OFF_OFFSET       0x0004

/* current logging length (excluding header) */
#define LOG_LEN_OFFSET       0x0008

#define LOG_HEADER_LEN       12


/*
 * @base: CPU virtual address of the memory where log is saved
 * @is_initialized: flag that indicates logging has been initialized
 * @addr: physical address of the memory where log is saved
 * @max_size: maximum log buffer size
 */
struct console_log_data {
	void *base;
	bool is_initialized;
	phys_addr_t addr;
	u32 max_size;
};

static struct console_log_data log_data;

static struct console earlycon_log = {
	.name =		"earlycon_log",
	.flags =	CON_PRINTBUFFER | CON_BOOT,
	.index =	0,
	.data =		&log_data,
};

static void log_write(struct console *console, const char *s,
				     unsigned int count)
{
	/* Code removed - doesn't matter. */
}

static int early_log_init(struct console *console)
{
	struct console_log_data *log = console->data;
	u32 val;

	/* Bail out if invalid parameters are seen */
	if (log->is_initialized || !log->addr || !log->max_size)
		return -EINVAL;

	log->base = early_memremap(log->addr, log->max_size);
	if (!log->base)
		return -ENOMEM;

	/* Bail out if no header signature can be found */
	val = readl(log->base + LOG_SIG_OFFSET);
	if (val != LOG_SIG_VAL) {
		early_memunmap(log->base, log->max_size);
		return -EINVAL;
	}

	/* Register the boot console and ensure it was enabled. */
	console->write = log_write;
	register_console(console);
	if (!(console->flags & CON_ENABLED)) {
		early_memunmap(log->base, log->max_size);
		return -EINVAL;
	}

	log->is_initialized = true;

	return 0;
}

static int __init param_setup_earlylog(char *buf)
{
	struct console_log_data *log = &log_data;
	phys_addr_t addr;
	u32 size;
	char *end;
	int err = -EINVAL;

	if (!buf || !buf[0])
		return err;

	/* Parse boot param (eg. earlylog=address,size) */
	addr = memparse(buf, &end);
	if (*end == ',') {
		size = memparse(end + 1, NULL);

		if (addr && size) {
			log->addr = addr;
			log->max_size = size;
		} else
			return err;
	}

	err = early_log_init(&earlycon_log);
	if (err < 0)
		return err;

	return 0;
}
early_param("earlylog", param_setup_earlylog);

/*
 * The console is enabled by default because it doesn't need to be selected on
 * the kernel command line (eg- console=) and therefore wouldn't be enabled
 * automatically when registered.
 */
static struct console console_log = {
	.name		= "console_log",
	.flags		= CON_PRINTBUFFER | CON_ENABLED,
	.index		= 0,
	.write		= log_write,
	.data		= &log_data,
};

static int log_console_init(void)
{
	struct console_log_data *log = console_log.data;

	/* console_log depends on earlycon_log being initialized. */
	if (!log->is_initialized || !log->addr || !log->max_size)
		return -EINVAL;

	/* Clean up earlycon_log. */
	unregister_console(&earlycon_log);
	early_memunmap(log->base, log->max_size);

	/*
	 * The early base address is no longer usable and must be mapped with
	 * memremap now that it's available.
	 */
	log->base = memremap(log->addr, log->max_size, MEMREMAP_WB);
	if (!log->base)
		return -ENOMEM;

	register_console(&console_log);

	return 0;
}
console_initcall(log_console_init);

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: console output duplicated when registering additional consoles
  2019-11-07  1:09 console output duplicated when registering additional consoles Jonathan Richardson
@ 2019-11-14  1:28 ` Jonathan Richardson
  2019-11-14  9:57   ` Petr Mladek
  0 siblings, 1 reply; 11+ messages in thread
From: Jonathan Richardson @ 2019-11-14  1:28 UTC (permalink / raw)
  To: gregkh, jslaby, pmladek, sergey.senozhatsky
  Cc: linux-serial, linux-kernel, Scott Branden, Ray Jui, Srinath Mannam

[-- Attachment #1: Type: text/plain, Size: 1870 bytes --]

Adding printk maintainers.
This commit seems to have introduced the error:

commit f92b070f2dc89a8ff1a0cc8b608e20abef894c7d
Author: Petr Mladek <pmladek@suse.com>
Date:   Thu Sep 13 14:34:06 2018 +0200

    printk: Do not miss new messages when replaying the log

If I checkout to the commit before
(a06b0c82a049d34d4dc273e8692ed0894458c468), the console output is
normal when registering 2 bootconsoles and 2 normal consoles. I've
added the log for 4.19.0-rc3 for comparison (previous version was
5.1.0). I don't think this commit took into account that more than one
console could be registered. When the second console is registered,
'console_seq >= exclusive_console_stop_seq' is true (both are 0) and
exclusive_console is always set to NULL resulting in the log being
replayed again to the uart8250 console:

        /* Output to all consoles once old messages replayed. */
        if (unlikely(exclusive_console &&
                 console_seq >= exclusive_console_stop_seq)) {
            exclusive_console = NULL;
        }

I'm looking into it but any input is helpful. Thanks.

On Wed, Nov 6, 2019 at 5:09 PM Jonathan Richardson
<jonathan.richardson@broadcom.com> wrote:
>
> Hi,
>
> I have a console driver that registers an additional boot console and
> "normal" console. The command line is:
> earlycon=uart8250,mmio32,0x68A10000 console=ttyS0,115200n8
> earlylog=0x8f110000,0x10000
>
> When the second bootconsole is registered via register_console(), the
> output in the log buffer is written a second time to the uart8250
> console resulting in duplicate output. When the second "normal"
> console is registered the complete buffer is written again to
> uart8250. It looks like a bug in printk but I'm still trying to figure
> out how it's keeping track of what has been written to a console.
>
> I've attached the driver and uart8250 output.
>
> Thanks.

[-- Attachment #2: console-output-4.19.txt --]
[-- Type: text/plain, Size: 45748 bytes --]

 --- STARTING KERNEL
EFI stub: Booting Linux Kernel...
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services and installing virtual address map...
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
[    0.000000] Linux version 4.19.0-rc3 (oe-user@oe-host) (gcc version 7.3.0 (GCC)) #1 SMP Wed Nov 13 19:14:49 UTC 2019
[    0.000000] Machine model: Stingray Combo SVK w/PAXB IOMMU (BCM958742K)
[    0.000000] earlycon: uart8250 at MMIO32 0x0000000068a10000 (options '')
[    0.000000] bootconsole [uart8250] enabled
[    0.000000] bootconsole [earlycon_log0] enabled
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: EFI v2.70 by EDK II
[    0.000000] efi:  SMBIOS=0x85c90000  SMBIOS 3.0=0x85a20000  ACPI 2.0=0x85d50000  MEMATTR=0x893af018
[    0.000000] crashkernel reserved: 0x00000000dfe00000 - 0x00000000ffe00000 (512 MB)
[    0.000000] cma: Reserved 1024 MiB at 0x000000009fc00000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.1
[    0.000000] random: get_random_bytes called from start_kernel+0xa8/0x3fc with crng_init=0
[    0.000000] percpu: Embedded 23 pages/cpu @(____ptrval____) s53784 r8192 d32232 u94208
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: enabling workaround for EL2 vector hardening
[    0.000000] Speculative Store Bypass Disable mitigation not required
[    0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 12376560
[    0.000000] Kernel command line: FS2:\Image.2  root=/dev/mmcblk0p4 rw rootwait  earlycon=uart8250,mmio32,0x68A10000 earlylog=0x8f110000,0x10000 console=ttyS0,115200n8 hugepages=0 cma=1G crashkernel=512M pci=pcie_bus_safe pciehp.pciehp_poll_mode=1 pciehp.pciehp_poll_time=5 vfio_pci.disable_idle_d3=1 pcie_ports=native maxcpus=8  bgmac_platform.ethaddr=00:0A:F7:95:62:82 ip=10.136.13.31:10.136.4.151:10.136.13.1:255.255.255.0:::off  loglevel=7
[    0.000000] Dentry cache hash table entries: 8388608 (order: 14, 67108864 bytes)
[    0.000000] Inode-cache hash table entries: 4194304 (order: 13, 33554432 bytes)
[    0.000000] software IO TLB: mapped [mem 0x9bc00000-0x9fc00000] (64MB)
[    0.000000] Memory: 47740792K/50292608K available (9148K kernel code, 804K rwdata, 3260K rodata, 768K init, 347K bss, 1503240K reserved, 1048576K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	RCU event tracing is enabled.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: Distributor has no Range Selector support
[    0.000000] GICv3: no VLPI support, no direct LPI support
[    0.000000] ITS [mem 0x63c20000-0x63c2ffff]
[    0.000000] ITS@0x0000000063c20000: allocated 65536 Devices @a3c9480000 (flat, esz 8, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] GIC: using LPI property table @0x000000a3c9450000
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000063e00000
[    0.000000] CPU0: using LPI pending table @0x000000a3c9460000
[    0.000000] GIC: using cache flushing for LPI property table
[    0.000000] arch_timer: cp15 timer(s) running at 125.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x39a85c4118, max_idle_ns: 881590405314 ns
[    0.000001] sched_clock: 56 bits at 125MHz, resolution 8ns, wraps every 4398046511100ns
[    0.009162] clocksource: arm,sp804: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 152900835740 ns
[    0.020098] Console: colour dummy device 80x25
[    0.025146] bootconsole [earlycon_log0] disabled
[    0.031519] console [console_log0] enabled
[    0.036178] Calibrating delay loop (skipped), value calculated using timer frequency.. 250.00 BogoMIPS (lpj=500000)
[    0.048044] pid_max: default: 32768 minimum: 301
[    0.053305] Security Framework initialized
[    0.058116] Mount-cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.066311] Mountpoint-cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.075186] ASID allocator initialised with 32768 entries
[    0.081343] rcu: Hierarchical SRCU implementation.
[    0.087216] Platform MSI: gic-its@63c20000 domain created
[    0.093385] PCI/MSI: /scr/interrupt-controller@2c00000/gic-its@63c20000 domain created
[    0.102432] Remapping and enabling EFI services.
[    0.108047] smp: Bringing up secondary CPUs ...
I: Cluster #1 entering to snoop/dvm domain
I: Cluster #2 entering to snoop/dvm domain
I: Cluster #3 entering to snoop/dvm domain
[    0.113354] Detected PIPT I-cache on CPU1
[    0.113367] GICv3: CPU1: found redistributor 1 region 0:0x0000000063e20000
[    0.113398] CPU1: using LPI pending table @0x000000a3c97c0000
[    0.113410] CPU1: Booted secondary processor 0x0000000001 [0x410fd083]
[    0.113825] Detected PIPT I-cache on CPU2
[    0.113837] GICv3: CPU2: found redistributor 100 region 0:0x0000000063e40000
[    0.113870] CPU2: using LPI pending table @0x000000a3c8c00000
[    0.113884] CPU2: Booted secondary processor 0x0000000100 [0x410fd083]
[    0.114066] Detected PIPT I-cache on CPU3
[    0.114072] GICv3: CPU3: found redistributor 101 region 0:0x0000000063e60000
[    0.114103] CPU3: using LPI pending table @0x000000a3c8c30000
[    0.114112] CPU3: Booted secondary processor 0x0000000101 [0x410fd083]
[    0.115848] Detected PIPT I-cache on CPU4
[    0.115858] GICv3: CPU4: found redistributor 200 region 0:0x0000000063e80000
[    0.115889] CPU4: using LPI pending table @0x000000a3c8c40000
[    0.115903] CPU4: Booted secondary processor 0x0000000200 [0x410fd083]
[    0.116083] Detected PIPT I-cache on CPU5
[    0.116090] GICv3: CPU5: found redistributor 201 region 0:0x0000000063ea0000
[    0.116118] CPU5: using LPI pending table @0x000000a3c8c90000
[    0.116128] CPU5: Booted secondary processor 0x0000000201 [0x410fd083]
[    0.119791] Detected PIPT I-cache on CPU6
[    0.119801] GICv3: CPU6: found redistributor 300 region 0:0x0000000063ec0000
[    0.119832] CPU6: using LPI pending table @0x000000a3c8cb0000
[    0.119845] CPU6: Booted secondary processor 0x0000000300 [0x410fd083]
[    0.120026] Detected PIPT I-cache on CPU7
[    0.120032] GICv3: CPU7: found redistributor 301 region 0:0x0000000063ee0000
[    0.120061] CPU7: using LPI pending table @0x000000a3c8d00000
[    0.120070] CPU7: Booted secondary processor 0x0000000301 [0x410fd083]
[    0.120097] smp: Brought up 1 node, 8 CPUs
[    0.315513] SMP: Total of 8 processors activated.
[    0.320856] CPU features: detected: GIC system register CPU interface
[    0.328173] CPU features: detected: 32-bit EL0 Support
[    0.382220] CPU: All CPU(s) started at EL2
[    0.386887] alternatives: patching kernel code
[    0.392239] devtmpfs: initialized
[    0.397661] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.408742] futex hash table entries: 2048 (order: 5, 131072 bytes)
[    0.422196] xor: measuring software checksum speed
[    0.467666]    8regs     :  9089.000 MB/sec
[    0.512428]    8regs_prefetch:  8244.000 MB/sec
[    0.557584]    32regs    :  9430.000 MB/sec
[    0.602344]    32regs_prefetch:  8531.000 MB/sec
[    0.607586] xor: using function: 32regs (9430.000 MB/sec)
[    0.613722] pinctrl core: initialized pinctrl subsystem
[    0.619993] SMBIOS 3.3.0 present.
[    0.623759] DMI: BRCM BRCM-SR/BRCM-SR, BIOS 0.1 Nov  4 2019
[    0.630176] NET: Registered protocol family 16
[    0.635383] audit: initializing netlink subsys (disabled)
[    0.641561] audit: type=2000 audit(0.424:1): state=initialized audit_enabled=0 res=1
[    0.650375] cpuidle: using governor menu
[    0.654901] WARNING: CPU: 0 PID: 1 at /usr/src/kernel/arch/arm64/kernel/setup.c:271 reserve_memblock_reserved_regions+0xd8/0x144
[    0.668049] Modules linked in:
[    0.671513] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.19.0-rc3 #1
[    0.678631] Hardware name: BRCM BRCM-SR/BRCM-SR, BIOS 0.1 Nov  4 2019
[    0.685948] pstate: 20000005 (nzCv daif -PAN -UAO)
[    0.691386] pc : reserve_memblock_reserved_regions+0xd8/0x144
[    0.697911] lr : reserve_memblock_reserved_regions+0xd0/0x144
[    0.704437] sp : ffff00000805bd40
[    0.708194] x29: ffff00000805bd40 x28: 0000000000000004
[    0.714227] x27: ffff000008d51050 x26: ffff000008cb0630
[    0.720259] x25: 0000000000000000 x24: 0000000000488020
[    0.726291] x23: 000000008f13ffff x22: ffff000008c50fa0
[    0.732323] x21: ffff000008ba6258 x20: ffff000008d78000
[    0.738355] x19: ffff80a34887cf00 x18: ffffffffffffffff
[    0.744386] x17: 0000000000000000 x16: 0000000000000000
[    0.750418] x15: ffff000008d78688 x14: ffff000008d786d0
[    0.756451] x13: 0000000000000000 x12: 0000000000000038
[    0.762483] x11: 0101010101010101 x10: ffff80a34887cf00
[    0.768514] x9 : 0000000000000000 x8 : ffff80a34887cf80
[    0.774546] x7 : 0000000000000000 x6 : 000000008f220000
[    0.780578] x5 : ffff80007ffffc30 x4 : ffff80007ffffbc0
[    0.786610] x3 : 000000008f13ffff x2 : ffff000008e3f180
[    0.792642] x1 : 0000000000000000 x0 : 0000000000000000
[    0.798674] Call trace:
[    0.801444]  reserve_memblock_reserved_regions+0xd8/0x144
[    0.807576]  do_one_initcall+0x5c/0x180
[    0.811928]  kernel_init_freeable+0x1c0/0x26c
[    0.816874]  kernel_init+0x10/0x108
[    0.820830]  ret_from_fork+0x10/0x1c
[    0.824885] ---[ end trace 698bac369de9cb4e ]---
[    0.830142] vdso: 2 pages (1 code @ (____ptrval____), 1 data @ (____ptrval____))
[    0.838549] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.846578] DMA: preallocated 256 KiB pool for atomic allocations
[    0.858611] gpiochip_add_data_with_key: GPIOs 355..505 (689d0000.gpio) failed to register, -517
[    0.868505] iproc-gpio 689d0000.gpio: unable to add GPIO chip
[    0.881679] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.889417] cryptd: max_cpu_qlen set to 1000
[    0.962323] raid6: int64x1  gen()  1702 MB/s
[    1.035203] raid6: int64x1  xor()  1715 MB/s
[    1.108080] raid6: int64x2  gen()  2349 MB/s
[    1.180957] raid6: int64x2  xor()  2413 MB/s
[    1.253838] raid6: int64x4  gen()  3268 MB/s
[    1.326718] raid6: int64x4  xor()  2583 MB/s
[    1.399595] raid6: int64x8  gen()  3266 MB/s
[    1.472483] raid6: int64x8  xor()  2516 MB/s
[    1.545363] raid6: neonx1   gen()  3476 MB/s
[    1.618240] raid6: neonx1   xor()  4027 MB/s
[    1.691123] raid6: neonx2   gen()  4472 MB/s
[    1.764001] raid6: neonx2   xor()  4978 MB/s
[    1.836875] raid6: neonx4   gen()  6345 MB/s
[    1.909752] raid6: neonx4   xor()  5174 MB/s
[    1.982627] raid6: neonx8   gen()  6801 MB/s
[    2.055503] raid6: neonx8   xor()  6024 MB/s
[    2.060349] raid6: using algorithm neonx8 gen() 6801 MB/s
[    2.066481] raid6: .... xor() 6024 MB/s, rmw enabled
[    2.072118] raid6: using neon recovery algorithm
[    2.077628] vgaarb: loaded
[    2.080780] SCSI subsystem initialized
[    2.085113] ssp-pl022 68a80000.spi: ARM PL022 driver, device ID: 0x00241022
[    2.093058] ssp-pl022 68a90000.spi: ARM PL022 driver, device ID: 0x00241022
[    2.101034] usbcore: registered new interface driver usbfs
[    2.107277] usbcore: registered new interface driver hub
[    2.113336] usbcore: registered new device driver usb
[    2.119094] pps_core: LinuxPPS API ver. 1 registered
[    2.124740] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    2.135128] PTP clock support registered
[    2.139628] EDAC MC: Ver: 3.0.0
[    2.143270] Registered efivars operations
[    2.148074] clocksource: Switched to clocksource arch_sys_counter
[    2.155045] VFS: Disk quotas dquot_6.6.0
[    2.159513] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    2.169074] NET: Registered protocol family 2
[    2.174156] tcp_listen_portaddr_hash hash table entries: 32768 (order: 7, 524288 bytes)
[    2.183470] TCP established hash table entries: 524288 (order: 10, 4194304 bytes)
[    2.193033] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[    2.200924] TCP: Hash tables configured (established 524288 bind 65536)
[    2.208488] UDP hash table entries: 32768 (order: 8, 1048576 bytes)
[    2.216009] UDP-Lite hash table entries: 32768 (order: 8, 1048576 bytes)
[    2.224054] NET: Registered protocol family 1
[    2.229109] RPC: Registered named UNIX socket transport module.
[    2.235840] RPC: Registered udp transport module.
[    2.241184] RPC: Registered tcp transport module.
[    2.246526] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    2.254177] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    2.263136] kvm [1]: 8-bit VMID
[    2.266865] kvm [1]: GICv3: no GICV resource entry
[    2.272308] kvm [1]: disabling GICv2 emulation
[    2.277365] kvm [1]: GIC system register CPU interface enabled
[    2.284048] kvm [1]: vgic interrupt IRQ1
[    2.288569] kvm [1]: Hyp mode initialized successfully
[    2.298883] workingset: timestamp_bits=46 max_order=24 bucket_order=0
[    2.308038] NFS: Registering the id_resolver key type
[    2.313784] Key type id_resolver registered
[    2.318533] Key type id_legacy registered
[    2.323087] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    2.330739] 9p: Installing v9fs 9p2000 file system support
[    2.343370] NET: Registered protocol family 38
[    2.348427] async_tx: api initialized (async)
[    2.353386] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
[    2.361795] io scheduler noop registered
[    2.366248] io scheduler deadline registered
[    2.371122] io scheduler cfq registered (default)
[    2.376466] io scheduler mq-deadline registered
[    2.381610] io scheduler kyber registered
[    2.386360] brcm-sata-phy 67d02100.sata_phy: registered 1 port(s)
[    2.393329] brcm-sata-phy 67d12100.sata_phy: registered 1 port(s)
[    2.400300] brcm-sata-phy 67d22100.sata_phy: registered 1 port(s)
[    2.407266] brcm-sata-phy 67d32100.sata_phy: registered 1 port(s)
[    2.414235] brcm-sata-phy 67e02100.sata_phy: registered 1 port(s)
[    2.421204] brcm-sata-phy 67e12100.sata_phy: registered 1 port(s)
[    2.428170] brcm-sata-phy 67e22100.sata_phy: registered 1 port(s)
[    2.435139] brcm-sata-phy 67e32100.sata_phy: registered 1 port(s)
[    2.442256] sr-pcie-phy 40000000.phy: Stingray PCIe PHY driver initialized
[    2.450181] pinctrl-single 68a40000.pinconf: please update dts to use #pinctrl-cells = <1>
[    2.459642] pinctrl-single 68a40000.pinconf: 148 pins, size 592
[    2.466402] pinctrl-single 68a4029c.pinmux: please update dts to use #pinctrl-cells = <1>
[    2.475763] pinctrl-single 68a4029c.pinmux: 155 pins, size 620
[    2.482582] iproc-pcie 48000000.pcie: host bridge /pcie@48000000 ranges:
[    2.490206] iproc-pcie 48000000.pcie:   MEM 0x400000000..0x46fffffff -> 0x400000000
[    2.498912] iproc-pcie 48000000.pcie:   MEM 0x470000000..0x47fffffff -> 0x40000000
[    2.507521] iproc-pcie 48000000.pcie: reads of config registers that contain 0xffff0001 return incorrect data
[    2.624106] iproc-pcie 48000000.pcie: link: UP
[    2.629164] iproc-pcie 48000000.pcie: not using iProc MSI
[    2.635326] iproc-pcie 48000000.pcie: PCI host bridge to bus 0000:00
[    2.642551] pci_bus 0000:00: root bus resource [bus 00-ff]
[    2.648784] pci_bus 0000:00: root bus resource [mem 0x400000000-0x46fffffff pref]
[    2.657292] pci_bus 0000:00: root bus resource [mem 0x470000000-0x47fffffff] (bus address [0x40000000-0x4fffffff])
[    2.669084] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x4 may corrupt adjacent RW1C bits
[    2.680065] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x4 may corrupt adjacent RW1C bits
[    2.691088] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x4c may corrupt adjacent RW1C bits
[    2.702814] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    2.711916] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x3e may corrupt adjacent RW1C bits
[    2.722996] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0xc8 may corrupt adjacent RW1C bits
[    2.734075] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x3e may corrupt adjacent RW1C bits
[    2.745157] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x3e may corrupt adjacent RW1C bits
[    2.756236] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0xc8 may corrupt adjacent RW1C bits
[    2.767314] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x6 may corrupt adjacent RW1C bits
[    2.778438] pci_bus 0000:01: 2-byte config write to 0000:01:00.0 offset 0x4 may corrupt adjacent RW1C bits
[    2.789911] pci 0000:01:00.0: enabling Extended Tags
[    2.796749] pci 0000:00:00.0: BAR 14: assigned [mem 0x470000000-0x4700fffff]
[    2.804764] pci 0000:01:00.0: BAR 6: assigned [mem 0x470000000-0x47001ffff pref]
[    2.813173] pci 0000:01:00.0: BAR 4: assigned [mem 0x470020000-0x47002ffff 64bit]
[    2.821860] pci 0000:01:00.0: BAR 0: assigned [mem 0x470030000-0x470033fff 64bit]
[    2.830488] pci 0000:00:00.0: PCI bridge to [bus 01]
[    2.836130] pci 0000:00:00.0:   bridge window [mem 0x470000000-0x4700fffff]
[    2.844051] pci 0000:00:00.0: Max Payload Size set to  256/ 512 (was  128), Max Read Rq  512
[    2.853686] pci 0000:01:00.0: Max Payload Size set to  256/ 256 (was  128), Max Read Rq  512
[    2.863331] iproc-pcie 48004000.pcie: host bridge /pcie@48004000 ranges:
[    2.870953] iproc-pcie 48004000.pcie:   MEM 0x480000000..0x4efffffff -> 0x480000000
[    2.879658] iproc-pcie 48004000.pcie:   MEM 0x4f0000000..0x4ffffffff -> 0x40000000
[    2.888265] iproc-pcie 48004000.pcie: reads of config registers that contain 0xffff0001 return incorrect data
[    2.899542] phy phy-40000000.phy.9: phy init failed --> -19
[    2.905874] iproc-pcie 48004000.pcie: unable to initialize PCIe PHY
[    2.912996] iproc-pcie 48004000.pcie: PCIe controller setup failed
[    2.920040] iproc-pcie 48008000.pcie: host bridge /pcie@48008000 ranges:
[    2.927661] iproc-pcie 48008000.pcie:   MEM 0x500000000..0x56fffffff -> 0x500000000
[    2.936366] iproc-pcie 48008000.pcie:   MEM 0x570000000..0x57fffffff -> 0x40000000
[    2.944972] iproc-pcie 48008000.pcie: reads of config registers that contain 0xffff0001 return incorrect data
[    3.064104] iproc-pcie 48008000.pcie: link: UP
[    3.069160] iproc-pcie 48008000.pcie: not using iProc MSI
[    3.075316] iproc-pcie 48008000.pcie: PCI host bridge to bus 0002:00
[    3.082540] pci_bus 0002:00: root bus resource [bus 00-ff]
[    3.088774] pci_bus 0002:00: root bus resource [mem 0x500000000-0x56fffffff pref]
[    3.097282] pci_bus 0002:00: root bus resource [mem 0x570000000-0x57fffffff] (bus address [0x40000000-0x4fffffff])
[    3.109713] pci 0002:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    3.119455] pci 0002:01:00.0: enabling Extended Tags
[    3.125617] pci 0002:01:00.0: 15.752 Gb/s available PCIe bandwidth, limited by 8 GT/s x2 link at 0002:00:00.0 (capable of 31.504 Gb/s with 8 GT/s x4 link)
[    3.152680] pci 0002:00:00.0: BAR 14: assigned [mem 0x570000000-0x5700fffff]
[    3.160696] pci 0002:01:00.0: BAR 6: assigned [mem 0x570000000-0x57001ffff pref]
[    3.169106] pci 0002:01:00.0: BAR 4: assigned [mem 0x570020000-0x57002ffff 64bit]
[    3.177791] pci 0002:01:00.0: BAR 0: assigned [mem 0x570030000-0x570033fff 64bit]
[    3.186417] pci 0002:00:00.0: PCI bridge to [bus 01]
[    3.192058] pci 0002:00:00.0:   bridge window [mem 0x570000000-0x5700fffff]
[    3.199979] pci 0002:00:00.0: Max Payload Size set to  256/ 256 (was  128), Max Read Rq  512
[    3.209606] pci 0002:01:00.0: Max Payload Size set to  256/ 256 (was  128), Max Read Rq  512
[    3.219245] iproc-pcie 4800c000.pcie: host bridge /pcie@4800c000 ranges:
[    3.226867] iproc-pcie 4800c000.pcie:   MEM 0x580000000..0x5efffffff -> 0x580000000
[    3.235572] iproc-pcie 4800c000.pcie:   MEM 0x5f0000000..0x5ffffffff -> 0x40000000
[    3.244179] iproc-pcie 4800c000.pcie: reads of config registers that contain 0xffff0001 return incorrect data
[    3.360107] iproc-pcie 4800c000.pcie: PHY or data link is INACTIVE!
[    3.367230] iproc-pcie 4800c000.pcie: no PCIe EP device detected
[    3.374056] iproc-pcie 4800c000.pcie: PCIe controller setup failed
[    3.381100] iproc-pcie 48010000.pcie: host bridge /pcie@48010000 ranges:
[    3.388722] iproc-pcie 48010000.pcie:   MEM 0x600000000..0x66fffffff -> 0x600000000
[    3.397427] iproc-pcie 48010000.pcie:   MEM 0x670000000..0x67fffffff -> 0x40000000
[    3.406033] iproc-pcie 48010000.pcie: reads of config registers that contain 0xffff0001 return incorrect data
[    3.417308] phy phy-40000000.phy.12: phy init failed --> -19
[    3.423738] iproc-pcie 48010000.pcie: unable to initialize PCIe PHY
[    3.430860] iproc-pcie 48010000.pcie: PCIe controller setup failed
[    3.437900] iproc-pcie 48014000.pcie: host bridge /pcie@48014000 ranges:
[    3.445521] iproc-pcie 48014000.pcie:   MEM 0x680000000..0x6efffffff -> 0x680000000
[    3.454226] iproc-pcie 48014000.pcie:   MEM 0x6f0000000..0x6ffffffff -> 0x40000000
[    3.462832] iproc-pcie 48014000.pcie: reads of config registers that contain 0xffff0001 return incorrect data
[    3.474107] phy phy-40000000.phy.13: phy init failed --> -19
[    3.480538] iproc-pcie 48014000.pcie: unable to initialize PCIe PHY
[    3.487660] iproc-pcie 48014000.pcie: PCIe controller setup failed
[    3.494699] iproc-pcie 48018000.pcie: host bridge /pcie@48018000 ranges:
[    3.502320] iproc-pcie 48018000.pcie:   MEM 0x700000000..0x76fffffff -> 0x700000000
[    3.511025] iproc-pcie 48018000.pcie:   MEM 0x770000000..0x77fffffff -> 0x40000000
[    3.519631] iproc-pcie 48018000.pcie: reads of config registers that contain 0xffff0001 return incorrect data
[    3.636100] iproc-pcie 48018000.pcie: link: UP
[    3.641156] iproc-pcie 48018000.pcie: not using iProc MSI
[    3.647310] iproc-pcie 48018000.pcie: PCI host bridge to bus 0006:00
[    3.654534] pci_bus 0006:00: root bus resource [bus 00-ff]
[    3.660768] pci_bus 0006:00: root bus resource [mem 0x700000000-0x76fffffff pref]
[    3.669276] pci_bus 0006:00: root bus resource [mem 0x770000000-0x77fffffff] (bus address [0x40000000-0x4fffffff])
[    3.681707] pci 0006:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    3.691451] pci 0006:01:00.0: enabling Extended Tags
[    3.698277] pci 0006:00:00.0: BAR 14: assigned [mem 0x770000000-0x7700fffff]
[    3.706292] pci 0006:01:00.0: BAR 6: assigned [mem 0x770000000-0x77001ffff pref]
[    3.714700] pci 0006:01:00.0: BAR 4: assigned [mem 0x770020000-0x77002ffff 64bit]
[    3.723385] pci 0006:01:00.0: BAR 0: assigned [mem 0x770030000-0x770033fff 64bit]
[    3.732010] pci 0006:00:00.0: PCI bridge to [bus 01]
[    3.737651] pci 0006:00:00.0:   bridge window [mem 0x770000000-0x7700fffff]
[    3.745572] pci 0006:00:00.0: Max Payload Size set to  256/ 512 (was  128), Max Read Rq  512
[    3.755206] pci 0006:01:00.0: Max Payload Size set to  256/ 256 (was  128), Max Read Rq  512
[    3.764851] iproc-pcie 4801c000.pcie: host bridge /pcie@4801c000 ranges:
[    3.772474] iproc-pcie 4801c000.pcie:   MEM 0x780000000..0x7dfffffff -> 0x780000000
[    3.781181] iproc-pcie 4801c000.pcie:   MEM 0x7e0000000..0x7efffffff -> 0x7d0000000
[    3.789887] iproc-pcie 4801c000.pcie:   MEM 0x7f0000000..0x7ffffffff -> 0x40000000
[    3.798493] iproc-pcie 4801c000.pcie: reads of config registers that contain 0xffff0001 return incorrect data
[    3.916104] iproc-pcie 4801c000.pcie: link: UP
[    3.921160] iproc-pcie 4801c000.pcie: not using iProc MSI
[    3.927316] iproc-pcie 4801c000.pcie: PCI host bridge to bus 0007:00
[    3.934540] pci_bus 0007:00: root bus resource [bus 00-ff]
[    3.940775] pci_bus 0007:00: root bus resource [mem 0x780000000-0x7dfffffff pref]
[    3.949282] pci_bus 0007:00: root bus resource [mem 0x7e0000000-0x7efffffff pref] (bus address [0x7d0000000-0x7dfffffff])
[    3.961744] pci_bus 0007:00: root bus resource [mem 0x7f0000000-0x7ffffffff] (bus address [0x40000000-0x4fffffff])
[    3.974175] pci 0007:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    3.983923] pci 0007:01:00.0: enabling Extended Tags
[    3.990749] pci 0007:00:00.0: BAR 14: assigned [mem 0x7f0000000-0x7f00fffff]
[    3.998764] pci 0007:01:00.0: BAR 6: assigned [mem 0x7f0000000-0x7f001ffff pref]
[    4.007174] pci 0007:01:00.0: BAR 4: assigned [mem 0x7f0020000-0x7f002ffff 64bit]
[    4.015859] pci 0007:01:00.0: BAR 0: assigned [mem 0x7f0030000-0x7f0033fff 64bit]
[    4.024486] pci 0007:00:00.0: PCI bridge to [bus 01]
[    4.030128] pci 0007:00:00.0:   bridge window [mem 0x7f0000000-0x7f00fffff]
[    4.038049] pci 0007:00:00.0: Max Payload Size set to  256/ 512 (was  128), Max Read Rq  512
[    4.047686] pci 0007:01:00.0: Max Payload Size set to  256/ 256 (was  128), Max Read Rq  512
[    4.057314] iproc-pcie 60400000.pcie: host bridge /pcie@60400000 ranges:
[    4.064934] iproc-pcie 60400000.pcie:   MEM 0x10000000..0x2fffffff -> 0x10000000
[    4.073350] iproc-pcie 60400000.pcie: not using iProc MSI
[    4.079506] iproc-pcie 60400000.pcie: PCI host bridge to bus 0008:00
[    4.086730] pci_bus 0008:00: root bus resource [bus 00-01]
[    4.092964] pci_bus 0008:00: root bus resource [mem 0x10000000-0x2fffffff]
[    4.100850] PCI: OF: /pcie@60400000: Invalid msi-map translation - no match for rid 0x0 on           (null)
[    4.113440] pci 0008:00:00.0: BAR 14: assigned [mem 0x10000000-0x100fffff]
[    4.121256] pci 0008:00:00.0: BAR 15: assigned [mem 0x10100000-0x103fffff 64bit pref]
[    4.130160] pci 0008:01:00.0: BAR 2: assigned [mem 0x10100000-0x101fffff 64bit pref]
[    4.138969] pci 0008:01:00.1: BAR 2: assigned [mem 0x10200000-0x102fffff 64bit pref]
[    4.147777] pci 0008:01:00.0: BAR 0: assigned [mem 0x10000000-0x1000ffff 64bit]
[    4.156093] pci 0008:01:00.1: BAR 0: assigned [mem 0x10010000-0x1001ffff 64bit]
[    4.164409] pci 0008:01:00.0: BAR 4: assigned [mem 0x10300000-0x10300fff 64bit pref]
[    4.173219] pci 0008:01:00.1: BAR 4: assigned [mem 0x10301000-0x10301fff 64bit pref]
[    4.182028] pci 0008:00:00.0: PCI bridge to [bus 01]
[    4.187670] pci 0008:00:00.0:   bridge window [mem 0x10000000-0x100fffff]
[    4.195388] pci 0008:00:00.0:   bridge window [mem 0x10100000-0x103fffff 64bit pref]
[    4.204198] pci 0008:00:00.0: Max Payload Size set to  512/ 512 (was  128), Max Read Rq  512
[    4.213798] pci 0008:01:00.0: Max Payload Size set to  512/ 512 (was  128), Max Read Rq  512
[    4.223397] pci 0008:01:00.1: Max Payload Size set to  512/ 512 (was  128), Max Read Rq  512
[    4.234243] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    4.241814] console [ttyS0] disabled
[    4.245881] 68a10000.uart: ttyS0 at MMIO 0x68a10000 (irq = 117, base_baud = 1562500) is a 16550A
[    4.255887] console [ttyS0] enabled
[    4.255887] console [ttyS0] enabled
[    4.263443] bootconsole [uart8250] disabled
[    4.263443] bootconsole [uart8250] disabled
[    4.272605] 68a20000.uart: ttyS2 at MMIO 0x68a20000 (irq = 118, base_baud = 1562500) is a 16550A
[    4.281800] 68a30000.uart: ttyS3 at MMIO 0x68a30000 (irq = 119, base_baud = 1562500) is a 16550A
[    4.291179] iproc-rng200 68b20000.hwrng: hwrng registered
[    4.296959] arm-smmu 64000000.mmu: probing hardware configuration...
[    4.303536] arm-smmu 64000000.mmu: SMMUv2 with:
[    4.308225] arm-smmu 64000000.mmu: 	stage 1 translation
[    4.313633] arm-smmu 64000000.mmu: 	stage 2 translation
[    4.319040] arm-smmu 64000000.mmu: 	nested translation
[    4.324358] arm-smmu 64000000.mmu: 	stream matching with 63 register groups
[    4.331564] arm-smmu 64000000.mmu: 	63 context banks (0 stage-2 only)
[    4.338231] arm-smmu 64000000.mmu: 	Supported page sizes: 0x61311000
[    4.344807] arm-smmu 64000000.mmu: 	Stage-1: 48-bit VA -> 48-bit IPA
[    4.351382] arm-smmu 64000000.mmu: 	Stage-2: 48-bit IPA -> 48-bit PA
[    4.357958] arm-smmu 64000000.mmu: found only 62 context irq(s) but 63 required
[    4.367874] loop: module loaded
[    4.371145] Loading iSCSI transport class v2.0-870.
[    4.376304] iscsi: registered transport (tcp)
[    4.380815] mpt3sas version 26.100.00.00 loaded
[    4.385991] ahci 67d00000.ahci: masking port_map 0x1 -> 0x1
[    4.391767] ahci 67d00000.ahci: SSS flag set, parallel bus scan disabled
[    4.408769] ahci 67d00000.ahci: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    4.417595] ahci 67d00000.ahci: flags: 64bit ncq sntf stag clo pmp fbs slum part
[    4.425606] scsi host0: ahci
[    4.428688] ata1: SATA max UDMA/133 mmio [mem 0x67d00000-0x67d00fff] port 0x100 irq 101
[    4.437073] ahci 67d10000.ahci: masking port_map 0x1 -> 0x1
[    4.442846] ahci 67d10000.ahci: SSS flag set, parallel bus scan disabled
[    4.459845] ahci 67d10000.ahci: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    4.468670] ahci 67d10000.ahci: flags: 64bit ncq sntf stag clo pmp fbs slum part
[    4.476594] scsi host1: ahci
[    4.479640] ata2: SATA max UDMA/133 mmio [mem 0x67d10000-0x67d10fff] port 0x100 irq 102
[    4.488019] ahci 67d20000.ahci: masking port_map 0x1 -> 0x1
[    4.493793] ahci 67d20000.ahci: SSS flag set, parallel bus scan disabled
[    4.510790] ahci 67d20000.ahci: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    4.519614] ahci 67d20000.ahci: flags: 64bit ncq sntf stag clo pmp fbs slum part
[    4.527582] scsi host2: ahci
[    4.530632] ata3: SATA max UDMA/133 mmio [mem 0x67d20000-0x67d20fff] port 0x100 irq 103
[    4.539014] ahci 67d30000.ahci: masking port_map 0x1 -> 0x1
[    4.544787] ahci 67d30000.ahci: SSS flag set, parallel bus scan disabled
[    4.561786] ahci 67d30000.ahci: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    4.570612] ahci 67d30000.ahci: flags: 64bit ncq sntf stag clo pmp fbs slum part
[    4.578546] scsi host3: ahci
[    4.581598] ata4: SATA max UDMA/133 mmio [mem 0x67d30000-0x67d30fff] port 0x100 irq 104
[    4.589981] ahci 67e00000.ahci: masking port_map 0x1 -> 0x1
[    4.595754] ahci 67e00000.ahci: SSS flag set, parallel bus scan disabled
[    4.612752] ahci 67e00000.ahci: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    4.621578] ahci 67e00000.ahci: flags: 64bit ncq sntf stag clo pmp fbs slum part
[    4.629536] scsi host4: ahci
[    4.632582] ata5: SATA max UDMA/133 mmio [mem 0x67e00000-0x67e00fff] port 0x100 irq 105
[    4.640965] ahci 67e10000.ahci: masking port_map 0x1 -> 0x1
[    4.646738] ahci 67e10000.ahci: SSS flag set, parallel bus scan disabled
[    4.663735] ahci 67e10000.ahci: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    4.672563] ahci 67e10000.ahci: flags: 64bit ncq sntf stag clo pmp fbs slum part
[    4.680494] scsi host5: ahci
[    4.683546] ata6: SATA max UDMA/133 mmio [mem 0x67e10000-0x67e10fff] port 0x100 irq 106
[    4.691927] ahci 67e20000.ahci: masking port_map 0x1 -> 0x1
[    4.697702] ahci 67e20000.ahci: SSS flag set, parallel bus scan disabled
[    4.714700] ahci 67e20000.ahci: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    4.723526] ahci 67e20000.ahci: flags: 64bit ncq sntf stag clo pmp fbs slum part
[    4.731510] scsi host6: ahci
[    4.734561] ata7: SATA max UDMA/133 mmio [mem 0x67e20000-0x67e20fff] port 0x100 irq 107
[    4.742946] ahci 67e30000.ahci: masking port_map 0x1 -> 0x1
[    4.748719] ahci 67e30000.ahci: SSS flag set, parallel bus scan disabled
[    4.750188] ata1: SATA link down (SStatus 0 SControl 300)
[    4.765717] ahci 67e30000.ahci: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    4.774541] ahci 67e30000.ahci: flags: 64bit ncq sntf stag clo pmp fbs slum part
[    4.782482] scsi host7: ahci
[    4.785531] ata8: SATA max UDMA/133 mmio [mem 0x67e30000-0x67e30fff] port 0x100 irq 108
[    4.794244] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xc3
[    4.800823] nand: Micron MT29F8G16ABACAWP
[    4.804973] nand: 1024 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB size: 224
[    4.806190] ata2: SATA link down (SStatus 0 SControl 300)
[    4.812993] iproc_nand 68c60000.nand: detected 1024MiB total, 256KiB blocks, 4KiB pages, 16B OOB, 16-bit, BCH-8
[    4.829020] Scanning device for bad blocks
[    4.849412] random: fast init done
[    4.858191] ata3: SATA link down (SStatus 0 SControl 300)
[    4.903451] ata4: SATA link down (SStatus 0 SControl 300)
[    4.954539] ata5: SATA link down (SStatus 0 SControl 300)
[    5.005622] ata6: SATA link down (SStatus 0 SControl 300)
[    5.056699] ata7: SATA link down (SStatus 0 SControl 300)
[    5.106200] ata8: SATA link down (SStatus 0 SControl 300)
[    5.606443] random: crng init done
[    6.694790] libphy: iProc MDIO mux bus: probed
[    6.699416] libphy: mdio_mux: probed
[    6.703132] libphy: mdio_mux: probed
[    6.710918] mdio-mux-iproc 68920000.mdio-mux: iProc mdiomux registered
[    6.717841] libphy: Fixed MDIO Bus: probed
[    6.722081] tun: Universal TUN/TAP device driver, 1.6
[    6.727413] bgmac-enet 68c40000.ethernet: MAC address not present in device tree
[    6.735080] bgmac-enet 68c40000.ethernet: Invalid MAC addr: 00:00:00:00:00:00
[    6.742467] bgmac-enet 68c40000.ethernet: Using random MAC: 4a:e0:ae:4c:c9:8c
[    6.840291] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    6.846330] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    6.852485] usbcore: registered new interface driver r8152
[    6.858173] usbcore: registered new interface driver asix
[    6.863768] usbcore: registered new interface driver ax88179_178a
[    6.870083] usbcore: registered new interface driver cdc_ether
[    6.876126] usbcore: registered new interface driver net1080
[    6.881990] usbcore: registered new interface driver cdc_subset
[    6.888123] usbcore: registered new interface driver zaurus
[    6.893902] usbcore: registered new interface driver cdc_ncm
[    6.899855] VFIO - User Level meta-driver version: 0.3
[    6.905242] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    6.912003] ehci-pci: EHCI PCI platform driver
[    6.916613] ehci-platform: EHCI generic platform driver
[    6.922082] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    6.928481] ohci-pci: OHCI PCI platform driver
[    6.933090] ohci-platform: OHCI generic platform driver
[    6.938726] usbcore: registered new interface driver cdc_acm
[    6.944584] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[    6.952878] usbcore: registered new interface driver usb-storage
[    6.959114] usbcore: registered new interface driver ftdi_sio
[    6.965068] usbserial: USB Serial support registered for FTDI USB Serial Device
[    6.972639] usbcore: registered new interface driver pl2303
[    6.978413] usbserial: USB Serial support registered for pl2303
[    6.984657] bdc 68502000.usb: Clock not found in Device Tree
[    6.990523] bdc 68502000.usb: Using 2 phy(s)
[    6.994945] bdc 68502000.usb: BDC phy specified but not found:-517
[    7.001353] bdc 68521000.usb: Clock not found in Device Tree
[    7.007216] bdc 68521000.usb: Using 1 phy(s)
[    7.011636] bdc 68521000.usb: BDC phy specified but not found:-517
[    7.018062] i2c /dev entries driver
[    7.021824] bcm-iproc-i2c 689b0000.i2c: bus set to 100000 Hz
[    7.027905] bcm-iproc-i2c 689e0000.i2c: bus set to 100000 Hz
[    7.034093] pcf857x 1-0027: probed
[    7.037812] sp805-wdt 689c0000.watchdog: registration successful
[    7.044170] device-mapper: ioctl: 4.39.0-ioctl (2018-04-03) initialised: dm-devel@redhat.com
[    7.052999] sdhci: Secure Digital Host Controller Interface driver
[    7.059396] sdhci: Copyright(c) Pierre Ossman
[    7.063904] sdhci-pltfm: SDHCI platform and OF driver helper
[    7.069833] EFI Variables Facility v0.08 2004-May-17
[    7.076933] usbcore: registered new interface driver usbhid
[    7.082703] usbhid: USB HID core driver
[    7.086750] NET: Registered protocol family 40
[    7.091478] arm-ccn 61000000.ccn: No access to interrupts, using timer.
[    7.098586] GACT probability on
[    7.101841] Mirror/redirect action on
[    7.105638] Simple TC action Loaded
[    7.109257] u32 classifier
[    7.112057]     Performance counters on
[    7.116025]     input device check on
[    7.119815]     Actions configured
[    7.123373] NET: Registered protocol family 17
[    7.127998] 9pnet: Installing 9P2000 support
[    7.132434] Key type dns_resolver registered
[    7.137059] registered taskstats version 1
[    7.142414] ssp-pl022 68a80000.spi: ARM PL022 driver, device ID: 0x00241022
[    7.149643] ssp-pl022 68a80000.spi: mapped registers from 0x0000000068a80000 to 00000000a7707cd6
[    7.158751] ssp-pl022 68a80000.spi: Failed to work in dma mode, work without dma!
[    7.166617] ssp-pl022 68a90000.spi: ARM PL022 driver, device ID: 0x00241022
[    7.173839] ssp-pl022 68a90000.spi: mapped registers from 0x0000000068a90000 to 00000000dfbb328a
[    7.182952] ssp-pl022 68a90000.spi: Failed to work in dma mode, work without dma!
[    7.191058] bdc 68502000.usb: Clock not found in Device Tree
[    7.196926] bdc 68502000.usb: Using 2 phy(s)
[    7.201348] bdc 68502000.usb: BDC phy specified but not found:-517
[    7.207772] bdc 68521000.usb: Clock not found in Device Tree
[    7.213635] bdc 68521000.usb: Using 1 phy(s)
[    7.218057] bdc 68521000.usb: BDC phy specified but not found:-517
[    7.224492] pca953x 0-0020: 0-0020 supply vcc not found, using dummy regulator
[    7.231979] pca953x 0-0020: Linked as a consumer to regulator.0
[    7.240408] pca953x 0-0020: interrupt support not compiled in
[    7.248748] bdc 68502000.usb: Clock not found in Device Tree
[    7.254615] bdc 68502000.usb: Using 2 phy(s)
[    7.259037] bdc 68502000.usb: BDC phy specified but not found:-517
[    7.265460] bdc 68521000.usb: Clock not found in Device Tree
[    7.271323] bdc 68521000.usb: Using 1 phy(s)
[    7.275745] bdc 68521000.usb: BDC phy specified but not found:-517
[    7.282224] pcieport 0000:00:00.0: ignoring dependency for device, assuming no driver
[    7.290346] irq: no irq domain found for interrupt-controller !
[    7.296480] pcieport 0000:00:00.0: enabling device (0000 -> 0002)
[    7.302824] pcieport 0002:00:00.0: ignoring dependency for device, assuming no driver
[    7.310934] irq: no irq domain found for interrupt-controller !
[    7.317064] pcieport 0002:00:00.0: enabling device (0000 -> 0002)
[    7.323395] pcieport 0006:00:00.0: ignoring dependency for device, assuming no driver
[    7.331504] irq: no irq domain found for interrupt-controller !
[    7.337633] pcieport 0006:00:00.0: enabling device (0000 -> 0002)
[    7.343963] pcieport 0007:00:00.0: ignoring dependency for device, assuming no driver
[    7.352074] irq: no irq domain found for interrupt-controller !
[    7.358203] pcieport 0007:00:00.0: enabling device (0000 -> 0002)
[    7.364534] dma-pl330 68c10000.dma: ignoring dependency for device, assuming no driver
[    7.373565] dma-pl330 68c10000.dma: Loaded driver for PL330 DMAC-241330
[    7.380413] dma-pl330 68c10000.dma: 	DBUFF-1024x8bytes Num_Chans-8 Num_Peri-32 Num_Events-32
[    7.389182] nvme 0000:01:00.0: ignoring dependency for device, assuming no driver
[    7.396941] irq: no irq domain found for interrupt-controller !
[    7.403176] nvme nvme0: pci function 0000:01:00.0
[    7.408101] nvme 0002:01:00.0: ignoring dependency for device, assuming no driver
[    7.408103] nvme 0000:01:00.0: enabling device (0000 -> 0002)
[    7.415860] irq: no irq domain found for interrupt-controller !
[    7.428041] nvme nvme1: pci function 0002:01:00.0
[    7.432934] nvme 0006:01:00.0: ignoring dependency for device, assuming no driver
[    7.432963] irq: no irq domain found for interrupt-controller !
[    7.442326] nvme 0002:01:00.0: enabling device (0000 -> 0002)
[    7.454547] nvme nvme2: pci function 0006:01:00.0
[    7.459439] nvme 0007:01:00.0: ignoring dependency for device, assuming no driver
[    7.467215] nvme 0006:01:00.0: enabling device (0000 -> 0002)
[    7.467228] irq: no irq domain found for interrupt-controller !
[    7.479438] nvme nvme3: pci function 0007:01:00.0
[    7.486106] nvme 0007:01:00.0: enabling device (0000 -> 0002)
[    7.496014] bdc 68502000.usb: Clock not found in Device Tree
[    7.501878] bdc 68502000.usb: Using 2 phy(s)
[    7.506299] bdc 68502000.usb: BDC phy specified but not found:-517
[    7.512721] bdc 68521000.usb: Clock not found in Device Tree
[    7.518584] bdc 68521000.usb: Using 1 phy(s)
[    7.523004] bdc 68521000.usb: BDC phy specified but not found:-517
[    7.529426] sdhci-iproc 68cf1000.sdhci: ignoring dependency for device, assuming no driver
[    7.538034] sdhci-iproc 68cf1000.sdhci: Linked as a consumer to regulator.1
[    7.576228] mmc0: SDHCI controller on 68cf1000.sdhci [68cf1000.sdhci] using ADMA
[    7.583915] sdhci-iproc 68cf2000.sdhci: ignoring dependency for device, assuming no driver
[    7.592507] sdhci-iproc 68cf2000.sdhci: Linked as a consumer to regulator.2
[    7.628972] mmc1: SDHCI controller on 68cf2000.sdhci [68cf2000.sdhci] using ADMA
[    7.636732] bdc 68502000.usb: Clock not found in Device Tree
[    7.642646] bdc 68502000.usb: Using 2 phy(s)
[    7.647075] bdc 68502000.usb: BDC phy specified but not found:-517
[    7.653500] bdc 68521000.usb: Clock not found in Device Tree
[    7.659391] bdc 68521000.usb: Using 1 phy(s)
[    7.663816] bdc 68521000.usb: BDC phy specified but not found:-517
[    7.670297] hctosys: unable to open rtc device (rtc0)
[    7.701303] mmc0: new DDR MMC card at address 0001
[    7.706538] mmcblk0: mmc0:0001 MMC16G 14.6 GiB
[    7.711452] mmcblk0boot0: mmc0:0001 MMC16G partition 1 4.00 MiB
[    7.717805] mmcblk0boot1: mmc0:0001 MMC16G partition 2 4.00 MiB
[    7.723971] mmcblk0rpmb: mmc0:0001 MMC16G partition 3 128 KiB, chardev (243:0)
[    7.739931]  mmcblk0: p1 p2 p3 p4 p5
[    7.744452] bdc 68502000.usb: Clock not found in Device Tree
[    7.750316] bdc 68502000.usb: Using 2 phy(s)
[    7.754736] bdc 68502000.usb: BDC phy specified but not found:-517
[    7.761159] bdc 68521000.usb: Clock not found in Device Tree
[    7.767021] bdc 68521000.usb: Using 1 phy(s)
[    7.771441] bdc 68521000.usb: BDC phy specified but not found:-517
[    9.766120] bgmac-enet 68c40000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[    9.792078] IP-Config: Complete:
[    9.795418]      device=eth0, hwaddr=4a:e0:ae:4c:c9:8c, ipaddr=10.136.13.31, mask=255.255.255.0, gw=10.136.13.1
[    9.805860]      host=10.136.13.31, domain=, nis-domain=(none)
[    9.811897]      bootserver=10.136.4.151, rootserver=10.136.4.151, rootpath=
[    9.819431] ttyS0 - failed to request DMA
[    9.988769] pci_generic_config_write32: 209 callbacks suppressed
[    9.988772] pci_bus 0007:01: 2-byte config write to 0007:01:00.0 offset 0xe2 may corrupt adjacent RW1C bits
[   10.005323] pci_bus 0006:01: 2-byte config write to 0006:01:00.0 offset 0xe2 may corrupt adjacent RW1C bits
[   10.015601] pci_bus 0000:01: 2-byte config write to 0000:01:00.0 offset 0xe2 may corrupt adjacent RW1C bits
[   10.025883] pci_bus 0002:01: 2-byte config write to 0002:01:00.0 offset 0xe2 may corrupt adjacent RW1C bits
[   10.036162] pci_bus 0007:01: 2-byte config write to 0007:01:00.0 offset 0x4 may corrupt adjacent RW1C bits
[   10.046271] pci_bus 0006:01: 2-byte config write to 0006:01:00.0 offset 0x4 may corrupt adjacent RW1C bits
[   10.056302] pci_bus 0000:01: 2-byte config write to 0000:01:00.0 offset 0x4 may corrupt adjacent RW1C bits
[   10.066329] pci_bus 0002:01: 2-byte config write to 0002:01:00.0 offset 0x4 may corrupt adjacent RW1C bits
[   10.076375] pci_bus 0007:01: 2-byte config write to 0007:01:00.0 offset 0xe2 may corrupt adjacent RW1C bits
[   10.086491] pci_bus 0006:01: 2-byte config write to 0006:01:00.0 offset 0xe2 may corrupt adjacent RW1C bits
[   10.109315] md: Waiting for all devices to be available before autodetect
[   10.116349] md: If you don't use raid, use raid=noautodetect
[   10.122344] md: Autodetecting RAID arrays.
[   10.126586] md: autorun ...
[   10.129478] md: ... autorun DONE.
[   10.159365] EXT4-fs (mmcblk0p4): mounted filesystem with ordered data mode. Opts: (null)
[   10.167749] VFS: Mounted root (ext4 filesystem) on device 179:4.
[   10.184778] devtmpfs: mounted
[   10.188066] Freeing unused kernel memory: 768K
[   10.208134] Run /sbin/init as init process
[   10.437661] systemd[1]: System time before build time, advancing clock.
[   10.481437] systemd[1]: systemd 237 running in system mode. (-PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid)
[   10.503591] systemd[1]: Detected architecture arm64.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: console output duplicated when registering additional consoles
  2019-11-14  1:28 ` Jonathan Richardson
@ 2019-11-14  9:57   ` Petr Mladek
  2019-11-15  4:33     ` Sergey Senozhatsky
  0 siblings, 1 reply; 11+ messages in thread
From: Petr Mladek @ 2019-11-14  9:57 UTC (permalink / raw)
  To: Jonathan Richardson
  Cc: gregkh, jslaby, sergey.senozhatsky, linux-serial, linux-kernel,
	Scott Branden, Ray Jui, Srinath Mannam

On Wed 2019-11-13 17:28:45, Jonathan Richardson wrote:
> Adding printk maintainers.
> This commit seems to have introduced the error:
> 
> commit f92b070f2dc89a8ff1a0cc8b608e20abef894c7d
> Author: Petr Mladek <pmladek@suse.com>
> Date:   Thu Sep 13 14:34:06 2018 +0200
> 
>     printk: Do not miss new messages when replaying the log
> 
> If I checkout to the commit before
> (a06b0c82a049d34d4dc273e8692ed0894458c468), the console output is
> normal when registering 2 bootconsoles and 2 normal consoles. I've
> added the log for 4.19.0-rc3 for comparison (previous version was
> 5.1.0). I don't think this commit took into account that more than one
> console could be registered. When the second console is registered,
> 'console_seq >= exclusive_console_stop_seq' is true (both are 0) and
> exclusive_console is always set to NULL resulting in the log being
> replayed again to the uart8250 console:

This race should not happen because Both exclusive_console and
exclusive_console_stop_seq are manipulated under console_lock.
And the log is replayed before console_lock is released.

>         /* Output to all consoles once old messages replayed. */
>         if (unlikely(exclusive_console &&
>                  console_seq >= exclusive_console_stop_seq)) {
>             exclusive_console = NULL;
>         }
> 
> I'm looking into it but any input is helpful. Thanks.

IMHO, the problem is that the log should not be replayed at all.
See the following code in register_console():

	/*
	 * If we have a bootconsole, and are switching to a real console,
	 * don't print everything out again, since when the boot console, and
	 * the real console are the same physical device, it's annoying to
	 * see the beginning boot messages twice
	 */
	if (bcon && ((newcon->flags & (CON_CONSDEV | CON_BOOT)) == CON_CONSDEV))
		newcon->flags &= ~CON_PRINTBUFFER;

I already see two problems there:

1. CON_PRINTBUFFER is cleared only when the new console has
   CON_CONSDEV flag set. It is set only for the console
   that is defined as the last on the command line.
   It is a so-called preferred console.

2. bcon is set to the first console in console_drivers list.
   It is the first registered boot console.

Sigh, this works for simple configuration. But it fails badly when
more different consoles are configured.

We should clear CON_PRINTBUFFER flag when the real console
replacing an already registered boot console is registered.

BTW: Similar bug is also at the end of register_console().
The boot consoles are unregistered only when the preferred
console is installed.

For a proper solution we would need to match boot and real
consoles that write messages into the physical device.
But I am afraid that there is no support for this.
con->match() callback compares the name defined on
the command line. And it has side effects (the matching
console is prepared for registration).

To be honest I am not much familiar with the device interface.
I am not sure if there is a way to detect the two drivers
use the same physical hardware.

Sigh, it is a huge historical mess. It would needed a lot
of work to clean it up.

Best Regards,
Petr

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: console output duplicated when registering additional consoles
  2019-11-14  9:57   ` Petr Mladek
@ 2019-11-15  4:33     ` Sergey Senozhatsky
  2019-11-18 21:38       ` Jonathan Richardson
  0 siblings, 1 reply; 11+ messages in thread
From: Sergey Senozhatsky @ 2019-11-15  4:33 UTC (permalink / raw)
  To: Petr Mladek
  Cc: Jonathan Richardson, gregkh, jslaby, sergey.senozhatsky,
	linux-serial, linux-kernel, Scott Branden, Ray Jui,
	Srinath Mannam

Gosh, that part of printk is really complex.

On (19/11/14 10:57), Petr Mladek wrote:
> For a proper solution we would need to match boot and real
> consoles that write messages into the physical device.
> But I am afraid that there is no support for this.

Wouldn't those have same tty driver?

---

 kernel/printk/printk.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index f1b08015d3fa..a84cb20acf42 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -2690,6 +2690,19 @@ static int __init keep_bootcon_setup(char *str)
 
 early_param("keep_bootcon", keep_bootcon_setup);
 
+static bool known_console_driver(struct console *newcon)
+{
+	struct console *con;
+
+	for_each_console(con) {
+		if (!(con->flags & CON_ENABLED))
+			continue;
+		if (con->device && con->device == newcon->device)
+			return true;
+	}
+	return false;
+}
+
 /*
  * The console driver calls this routine during kernel initialization
  * to register the console printing procedure with printk() and to
@@ -2828,6 +2841,9 @@ void register_console(struct console *newcon)
 	if (newcon->flags & CON_EXTENDED)
 		nr_ext_console_drivers++;
 
+	if (known_console_driver(newcon))
+		newcon->flags &= ~CON_PRINTBUFFER;
+
 	if (newcon->flags & CON_PRINTBUFFER) {
 		/*
 		 * console_unlock(); will print out the buffered messages

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: console output duplicated when registering additional consoles
  2019-11-15  4:33     ` Sergey Senozhatsky
@ 2019-11-18 21:38       ` Jonathan Richardson
  2019-11-19  0:34         ` Sergey Senozhatsky
  2019-11-19 11:30         ` Petr Mladek
  0 siblings, 2 replies; 11+ messages in thread
From: Jonathan Richardson @ 2019-11-18 21:38 UTC (permalink / raw)
  To: Sergey Senozhatsky
  Cc: Petr Mladek, gregkh, jslaby, sergey.senozhatsky, linux-serial,
	linux-kernel, Scott Branden, Ray Jui, Srinath Mannam

On Thu, Nov 14, 2019 at 8:33 PM Sergey Senozhatsky
<sergey.senozhatsky.work@gmail.com> wrote:
>
> Gosh, that part of printk is really complex.
>
> On (19/11/14 10:57), Petr Mladek wrote:
> > For a proper solution we would need to match boot and real
> > consoles that write messages into the physical device.
> > But I am afraid that there is no support for this.
>
> Wouldn't those have same tty driver?
>
> ---
>
>  kernel/printk/printk.c | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
>
> diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
> index f1b08015d3fa..a84cb20acf42 100644
> --- a/kernel/printk/printk.c
> +++ b/kernel/printk/printk.c
> @@ -2690,6 +2690,19 @@ static int __init keep_bootcon_setup(char *str)
>
>  early_param("keep_bootcon", keep_bootcon_setup);
>
> +static bool known_console_driver(struct console *newcon)
> +{
> +       struct console *con;
> +
> +       for_each_console(con) {
> +               if (!(con->flags & CON_ENABLED))
> +                       continue;
> +               if (con->device && con->device == newcon->device)
> +                       return true;
> +       }
> +       return false;
> +}
> +
>  /*
>   * The console driver calls this routine during kernel initialization
>   * to register the console printing procedure with printk() and to
> @@ -2828,6 +2841,9 @@ void register_console(struct console *newcon)
>         if (newcon->flags & CON_EXTENDED)
>                 nr_ext_console_drivers++;
>
> +       if (known_console_driver(newcon))
> +               newcon->flags &= ~CON_PRINTBUFFER;
> +
>         if (newcon->flags & CON_PRINTBUFFER) {
>                 /*
>                  * console_unlock(); will print out the buffered messages

Thanks. It also needs to be cleared when the second console driver is
registered (of the same type, boot or normal), not just when a normal
con replaces a bootconsole. A simple way of avoiding the problem I'm
seeing is to not even set the CON_PRINTBUFFER flag on my consoles. It
skips the replay and the output on all consoles looks fine. The flag
is only used by register_console(), although I don't think that is the
intended usage? There are no console drivers that do this.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: console output duplicated when registering additional consoles
  2019-11-18 21:38       ` Jonathan Richardson
@ 2019-11-19  0:34         ` Sergey Senozhatsky
  2019-11-19 18:46           ` Jonathan Richardson
  2019-11-19 11:30         ` Petr Mladek
  1 sibling, 1 reply; 11+ messages in thread
From: Sergey Senozhatsky @ 2019-11-19  0:34 UTC (permalink / raw)
  To: Jonathan Richardson
  Cc: Sergey Senozhatsky, Petr Mladek, gregkh, jslaby,
	sergey.senozhatsky, linux-serial, linux-kernel, Scott Branden,
	Ray Jui, Srinath Mannam

On (19/11/18 13:38), Jonathan Richardson wrote:
> > +static bool known_console_driver(struct console *newcon)
> > +{
> > +       struct console *con;
> > +
> > +       for_each_console(con) {
> > +               if (!(con->flags & CON_ENABLED))
> > +                       continue;
> > +               if (con->device && con->device == newcon->device)
> > +                       return true;
> > +       }
> > +       return false;
> > +}
> > +
> >  /*
> >   * The console driver calls this routine during kernel initialization
> >   * to register the console printing procedure with printk() and to
> > @@ -2828,6 +2841,9 @@ void register_console(struct console *newcon)
> >         if (newcon->flags & CON_EXTENDED)
> >                 nr_ext_console_drivers++;
> >
> > +       if (known_console_driver(newcon))
> > +               newcon->flags &= ~CON_PRINTBUFFER;
> > +
> >         if (newcon->flags & CON_PRINTBUFFER) {
> >                 /*
> >                  * console_unlock(); will print out the buffered messages
>
> Thanks. It also needs to be cleared when the second console driver is
> registered (of the same type, boot or normal)

The second 'normal' console can be, for instance, netcon - it's sort
of OK to have CON_PRINTBUFFER tty and CON_PRINTBUFFER netcon consoles.

Maybe

> not just when a normal con replaces a bootconsole. A simple way of
> avoiding the problem I'm seeing is to not even set the CON_PRINTBUFFER
> flag on my consoles.

This is up to the console driver to decide.

> It skips the replay and the output on all consoles looks fine. The flag
> is only used by register_console(), although I don't think that is the
> intended usage? There are no console drivers that do this.

Not sure I'm following. There are consoles that want all logbuf messages
once those consoles are available.

$ git grep "\.flags" drivers/tty/ | grep -c CON_PRINTBUFFER
72

	-ss

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: console output duplicated when registering additional consoles
  2019-11-18 21:38       ` Jonathan Richardson
  2019-11-19  0:34         ` Sergey Senozhatsky
@ 2019-11-19 11:30         ` Petr Mladek
  2019-11-19 18:36           ` Jonathan Richardson
  2019-11-20  0:28           ` Sergey Senozhatsky
  1 sibling, 2 replies; 11+ messages in thread
From: Petr Mladek @ 2019-11-19 11:30 UTC (permalink / raw)
  To: Jonathan Richardson
  Cc: Sergey Senozhatsky, gregkh, jslaby, sergey.senozhatsky,
	linux-serial, linux-kernel, Scott Branden, Ray Jui,
	Srinath Mannam

On Mon 2019-11-18 13:38:04, Jonathan Richardson wrote:
> On Thu, Nov 14, 2019 at 8:33 PM Sergey Senozhatsky
> <sergey.senozhatsky.work@gmail.com> wrote:
> >
> > Gosh, that part of printk is really complex.
> >
> > On (19/11/14 10:57), Petr Mladek wrote:
> > > For a proper solution we would need to match boot and real
> > > consoles that write messages into the physical device.
> > > But I am afraid that there is no support for this.
> >
> > Wouldn't those have same tty driver?

Interesting idea. Well, do early consoles have tty driver?

> > ---
> >
> >  kernel/printk/printk.c | 16 ++++++++++++++++
> >  1 file changed, 16 insertions(+)
> >
> > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
> > index f1b08015d3fa..a84cb20acf42 100644
> > --- a/kernel/printk/printk.c
> > +++ b/kernel/printk/printk.c
> > @@ -2690,6 +2690,19 @@ static int __init keep_bootcon_setup(char *str)
> >
> >  early_param("keep_bootcon", keep_bootcon_setup);
> >
> > +static bool known_console_driver(struct console *newcon)
> > +{
> > +       struct console *con;
> > +
> > +       for_each_console(con) {
> > +               if (!(con->flags & CON_ENABLED))
> > +                       continue;
> > +               if (con->device && con->device == newcon->device)
> > +                       return true;
> > +       }
> > +       return false;
> > +}
> > +
> >  /*
> >   * The console driver calls this routine during kernel initialization
> >   * to register the console printing procedure with printk() and to
> > @@ -2828,6 +2841,9 @@ void register_console(struct console *newcon)
> >         if (newcon->flags & CON_EXTENDED)
> >                 nr_ext_console_drivers++;
> >
> > +       if (known_console_driver(newcon))
> > +               newcon->flags &= ~CON_PRINTBUFFER;
> > +
> >         if (newcon->flags & CON_PRINTBUFFER) {
> >                 /*
> >                  * console_unlock(); will print out the buffered messages
> 
> Thanks.

Jonathan, have you tried this patch, please?
Does it solve your problem?

Best Regards,
Petr

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: console output duplicated when registering additional consoles
  2019-11-19 11:30         ` Petr Mladek
@ 2019-11-19 18:36           ` Jonathan Richardson
  2019-11-20  0:28           ` Sergey Senozhatsky
  1 sibling, 0 replies; 11+ messages in thread
From: Jonathan Richardson @ 2019-11-19 18:36 UTC (permalink / raw)
  To: Petr Mladek
  Cc: Sergey Senozhatsky, gregkh, jslaby, sergey.senozhatsky,
	linux-serial, linux-kernel, Scott Branden, Ray Jui,
	Srinath Mannam

On Tue, Nov 19, 2019 at 3:30 AM Petr Mladek <pmladek@suse.com> wrote:
>
> On Mon 2019-11-18 13:38:04, Jonathan Richardson wrote:
> > On Thu, Nov 14, 2019 at 8:33 PM Sergey Senozhatsky
> > <sergey.senozhatsky.work@gmail.com> wrote:
> > >
> > > Gosh, that part of printk is really complex.
> > >
> > > On (19/11/14 10:57), Petr Mladek wrote:
> > > > For a proper solution we would need to match boot and real
> > > > consoles that write messages into the physical device.
> > > > But I am afraid that there is no support for this.
> > >
> > > Wouldn't those have same tty driver?
>
> Interesting idea. Well, do early consoles have tty driver?
>
> > > ---
> > >
> > >  kernel/printk/printk.c | 16 ++++++++++++++++
> > >  1 file changed, 16 insertions(+)
> > >
> > > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
> > > index f1b08015d3fa..a84cb20acf42 100644
> > > --- a/kernel/printk/printk.c
> > > +++ b/kernel/printk/printk.c
> > > @@ -2690,6 +2690,19 @@ static int __init keep_bootcon_setup(char *str)
> > >
> > >  early_param("keep_bootcon", keep_bootcon_setup);
> > >
> > > +static bool known_console_driver(struct console *newcon)
> > > +{
> > > +       struct console *con;
> > > +
> > > +       for_each_console(con) {
> > > +               if (!(con->flags & CON_ENABLED))
> > > +                       continue;
> > > +               if (con->device && con->device == newcon->device)
> > > +                       return true;
> > > +       }
> > > +       return false;
> > > +}
> > > +
> > >  /*
> > >   * The console driver calls this routine during kernel initialization
> > >   * to register the console printing procedure with printk() and to
> > > @@ -2828,6 +2841,9 @@ void register_console(struct console *newcon)
> > >         if (newcon->flags & CON_EXTENDED)
> > >                 nr_ext_console_drivers++;
> > >
> > > +       if (known_console_driver(newcon))
> > > +               newcon->flags &= ~CON_PRINTBUFFER;
> > > +
> > >         if (newcon->flags & CON_PRINTBUFFER) {
> > >                 /*
> > >                  * console_unlock(); will print out the buffered messages
> >
> > Thanks.
>
> Jonathan, have you tried this patch, please?
> Does it solve your problem?

I've tried it and it doesn't solve the problem. newcon is not a known
console at the time I register my second console. The only thing I can
do is not replay the log by not setting CON_PRINTBUFFER and I
shouldn't have to do that after reading Sergey's last response.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: console output duplicated when registering additional consoles
  2019-11-19  0:34         ` Sergey Senozhatsky
@ 2019-11-19 18:46           ` Jonathan Richardson
  2019-11-21  9:33             ` Petr Mladek
  0 siblings, 1 reply; 11+ messages in thread
From: Jonathan Richardson @ 2019-11-19 18:46 UTC (permalink / raw)
  To: Sergey Senozhatsky
  Cc: Petr Mladek, gregkh, jslaby, sergey.senozhatsky, linux-serial,
	linux-kernel, Scott Branden, Ray Jui, Srinath Mannam

> > Thanks. It also needs to be cleared when the second console driver is
> > registered (of the same type, boot or normal)
>
> The second 'normal' console can be, for instance, netcon - it's sort
> of OK to have CON_PRINTBUFFER tty and CON_PRINTBUFFER netcon consoles.

OK I missed that case.

>
> Maybe
>
> > not just when a normal con replaces a bootconsole. A simple way of
> > avoiding the problem I'm seeing is to not even set the CON_PRINTBUFFER
> > flag on my consoles.
>
> This is up to the console driver to decide.
>
> > It skips the replay and the output on all consoles looks fine. The flag
> > is only used by register_console(), although I don't think that is the
> > intended usage? There are no console drivers that do this.
>
> Not sure I'm following. There are consoles that want all logbuf messages
> once those consoles are available.

I meant mine would be the only driver that didn't set CON_PRINTBUFFER.
Thanks for clarifying why it would be set. I guess what I didn't
understand is why are all the consoles updated (potentially) when a
new console is registered. As I mentioned before I can not set
CON_PRINTBUFFER to avoid the issue but it's probably not what I want.
I would possibly lose some of the log I guess if there was something
in the buffer during registration of the new console. So I tried the
patch but the issue remains as I originally described.

Thanks,
Jon

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: console output duplicated when registering additional consoles
  2019-11-19 11:30         ` Petr Mladek
  2019-11-19 18:36           ` Jonathan Richardson
@ 2019-11-20  0:28           ` Sergey Senozhatsky
  1 sibling, 0 replies; 11+ messages in thread
From: Sergey Senozhatsky @ 2019-11-20  0:28 UTC (permalink / raw)
  To: Petr Mladek
  Cc: Jonathan Richardson, Sergey Senozhatsky, gregkh, jslaby,
	sergey.senozhatsky, linux-serial, linux-kernel, Scott Branden,
	Ray Jui, Srinath Mannam

On (19/11/19 12:30), Petr Mladek wrote:
> On Mon 2019-11-18 13:38:04, Jonathan Richardson wrote:
> > On Thu, Nov 14, 2019 at 8:33 PM Sergey Senozhatsky
> > <sergey.senozhatsky.work@gmail.com> wrote:
> > >
> > > Gosh, that part of printk is really complex.
> > >
> > > On (19/11/14 10:57), Petr Mladek wrote:
> > > > For a proper solution we would need to match boot and real
> > > > consoles that write messages into the physical device.
> > > > But I am afraid that there is no support for this.
> > >
> > > Wouldn't those have same tty driver?
> 
> Interesting idea. Well, do early consoles have tty driver?

Good question! I'm not sure.
netcon, for instance, doesn't have tty driver, yet still has to find
a proper net device to write the data to. They have some magic inside.

	-ss

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: console output duplicated when registering additional consoles
  2019-11-19 18:46           ` Jonathan Richardson
@ 2019-11-21  9:33             ` Petr Mladek
  0 siblings, 0 replies; 11+ messages in thread
From: Petr Mladek @ 2019-11-21  9:33 UTC (permalink / raw)
  To: Jonathan Richardson
  Cc: Sergey Senozhatsky, gregkh, jslaby, sergey.senozhatsky,
	linux-serial, linux-kernel, Scott Branden, Ray Jui,
	Srinath Mannam

On Tue 2019-11-19 10:46:22, Jonathan Richardson wrote:
> > > not just when a normal con replaces a bootconsole. A simple way of
> > > avoiding the problem I'm seeing is to not even set the CON_PRINTBUFFER
> > > flag on my consoles.
> >
> > This is up to the console driver to decide.
> >
> > > It skips the replay and the output on all consoles looks fine. The flag
> > > is only used by register_console(), although I don't think that is the
> > > intended usage? There are no console drivers that do this.
> >
> > Not sure I'm following. There are consoles that want all logbuf messages
> > once those consoles are available.
> 
> I meant mine would be the only driver that didn't set CON_PRINTBUFFER.
> Thanks for clarifying why it would be set. I guess what I didn't
> understand is why are all the consoles updated (potentially) when a
> new console is registered. As I mentioned before I can not set
> CON_PRINTBUFFER to avoid the issue but it's probably not what I want.
> I would possibly lose some of the log I guess if there was something
> in the buffer during registration of the new console.

Exactly, many things happen before and during the console
registration. There might already be (are) several messages when
new consoles are registered.

Now, people register more different consoles for different purpose.
For example, one is shown on a display, another can be stored by
an external device. It makes sense to show all messages on
all interfaces.

It can cause duplicated messages because there is no support to match
proper console with the early one. The current console registration
code somehow works only with one early console.

Best Regards,
Petr

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2019-11-21  9:33 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-07  1:09 console output duplicated when registering additional consoles Jonathan Richardson
2019-11-14  1:28 ` Jonathan Richardson
2019-11-14  9:57   ` Petr Mladek
2019-11-15  4:33     ` Sergey Senozhatsky
2019-11-18 21:38       ` Jonathan Richardson
2019-11-19  0:34         ` Sergey Senozhatsky
2019-11-19 18:46           ` Jonathan Richardson
2019-11-21  9:33             ` Petr Mladek
2019-11-19 11:30         ` Petr Mladek
2019-11-19 18:36           ` Jonathan Richardson
2019-11-20  0:28           ` Sergey Senozhatsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).