* [PATCH v2 1/4] efi/arm: work around missing cache maintenance in decompressor handover
2020-02-19 9:43 [PATCH v2 0/4] ARM: decompressor: use by-VA cache maintenance for v7 cores Ard Biesheuvel
@ 2020-02-19 9:43 ` Ard Biesheuvel
2020-02-19 9:43 ` [PATCH v2 2/4] efi/arm: pass start and end addresses to cache_clean_flush() Ard Biesheuvel
` (3 subsequent siblings)
4 siblings, 0 replies; 11+ messages in thread
From: Ard Biesheuvel @ 2020-02-19 9:43 UTC (permalink / raw)
To: linux-efi
Cc: linux-arm-kernel, Ard Biesheuvel, Russell King, Marc Zyngier,
Nicolas Pitre, Catalin Marinas, Tony Lindgren
The EFI stub executes within the context of the zImage as it was
loaded by the firmware, which means it is treated as an ordinary
PE/COFF executable, which is loaded into memory, and cleaned to
the PoU to ensure that it can be executed safely while the MMU
and caches are on.
When the EFI stub hands over to the decompressor, we clean the caches
by set/way and disable the MMU and D-cache, to comply with the Linux
boot protocol for ARM. However, cache maintenance by set/way is not
sufficient to ensure that subsequent instruction fetches and data
accesses done with the MMU off see the correct data. This means that
proceeding as we do currently is not safe, especially since we also
perform data accesses with the MMU off, from a literal pool as well as
the stack.
So let's kick this can down the road a bit, and jump into the relocated
zImage before disabling the caches. This removes the requirement to
perform any by-VA cache maintenance on the original PE/COFF executable,
but it does require that the relocated zImage is cleaned to the PoC,
which is currently not the case. This will be addressed in a subsequent
patch.
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
arch/arm/boot/compressed/head.S | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 088b0a060876..6c98d3d2de2f 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -1461,6 +1461,19 @@ ENTRY(efi_stub_entry)
@ Preserve return value of efi_entry() in r4
mov r4, r0
bl cache_clean_flush
+
+ @ The PE/COFF loader might not have cleaned the code we are
+ @ running beyond the PoU, and so calling cache_off below from
+ @ inside the PE/COFF loader allocated region is unsafe. Let's
+ @ assume our own zImage relocation code did a better job, and
+ @ jump into its version of this routine before proceeding.
+ ldr r0, [sp] @ relocated zImage
+ ldr r1, 0f
+ sub r1, r0, r1
+ mov pc, r1 @ no mode switch
+ .align 2
+0: .long start - (. + 4)
+
bl cache_off
@ Set parameters for booting zImage according to boot protocol
@@ -1469,12 +1482,7 @@ ENTRY(efi_stub_entry)
mov r0, #0
mov r1, #0xFFFFFFFF
mov r2, r4
-
- @ Branch to (possibly) relocated zImage that is in [sp]
- ldr lr, [sp]
- ldr ip, =start_offset
- add lr, lr, ip
- mov pc, lr @ no mode switch
+ b __efi_start
efi_load_fail:
@ Return EFI_LOAD_ERROR to EFI firmware on error.
--
2.17.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 2/4] efi/arm: pass start and end addresses to cache_clean_flush()
2020-02-19 9:43 [PATCH v2 0/4] ARM: decompressor: use by-VA cache maintenance for v7 cores Ard Biesheuvel
2020-02-19 9:43 ` [PATCH v2 1/4] efi/arm: work around missing cache maintenance in decompressor handover Ard Biesheuvel
@ 2020-02-19 9:43 ` Ard Biesheuvel
2020-02-19 9:43 ` [PATCH v2 3/4] ARM: decompressor: prepare cache_clean_flush for doing by-VA maintenance Ard Biesheuvel
` (2 subsequent siblings)
4 siblings, 0 replies; 11+ messages in thread
From: Ard Biesheuvel @ 2020-02-19 9:43 UTC (permalink / raw)
To: linux-efi
Cc: linux-arm-kernel, Ard Biesheuvel, Russell King, Marc Zyngier,
Nicolas Pitre, Catalin Marinas, Tony Lindgren
In preparation for turning the decompressor's cache clean/flush
operations into proper by-VA maintenance for v7 cores, pass the
start and end addresses of the regions that need cache maintenance
into cache_clean_flush in registers r0 and r1.
Currently, all implementations of cache_clean_flush ignore these
values, so no functional change is expected as a result of this
patch.
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
arch/arm/boot/compressed/head.S | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 6c98d3d2de2f..c11b1b0a3ac6 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -1460,6 +1460,13 @@ ENTRY(efi_stub_entry)
@ Preserve return value of efi_entry() in r4
mov r4, r0
+ add r1, r4, #SZ_2M @ DT end
+ bl cache_clean_flush
+
+ ldr r0, [sp] @ relocated zImage
+ adr r2, __edata
+ ldr r1, [r2]
+ add r1, r1, r2 @ end of image
bl cache_clean_flush
@ The PE/COFF loader might not have cleaned the code we are
@@ -1489,6 +1496,8 @@ efi_load_fail:
ldr r0, =0x80000001
ldmfd sp!, {ip, pc}
ENDPROC(efi_stub_entry)
+ .align 2
+__edata: .long _edata - .
#endif
.align
--
2.17.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 3/4] ARM: decompressor: prepare cache_clean_flush for doing by-VA maintenance
2020-02-19 9:43 [PATCH v2 0/4] ARM: decompressor: use by-VA cache maintenance for v7 cores Ard Biesheuvel
2020-02-19 9:43 ` [PATCH v2 1/4] efi/arm: work around missing cache maintenance in decompressor handover Ard Biesheuvel
2020-02-19 9:43 ` [PATCH v2 2/4] efi/arm: pass start and end addresses to cache_clean_flush() Ard Biesheuvel
@ 2020-02-19 9:43 ` Ard Biesheuvel
2020-02-19 9:43 ` [PATCH v2 4/4] ARM: decompressor: switch to by-VA cache maintenance for v7 cores Ard Biesheuvel
2020-02-20 18:08 ` [PATCH v2 0/4] ARM: decompressor: use " Ard Biesheuvel
4 siblings, 0 replies; 11+ messages in thread
From: Ard Biesheuvel @ 2020-02-19 9:43 UTC (permalink / raw)
To: linux-efi
Cc: linux-arm-kernel, Ard Biesheuvel, Russell King, Marc Zyngier,
Nicolas Pitre, Catalin Marinas, Tony Lindgren
In preparation for turning the decompressor's cache clean/flush
operations into proper by-VA maintenance for v7 cores, pass the
start and end addresses of the regions that need cache maintenance
into cache_clean_flush in registers r0 and r1.
Currently, all implementations of cache_clean_flush ignore these
values, so no functional change is expected as a result of this
patch.
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
arch/arm/boot/compressed/head.S | 21 ++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index c11b1b0a3ac6..5060a623e0d7 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -498,6 +498,7 @@ dtb_check_done:
bic r9, r9, #31 @ ... of 32 bytes
add r6, r9, r5
add r9, r9, r10
+ stmdb sp!, {r9 - r10} @ preserve target region address
#ifdef DEBUG
sub r10, r6, r5
@@ -521,6 +522,8 @@ dtb_check_done:
/* Preserve offset to relocated code. */
sub r6, r9, r6
+ ldr r1, [sp], #4 @ end of target region
+ ldr r0, [sp], #4 @ start of target region
#ifndef CONFIG_ZBOOT_ROM
/* cache_clean_flush may use the stack, so relocate it */
add sp, sp, r6
@@ -622,6 +625,21 @@ not_relocated: mov r0, #0
add r2, sp, #0x10000 @ 64k max
mov r3, r7
bl decompress_kernel
+
+ mov r0, r4 @ base of inflated image
+ adr r1, LC0 @ actual LC0
+ ldr r2, [r1] @ linktime LC0
+ sub r2, r1, r2 @ LC0 delta
+ ldr r1, [r1, #16] @ link time inflated size offset
+ ldr r1, [r1, r2] @ actual inflated size (LE)
+#ifdef __ARMEB__
+ /* convert to big endian */
+ eor r2, r1, r1, ror #16
+ bic r2, r2, #0x00ff0000
+ mov r1, r1, ror #8
+ eor r1, r1, r2, lsr #8
+#endif
+ add r1, r1, r0 @ end of inflated image
bl cache_clean_flush
bl cache_off
@@ -1173,6 +1191,9 @@ __armv7_mmu_cache_off:
/*
* Clean and flush the cache to maintain consistency.
*
+ * On entry,
+ * r0 = start address
+ * r1 = end address (exclusive)
* On exit,
* r1, r2, r3, r9, r10, r11, r12 corrupted
* This routine must preserve:
--
2.17.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 4/4] ARM: decompressor: switch to by-VA cache maintenance for v7 cores
2020-02-19 9:43 [PATCH v2 0/4] ARM: decompressor: use by-VA cache maintenance for v7 cores Ard Biesheuvel
` (2 preceding siblings ...)
2020-02-19 9:43 ` [PATCH v2 3/4] ARM: decompressor: prepare cache_clean_flush for doing by-VA maintenance Ard Biesheuvel
@ 2020-02-19 9:43 ` Ard Biesheuvel
2020-02-20 18:08 ` [PATCH v2 0/4] ARM: decompressor: use " Ard Biesheuvel
4 siblings, 0 replies; 11+ messages in thread
From: Ard Biesheuvel @ 2020-02-19 9:43 UTC (permalink / raw)
To: linux-efi
Cc: linux-arm-kernel, Ard Biesheuvel, Russell King, Marc Zyngier,
Nicolas Pitre, Catalin Marinas, Tony Lindgren
Update the v7 cache_clean_flush routine to take into account the
memory range passed in r0/r1, and perform cache maintenance by
virtual address on this range instead of set/way maintenance, which
is inappropriate for the purpose of maintaining the cached state of
memory contents.
Since this removes any use of the stack in the implementation of
cache_clean_flush(), we can also drop some code that manages the
value of the stack pointer before calling it.
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
arch/arm/boot/compressed/head.S | 83 +++++++-------------
1 file changed, 30 insertions(+), 53 deletions(-)
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 5060a623e0d7..90de5404f402 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -524,11 +524,6 @@ dtb_check_done:
ldr r1, [sp], #4 @ end of target region
ldr r0, [sp], #4 @ start of target region
-#ifndef CONFIG_ZBOOT_ROM
- /* cache_clean_flush may use the stack, so relocate it */
- add sp, sp, r6
-#endif
-
bl cache_clean_flush
badr r0, restart
@@ -685,6 +680,24 @@ params: ldr r0, =0x10000100 @ params_phys for RPC
.align
#endif
+/*
+ * dcache_line_size - get the minimum D-cache line size from the CTR register
+ * on ARMv7.
+ */
+ .macro dcache_line_size, reg, tmp
+#ifdef CONFIG_CPU_V7M
+ movw \tmp, #:lower16:BASEADDR_V7M_SCB + V7M_SCB_CTR
+ movt \tmp, #:upper16:BASEADDR_V7M_SCB + V7M_SCB_CTR
+ ldr \tmp, [\tmp]
+#else
+ mrc p15, 0, \tmp, c0, c0, 1 @ read ctr
+#endif
+ lsr \tmp, \tmp, #16
+ and \tmp, \tmp, #0xf @ cache line size encoding
+ mov \reg, #4 @ bytes per word
+ mov \reg, \reg, lsl \tmp @ actual cache line size
+ .endm
+
/*
* Turn on the cache. We need to setup some page tables so that we
* can have both the I and D caches on.
@@ -1177,8 +1190,6 @@ __armv7_mmu_cache_off:
bic r0, r0, #0x000c
#endif
mcr p15, 0, r0, c1, c0 @ turn MMU and cache off
- mov r12, lr
- bl __armv7_mmu_cache_flush
mov r0, #0
#ifdef CONFIG_MMU
mcr p15, 0, r0, c8, c7, 0 @ invalidate whole TLB
@@ -1186,7 +1197,7 @@ __armv7_mmu_cache_off:
mcr p15, 0, r0, c7, c5, 6 @ invalidate BTC
mcr p15, 0, r0, c7, c10, 4 @ DSB
mcr p15, 0, r0, c7, c5, 4 @ ISB
- mov pc, r12
+ mov pc, lr
/*
* Clean and flush the cache to maintain consistency.
@@ -1202,6 +1213,7 @@ __armv7_mmu_cache_off:
.align 5
cache_clean_flush:
mov r3, #16
+ mov r11, r1
b call_cache_fn
__armv4_mpu_cache_flush:
@@ -1252,51 +1264,16 @@ __armv7_mmu_cache_flush:
mcr p15, 0, r10, c7, c14, 0 @ clean+invalidate D
b iflush
hierarchical:
- mcr p15, 0, r10, c7, c10, 5 @ DMB
- stmfd sp!, {r0-r7, r9-r11}
- mrc p15, 1, r0, c0, c0, 1 @ read clidr
- ands r3, r0, #0x7000000 @ extract loc from clidr
- mov r3, r3, lsr #23 @ left align loc bit field
- beq finished @ if loc is 0, then no need to clean
- mov r10, #0 @ start clean at cache level 0
-loop1:
- add r2, r10, r10, lsr #1 @ work out 3x current cache level
- mov r1, r0, lsr r2 @ extract cache type bits from clidr
- and r1, r1, #7 @ mask of the bits for current cache only
- cmp r1, #2 @ see what cache we have at this level
- blt skip @ skip if no cache, or just i-cache
- mcr p15, 2, r10, c0, c0, 0 @ select current cache level in cssr
- mcr p15, 0, r10, c7, c5, 4 @ isb to sych the new cssr&csidr
- mrc p15, 1, r1, c0, c0, 0 @ read the new csidr
- and r2, r1, #7 @ extract the length of the cache lines
- add r2, r2, #4 @ add 4 (line length offset)
- ldr r4, =0x3ff
- ands r4, r4, r1, lsr #3 @ find maximum number on the way size
- clz r5, r4 @ find bit position of way size increment
- ldr r7, =0x7fff
- ands r7, r7, r1, lsr #13 @ extract max number of the index size
-loop2:
- mov r9, r4 @ create working copy of max way size
-loop3:
- ARM( orr r11, r10, r9, lsl r5 ) @ factor way and cache number into r11
- ARM( orr r11, r11, r7, lsl r2 ) @ factor index number into r11
- THUMB( lsl r6, r9, r5 )
- THUMB( orr r11, r10, r6 ) @ factor way and cache number into r11
- THUMB( lsl r6, r7, r2 )
- THUMB( orr r11, r11, r6 ) @ factor index number into r11
- mcr p15, 0, r11, c7, c14, 2 @ clean & invalidate by set/way
- subs r9, r9, #1 @ decrement the way
- bge loop3
- subs r7, r7, #1 @ decrement the index
- bge loop2
-skip:
- add r10, r10, #2 @ increment cache number
- cmp r3, r10
- bgt loop1
-finished:
- ldmfd sp!, {r0-r7, r9-r11}
- mov r10, #0 @ switch back to cache level 0
- mcr p15, 2, r10, c0, c0, 0 @ select current cache level in cssr
+ dcache_line_size r1, r2 @ r1 := dcache min line size
+ sub r2, r1, #1 @ r2 := line size mask
+ bic r0, r0, r2 @ round down start to line size
+ sub r11, r11, #1 @ end address is exclusive
+ bic r11, r11, r2 @ round down end to line size
+0: cmp r0, r11 @ finished?
+ bgt iflush
+ mcr p15, 0, r0, c7, c14, 1 @ Dcache clean/invalidate by VA
+ add r0, r0, r1
+ b 0b
iflush:
mcr p15, 0, r10, c7, c10, 4 @ DSB
mcr p15, 0, r10, c7, c5, 0 @ invalidate I+BTB
--
2.17.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v2 0/4] ARM: decompressor: use by-VA cache maintenance for v7 cores
2020-02-19 9:43 [PATCH v2 0/4] ARM: decompressor: use by-VA cache maintenance for v7 cores Ard Biesheuvel
` (3 preceding siblings ...)
2020-02-19 9:43 ` [PATCH v2 4/4] ARM: decompressor: switch to by-VA cache maintenance for v7 cores Ard Biesheuvel
@ 2020-02-20 18:08 ` Ard Biesheuvel
2020-02-21 13:35 ` Robin Murphy
4 siblings, 1 reply; 11+ messages in thread
From: Ard Biesheuvel @ 2020-02-20 18:08 UTC (permalink / raw)
To: linux-efi, Arnd Bergmann
Cc: linux-arm-kernel, Russell King, Marc Zyngier, Nicolas Pitre,
Catalin Marinas, Tony Lindgren
(+ Arnd)
On Wed, 19 Feb 2020 at 10:43, Ard Biesheuvel <ardb@kernel.org> wrote:
>
> While making changes to the EFI stub startup code, I noticed that we are
> still doing set/way maintenance on the caches when booting on v7 cores.
> This works today on VMs by virtue of the fact that KVM traps set/way ops
> and cleans the whole address space by VA on behalf of the guest, and on
> most v7 hardware, the set/way ops are in fact sufficient when only one
> core is running, as there usually is no system cache. But on systems
> like SynQuacer, for which 32-bit firmware is available, the current cache
> maintenance only pushes the data out to the L3 system cache, where it
> is not visible to the CPU once it turns the MMU and caches off.
>
> So instead, switch to the by-VA cache maintenance that the architecture
> requires for v7 and later (and ARM1176, as a side effect).
>
> Changes since v1:
> - include the EFI patch that was sent out separately before (#1)
> - split the preparatory work to pass the region to clean in r0/r1 in a EFI
> specific one and one for the decompressor - this way, the first two patches
> can go on a stable branch that is shared between the ARM tree and the EFI
> tree
> - document the meaning of the values in r0/r1 upon entry to cache_clean_flush
> - take care to treat the region end address as exclusive
> - switch to clean+invalidate to align with the other implementations
> - drop some code that manages the stack pointer value before calling
> cache_clean_flush(), which is no longer necessary
> - take care to clean the entire region that is covered by the relocated zImage
> if it needs to relocate itself before decompressing
>
> https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git/log/?h=arm32-efi-cache-ops
>
Adding my own data point here: with these patches, I can reproducibly
boot on the SynQuacer platform (24x Cortex-A53 + GICv3 + L3 system
cache) until the point where /init is loaded, after which it hangs
(see below), whereas without them, it always crashes early with weird,
unreproducible errors, if it even makes it far enough through the
decompressor to produce any earlycon output.
There is some other weird stuff going on, but this is unlikely to be
related to cache maintenance:
- multiple occurrences of
OF: translation of DMA address(0) to CPU address failed node(...)
- /cpus/cpu@0: unsupported enable-method property: psci
Then, there is not enough vmalloc space to map the config space of
both PCIe RCs.
Also, due to the fact that this platform sadly honours the ARM
recommendation on memory maps, it seems there is no way to make useful
use of any memory beyond 2 GB, given that the hole between the lower 2
GB and the upper <30 GB eats up all the lowmem by being covered by the
memmap[] array. (Note that this platform supports up to 64 GB, in
which case another hole of 480 GB is created, so there is no way we
can even boot with that much memory reported to the kernel)
Shell> initrd initrd.gz
Shell> zImage
EFI stub: Booting Linux Kernel...
EFI stub: Using DTB from configuration table
EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
EFI stub: Exiting boot services and installing virtual address map...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.6.0-rc1-00084-g8602a0ff0200-dirty
(ardbie01@e123331-lin) (gcc version 7.4.0 (Ubuntu/Linaro
7.4.0-1ubuntu1~18.04.1)) #286 SMP Thu Feb 20 17:49:59 CET 2020
[ 0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=70c5383d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing
instruction cache
[ 0.000000] OF: fdt: Machine model: Socionext Developer Box
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] efi: EFI v2.70 by EDK II
[ 0.000000] efi: SMBIOS 3.0=0xffa1c000 MEMATTR=0xfd0b4010
ESRT=0xfdfbb910 MEMRESERVE=0xf8f2d010
[ 0.000000] OF: fdt: Ignoring memory block 0x880000000 - 0x1000000000
[ 0.000000] esrt: Reserving ESRT space from 0x00000000fdfbb910 to
0x00000000fdfbb948.
[ 0.000000] cma: Reserved 64 MiB at 0x00000000f9000000
[ 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.0
[ 0.000000] percpu: Embedded 20 pages/cpu s49356 r8192 d24372 u81920
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 522368
[ 0.000000] Kernel command line: zImage
[ 0.000000] printk: log_buf_len individual max cpu contribution: 4096 bytes
[ 0.000000] printk: log_buf_len total cpu_extra contributions: 94208 bytes
[ 0.000000] printk: log_buf_len min size: 131072 bytes
[ 0.000000] printk: log_buf_len: 262144 bytes
[ 0.000000] printk: early log buf free: 128828(98%)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7,
524288 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144
bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] software IO TLB: mapped [mem 0xaa90c000-0xae90c000] (64MB)
[ 0.000000] Memory: 1886672K/2097152K available (10240K kernel
code, 1811K rwdata, 5392K rodata, 2048K init, 414K bss, 144944K
reserved, 65536K cma-reserved, 1233168K highmem)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=24, 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 10 jiffies.
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] GICv3: 640 SPIs implemented
[ 0.000000] GICv3: 0 Extended SPIs implemented
[ 0.000000] GICv3: Distributor has no Range Selector support
[ 0.000000] GICv3: 16 PPIs implemented
[ 0.000000] GICv3: no VLPI support, no direct LPI support, no RVPEID support
[ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000030400000
[ 0.000000] ITS [mem 0x30020000-0x3003ffff]
[ 0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
[ 0.000000] ITS@0x0000000030020000: allocated 524288 Devices
@aa400000 (flat, esz 8, psz 64K, shr 0)
[ 0.000000] ITS: using cache flushing for cmd queue
[ 0.000000] GICv3: using LPI property table @0x00000000aa080000
[ 0.000000] GIC: using cache flushing for LPI property table
[ 0.000000] GICv3: CPU0: using allocated LPI pending table
@0x00000000aa090000
[ 0.000000] random: get_random_bytes called from
start_kernel+0x469/0x5ca with crng_init=0
[ 0.000000] arch_timer: cp15 and mmio timer(s) running at 100.00MHz
(virt/phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff
max_cycles: 0x171024e7e0, max_idle_ns: 440795205315 ns
[ 0.000004] sched_clock: 56 bits at 100MHz, resolution 10ns, wraps
every 4398046511100ns
[ 0.000013] Switching to timer-based delay loop, resolution 10ns
[ 0.000890] Console: colour dummy device 80x30
[ 0.001344] printk: console [tty0] enabled
[ 0.001389] Calibrating delay loop (skipped), value calculated
using timer frequency.. 200.00 BogoMIPS (lpj=1000000)
[ 0.001410] pid_max: default: 32768 minimum: 301
[ 0.001561] Mount-cache hash table entries: 2048 (order: 1, 8192
bytes, linear)
[ 0.001581] Mountpoint-cache hash table entries: 2048 (order: 1,
8192 bytes, linear)
[ 0.002112] CPU: Testing write buffer coherency: ok
[ 0.002637] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.002926] Setting up static identity map for 0x80400000 - 0x80400160
[ 0.003448] rcu: Hierarchical SRCU implementation.
[ 0.003601] Platform MSI: gic-its@30020000 domain created
[ 0.003669] PCI/MSI:
/interrupt-controller@30000000/gic-its@30020000 domain created
[ 0.004751] Remapping and enabling EFI services.
[ 0.005305] smp: Bringing up secondary CPUs ...
[ 0.005895] GICv3: CPU1: found redistributor 1 region 0:0x0000000030420000
[ 0.005919] GICv3: CPU1: using allocated LPI pending table
@0x00000000aa0a0000
[ 0.005940] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.011149] GICv3: CPU2: found redistributor 100 region 0:0x0000000030440000
[ 0.011179] GICv3: CPU2: using allocated LPI pending table
@0x00000000aa0b0000
[ 0.011203] CPU2: thread -1, cpu 0, socket 1, mpidr 80000100
[ 0.014242] GICv3: CPU3: found redistributor 101 region 0:0x0000000030460000
[ 0.014264] GICv3: CPU3: using allocated LPI pending table
@0x00000000aa0c0000
[ 0.014284] CPU3: thread -1, cpu 1, socket 1, mpidr 80000101
[ 0.019622] GICv3: CPU4: found redistributor 200 region 0:0x0000000030480000
[ 0.019650] GICv3: CPU4: using allocated LPI pending table
@0x00000000aa0d0000
[ 0.019675] CPU4: thread -1, cpu 0, socket 2, mpidr 80000200
[ 0.022737] GICv3: CPU5: found redistributor 201 region 0:0x00000000304a0000
[ 0.022759] GICv3: CPU5: using allocated LPI pending table
@0x00000000aa0e0000
[ 0.022777] CPU5: thread -1, cpu 1, socket 2, mpidr 80000201
[ 0.028146] GICv3: CPU6: found redistributor 300 region 0:0x00000000304c0000
[ 0.028174] GICv3: CPU6: using allocated LPI pending table
@0x00000000aa0f0000
[ 0.028196] CPU6: thread -1, cpu 0, socket 3, mpidr 80000300
[ 0.031213] GICv3: CPU7: found redistributor 301 region 0:0x00000000304e0000
[ 0.031239] GICv3: CPU7: using allocated LPI pending table
@0x00000000aa100000
[ 0.031256] CPU7: thread -1, cpu 1, socket 3, mpidr 80000301
[ 0.036606] GICv3: CPU8: found redistributor 400 region 0:0x0000000030500000
[ 0.036634] GICv3: CPU8: using allocated LPI pending table
@0x00000000aa110000
[ 0.036657] CPU8: thread -1, cpu 0, socket 4, mpidr 80000400
[ 0.039719] GICv3: CPU9: found redistributor 401 region 0:0x0000000030520000
[ 0.039740] GICv3: CPU9: using allocated LPI pending table
@0x00000000aa120000
[ 0.039757] CPU9: thread -1, cpu 1, socket 4, mpidr 80000401
[ 0.045156] GICv3: CPU10: found redistributor 500 region 0:0x0000000030540000
[ 0.045187] GICv3: CPU10: using allocated LPI pending table
@0x00000000aa130000
[ 0.045210] CPU10: thread -1, cpu 0, socket 5, mpidr 80000500
[ 0.048241] GICv3: CPU11: found redistributor 501 region 0:0x0000000030560000
[ 0.048263] GICv3: CPU11: using allocated LPI pending table
@0x00000000aa140000
[ 0.048282] CPU11: thread -1, cpu 1, socket 5, mpidr 80000501
[ 0.053651] GICv3: CPU12: found redistributor 600 region 0:0x0000000030580000
[ 0.053681] GICv3: CPU12: using allocated LPI pending table
@0x00000000aa150000
[ 0.053706] CPU12: thread -1, cpu 0, socket 6, mpidr 80000600
[ 0.056742] GICv3: CPU13: found redistributor 601 region 0:0x00000000305a0000
[ 0.056765] GICv3: CPU13: using allocated LPI pending table
@0x00000000aa160000
[ 0.056785] CPU13: thread -1, cpu 1, socket 6, mpidr 80000601
[ 0.062113] GICv3: CPU14: found redistributor 700 region 0:0x00000000305c0000
[ 0.062144] GICv3: CPU14: using allocated LPI pending table
@0x00000000aa170000
[ 0.062166] CPU14: thread -1, cpu 0, socket 7, mpidr 80000700
[ 0.065238] GICv3: CPU15: found redistributor 701 region 0:0x00000000305e0000
[ 0.065263] GICv3: CPU15: using allocated LPI pending table
@0x00000000aa180000
[ 0.065282] CPU15: thread -1, cpu 1, socket 7, mpidr 80000701
[ 0.070661] GICv3: CPU16: found redistributor 800 region 0:0x0000000030600000
[ 0.070691] GICv3: CPU16: using allocated LPI pending table
@0x00000000aa190000
[ 0.070716] CPU16: thread -1, cpu 0, socket 8, mpidr 80000800
[ 0.073748] GICv3: CPU17: found redistributor 801 region 0:0x0000000030620000
[ 0.073774] GICv3: CPU17: using allocated LPI pending table
@0x00000000aa1a0000
[ 0.073794] CPU17: thread -1, cpu 1, socket 8, mpidr 80000801
[ 0.079132] GICv3: CPU18: found redistributor 900 region 0:0x0000000030640000
[ 0.079163] GICv3: CPU18: using allocated LPI pending table
@0x00000000aa1b0000
[ 0.079187] CPU18: thread -1, cpu 0, socket 9, mpidr 80000900
[ 0.082216] GICv3: CPU19: found redistributor 901 region 0:0x0000000030660000
[ 0.082239] GICv3: CPU19: using allocated LPI pending table
@0x00000000aa1c0000
[ 0.082257] CPU19: thread -1, cpu 1, socket 9, mpidr 80000901
[ 0.087755] GICv3: CPU20: found redistributor a00 region 0:0x0000000030680000
[ 0.087788] GICv3: CPU20: using allocated LPI pending table
@0x00000000aa1d0000
[ 0.087811] CPU20: thread -1, cpu 0, socket 10, mpidr 80000a00
[ 0.090897] GICv3: CPU21: found redistributor a01 region 0:0x00000000306a0000
[ 0.090922] GICv3: CPU21: using allocated LPI pending table
@0x00000000aa1e0000
[ 0.090939] CPU21: thread -1, cpu 1, socket 10, mpidr 80000a01
[ 0.096296] GICv3: CPU22: found redistributor b00 region 0:0x00000000306c0000
[ 0.096329] GICv3: CPU22: using allocated LPI pending table
@0x00000000aa1f0000
[ 0.096353] CPU22: thread -1, cpu 0, socket 11, mpidr 80000b00
[ 0.099356] GICv3: CPU23: found redistributor b01 region 0:0x00000000306e0000
[ 0.099381] GICv3: CPU23: using allocated LPI pending table
@0x00000000aa200000
[ 0.099400] CPU23: thread -1, cpu 1, socket 11, mpidr 80000b01
[ 0.099506] smp: Brought up 1 node, 24 CPUs
[ 0.100163] SMP: Total of 24 processors activated (4800.00 BogoMIPS).
[ 0.100175] CPU: All CPU(s) started in SVC mode.
[ 0.101193] devtmpfs: initialized
[ 0.103698] VFP support v0.3: implementor 41 architecture 3 part 40
variant 3 rev 4
[ 0.103980] clocksource: jiffies: mask: 0xffffffff max_cycles:
0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.104009] futex hash table entries: 8192 (order: 7, 524288 bytes, linear)
[ 0.106670] pinctrl core: initialized pinctrl subsystem
[ 0.107566] thermal_sys: Registered thermal governor 'step_wise'
[ 0.107754] SMBIOS 3.3.0 present.
[ 0.107788] DMI: Socionext SynQuacer E-series DeveloperBox, BIOS
build #1 Feb 20 2020
[ 0.108185] NET: Registered protocol family 16
[ 0.109556] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.110957] cpuidle: using governor menu
[ 0.111063] No ATAGs?
[ 0.111467] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4
watchpoint registers.
[ 0.111490] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.112874] Serial: AMBA PL011 UART driver
[ 0.114349] OF: translation of DMA address(0) to CPU address failed
node(/uart@2a400000)
[ 0.114421] 2a400000.uart: ttyAMA0 at MMIO 0x2a400000 (irq = 22,
base_baud = 0) is a PL011 rev3
[ 1.117194] printk: console [ttyAMA0] enabled
[ 1.135592] AT91: Could not find identification node
[ 1.136261] iommu: Default domain type: Translated
[ 1.146225] vgaarb: loaded
[ 1.149407] SCSI subsystem initialized
[ 1.153506] usbcore: registered new interface driver usbfs
[ 1.159042] usbcore: registered new interface driver hub
[ 1.164477] usbcore: registered new device driver usb
[ 1.169950] pps_core: LinuxPPS API ver. 1 registered
[ 1.174911] pps_core: Software ver. 5.3.6 - Copyright 2005-2007
Rodolfo Giometti <giometti@linux.it>
[ 1.184062] PTP clock support registered
[ 1.188042] EDAC MC: Ver: 3.0.0
[ 1.191660] Registered efivars operations
[ 1.196838] clocksource: Switched to clocksource arch_sys_counter
[ 2.103835] NET: Registered protocol family 2
[ 2.108658] tcp_listen_portaddr_hash hash table entries: 512
(order: 0, 6144 bytes, linear)
[ 2.117044] TCP established hash table entries: 8192 (order: 3,
32768 bytes, linear)
[ 2.124854] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 2.132103] TCP: Hash tables configured (established 8192 bind 8192)
[ 2.138585] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[ 2.145223] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[ 2.152446] NET: Registered protocol family 1
[ 2.157108] RPC: Registered named UNIX socket transport module.
[ 2.163026] RPC: Registered udp transport module.
[ 2.167746] RPC: Registered tcp transport module.
[ 2.172445] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 2.178897] PCI: CLS 0 bytes, default 64
[ 2.183052] Trying to unpack rootfs image as initramfs...
[ 3.413006] Freeing initrd memory: 22816K
[ 3.418665] Initialise system trusted keyrings
[ 3.423276] workingset: timestamp_bits=30 max_order=19 bucket_order=0
[ 3.434628] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 3.441097] NFS: Registering the id_resolver key type
[ 3.446175] Key type id_resolver registered
[ 3.450375] Key type id_legacy registered
[ 3.454388] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 3.461111] ntfs: driver 2.1.32 [Flags: R/O].
[ 3.465747] Key type asymmetric registered
[ 3.469857] Asymmetric key parser 'x509' registered
[ 3.474765] bounce: pool size: 64 pages
[ 3.478629] Block layer SCSI generic (bsg) driver version 0.4
loaded (major 247)
[ 3.486027] io scheduler mq-deadline registered
[ 3.490564] io scheduler kyber registered
[ 3.500170] OF: translation of DMA address(0) to CPU address failed
node(/pcie@60000000)
[ 3.508318] pci-host-generic 60000000.pcie: host bridge
/pcie@60000000 ranges:
[ 3.515556] pci-host-generic 60000000.pcie: IO
0x0067f00000..0x0067f0ffff -> 0x0000000000
[ 3.524276] pci-host-generic 60000000.pcie: MEM
0x0068000000..0x006fffffff -> 0x0068000000
[ 3.532987] pci-host-generic 60000000.pcie: MEM
0x3e00000000..0x3effffffff -> 0x3e00000000
[ 3.543045] pci-host-generic 60000000.pcie: ECAM at [mem
0x60000000-0x67efffff] for [bus 00-7e]
[ 3.551873] pci-host-generic 60000000.pcie: PCI host bridge to bus 0000:00
[ 3.558764] pci_bus 0000:00: root bus resource [bus 00-7e]
[ 3.564250] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
[ 3.570438] pci_bus 0000:00: root bus resource [mem 0x68000000-0x6fffffff]
[ 3.577322] pci_bus 0000:00: root bus resource [mem
0x3e00000000-0x3effffffff]
[ 3.584574] pci 0000:00:00.0: [1b21:1184] type 01 class 0x060400
[ 3.590646] pci 0000:00:00.0: enabling Extended Tags
[ 3.595677] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold
[ 3.602874] PCI: bus0: Fast back to back transfers disabled
[ 3.608585] pci 0000:01:01.0: [1b21:1184] type 01 class 0x060400
[ 3.614645] pci 0000:01:01.0: enabling Extended Tags
[ 3.619672] pci 0000:01:01.0: PME# supported from D0 D3hot D3cold
[ 3.625969] pci 0000:01:03.0: [1b21:1184] type 01 class 0x060400
[ 3.632040] pci 0000:01:03.0: enabling Extended Tags
[ 3.637066] pci 0000:01:03.0: PME# supported from D0 D3hot D3cold
[ 3.643363] pci 0000:01:05.0: [1b21:1184] type 01 class 0x060400
[ 3.649431] pci 0000:01:05.0: enabling Extended Tags
[ 3.654449] pci 0000:01:05.0: PME# supported from D0 D3hot D3cold
[ 3.660753] pci 0000:01:07.0: [1b21:1184] type 01 class 0x060400
[ 3.666822] pci 0000:01:07.0: enabling Extended Tags
[ 3.671844] pci 0000:01:07.0: PME# supported from D0 D3hot D3cold
[ 3.678832] PCI: bus1: Fast back to back transfers disabled
[ 3.684517] pci 0000:02:00.0: [1b21:0612] type 00 class 0x010601
[ 3.690564] pci 0000:02:00.0: reg 0x10: [io 0x0028-0x002f]
[ 3.696147] pci 0000:02:00.0: reg 0x14: [io 0x0034-0x0037]
[ 3.701738] pci 0000:02:00.0: reg 0x18: [io 0x0020-0x0027]
[ 3.707329] pci 0000:02:00.0: reg 0x1c: [io 0x0030-0x0033]
[ 3.712912] pci 0000:02:00.0: reg 0x20: [io 0x0000-0x001f]
[ 3.718503] pci 0000:02:00.0: reg 0x24: [mem 0x68100000-0x681001ff]
[ 3.724781] pci 0000:02:00.0: reg 0x30: [mem 0xffff0000-0xffffffff pref]
[ 3.732590] PCI: bus2: Fast back to back transfers disabled
[ 3.738174] pci_bus 0000:02: busn_res: [bus 02-7e] end is updated to 02
[ 3.745751] PCI: bus3: Fast back to back transfers enabled
[ 3.751247] pci_bus 0000:03: busn_res: [bus 03-7e] end is updated to 03
[ 3.757969] pci 0000:04:00.0: [1912:0014] type 00 class 0x0c0330
[ 3.764012] pci 0000:04:00.0: reg 0x10: [mem 0x68000000-0x68001fff 64bit]
[ 3.770943] pci 0000:04:00.0: PME# supported from D0 D3hot D3cold
[ 3.807778] PCI: bus4: Fast back to back transfers disabled
[ 3.813353] pci_bus 0000:04: busn_res: [bus 04-7e] end is updated to 04
[ 3.820943] PCI: bus5: Fast back to back transfers enabled
[ 3.826430] pci_bus 0000:05: busn_res: [bus 05-7e] end is updated to 05
[ 3.833058] pci_bus 0000:01: busn_res: [bus 01-7e] end is updated to 05
[ 3.839709] pci 0000:00:00.0: BAR 8: assigned [mem 0x68000000-0x681fffff]
[ 3.846498] pci 0000:00:00.0: BAR 7: assigned [io 0x1000-0x1fff]
[ 3.852603] pci 0000:01:01.0: BAR 8: assigned [mem 0x68000000-0x680fffff]
[ 3.859402] pci 0000:01:05.0: BAR 8: assigned [mem 0x68100000-0x681fffff]
[ 3.866190] pci 0000:01:01.0: BAR 7: assigned [io 0x1000-0x1fff]
[ 3.872294] pci 0000:02:00.0: BAR 6: assigned [mem
0x68000000-0x6800ffff pref]
[ 3.879529] pci 0000:02:00.0: BAR 5: assigned [mem 0x68010000-0x680101ff]
[ 3.886321] pci 0000:02:00.0: BAR 4: assigned [io 0x1000-0x101f]
[ 3.892425] pci 0000:02:00.0: BAR 0: assigned [io 0x1020-0x1027]
[ 3.898529] pci 0000:02:00.0: BAR 2: assigned [io 0x1028-0x102f]
[ 3.904627] pci 0000:02:00.0: BAR 1: assigned [io 0x1030-0x1033]
[ 3.910730] pci 0000:02:00.0: BAR 3: assigned [io 0x1034-0x1037]
[ 3.916834] pci 0000:01:01.0: PCI bridge to [bus 02]
[ 3.921799] pci 0000:01:01.0: bridge window [io 0x1000-0x1fff]
[ 3.927903] pci 0000:01:01.0: bridge window [mem 0x68000000-0x680fffff]
[ 3.934697] pci 0000:01:03.0: PCI bridge to [bus 03]
[ 3.939682] pci 0000:04:00.0: BAR 0: assigned [mem
0x68100000-0x68101fff 64bit]
[ 3.947012] pci 0000:01:05.0: PCI bridge to [bus 04]
[ 3.951979] pci 0000:01:05.0: bridge window [mem 0x68100000-0x681fffff]
[ 3.958780] pci 0000:01:07.0: PCI bridge to [bus 05]
[ 3.963754] pci 0000:00:00.0: PCI bridge to [bus 01-05]
[ 3.968985] pci 0000:00:00.0: bridge window [io 0x1000-0x1fff]
[ 3.975081] pci 0000:00:00.0: bridge window [mem 0x68000000-0x681fffff]
[ 3.981914] OF: translation of DMA address(0) to CPU address failed
node(/pcie@60000000)
[ 3.990313] OF: translation of DMA address(0) to CPU address failed
node(/pcie@60000000)
[ 3.998662] OF: translation of DMA address(0) to CPU address failed
node(/pcie@60000000)
[ 4.007005] OF: translation of DMA address(0) to CPU address failed
node(/pcie@60000000)
[ 4.015339] OF: translation of DMA address(0) to CPU address failed
node(/pcie@60000000)
[ 4.023694] pci 0000:04:00.0: enabling device (0140 -> 0142)
[ 4.029447] OF: translation of DMA address(0) to CPU address failed
node(/pcie@70000000)
[ 4.037570] pci-host-generic 70000000.pcie: host bridge
/pcie@70000000 ranges:
[ 4.044805] pci-host-generic 70000000.pcie: IO
0x0077f00000..0x0077f0ffff -> 0x0000000000
[ 4.053523] pci-host-generic 70000000.pcie: MEM
0x0078000000..0x007fffffff -> 0x0078000000
[ 4.062236] pci-host-generic 70000000.pcie: MEM
0x3f00000000..0x3fffffffff -> 0x3f00000000
[ 4.071308] vmap allocation for size 1052672 failed: use
vmalloc=<size> to increase size
[ 4.079411] pci-host-generic 70000000.pcie: ECAM ioremap failed
[ 4.085525] pci-host-generic: probe of 70000000.pcie failed with error -12
[ 4.126494] Serial: 8250/16550 driver, 5 ports, IRQ sharing enabled
[ 4.134170] OF: translation of DMA address(0) to CPU address failed
node(/uart@51040000)
[ 4.142748] 51040000.uart: ttyS1 at MMIO 0x51040000 (irq = 23,
base_baud = 3906250) is a 16550A
[ 4.152099] SuperH (H)SCI(F) driver initialized
[ 4.156953] msm_serial: driver initialized
[ 4.161103] STMicroelectronics ASC driver initialized
[ 4.166594] STM32 USART driver initialized
[ 4.178363] brd: module loaded
[ 4.192943] loop: module loaded
[ 4.197009] OF: translation of DMA address(0) to CPU address failed
node(/pcie@60000000)
[ 4.205330] ahci 0000:02:00.0: SSS flag set, parallel bus scan disabled
[ 4.212015] ahci 0000:02:00.0: AHCI 0001.0200 32 slots 2 ports 6
Gbps 0x3 impl SATA mode
[ 4.220122] ahci 0000:02:00.0: flags: 64bit ncq sntf stag led clo
pmp pio slum part ccc sxs
[ 4.229431] scsi host0: ahci
[ 4.232675] scsi host1: ahci
[ 4.235694] ata1: SATA max UDMA/133 abar m512@0x68010000 port
0x68010100 irq 35
[ 4.243033] ata2: SATA max UDMA/133 abar m512@0x68010000 port
0x68010180 irq 35
[ 4.253906] libphy: Fixed MDIO Bus: probed
[ 4.258796] CAN device driver interface
[ 4.262933] bgmac_bcma: Broadcom 47xx GBit MAC driver loaded
[ 4.268942] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[ 4.274772] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 4.280739] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.6.0-k
[ 4.287707] igb: Copyright (c) 2007-2014 Intel Corporation.
[ 4.294603] pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB
Ethernet driver
[ 4.302042] usbcore: registered new interface driver pegasus
[ 4.307736] usbcore: registered new interface driver asix
[ 4.313150] usbcore: registered new interface driver ax88179_178a
[ 4.319267] usbcore: registered new interface driver cdc_ether
[ 4.325122] usbcore: registered new interface driver smsc75xx
[ 4.330901] usbcore: registered new interface driver smsc95xx
[ 4.336663] usbcore: registered new interface driver net1080
[ 4.342350] usbcore: registered new interface driver cdc_subset
[ 4.348295] usbcore: registered new interface driver zaurus
[ 4.353894] usbcore: registered new interface driver cdc_ncm
[ 4.360347] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 4.366891] ehci-pci: EHCI PCI platform driver
[ 4.371359] ehci-platform: EHCI generic platform driver
[ 4.376646] ehci-orion: EHCI orion driver
[ 4.380714] SPEAr-ehci: EHCI SPEAr driver
[ 4.384767] ehci-st: EHCI STMicroelectronics driver
[ 4.389704] ehci-exynos: EHCI Exynos driver
[ 4.393931] ehci-atmel: EHCI Atmel driver
[ 4.397991] tegra-ehci: Tegra EHCI driver
[ 4.402048] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 4.408245] ohci-pci: OHCI PCI platform driver
[ 4.412714] ohci-platform: OHCI generic platform driver
[ 4.418003] SPEAr-ohci: OHCI SPEAr driver
[ 4.422057] ohci-st: OHCI STMicroelectronics driver
[ 4.426995] ohci-atmel: OHCI Atmel driver
[ 4.431085] OF: translation of DMA address(0) to CPU address failed
node(/pcie@60000000)
[ 4.439259] xhci_hcd 0000:04:00.0: xHCI Host Controller
[ 4.444497] xhci_hcd 0000:04:00.0: new USB bus registered, assigned
bus number 1
[ 4.457324] xhci_hcd 0000:04:00.0: hcc params 0x014051cf hci
version 0x100 quirks 0x0000000100000410
[ 4.467671] hub 1-0:1.0: USB hub found
[ 4.471449] hub 1-0:1.0: 4 ports detected
[ 4.475927] xhci_hcd 0000:04:00.0: xHCI Host Controller
[ 4.481175] xhci_hcd 0000:04:00.0: new USB bus registered, assigned
bus number 2
[ 4.488585] xhci_hcd 0000:04:00.0: Host supports USB 3.0 SuperSpeed
[ 4.494924] usb usb2: We don't know the algorithms for LPM for this
host, disabling LPM.
[ 4.503372] hub 2-0:1.0: USB hub found
[ 4.507155] hub 2-0:1.0: 4 ports detected
[ 4.511847] usbcore: registered new interface driver usb-storage
[ 4.519900] i2c /dev entries driver
[ 4.528493] /cpus/cpu@0: unsupported enable-method property: psci
[ 4.537114] sdhci: Secure Digital Host Controller Interface driver
[ 4.543297] sdhci: Copyright(c) Pierre Ossman
[ 4.548328] Synopsys Designware Multimedia Card Interface Driver
[ 4.554829] sdhci-pltfm: SDHCI platform and OF driver helper
[ 4.562104] ledtrig-cpu: registered to indicate activity on CPUs
[ 4.568594] usbcore: registered new interface driver usbhid
[ 4.574168] usbhid: USB HID core driver
[ 4.579546] drop_monitor: Initializing network drop monitor service
[ 4.586552] NET: Registered protocol family 10
[ 4.591887] Segment Routing with IPv6
[ 4.595614] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 4.602085] NET: Registered protocol family 17
[ 4.606537] can: controller area network core (rev 20170425 abi 9)
[ 4.612780] NET: Registered protocol family 29
[ 4.617248] can: raw protocol (rev 20170425)
[ 4.621524] can: broadcast manager protocol (rev 20170425 t)
[ 4.627198] can: netlink gateway (rev 20190810) max_hops=1
[ 4.632967] Key type dns_resolver registered
[ 4.637328] Registering SWP/SWPB emulation handler
[ 4.642410] Loading compiled-in X.509 certificates
[ 4.688987] OF: translation of DMA address(0) to CPU address failed
node(/gpio-keys)
[ 4.696780] irq: no irq domain found for interrupt-controller@510c0000 !
[ 4.703556] gpio-keys gpio-keys: Found button without gpio or irq
[ 4.709673] gpio-keys: probe of gpio-keys failed with error -22
[ 4.715621] hctosys: unable to open rtc device (rtc0)
[ 4.721044] uart-pl011 2a400000.uart: no DMA platform data
[ 4.746912] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 4.754022] ata1.00: ATA-10: WDC WD10EZEX-22MFCA0, 01.01A01, max UDMA/133
[ 4.760826] ata1.00: 1953525168 sectors, multi 16: LBA48 NCQ (depth 32), AA
[ 4.768960] ata1.00: configured for UDMA/133
[ 4.773637] scsi 0:0:0:0: Direct-Access ATA WDC
WD10EZEX-22M 1A01 PQ: 0 ANSI: 5
[ 4.782675] sd 0:0:0:0: [sda] 1953525168 512-byte logical blocks:
(1.00 TB/932 GiB)
[ 4.790362] sd 0:0:0:0: [sda] 4096-byte physical blocks
[ 4.795635] sd 0:0:0:0: [sda] Write Protect is off
[ 4.800505] sd 0:0:0:0: [sda] Write cache: enabled, read cache:
enabled, doesn't support DPO or FUA
[ 4.846916] usb 1-3: new high-speed USB device number 2 using xhci_hcd
[ 4.865348] sda: sda1 sda2 sda3 sda4
[ 4.871475] sd 0:0:0:0: [sda] Attached SCSI disk
[ 4.887962] usb-storage 1-3:1.0: USB Mass Storage device detected
[ 4.894715] scsi host2: usb-storage 1-3:1.0
[ 5.109059] ata2: SATA link down (SStatus 0 SControl 300)
[ 5.117814] Freeing unused kernel memory: 2048K
[ 5.122861] Run /init as init process
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 0/4] ARM: decompressor: use by-VA cache maintenance for v7 cores
2020-02-20 18:08 ` [PATCH v2 0/4] ARM: decompressor: use " Ard Biesheuvel
@ 2020-02-21 13:35 ` Robin Murphy
2020-02-21 13:42 ` Ard Biesheuvel
0 siblings, 1 reply; 11+ messages in thread
From: Robin Murphy @ 2020-02-21 13:35 UTC (permalink / raw)
To: Ard Biesheuvel, linux-efi, Arnd Bergmann
Cc: Nicolas Pitre, Tony Lindgren, Marc Zyngier, Russell King,
Catalin Marinas, linux-arm-kernel
On 20/02/2020 6:08 pm, Ard Biesheuvel wrote:
> (+ Arnd)
>
> On Wed, 19 Feb 2020 at 10:43, Ard Biesheuvel <ardb@kernel.org> wrote:
>>
>> While making changes to the EFI stub startup code, I noticed that we are
>> still doing set/way maintenance on the caches when booting on v7 cores.
>> This works today on VMs by virtue of the fact that KVM traps set/way ops
>> and cleans the whole address space by VA on behalf of the guest, and on
>> most v7 hardware, the set/way ops are in fact sufficient when only one
>> core is running, as there usually is no system cache. But on systems
>> like SynQuacer, for which 32-bit firmware is available, the current cache
>> maintenance only pushes the data out to the L3 system cache, where it
>> is not visible to the CPU once it turns the MMU and caches off.
>>
>> So instead, switch to the by-VA cache maintenance that the architecture
>> requires for v7 and later (and ARM1176, as a side effect).
>>
>> Changes since v1:
>> - include the EFI patch that was sent out separately before (#1)
>> - split the preparatory work to pass the region to clean in r0/r1 in a EFI
>> specific one and one for the decompressor - this way, the first two patches
>> can go on a stable branch that is shared between the ARM tree and the EFI
>> tree
>> - document the meaning of the values in r0/r1 upon entry to cache_clean_flush
>> - take care to treat the region end address as exclusive
>> - switch to clean+invalidate to align with the other implementations
>> - drop some code that manages the stack pointer value before calling
>> cache_clean_flush(), which is no longer necessary
>> - take care to clean the entire region that is covered by the relocated zImage
>> if it needs to relocate itself before decompressing
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git/log/?h=arm32-efi-cache-ops
>>
>
> Adding my own data point here: with these patches, I can reproducibly
> boot on the SynQuacer platform (24x Cortex-A53 + GICv3 + L3 system
> cache) until the point where /init is loaded, after which it hangs
> (see below), whereas without them, it always crashes early with weird,
> unreproducible errors, if it even makes it far enough through the
> decompressor to produce any earlycon output.
>
> There is some other weird stuff going on, but this is unlikely to be
> related to cache maintenance:
> - multiple occurrences of
> OF: translation of DMA address(0) to CPU address failed node(...)
FWIW that implies a "dma-ranges" property in the wrong place in the DT -
if you copied the now-gone Juno example of placing one directly in the
root node, that was bogus, sorry.
> - /cpus/cpu@0: unsupported enable-method property: psci
Missing CONFIG_ARM_PSCI_CPUIDLE? That's caught me out on more than one
occasion since 5.4.
Robin.
> Then, there is not enough vmalloc space to map the config space of
> both PCIe RCs.
>
> Also, due to the fact that this platform sadly honours the ARM
> recommendation on memory maps, it seems there is no way to make useful
> use of any memory beyond 2 GB, given that the hole between the lower 2
> GB and the upper <30 GB eats up all the lowmem by being covered by the
> memmap[] array. (Note that this platform supports up to 64 GB, in
> which case another hole of 480 GB is created, so there is no way we
> can even boot with that much memory reported to the kernel)
>
>
> Shell> initrd initrd.gz
> Shell> zImage
> EFI stub: Booting Linux Kernel...
> EFI stub: Using DTB from configuration table
> EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
> EFI stub: Exiting boot services and installing virtual address map...
> [ 0.000000] Booting Linux on physical CPU 0x0
> [ 0.000000] Linux version 5.6.0-rc1-00084-g8602a0ff0200-dirty
> (ardbie01@e123331-lin) (gcc version 7.4.0 (Ubuntu/Linaro
> 7.4.0-1ubuntu1~18.04.1)) #286 SMP Thu Feb 20 17:49:59 CET 2020
> [ 0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=70c5383d
> [ 0.000000] CPU: div instructions available: patching division code
> [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing
> instruction cache
> [ 0.000000] OF: fdt: Machine model: Socionext Developer Box
> [ 0.000000] Memory policy: Data cache writealloc
> [ 0.000000] efi: EFI v2.70 by EDK II
> [ 0.000000] efi: SMBIOS 3.0=0xffa1c000 MEMATTR=0xfd0b4010
> ESRT=0xfdfbb910 MEMRESERVE=0xf8f2d010
> [ 0.000000] OF: fdt: Ignoring memory block 0x880000000 - 0x1000000000
> [ 0.000000] esrt: Reserving ESRT space from 0x00000000fdfbb910 to
> 0x00000000fdfbb948.
> [ 0.000000] cma: Reserved 64 MiB at 0x00000000f9000000
> [ 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.0
> [ 0.000000] percpu: Embedded 20 pages/cpu s49356 r8192 d24372 u81920
> [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 522368
> [ 0.000000] Kernel command line: zImage
> [ 0.000000] printk: log_buf_len individual max cpu contribution: 4096 bytes
> [ 0.000000] printk: log_buf_len total cpu_extra contributions: 94208 bytes
> [ 0.000000] printk: log_buf_len min size: 131072 bytes
> [ 0.000000] printk: log_buf_len: 262144 bytes
> [ 0.000000] printk: early log buf free: 128828(98%)
> [ 0.000000] Dentry cache hash table entries: 131072 (order: 7,
> 524288 bytes, linear)
> [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144
> bytes, linear)
> [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
> [ 0.000000] software IO TLB: mapped [mem 0xaa90c000-0xae90c000] (64MB)
> [ 0.000000] Memory: 1886672K/2097152K available (10240K kernel
> code, 1811K rwdata, 5392K rodata, 2048K init, 414K bss, 144944K
> reserved, 65536K cma-reserved, 1233168K highmem)
> [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=24, 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 10 jiffies.
> [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
> [ 0.000000] GICv3: 640 SPIs implemented
> [ 0.000000] GICv3: 0 Extended SPIs implemented
> [ 0.000000] GICv3: Distributor has no Range Selector support
> [ 0.000000] GICv3: 16 PPIs implemented
> [ 0.000000] GICv3: no VLPI support, no direct LPI support, no RVPEID support
> [ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000030400000
> [ 0.000000] ITS [mem 0x30020000-0x3003ffff]
> [ 0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
> [ 0.000000] ITS@0x0000000030020000: allocated 524288 Devices
> @aa400000 (flat, esz 8, psz 64K, shr 0)
> [ 0.000000] ITS: using cache flushing for cmd queue
> [ 0.000000] GICv3: using LPI property table @0x00000000aa080000
> [ 0.000000] GIC: using cache flushing for LPI property table
> [ 0.000000] GICv3: CPU0: using allocated LPI pending table
> @0x00000000aa090000
> [ 0.000000] random: get_random_bytes called from
> start_kernel+0x469/0x5ca with crng_init=0
> [ 0.000000] arch_timer: cp15 and mmio timer(s) running at 100.00MHz
> (virt/phys).
> [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff
> max_cycles: 0x171024e7e0, max_idle_ns: 440795205315 ns
> [ 0.000004] sched_clock: 56 bits at 100MHz, resolution 10ns, wraps
> every 4398046511100ns
> [ 0.000013] Switching to timer-based delay loop, resolution 10ns
> [ 0.000890] Console: colour dummy device 80x30
> [ 0.001344] printk: console [tty0] enabled
> [ 0.001389] Calibrating delay loop (skipped), value calculated
> using timer frequency.. 200.00 BogoMIPS (lpj=1000000)
> [ 0.001410] pid_max: default: 32768 minimum: 301
> [ 0.001561] Mount-cache hash table entries: 2048 (order: 1, 8192
> bytes, linear)
> [ 0.001581] Mountpoint-cache hash table entries: 2048 (order: 1,
> 8192 bytes, linear)
> [ 0.002112] CPU: Testing write buffer coherency: ok
> [ 0.002637] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
> [ 0.002926] Setting up static identity map for 0x80400000 - 0x80400160
> [ 0.003448] rcu: Hierarchical SRCU implementation.
> [ 0.003601] Platform MSI: gic-its@30020000 domain created
> [ 0.003669] PCI/MSI:
> /interrupt-controller@30000000/gic-its@30020000 domain created
> [ 0.004751] Remapping and enabling EFI services.
> [ 0.005305] smp: Bringing up secondary CPUs ...
> [ 0.005895] GICv3: CPU1: found redistributor 1 region 0:0x0000000030420000
> [ 0.005919] GICv3: CPU1: using allocated LPI pending table
> @0x00000000aa0a0000
> [ 0.005940] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
> [ 0.011149] GICv3: CPU2: found redistributor 100 region 0:0x0000000030440000
> [ 0.011179] GICv3: CPU2: using allocated LPI pending table
> @0x00000000aa0b0000
> [ 0.011203] CPU2: thread -1, cpu 0, socket 1, mpidr 80000100
> [ 0.014242] GICv3: CPU3: found redistributor 101 region 0:0x0000000030460000
> [ 0.014264] GICv3: CPU3: using allocated LPI pending table
> @0x00000000aa0c0000
> [ 0.014284] CPU3: thread -1, cpu 1, socket 1, mpidr 80000101
> [ 0.019622] GICv3: CPU4: found redistributor 200 region 0:0x0000000030480000
> [ 0.019650] GICv3: CPU4: using allocated LPI pending table
> @0x00000000aa0d0000
> [ 0.019675] CPU4: thread -1, cpu 0, socket 2, mpidr 80000200
> [ 0.022737] GICv3: CPU5: found redistributor 201 region 0:0x00000000304a0000
> [ 0.022759] GICv3: CPU5: using allocated LPI pending table
> @0x00000000aa0e0000
> [ 0.022777] CPU5: thread -1, cpu 1, socket 2, mpidr 80000201
> [ 0.028146] GICv3: CPU6: found redistributor 300 region 0:0x00000000304c0000
> [ 0.028174] GICv3: CPU6: using allocated LPI pending table
> @0x00000000aa0f0000
> [ 0.028196] CPU6: thread -1, cpu 0, socket 3, mpidr 80000300
> [ 0.031213] GICv3: CPU7: found redistributor 301 region 0:0x00000000304e0000
> [ 0.031239] GICv3: CPU7: using allocated LPI pending table
> @0x00000000aa100000
> [ 0.031256] CPU7: thread -1, cpu 1, socket 3, mpidr 80000301
> [ 0.036606] GICv3: CPU8: found redistributor 400 region 0:0x0000000030500000
> [ 0.036634] GICv3: CPU8: using allocated LPI pending table
> @0x00000000aa110000
> [ 0.036657] CPU8: thread -1, cpu 0, socket 4, mpidr 80000400
> [ 0.039719] GICv3: CPU9: found redistributor 401 region 0:0x0000000030520000
> [ 0.039740] GICv3: CPU9: using allocated LPI pending table
> @0x00000000aa120000
> [ 0.039757] CPU9: thread -1, cpu 1, socket 4, mpidr 80000401
> [ 0.045156] GICv3: CPU10: found redistributor 500 region 0:0x0000000030540000
> [ 0.045187] GICv3: CPU10: using allocated LPI pending table
> @0x00000000aa130000
> [ 0.045210] CPU10: thread -1, cpu 0, socket 5, mpidr 80000500
> [ 0.048241] GICv3: CPU11: found redistributor 501 region 0:0x0000000030560000
> [ 0.048263] GICv3: CPU11: using allocated LPI pending table
> @0x00000000aa140000
> [ 0.048282] CPU11: thread -1, cpu 1, socket 5, mpidr 80000501
> [ 0.053651] GICv3: CPU12: found redistributor 600 region 0:0x0000000030580000
> [ 0.053681] GICv3: CPU12: using allocated LPI pending table
> @0x00000000aa150000
> [ 0.053706] CPU12: thread -1, cpu 0, socket 6, mpidr 80000600
> [ 0.056742] GICv3: CPU13: found redistributor 601 region 0:0x00000000305a0000
> [ 0.056765] GICv3: CPU13: using allocated LPI pending table
> @0x00000000aa160000
> [ 0.056785] CPU13: thread -1, cpu 1, socket 6, mpidr 80000601
> [ 0.062113] GICv3: CPU14: found redistributor 700 region 0:0x00000000305c0000
> [ 0.062144] GICv3: CPU14: using allocated LPI pending table
> @0x00000000aa170000
> [ 0.062166] CPU14: thread -1, cpu 0, socket 7, mpidr 80000700
> [ 0.065238] GICv3: CPU15: found redistributor 701 region 0:0x00000000305e0000
> [ 0.065263] GICv3: CPU15: using allocated LPI pending table
> @0x00000000aa180000
> [ 0.065282] CPU15: thread -1, cpu 1, socket 7, mpidr 80000701
> [ 0.070661] GICv3: CPU16: found redistributor 800 region 0:0x0000000030600000
> [ 0.070691] GICv3: CPU16: using allocated LPI pending table
> @0x00000000aa190000
> [ 0.070716] CPU16: thread -1, cpu 0, socket 8, mpidr 80000800
> [ 0.073748] GICv3: CPU17: found redistributor 801 region 0:0x0000000030620000
> [ 0.073774] GICv3: CPU17: using allocated LPI pending table
> @0x00000000aa1a0000
> [ 0.073794] CPU17: thread -1, cpu 1, socket 8, mpidr 80000801
> [ 0.079132] GICv3: CPU18: found redistributor 900 region 0:0x0000000030640000
> [ 0.079163] GICv3: CPU18: using allocated LPI pending table
> @0x00000000aa1b0000
> [ 0.079187] CPU18: thread -1, cpu 0, socket 9, mpidr 80000900
> [ 0.082216] GICv3: CPU19: found redistributor 901 region 0:0x0000000030660000
> [ 0.082239] GICv3: CPU19: using allocated LPI pending table
> @0x00000000aa1c0000
> [ 0.082257] CPU19: thread -1, cpu 1, socket 9, mpidr 80000901
> [ 0.087755] GICv3: CPU20: found redistributor a00 region 0:0x0000000030680000
> [ 0.087788] GICv3: CPU20: using allocated LPI pending table
> @0x00000000aa1d0000
> [ 0.087811] CPU20: thread -1, cpu 0, socket 10, mpidr 80000a00
> [ 0.090897] GICv3: CPU21: found redistributor a01 region 0:0x00000000306a0000
> [ 0.090922] GICv3: CPU21: using allocated LPI pending table
> @0x00000000aa1e0000
> [ 0.090939] CPU21: thread -1, cpu 1, socket 10, mpidr 80000a01
> [ 0.096296] GICv3: CPU22: found redistributor b00 region 0:0x00000000306c0000
> [ 0.096329] GICv3: CPU22: using allocated LPI pending table
> @0x00000000aa1f0000
> [ 0.096353] CPU22: thread -1, cpu 0, socket 11, mpidr 80000b00
> [ 0.099356] GICv3: CPU23: found redistributor b01 region 0:0x00000000306e0000
> [ 0.099381] GICv3: CPU23: using allocated LPI pending table
> @0x00000000aa200000
> [ 0.099400] CPU23: thread -1, cpu 1, socket 11, mpidr 80000b01
> [ 0.099506] smp: Brought up 1 node, 24 CPUs
> [ 0.100163] SMP: Total of 24 processors activated (4800.00 BogoMIPS).
> [ 0.100175] CPU: All CPU(s) started in SVC mode.
> [ 0.101193] devtmpfs: initialized
> [ 0.103698] VFP support v0.3: implementor 41 architecture 3 part 40
> variant 3 rev 4
> [ 0.103980] clocksource: jiffies: mask: 0xffffffff max_cycles:
> 0xffffffff, max_idle_ns: 19112604462750000 ns
> [ 0.104009] futex hash table entries: 8192 (order: 7, 524288 bytes, linear)
> [ 0.106670] pinctrl core: initialized pinctrl subsystem
> [ 0.107566] thermal_sys: Registered thermal governor 'step_wise'
> [ 0.107754] SMBIOS 3.3.0 present.
> [ 0.107788] DMI: Socionext SynQuacer E-series DeveloperBox, BIOS
> build #1 Feb 20 2020
> [ 0.108185] NET: Registered protocol family 16
> [ 0.109556] DMA: preallocated 256 KiB pool for atomic coherent allocations
> [ 0.110957] cpuidle: using governor menu
> [ 0.111063] No ATAGs?
> [ 0.111467] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4
> watchpoint registers.
> [ 0.111490] hw-breakpoint: maximum watchpoint size is 8 bytes.
> [ 0.112874] Serial: AMBA PL011 UART driver
> [ 0.114349] OF: translation of DMA address(0) to CPU address failed
> node(/uart@2a400000)
> [ 0.114421] 2a400000.uart: ttyAMA0 at MMIO 0x2a400000 (irq = 22,
> base_baud = 0) is a PL011 rev3
> [ 1.117194] printk: console [ttyAMA0] enabled
> [ 1.135592] AT91: Could not find identification node
> [ 1.136261] iommu: Default domain type: Translated
> [ 1.146225] vgaarb: loaded
> [ 1.149407] SCSI subsystem initialized
> [ 1.153506] usbcore: registered new interface driver usbfs
> [ 1.159042] usbcore: registered new interface driver hub
> [ 1.164477] usbcore: registered new device driver usb
> [ 1.169950] pps_core: LinuxPPS API ver. 1 registered
> [ 1.174911] pps_core: Software ver. 5.3.6 - Copyright 2005-2007
> Rodolfo Giometti <giometti@linux.it>
> [ 1.184062] PTP clock support registered
> [ 1.188042] EDAC MC: Ver: 3.0.0
> [ 1.191660] Registered efivars operations
> [ 1.196838] clocksource: Switched to clocksource arch_sys_counter
> [ 2.103835] NET: Registered protocol family 2
> [ 2.108658] tcp_listen_portaddr_hash hash table entries: 512
> (order: 0, 6144 bytes, linear)
> [ 2.117044] TCP established hash table entries: 8192 (order: 3,
> 32768 bytes, linear)
> [ 2.124854] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
> [ 2.132103] TCP: Hash tables configured (established 8192 bind 8192)
> [ 2.138585] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
> [ 2.145223] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
> [ 2.152446] NET: Registered protocol family 1
> [ 2.157108] RPC: Registered named UNIX socket transport module.
> [ 2.163026] RPC: Registered udp transport module.
> [ 2.167746] RPC: Registered tcp transport module.
> [ 2.172445] RPC: Registered tcp NFSv4.1 backchannel transport module.
> [ 2.178897] PCI: CLS 0 bytes, default 64
> [ 2.183052] Trying to unpack rootfs image as initramfs...
> [ 3.413006] Freeing initrd memory: 22816K
> [ 3.418665] Initialise system trusted keyrings
> [ 3.423276] workingset: timestamp_bits=30 max_order=19 bucket_order=0
> [ 3.434628] squashfs: version 4.0 (2009/01/31) Phillip Lougher
> [ 3.441097] NFS: Registering the id_resolver key type
> [ 3.446175] Key type id_resolver registered
> [ 3.450375] Key type id_legacy registered
> [ 3.454388] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
> [ 3.461111] ntfs: driver 2.1.32 [Flags: R/O].
> [ 3.465747] Key type asymmetric registered
> [ 3.469857] Asymmetric key parser 'x509' registered
> [ 3.474765] bounce: pool size: 64 pages
> [ 3.478629] Block layer SCSI generic (bsg) driver version 0.4
> loaded (major 247)
> [ 3.486027] io scheduler mq-deadline registered
> [ 3.490564] io scheduler kyber registered
> [ 3.500170] OF: translation of DMA address(0) to CPU address failed
> node(/pcie@60000000)
> [ 3.508318] pci-host-generic 60000000.pcie: host bridge
> /pcie@60000000 ranges:
> [ 3.515556] pci-host-generic 60000000.pcie: IO
> 0x0067f00000..0x0067f0ffff -> 0x0000000000
> [ 3.524276] pci-host-generic 60000000.pcie: MEM
> 0x0068000000..0x006fffffff -> 0x0068000000
> [ 3.532987] pci-host-generic 60000000.pcie: MEM
> 0x3e00000000..0x3effffffff -> 0x3e00000000
> [ 3.543045] pci-host-generic 60000000.pcie: ECAM at [mem
> 0x60000000-0x67efffff] for [bus 00-7e]
> [ 3.551873] pci-host-generic 60000000.pcie: PCI host bridge to bus 0000:00
> [ 3.558764] pci_bus 0000:00: root bus resource [bus 00-7e]
> [ 3.564250] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
> [ 3.570438] pci_bus 0000:00: root bus resource [mem 0x68000000-0x6fffffff]
> [ 3.577322] pci_bus 0000:00: root bus resource [mem
> 0x3e00000000-0x3effffffff]
> [ 3.584574] pci 0000:00:00.0: [1b21:1184] type 01 class 0x060400
> [ 3.590646] pci 0000:00:00.0: enabling Extended Tags
> [ 3.595677] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold
> [ 3.602874] PCI: bus0: Fast back to back transfers disabled
> [ 3.608585] pci 0000:01:01.0: [1b21:1184] type 01 class 0x060400
> [ 3.614645] pci 0000:01:01.0: enabling Extended Tags
> [ 3.619672] pci 0000:01:01.0: PME# supported from D0 D3hot D3cold
> [ 3.625969] pci 0000:01:03.0: [1b21:1184] type 01 class 0x060400
> [ 3.632040] pci 0000:01:03.0: enabling Extended Tags
> [ 3.637066] pci 0000:01:03.0: PME# supported from D0 D3hot D3cold
> [ 3.643363] pci 0000:01:05.0: [1b21:1184] type 01 class 0x060400
> [ 3.649431] pci 0000:01:05.0: enabling Extended Tags
> [ 3.654449] pci 0000:01:05.0: PME# supported from D0 D3hot D3cold
> [ 3.660753] pci 0000:01:07.0: [1b21:1184] type 01 class 0x060400
> [ 3.666822] pci 0000:01:07.0: enabling Extended Tags
> [ 3.671844] pci 0000:01:07.0: PME# supported from D0 D3hot D3cold
> [ 3.678832] PCI: bus1: Fast back to back transfers disabled
> [ 3.684517] pci 0000:02:00.0: [1b21:0612] type 00 class 0x010601
> [ 3.690564] pci 0000:02:00.0: reg 0x10: [io 0x0028-0x002f]
> [ 3.696147] pci 0000:02:00.0: reg 0x14: [io 0x0034-0x0037]
> [ 3.701738] pci 0000:02:00.0: reg 0x18: [io 0x0020-0x0027]
> [ 3.707329] pci 0000:02:00.0: reg 0x1c: [io 0x0030-0x0033]
> [ 3.712912] pci 0000:02:00.0: reg 0x20: [io 0x0000-0x001f]
> [ 3.718503] pci 0000:02:00.0: reg 0x24: [mem 0x68100000-0x681001ff]
> [ 3.724781] pci 0000:02:00.0: reg 0x30: [mem 0xffff0000-0xffffffff pref]
> [ 3.732590] PCI: bus2: Fast back to back transfers disabled
> [ 3.738174] pci_bus 0000:02: busn_res: [bus 02-7e] end is updated to 02
> [ 3.745751] PCI: bus3: Fast back to back transfers enabled
> [ 3.751247] pci_bus 0000:03: busn_res: [bus 03-7e] end is updated to 03
> [ 3.757969] pci 0000:04:00.0: [1912:0014] type 00 class 0x0c0330
> [ 3.764012] pci 0000:04:00.0: reg 0x10: [mem 0x68000000-0x68001fff 64bit]
> [ 3.770943] pci 0000:04:00.0: PME# supported from D0 D3hot D3cold
> [ 3.807778] PCI: bus4: Fast back to back transfers disabled
> [ 3.813353] pci_bus 0000:04: busn_res: [bus 04-7e] end is updated to 04
> [ 3.820943] PCI: bus5: Fast back to back transfers enabled
> [ 3.826430] pci_bus 0000:05: busn_res: [bus 05-7e] end is updated to 05
> [ 3.833058] pci_bus 0000:01: busn_res: [bus 01-7e] end is updated to 05
> [ 3.839709] pci 0000:00:00.0: BAR 8: assigned [mem 0x68000000-0x681fffff]
> [ 3.846498] pci 0000:00:00.0: BAR 7: assigned [io 0x1000-0x1fff]
> [ 3.852603] pci 0000:01:01.0: BAR 8: assigned [mem 0x68000000-0x680fffff]
> [ 3.859402] pci 0000:01:05.0: BAR 8: assigned [mem 0x68100000-0x681fffff]
> [ 3.866190] pci 0000:01:01.0: BAR 7: assigned [io 0x1000-0x1fff]
> [ 3.872294] pci 0000:02:00.0: BAR 6: assigned [mem
> 0x68000000-0x6800ffff pref]
> [ 3.879529] pci 0000:02:00.0: BAR 5: assigned [mem 0x68010000-0x680101ff]
> [ 3.886321] pci 0000:02:00.0: BAR 4: assigned [io 0x1000-0x101f]
> [ 3.892425] pci 0000:02:00.0: BAR 0: assigned [io 0x1020-0x1027]
> [ 3.898529] pci 0000:02:00.0: BAR 2: assigned [io 0x1028-0x102f]
> [ 3.904627] pci 0000:02:00.0: BAR 1: assigned [io 0x1030-0x1033]
> [ 3.910730] pci 0000:02:00.0: BAR 3: assigned [io 0x1034-0x1037]
> [ 3.916834] pci 0000:01:01.0: PCI bridge to [bus 02]
> [ 3.921799] pci 0000:01:01.0: bridge window [io 0x1000-0x1fff]
> [ 3.927903] pci 0000:01:01.0: bridge window [mem 0x68000000-0x680fffff]
> [ 3.934697] pci 0000:01:03.0: PCI bridge to [bus 03]
> [ 3.939682] pci 0000:04:00.0: BAR 0: assigned [mem
> 0x68100000-0x68101fff 64bit]
> [ 3.947012] pci 0000:01:05.0: PCI bridge to [bus 04]
> [ 3.951979] pci 0000:01:05.0: bridge window [mem 0x68100000-0x681fffff]
> [ 3.958780] pci 0000:01:07.0: PCI bridge to [bus 05]
> [ 3.963754] pci 0000:00:00.0: PCI bridge to [bus 01-05]
> [ 3.968985] pci 0000:00:00.0: bridge window [io 0x1000-0x1fff]
> [ 3.975081] pci 0000:00:00.0: bridge window [mem 0x68000000-0x681fffff]
> [ 3.981914] OF: translation of DMA address(0) to CPU address failed
> node(/pcie@60000000)
> [ 3.990313] OF: translation of DMA address(0) to CPU address failed
> node(/pcie@60000000)
> [ 3.998662] OF: translation of DMA address(0) to CPU address failed
> node(/pcie@60000000)
> [ 4.007005] OF: translation of DMA address(0) to CPU address failed
> node(/pcie@60000000)
> [ 4.015339] OF: translation of DMA address(0) to CPU address failed
> node(/pcie@60000000)
> [ 4.023694] pci 0000:04:00.0: enabling device (0140 -> 0142)
> [ 4.029447] OF: translation of DMA address(0) to CPU address failed
> node(/pcie@70000000)
> [ 4.037570] pci-host-generic 70000000.pcie: host bridge
> /pcie@70000000 ranges:
> [ 4.044805] pci-host-generic 70000000.pcie: IO
> 0x0077f00000..0x0077f0ffff -> 0x0000000000
> [ 4.053523] pci-host-generic 70000000.pcie: MEM
> 0x0078000000..0x007fffffff -> 0x0078000000
> [ 4.062236] pci-host-generic 70000000.pcie: MEM
> 0x3f00000000..0x3fffffffff -> 0x3f00000000
> [ 4.071308] vmap allocation for size 1052672 failed: use
> vmalloc=<size> to increase size
> [ 4.079411] pci-host-generic 70000000.pcie: ECAM ioremap failed
> [ 4.085525] pci-host-generic: probe of 70000000.pcie failed with error -12
> [ 4.126494] Serial: 8250/16550 driver, 5 ports, IRQ sharing enabled
> [ 4.134170] OF: translation of DMA address(0) to CPU address failed
> node(/uart@51040000)
> [ 4.142748] 51040000.uart: ttyS1 at MMIO 0x51040000 (irq = 23,
> base_baud = 3906250) is a 16550A
> [ 4.152099] SuperH (H)SCI(F) driver initialized
> [ 4.156953] msm_serial: driver initialized
> [ 4.161103] STMicroelectronics ASC driver initialized
> [ 4.166594] STM32 USART driver initialized
> [ 4.178363] brd: module loaded
> [ 4.192943] loop: module loaded
> [ 4.197009] OF: translation of DMA address(0) to CPU address failed
> node(/pcie@60000000)
> [ 4.205330] ahci 0000:02:00.0: SSS flag set, parallel bus scan disabled
> [ 4.212015] ahci 0000:02:00.0: AHCI 0001.0200 32 slots 2 ports 6
> Gbps 0x3 impl SATA mode
> [ 4.220122] ahci 0000:02:00.0: flags: 64bit ncq sntf stag led clo
> pmp pio slum part ccc sxs
> [ 4.229431] scsi host0: ahci
> [ 4.232675] scsi host1: ahci
> [ 4.235694] ata1: SATA max UDMA/133 abar m512@0x68010000 port
> 0x68010100 irq 35
> [ 4.243033] ata2: SATA max UDMA/133 abar m512@0x68010000 port
> 0x68010180 irq 35
> [ 4.253906] libphy: Fixed MDIO Bus: probed
> [ 4.258796] CAN device driver interface
> [ 4.262933] bgmac_bcma: Broadcom 47xx GBit MAC driver loaded
> [ 4.268942] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
> [ 4.274772] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
> [ 4.280739] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.6.0-k
> [ 4.287707] igb: Copyright (c) 2007-2014 Intel Corporation.
> [ 4.294603] pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB
> Ethernet driver
> [ 4.302042] usbcore: registered new interface driver pegasus
> [ 4.307736] usbcore: registered new interface driver asix
> [ 4.313150] usbcore: registered new interface driver ax88179_178a
> [ 4.319267] usbcore: registered new interface driver cdc_ether
> [ 4.325122] usbcore: registered new interface driver smsc75xx
> [ 4.330901] usbcore: registered new interface driver smsc95xx
> [ 4.336663] usbcore: registered new interface driver net1080
> [ 4.342350] usbcore: registered new interface driver cdc_subset
> [ 4.348295] usbcore: registered new interface driver zaurus
> [ 4.353894] usbcore: registered new interface driver cdc_ncm
> [ 4.360347] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> [ 4.366891] ehci-pci: EHCI PCI platform driver
> [ 4.371359] ehci-platform: EHCI generic platform driver
> [ 4.376646] ehci-orion: EHCI orion driver
> [ 4.380714] SPEAr-ehci: EHCI SPEAr driver
> [ 4.384767] ehci-st: EHCI STMicroelectronics driver
> [ 4.389704] ehci-exynos: EHCI Exynos driver
> [ 4.393931] ehci-atmel: EHCI Atmel driver
> [ 4.397991] tegra-ehci: Tegra EHCI driver
> [ 4.402048] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
> [ 4.408245] ohci-pci: OHCI PCI platform driver
> [ 4.412714] ohci-platform: OHCI generic platform driver
> [ 4.418003] SPEAr-ohci: OHCI SPEAr driver
> [ 4.422057] ohci-st: OHCI STMicroelectronics driver
> [ 4.426995] ohci-atmel: OHCI Atmel driver
> [ 4.431085] OF: translation of DMA address(0) to CPU address failed
> node(/pcie@60000000)
> [ 4.439259] xhci_hcd 0000:04:00.0: xHCI Host Controller
> [ 4.444497] xhci_hcd 0000:04:00.0: new USB bus registered, assigned
> bus number 1
> [ 4.457324] xhci_hcd 0000:04:00.0: hcc params 0x014051cf hci
> version 0x100 quirks 0x0000000100000410
> [ 4.467671] hub 1-0:1.0: USB hub found
> [ 4.471449] hub 1-0:1.0: 4 ports detected
> [ 4.475927] xhci_hcd 0000:04:00.0: xHCI Host Controller
> [ 4.481175] xhci_hcd 0000:04:00.0: new USB bus registered, assigned
> bus number 2
> [ 4.488585] xhci_hcd 0000:04:00.0: Host supports USB 3.0 SuperSpeed
> [ 4.494924] usb usb2: We don't know the algorithms for LPM for this
> host, disabling LPM.
> [ 4.503372] hub 2-0:1.0: USB hub found
> [ 4.507155] hub 2-0:1.0: 4 ports detected
> [ 4.511847] usbcore: registered new interface driver usb-storage
> [ 4.519900] i2c /dev entries driver
> [ 4.528493] /cpus/cpu@0: unsupported enable-method property: psci
> [ 4.537114] sdhci: Secure Digital Host Controller Interface driver
> [ 4.543297] sdhci: Copyright(c) Pierre Ossman
> [ 4.548328] Synopsys Designware Multimedia Card Interface Driver
> [ 4.554829] sdhci-pltfm: SDHCI platform and OF driver helper
> [ 4.562104] ledtrig-cpu: registered to indicate activity on CPUs
> [ 4.568594] usbcore: registered new interface driver usbhid
> [ 4.574168] usbhid: USB HID core driver
> [ 4.579546] drop_monitor: Initializing network drop monitor service
> [ 4.586552] NET: Registered protocol family 10
> [ 4.591887] Segment Routing with IPv6
> [ 4.595614] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
> [ 4.602085] NET: Registered protocol family 17
> [ 4.606537] can: controller area network core (rev 20170425 abi 9)
> [ 4.612780] NET: Registered protocol family 29
> [ 4.617248] can: raw protocol (rev 20170425)
> [ 4.621524] can: broadcast manager protocol (rev 20170425 t)
> [ 4.627198] can: netlink gateway (rev 20190810) max_hops=1
> [ 4.632967] Key type dns_resolver registered
> [ 4.637328] Registering SWP/SWPB emulation handler
> [ 4.642410] Loading compiled-in X.509 certificates
> [ 4.688987] OF: translation of DMA address(0) to CPU address failed
> node(/gpio-keys)
> [ 4.696780] irq: no irq domain found for interrupt-controller@510c0000 !
> [ 4.703556] gpio-keys gpio-keys: Found button without gpio or irq
> [ 4.709673] gpio-keys: probe of gpio-keys failed with error -22
> [ 4.715621] hctosys: unable to open rtc device (rtc0)
> [ 4.721044] uart-pl011 2a400000.uart: no DMA platform data
> [ 4.746912] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
> [ 4.754022] ata1.00: ATA-10: WDC WD10EZEX-22MFCA0, 01.01A01, max UDMA/133
> [ 4.760826] ata1.00: 1953525168 sectors, multi 16: LBA48 NCQ (depth 32), AA
> [ 4.768960] ata1.00: configured for UDMA/133
> [ 4.773637] scsi 0:0:0:0: Direct-Access ATA WDC
> WD10EZEX-22M 1A01 PQ: 0 ANSI: 5
> [ 4.782675] sd 0:0:0:0: [sda] 1953525168 512-byte logical blocks:
> (1.00 TB/932 GiB)
> [ 4.790362] sd 0:0:0:0: [sda] 4096-byte physical blocks
> [ 4.795635] sd 0:0:0:0: [sda] Write Protect is off
> [ 4.800505] sd 0:0:0:0: [sda] Write cache: enabled, read cache:
> enabled, doesn't support DPO or FUA
> [ 4.846916] usb 1-3: new high-speed USB device number 2 using xhci_hcd
> [ 4.865348] sda: sda1 sda2 sda3 sda4
> [ 4.871475] sd 0:0:0:0: [sda] Attached SCSI disk
> [ 4.887962] usb-storage 1-3:1.0: USB Mass Storage device detected
> [ 4.894715] scsi host2: usb-storage 1-3:1.0
> [ 5.109059] ata2: SATA link down (SStatus 0 SControl 300)
> [ 5.117814] Freeing unused kernel memory: 2048K
> [ 5.122861] Run /init as init process
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 0/4] ARM: decompressor: use by-VA cache maintenance for v7 cores
2020-02-21 13:35 ` Robin Murphy
@ 2020-02-21 13:42 ` Ard Biesheuvel
2020-02-21 15:54 ` Ard Biesheuvel
2020-02-21 16:09 ` Robin Murphy
0 siblings, 2 replies; 11+ messages in thread
From: Ard Biesheuvel @ 2020-02-21 13:42 UTC (permalink / raw)
To: Robin Murphy
Cc: linux-efi, Arnd Bergmann, Nicolas Pitre, Tony Lindgren,
Marc Zyngier, Russell King, Catalin Marinas, linux-arm-kernel
On Fri, 21 Feb 2020 at 14:35, Robin Murphy <robin.murphy@arm.com> wrote:
>
> On 20/02/2020 6:08 pm, Ard Biesheuvel wrote:
> > (+ Arnd)
> >
> > On Wed, 19 Feb 2020 at 10:43, Ard Biesheuvel <ardb@kernel.org> wrote:
> >>
> >> While making changes to the EFI stub startup code, I noticed that we are
> >> still doing set/way maintenance on the caches when booting on v7 cores.
> >> This works today on VMs by virtue of the fact that KVM traps set/way ops
> >> and cleans the whole address space by VA on behalf of the guest, and on
> >> most v7 hardware, the set/way ops are in fact sufficient when only one
> >> core is running, as there usually is no system cache. But on systems
> >> like SynQuacer, for which 32-bit firmware is available, the current cache
> >> maintenance only pushes the data out to the L3 system cache, where it
> >> is not visible to the CPU once it turns the MMU and caches off.
> >>
> >> So instead, switch to the by-VA cache maintenance that the architecture
> >> requires for v7 and later (and ARM1176, as a side effect).
> >>
> >> Changes since v1:
> >> - include the EFI patch that was sent out separately before (#1)
> >> - split the preparatory work to pass the region to clean in r0/r1 in a EFI
> >> specific one and one for the decompressor - this way, the first two patches
> >> can go on a stable branch that is shared between the ARM tree and the EFI
> >> tree
> >> - document the meaning of the values in r0/r1 upon entry to cache_clean_flush
> >> - take care to treat the region end address as exclusive
> >> - switch to clean+invalidate to align with the other implementations
> >> - drop some code that manages the stack pointer value before calling
> >> cache_clean_flush(), which is no longer necessary
> >> - take care to clean the entire region that is covered by the relocated zImage
> >> if it needs to relocate itself before decompressing
> >>
> >> https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git/log/?h=arm32-efi-cache-ops
> >>
> >
> > Adding my own data point here: with these patches, I can reproducibly
> > boot on the SynQuacer platform (24x Cortex-A53 + GICv3 + L3 system
> > cache) until the point where /init is loaded, after which it hangs
> > (see below), whereas without them, it always crashes early with weird,
> > unreproducible errors, if it even makes it far enough through the
> > decompressor to produce any earlycon output.
> >
> > There is some other weird stuff going on, but this is unlikely to be
> > related to cache maintenance:
> > - multiple occurrences of
> > OF: translation of DMA address(0) to CPU address failed node(...)
>
> FWIW that implies a "dma-ranges" property in the wrong place in the DT -
> if you copied the now-gone Juno example of placing one directly in the
> root node, that was bogus, sorry.
>
OK, so where should it be instead? Are you saying it is now required
to have a /soc or /smb node that contains all the device nodes?
> > - /cpus/cpu@0: unsupported enable-method property: psci
>
> Missing CONFIG_ARM_PSCI_CPUIDLE? That's caught me out on more than one
> occasion since 5.4.
>
> Robin.
>
> > Then, there is not enough vmalloc space to map the config space of
> > both PCIe RCs.
> >
> > Also, due to the fact that this platform sadly honours the ARM
> > recommendation on memory maps, it seems there is no way to make useful
> > use of any memory beyond 2 GB, given that the hole between the lower 2
> > GB and the upper <30 GB eats up all the lowmem by being covered by the
> > memmap[] array. (Note that this platform supports up to 64 GB, in
> > which case another hole of 480 GB is created, so there is no way we
> > can even boot with that much memory reported to the kernel)
> >
> >
> > Shell> initrd initrd.gz
> > Shell> zImage
> > EFI stub: Booting Linux Kernel...
> > EFI stub: Using DTB from configuration table
> > EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
> > EFI stub: Exiting boot services and installing virtual address map...
> > [ 0.000000] Booting Linux on physical CPU 0x0
> > [ 0.000000] Linux version 5.6.0-rc1-00084-g8602a0ff0200-dirty
> > (ardbie01@e123331-lin) (gcc version 7.4.0 (Ubuntu/Linaro
> > 7.4.0-1ubuntu1~18.04.1)) #286 SMP Thu Feb 20 17:49:59 CET 2020
> > [ 0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=70c5383d
> > [ 0.000000] CPU: div instructions available: patching division code
> > [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing
> > instruction cache
> > [ 0.000000] OF: fdt: Machine model: Socionext Developer Box
> > [ 0.000000] Memory policy: Data cache writealloc
> > [ 0.000000] efi: EFI v2.70 by EDK II
> > [ 0.000000] efi: SMBIOS 3.0=0xffa1c000 MEMATTR=0xfd0b4010
> > ESRT=0xfdfbb910 MEMRESERVE=0xf8f2d010
> > [ 0.000000] OF: fdt: Ignoring memory block 0x880000000 - 0x1000000000
> > [ 0.000000] esrt: Reserving ESRT space from 0x00000000fdfbb910 to
> > 0x00000000fdfbb948.
> > [ 0.000000] cma: Reserved 64 MiB at 0x00000000f9000000
> > [ 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.0
> > [ 0.000000] percpu: Embedded 20 pages/cpu s49356 r8192 d24372 u81920
> > [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 522368
> > [ 0.000000] Kernel command line: zImage
> > [ 0.000000] printk: log_buf_len individual max cpu contribution: 4096 bytes
> > [ 0.000000] printk: log_buf_len total cpu_extra contributions: 94208 bytes
> > [ 0.000000] printk: log_buf_len min size: 131072 bytes
> > [ 0.000000] printk: log_buf_len: 262144 bytes
> > [ 0.000000] printk: early log buf free: 128828(98%)
> > [ 0.000000] Dentry cache hash table entries: 131072 (order: 7,
> > 524288 bytes, linear)
> > [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144
> > bytes, linear)
> > [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
> > [ 0.000000] software IO TLB: mapped [mem 0xaa90c000-0xae90c000] (64MB)
> > [ 0.000000] Memory: 1886672K/2097152K available (10240K kernel
> > code, 1811K rwdata, 5392K rodata, 2048K init, 414K bss, 144944K
> > reserved, 65536K cma-reserved, 1233168K highmem)
> > [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=24, 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 10 jiffies.
> > [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
> > [ 0.000000] GICv3: 640 SPIs implemented
> > [ 0.000000] GICv3: 0 Extended SPIs implemented
> > [ 0.000000] GICv3: Distributor has no Range Selector support
> > [ 0.000000] GICv3: 16 PPIs implemented
> > [ 0.000000] GICv3: no VLPI support, no direct LPI support, no RVPEID support
> > [ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000030400000
> > [ 0.000000] ITS [mem 0x30020000-0x3003ffff]
> > [ 0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
> > [ 0.000000] ITS@0x0000000030020000: allocated 524288 Devices
> > @aa400000 (flat, esz 8, psz 64K, shr 0)
> > [ 0.000000] ITS: using cache flushing for cmd queue
> > [ 0.000000] GICv3: using LPI property table @0x00000000aa080000
> > [ 0.000000] GIC: using cache flushing for LPI property table
> > [ 0.000000] GICv3: CPU0: using allocated LPI pending table
> > @0x00000000aa090000
> > [ 0.000000] random: get_random_bytes called from
> > start_kernel+0x469/0x5ca with crng_init=0
> > [ 0.000000] arch_timer: cp15 and mmio timer(s) running at 100.00MHz
> > (virt/phys).
> > [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff
> > max_cycles: 0x171024e7e0, max_idle_ns: 440795205315 ns
> > [ 0.000004] sched_clock: 56 bits at 100MHz, resolution 10ns, wraps
> > every 4398046511100ns
> > [ 0.000013] Switching to timer-based delay loop, resolution 10ns
> > [ 0.000890] Console: colour dummy device 80x30
> > [ 0.001344] printk: console [tty0] enabled
> > [ 0.001389] Calibrating delay loop (skipped), value calculated
> > using timer frequency.. 200.00 BogoMIPS (lpj=1000000)
> > [ 0.001410] pid_max: default: 32768 minimum: 301
> > [ 0.001561] Mount-cache hash table entries: 2048 (order: 1, 8192
> > bytes, linear)
> > [ 0.001581] Mountpoint-cache hash table entries: 2048 (order: 1,
> > 8192 bytes, linear)
> > [ 0.002112] CPU: Testing write buffer coherency: ok
> > [ 0.002637] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
> > [ 0.002926] Setting up static identity map for 0x80400000 - 0x80400160
> > [ 0.003448] rcu: Hierarchical SRCU implementation.
> > [ 0.003601] Platform MSI: gic-its@30020000 domain created
> > [ 0.003669] PCI/MSI:
> > /interrupt-controller@30000000/gic-its@30020000 domain created
> > [ 0.004751] Remapping and enabling EFI services.
> > [ 0.005305] smp: Bringing up secondary CPUs ...
> > [ 0.005895] GICv3: CPU1: found redistributor 1 region 0:0x0000000030420000
> > [ 0.005919] GICv3: CPU1: using allocated LPI pending table
> > @0x00000000aa0a0000
> > [ 0.005940] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
> > [ 0.011149] GICv3: CPU2: found redistributor 100 region 0:0x0000000030440000
> > [ 0.011179] GICv3: CPU2: using allocated LPI pending table
> > @0x00000000aa0b0000
> > [ 0.011203] CPU2: thread -1, cpu 0, socket 1, mpidr 80000100
> > [ 0.014242] GICv3: CPU3: found redistributor 101 region 0:0x0000000030460000
> > [ 0.014264] GICv3: CPU3: using allocated LPI pending table
> > @0x00000000aa0c0000
> > [ 0.014284] CPU3: thread -1, cpu 1, socket 1, mpidr 80000101
> > [ 0.019622] GICv3: CPU4: found redistributor 200 region 0:0x0000000030480000
> > [ 0.019650] GICv3: CPU4: using allocated LPI pending table
> > @0x00000000aa0d0000
> > [ 0.019675] CPU4: thread -1, cpu 0, socket 2, mpidr 80000200
> > [ 0.022737] GICv3: CPU5: found redistributor 201 region 0:0x00000000304a0000
> > [ 0.022759] GICv3: CPU5: using allocated LPI pending table
> > @0x00000000aa0e0000
> > [ 0.022777] CPU5: thread -1, cpu 1, socket 2, mpidr 80000201
> > [ 0.028146] GICv3: CPU6: found redistributor 300 region 0:0x00000000304c0000
> > [ 0.028174] GICv3: CPU6: using allocated LPI pending table
> > @0x00000000aa0f0000
> > [ 0.028196] CPU6: thread -1, cpu 0, socket 3, mpidr 80000300
> > [ 0.031213] GICv3: CPU7: found redistributor 301 region 0:0x00000000304e0000
> > [ 0.031239] GICv3: CPU7: using allocated LPI pending table
> > @0x00000000aa100000
> > [ 0.031256] CPU7: thread -1, cpu 1, socket 3, mpidr 80000301
> > [ 0.036606] GICv3: CPU8: found redistributor 400 region 0:0x0000000030500000
> > [ 0.036634] GICv3: CPU8: using allocated LPI pending table
> > @0x00000000aa110000
> > [ 0.036657] CPU8: thread -1, cpu 0, socket 4, mpidr 80000400
> > [ 0.039719] GICv3: CPU9: found redistributor 401 region 0:0x0000000030520000
> > [ 0.039740] GICv3: CPU9: using allocated LPI pending table
> > @0x00000000aa120000
> > [ 0.039757] CPU9: thread -1, cpu 1, socket 4, mpidr 80000401
> > [ 0.045156] GICv3: CPU10: found redistributor 500 region 0:0x0000000030540000
> > [ 0.045187] GICv3: CPU10: using allocated LPI pending table
> > @0x00000000aa130000
> > [ 0.045210] CPU10: thread -1, cpu 0, socket 5, mpidr 80000500
> > [ 0.048241] GICv3: CPU11: found redistributor 501 region 0:0x0000000030560000
> > [ 0.048263] GICv3: CPU11: using allocated LPI pending table
> > @0x00000000aa140000
> > [ 0.048282] CPU11: thread -1, cpu 1, socket 5, mpidr 80000501
> > [ 0.053651] GICv3: CPU12: found redistributor 600 region 0:0x0000000030580000
> > [ 0.053681] GICv3: CPU12: using allocated LPI pending table
> > @0x00000000aa150000
> > [ 0.053706] CPU12: thread -1, cpu 0, socket 6, mpidr 80000600
> > [ 0.056742] GICv3: CPU13: found redistributor 601 region 0:0x00000000305a0000
> > [ 0.056765] GICv3: CPU13: using allocated LPI pending table
> > @0x00000000aa160000
> > [ 0.056785] CPU13: thread -1, cpu 1, socket 6, mpidr 80000601
> > [ 0.062113] GICv3: CPU14: found redistributor 700 region 0:0x00000000305c0000
> > [ 0.062144] GICv3: CPU14: using allocated LPI pending table
> > @0x00000000aa170000
> > [ 0.062166] CPU14: thread -1, cpu 0, socket 7, mpidr 80000700
> > [ 0.065238] GICv3: CPU15: found redistributor 701 region 0:0x00000000305e0000
> > [ 0.065263] GICv3: CPU15: using allocated LPI pending table
> > @0x00000000aa180000
> > [ 0.065282] CPU15: thread -1, cpu 1, socket 7, mpidr 80000701
> > [ 0.070661] GICv3: CPU16: found redistributor 800 region 0:0x0000000030600000
> > [ 0.070691] GICv3: CPU16: using allocated LPI pending table
> > @0x00000000aa190000
> > [ 0.070716] CPU16: thread -1, cpu 0, socket 8, mpidr 80000800
> > [ 0.073748] GICv3: CPU17: found redistributor 801 region 0:0x0000000030620000
> > [ 0.073774] GICv3: CPU17: using allocated LPI pending table
> > @0x00000000aa1a0000
> > [ 0.073794] CPU17: thread -1, cpu 1, socket 8, mpidr 80000801
> > [ 0.079132] GICv3: CPU18: found redistributor 900 region 0:0x0000000030640000
> > [ 0.079163] GICv3: CPU18: using allocated LPI pending table
> > @0x00000000aa1b0000
> > [ 0.079187] CPU18: thread -1, cpu 0, socket 9, mpidr 80000900
> > [ 0.082216] GICv3: CPU19: found redistributor 901 region 0:0x0000000030660000
> > [ 0.082239] GICv3: CPU19: using allocated LPI pending table
> > @0x00000000aa1c0000
> > [ 0.082257] CPU19: thread -1, cpu 1, socket 9, mpidr 80000901
> > [ 0.087755] GICv3: CPU20: found redistributor a00 region 0:0x0000000030680000
> > [ 0.087788] GICv3: CPU20: using allocated LPI pending table
> > @0x00000000aa1d0000
> > [ 0.087811] CPU20: thread -1, cpu 0, socket 10, mpidr 80000a00
> > [ 0.090897] GICv3: CPU21: found redistributor a01 region 0:0x00000000306a0000
> > [ 0.090922] GICv3: CPU21: using allocated LPI pending table
> > @0x00000000aa1e0000
> > [ 0.090939] CPU21: thread -1, cpu 1, socket 10, mpidr 80000a01
> > [ 0.096296] GICv3: CPU22: found redistributor b00 region 0:0x00000000306c0000
> > [ 0.096329] GICv3: CPU22: using allocated LPI pending table
> > @0x00000000aa1f0000
> > [ 0.096353] CPU22: thread -1, cpu 0, socket 11, mpidr 80000b00
> > [ 0.099356] GICv3: CPU23: found redistributor b01 region 0:0x00000000306e0000
> > [ 0.099381] GICv3: CPU23: using allocated LPI pending table
> > @0x00000000aa200000
> > [ 0.099400] CPU23: thread -1, cpu 1, socket 11, mpidr 80000b01
> > [ 0.099506] smp: Brought up 1 node, 24 CPUs
> > [ 0.100163] SMP: Total of 24 processors activated (4800.00 BogoMIPS).
> > [ 0.100175] CPU: All CPU(s) started in SVC mode.
> > [ 0.101193] devtmpfs: initialized
> > [ 0.103698] VFP support v0.3: implementor 41 architecture 3 part 40
> > variant 3 rev 4
> > [ 0.103980] clocksource: jiffies: mask: 0xffffffff max_cycles:
> > 0xffffffff, max_idle_ns: 19112604462750000 ns
> > [ 0.104009] futex hash table entries: 8192 (order: 7, 524288 bytes, linear)
> > [ 0.106670] pinctrl core: initialized pinctrl subsystem
> > [ 0.107566] thermal_sys: Registered thermal governor 'step_wise'
> > [ 0.107754] SMBIOS 3.3.0 present.
> > [ 0.107788] DMI: Socionext SynQuacer E-series DeveloperBox, BIOS
> > build #1 Feb 20 2020
> > [ 0.108185] NET: Registered protocol family 16
> > [ 0.109556] DMA: preallocated 256 KiB pool for atomic coherent allocations
> > [ 0.110957] cpuidle: using governor menu
> > [ 0.111063] No ATAGs?
> > [ 0.111467] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4
> > watchpoint registers.
> > [ 0.111490] hw-breakpoint: maximum watchpoint size is 8 bytes.
> > [ 0.112874] Serial: AMBA PL011 UART driver
> > [ 0.114349] OF: translation of DMA address(0) to CPU address failed
> > node(/uart@2a400000)
> > [ 0.114421] 2a400000.uart: ttyAMA0 at MMIO 0x2a400000 (irq = 22,
> > base_baud = 0) is a PL011 rev3
> > [ 1.117194] printk: console [ttyAMA0] enabled
> > [ 1.135592] AT91: Could not find identification node
> > [ 1.136261] iommu: Default domain type: Translated
> > [ 1.146225] vgaarb: loaded
> > [ 1.149407] SCSI subsystem initialized
> > [ 1.153506] usbcore: registered new interface driver usbfs
> > [ 1.159042] usbcore: registered new interface driver hub
> > [ 1.164477] usbcore: registered new device driver usb
> > [ 1.169950] pps_core: LinuxPPS API ver. 1 registered
> > [ 1.174911] pps_core: Software ver. 5.3.6 - Copyright 2005-2007
> > Rodolfo Giometti <giometti@linux.it>
> > [ 1.184062] PTP clock support registered
> > [ 1.188042] EDAC MC: Ver: 3.0.0
> > [ 1.191660] Registered efivars operations
> > [ 1.196838] clocksource: Switched to clocksource arch_sys_counter
> > [ 2.103835] NET: Registered protocol family 2
> > [ 2.108658] tcp_listen_portaddr_hash hash table entries: 512
> > (order: 0, 6144 bytes, linear)
> > [ 2.117044] TCP established hash table entries: 8192 (order: 3,
> > 32768 bytes, linear)
> > [ 2.124854] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
> > [ 2.132103] TCP: Hash tables configured (established 8192 bind 8192)
> > [ 2.138585] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
> > [ 2.145223] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
> > [ 2.152446] NET: Registered protocol family 1
> > [ 2.157108] RPC: Registered named UNIX socket transport module.
> > [ 2.163026] RPC: Registered udp transport module.
> > [ 2.167746] RPC: Registered tcp transport module.
> > [ 2.172445] RPC: Registered tcp NFSv4.1 backchannel transport module.
> > [ 2.178897] PCI: CLS 0 bytes, default 64
> > [ 2.183052] Trying to unpack rootfs image as initramfs...
> > [ 3.413006] Freeing initrd memory: 22816K
> > [ 3.418665] Initialise system trusted keyrings
> > [ 3.423276] workingset: timestamp_bits=30 max_order=19 bucket_order=0
> > [ 3.434628] squashfs: version 4.0 (2009/01/31) Phillip Lougher
> > [ 3.441097] NFS: Registering the id_resolver key type
> > [ 3.446175] Key type id_resolver registered
> > [ 3.450375] Key type id_legacy registered
> > [ 3.454388] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
> > [ 3.461111] ntfs: driver 2.1.32 [Flags: R/O].
> > [ 3.465747] Key type asymmetric registered
> > [ 3.469857] Asymmetric key parser 'x509' registered
> > [ 3.474765] bounce: pool size: 64 pages
> > [ 3.478629] Block layer SCSI generic (bsg) driver version 0.4
> > loaded (major 247)
> > [ 3.486027] io scheduler mq-deadline registered
> > [ 3.490564] io scheduler kyber registered
> > [ 3.500170] OF: translation of DMA address(0) to CPU address failed
> > node(/pcie@60000000)
> > [ 3.508318] pci-host-generic 60000000.pcie: host bridge
> > /pcie@60000000 ranges:
> > [ 3.515556] pci-host-generic 60000000.pcie: IO
> > 0x0067f00000..0x0067f0ffff -> 0x0000000000
> > [ 3.524276] pci-host-generic 60000000.pcie: MEM
> > 0x0068000000..0x006fffffff -> 0x0068000000
> > [ 3.532987] pci-host-generic 60000000.pcie: MEM
> > 0x3e00000000..0x3effffffff -> 0x3e00000000
> > [ 3.543045] pci-host-generic 60000000.pcie: ECAM at [mem
> > 0x60000000-0x67efffff] for [bus 00-7e]
> > [ 3.551873] pci-host-generic 60000000.pcie: PCI host bridge to bus 0000:00
> > [ 3.558764] pci_bus 0000:00: root bus resource [bus 00-7e]
> > [ 3.564250] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
> > [ 3.570438] pci_bus 0000:00: root bus resource [mem 0x68000000-0x6fffffff]
> > [ 3.577322] pci_bus 0000:00: root bus resource [mem
> > 0x3e00000000-0x3effffffff]
> > [ 3.584574] pci 0000:00:00.0: [1b21:1184] type 01 class 0x060400
> > [ 3.590646] pci 0000:00:00.0: enabling Extended Tags
> > [ 3.595677] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold
> > [ 3.602874] PCI: bus0: Fast back to back transfers disabled
> > [ 3.608585] pci 0000:01:01.0: [1b21:1184] type 01 class 0x060400
> > [ 3.614645] pci 0000:01:01.0: enabling Extended Tags
> > [ 3.619672] pci 0000:01:01.0: PME# supported from D0 D3hot D3cold
> > [ 3.625969] pci 0000:01:03.0: [1b21:1184] type 01 class 0x060400
> > [ 3.632040] pci 0000:01:03.0: enabling Extended Tags
> > [ 3.637066] pci 0000:01:03.0: PME# supported from D0 D3hot D3cold
> > [ 3.643363] pci 0000:01:05.0: [1b21:1184] type 01 class 0x060400
> > [ 3.649431] pci 0000:01:05.0: enabling Extended Tags
> > [ 3.654449] pci 0000:01:05.0: PME# supported from D0 D3hot D3cold
> > [ 3.660753] pci 0000:01:07.0: [1b21:1184] type 01 class 0x060400
> > [ 3.666822] pci 0000:01:07.0: enabling Extended Tags
> > [ 3.671844] pci 0000:01:07.0: PME# supported from D0 D3hot D3cold
> > [ 3.678832] PCI: bus1: Fast back to back transfers disabled
> > [ 3.684517] pci 0000:02:00.0: [1b21:0612] type 00 class 0x010601
> > [ 3.690564] pci 0000:02:00.0: reg 0x10: [io 0x0028-0x002f]
> > [ 3.696147] pci 0000:02:00.0: reg 0x14: [io 0x0034-0x0037]
> > [ 3.701738] pci 0000:02:00.0: reg 0x18: [io 0x0020-0x0027]
> > [ 3.707329] pci 0000:02:00.0: reg 0x1c: [io 0x0030-0x0033]
> > [ 3.712912] pci 0000:02:00.0: reg 0x20: [io 0x0000-0x001f]
> > [ 3.718503] pci 0000:02:00.0: reg 0x24: [mem 0x68100000-0x681001ff]
> > [ 3.724781] pci 0000:02:00.0: reg 0x30: [mem 0xffff0000-0xffffffff pref]
> > [ 3.732590] PCI: bus2: Fast back to back transfers disabled
> > [ 3.738174] pci_bus 0000:02: busn_res: [bus 02-7e] end is updated to 02
> > [ 3.745751] PCI: bus3: Fast back to back transfers enabled
> > [ 3.751247] pci_bus 0000:03: busn_res: [bus 03-7e] end is updated to 03
> > [ 3.757969] pci 0000:04:00.0: [1912:0014] type 00 class 0x0c0330
> > [ 3.764012] pci 0000:04:00.0: reg 0x10: [mem 0x68000000-0x68001fff 64bit]
> > [ 3.770943] pci 0000:04:00.0: PME# supported from D0 D3hot D3cold
> > [ 3.807778] PCI: bus4: Fast back to back transfers disabled
> > [ 3.813353] pci_bus 0000:04: busn_res: [bus 04-7e] end is updated to 04
> > [ 3.820943] PCI: bus5: Fast back to back transfers enabled
> > [ 3.826430] pci_bus 0000:05: busn_res: [bus 05-7e] end is updated to 05
> > [ 3.833058] pci_bus 0000:01: busn_res: [bus 01-7e] end is updated to 05
> > [ 3.839709] pci 0000:00:00.0: BAR 8: assigned [mem 0x68000000-0x681fffff]
> > [ 3.846498] pci 0000:00:00.0: BAR 7: assigned [io 0x1000-0x1fff]
> > [ 3.852603] pci 0000:01:01.0: BAR 8: assigned [mem 0x68000000-0x680fffff]
> > [ 3.859402] pci 0000:01:05.0: BAR 8: assigned [mem 0x68100000-0x681fffff]
> > [ 3.866190] pci 0000:01:01.0: BAR 7: assigned [io 0x1000-0x1fff]
> > [ 3.872294] pci 0000:02:00.0: BAR 6: assigned [mem
> > 0x68000000-0x6800ffff pref]
> > [ 3.879529] pci 0000:02:00.0: BAR 5: assigned [mem 0x68010000-0x680101ff]
> > [ 3.886321] pci 0000:02:00.0: BAR 4: assigned [io 0x1000-0x101f]
> > [ 3.892425] pci 0000:02:00.0: BAR 0: assigned [io 0x1020-0x1027]
> > [ 3.898529] pci 0000:02:00.0: BAR 2: assigned [io 0x1028-0x102f]
> > [ 3.904627] pci 0000:02:00.0: BAR 1: assigned [io 0x1030-0x1033]
> > [ 3.910730] pci 0000:02:00.0: BAR 3: assigned [io 0x1034-0x1037]
> > [ 3.916834] pci 0000:01:01.0: PCI bridge to [bus 02]
> > [ 3.921799] pci 0000:01:01.0: bridge window [io 0x1000-0x1fff]
> > [ 3.927903] pci 0000:01:01.0: bridge window [mem 0x68000000-0x680fffff]
> > [ 3.934697] pci 0000:01:03.0: PCI bridge to [bus 03]
> > [ 3.939682] pci 0000:04:00.0: BAR 0: assigned [mem
> > 0x68100000-0x68101fff 64bit]
> > [ 3.947012] pci 0000:01:05.0: PCI bridge to [bus 04]
> > [ 3.951979] pci 0000:01:05.0: bridge window [mem 0x68100000-0x681fffff]
> > [ 3.958780] pci 0000:01:07.0: PCI bridge to [bus 05]
> > [ 3.963754] pci 0000:00:00.0: PCI bridge to [bus 01-05]
> > [ 3.968985] pci 0000:00:00.0: bridge window [io 0x1000-0x1fff]
> > [ 3.975081] pci 0000:00:00.0: bridge window [mem 0x68000000-0x681fffff]
> > [ 3.981914] OF: translation of DMA address(0) to CPU address failed
> > node(/pcie@60000000)
> > [ 3.990313] OF: translation of DMA address(0) to CPU address failed
> > node(/pcie@60000000)
> > [ 3.998662] OF: translation of DMA address(0) to CPU address failed
> > node(/pcie@60000000)
> > [ 4.007005] OF: translation of DMA address(0) to CPU address failed
> > node(/pcie@60000000)
> > [ 4.015339] OF: translation of DMA address(0) to CPU address failed
> > node(/pcie@60000000)
> > [ 4.023694] pci 0000:04:00.0: enabling device (0140 -> 0142)
> > [ 4.029447] OF: translation of DMA address(0) to CPU address failed
> > node(/pcie@70000000)
> > [ 4.037570] pci-host-generic 70000000.pcie: host bridge
> > /pcie@70000000 ranges:
> > [ 4.044805] pci-host-generic 70000000.pcie: IO
> > 0x0077f00000..0x0077f0ffff -> 0x0000000000
> > [ 4.053523] pci-host-generic 70000000.pcie: MEM
> > 0x0078000000..0x007fffffff -> 0x0078000000
> > [ 4.062236] pci-host-generic 70000000.pcie: MEM
> > 0x3f00000000..0x3fffffffff -> 0x3f00000000
> > [ 4.071308] vmap allocation for size 1052672 failed: use
> > vmalloc=<size> to increase size
> > [ 4.079411] pci-host-generic 70000000.pcie: ECAM ioremap failed
> > [ 4.085525] pci-host-generic: probe of 70000000.pcie failed with error -12
> > [ 4.126494] Serial: 8250/16550 driver, 5 ports, IRQ sharing enabled
> > [ 4.134170] OF: translation of DMA address(0) to CPU address failed
> > node(/uart@51040000)
> > [ 4.142748] 51040000.uart: ttyS1 at MMIO 0x51040000 (irq = 23,
> > base_baud = 3906250) is a 16550A
> > [ 4.152099] SuperH (H)SCI(F) driver initialized
> > [ 4.156953] msm_serial: driver initialized
> > [ 4.161103] STMicroelectronics ASC driver initialized
> > [ 4.166594] STM32 USART driver initialized
> > [ 4.178363] brd: module loaded
> > [ 4.192943] loop: module loaded
> > [ 4.197009] OF: translation of DMA address(0) to CPU address failed
> > node(/pcie@60000000)
> > [ 4.205330] ahci 0000:02:00.0: SSS flag set, parallel bus scan disabled
> > [ 4.212015] ahci 0000:02:00.0: AHCI 0001.0200 32 slots 2 ports 6
> > Gbps 0x3 impl SATA mode
> > [ 4.220122] ahci 0000:02:00.0: flags: 64bit ncq sntf stag led clo
> > pmp pio slum part ccc sxs
> > [ 4.229431] scsi host0: ahci
> > [ 4.232675] scsi host1: ahci
> > [ 4.235694] ata1: SATA max UDMA/133 abar m512@0x68010000 port
> > 0x68010100 irq 35
> > [ 4.243033] ata2: SATA max UDMA/133 abar m512@0x68010000 port
> > 0x68010180 irq 35
> > [ 4.253906] libphy: Fixed MDIO Bus: probed
> > [ 4.258796] CAN device driver interface
> > [ 4.262933] bgmac_bcma: Broadcom 47xx GBit MAC driver loaded
> > [ 4.268942] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
> > [ 4.274772] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
> > [ 4.280739] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.6.0-k
> > [ 4.287707] igb: Copyright (c) 2007-2014 Intel Corporation.
> > [ 4.294603] pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB
> > Ethernet driver
> > [ 4.302042] usbcore: registered new interface driver pegasus
> > [ 4.307736] usbcore: registered new interface driver asix
> > [ 4.313150] usbcore: registered new interface driver ax88179_178a
> > [ 4.319267] usbcore: registered new interface driver cdc_ether
> > [ 4.325122] usbcore: registered new interface driver smsc75xx
> > [ 4.330901] usbcore: registered new interface driver smsc95xx
> > [ 4.336663] usbcore: registered new interface driver net1080
> > [ 4.342350] usbcore: registered new interface driver cdc_subset
> > [ 4.348295] usbcore: registered new interface driver zaurus
> > [ 4.353894] usbcore: registered new interface driver cdc_ncm
> > [ 4.360347] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> > [ 4.366891] ehci-pci: EHCI PCI platform driver
> > [ 4.371359] ehci-platform: EHCI generic platform driver
> > [ 4.376646] ehci-orion: EHCI orion driver
> > [ 4.380714] SPEAr-ehci: EHCI SPEAr driver
> > [ 4.384767] ehci-st: EHCI STMicroelectronics driver
> > [ 4.389704] ehci-exynos: EHCI Exynos driver
> > [ 4.393931] ehci-atmel: EHCI Atmel driver
> > [ 4.397991] tegra-ehci: Tegra EHCI driver
> > [ 4.402048] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
> > [ 4.408245] ohci-pci: OHCI PCI platform driver
> > [ 4.412714] ohci-platform: OHCI generic platform driver
> > [ 4.418003] SPEAr-ohci: OHCI SPEAr driver
> > [ 4.422057] ohci-st: OHCI STMicroelectronics driver
> > [ 4.426995] ohci-atmel: OHCI Atmel driver
> > [ 4.431085] OF: translation of DMA address(0) to CPU address failed
> > node(/pcie@60000000)
> > [ 4.439259] xhci_hcd 0000:04:00.0: xHCI Host Controller
> > [ 4.444497] xhci_hcd 0000:04:00.0: new USB bus registered, assigned
> > bus number 1
> > [ 4.457324] xhci_hcd 0000:04:00.0: hcc params 0x014051cf hci
> > version 0x100 quirks 0x0000000100000410
> > [ 4.467671] hub 1-0:1.0: USB hub found
> > [ 4.471449] hub 1-0:1.0: 4 ports detected
> > [ 4.475927] xhci_hcd 0000:04:00.0: xHCI Host Controller
> > [ 4.481175] xhci_hcd 0000:04:00.0: new USB bus registered, assigned
> > bus number 2
> > [ 4.488585] xhci_hcd 0000:04:00.0: Host supports USB 3.0 SuperSpeed
> > [ 4.494924] usb usb2: We don't know the algorithms for LPM for this
> > host, disabling LPM.
> > [ 4.503372] hub 2-0:1.0: USB hub found
> > [ 4.507155] hub 2-0:1.0: 4 ports detected
> > [ 4.511847] usbcore: registered new interface driver usb-storage
> > [ 4.519900] i2c /dev entries driver
> > [ 4.528493] /cpus/cpu@0: unsupported enable-method property: psci
> > [ 4.537114] sdhci: Secure Digital Host Controller Interface driver
> > [ 4.543297] sdhci: Copyright(c) Pierre Ossman
> > [ 4.548328] Synopsys Designware Multimedia Card Interface Driver
> > [ 4.554829] sdhci-pltfm: SDHCI platform and OF driver helper
> > [ 4.562104] ledtrig-cpu: registered to indicate activity on CPUs
> > [ 4.568594] usbcore: registered new interface driver usbhid
> > [ 4.574168] usbhid: USB HID core driver
> > [ 4.579546] drop_monitor: Initializing network drop monitor service
> > [ 4.586552] NET: Registered protocol family 10
> > [ 4.591887] Segment Routing with IPv6
> > [ 4.595614] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
> > [ 4.602085] NET: Registered protocol family 17
> > [ 4.606537] can: controller area network core (rev 20170425 abi 9)
> > [ 4.612780] NET: Registered protocol family 29
> > [ 4.617248] can: raw protocol (rev 20170425)
> > [ 4.621524] can: broadcast manager protocol (rev 20170425 t)
> > [ 4.627198] can: netlink gateway (rev 20190810) max_hops=1
> > [ 4.632967] Key type dns_resolver registered
> > [ 4.637328] Registering SWP/SWPB emulation handler
> > [ 4.642410] Loading compiled-in X.509 certificates
> > [ 4.688987] OF: translation of DMA address(0) to CPU address failed
> > node(/gpio-keys)
> > [ 4.696780] irq: no irq domain found for interrupt-controller@510c0000 !
> > [ 4.703556] gpio-keys gpio-keys: Found button without gpio or irq
> > [ 4.709673] gpio-keys: probe of gpio-keys failed with error -22
> > [ 4.715621] hctosys: unable to open rtc device (rtc0)
> > [ 4.721044] uart-pl011 2a400000.uart: no DMA platform data
> > [ 4.746912] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
> > [ 4.754022] ata1.00: ATA-10: WDC WD10EZEX-22MFCA0, 01.01A01, max UDMA/133
> > [ 4.760826] ata1.00: 1953525168 sectors, multi 16: LBA48 NCQ (depth 32), AA
> > [ 4.768960] ata1.00: configured for UDMA/133
> > [ 4.773637] scsi 0:0:0:0: Direct-Access ATA WDC
> > WD10EZEX-22M 1A01 PQ: 0 ANSI: 5
> > [ 4.782675] sd 0:0:0:0: [sda] 1953525168 512-byte logical blocks:
> > (1.00 TB/932 GiB)
> > [ 4.790362] sd 0:0:0:0: [sda] 4096-byte physical blocks
> > [ 4.795635] sd 0:0:0:0: [sda] Write Protect is off
> > [ 4.800505] sd 0:0:0:0: [sda] Write cache: enabled, read cache:
> > enabled, doesn't support DPO or FUA
> > [ 4.846916] usb 1-3: new high-speed USB device number 2 using xhci_hcd
> > [ 4.865348] sda: sda1 sda2 sda3 sda4
> > [ 4.871475] sd 0:0:0:0: [sda] Attached SCSI disk
> > [ 4.887962] usb-storage 1-3:1.0: USB Mass Storage device detected
> > [ 4.894715] scsi host2: usb-storage 1-3:1.0
> > [ 5.109059] ata2: SATA link down (SStatus 0 SControl 300)
> > [ 5.117814] Freeing unused kernel memory: 2048K
> > [ 5.122861] Run /init as init process
> >
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel@lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> >
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 0/4] ARM: decompressor: use by-VA cache maintenance for v7 cores
2020-02-21 13:42 ` Ard Biesheuvel
@ 2020-02-21 15:54 ` Ard Biesheuvel
2020-02-21 16:09 ` Robin Murphy
1 sibling, 0 replies; 11+ messages in thread
From: Ard Biesheuvel @ 2020-02-21 15:54 UTC (permalink / raw)
To: Robin Murphy
Cc: linux-efi, Arnd Bergmann, Nicolas Pitre, Tony Lindgren,
Marc Zyngier, Russell King, Catalin Marinas, linux-arm-kernel
On Fri, 21 Feb 2020 at 14:42, Ard Biesheuvel <ardb@kernel.org> wrote:
>
> On Fri, 21 Feb 2020 at 14:35, Robin Murphy <robin.murphy@arm.com> wrote:
> >
> > On 20/02/2020 6:08 pm, Ard Biesheuvel wrote:
> > > (+ Arnd)
> > >
> > > On Wed, 19 Feb 2020 at 10:43, Ard Biesheuvel <ardb@kernel.org> wrote:
> > >>
> > >> While making changes to the EFI stub startup code, I noticed that we are
> > >> still doing set/way maintenance on the caches when booting on v7 cores.
> > >> This works today on VMs by virtue of the fact that KVM traps set/way ops
> > >> and cleans the whole address space by VA on behalf of the guest, and on
> > >> most v7 hardware, the set/way ops are in fact sufficient when only one
> > >> core is running, as there usually is no system cache. But on systems
> > >> like SynQuacer, for which 32-bit firmware is available, the current cache
> > >> maintenance only pushes the data out to the L3 system cache, where it
> > >> is not visible to the CPU once it turns the MMU and caches off.
> > >>
> > >> So instead, switch to the by-VA cache maintenance that the architecture
> > >> requires for v7 and later (and ARM1176, as a side effect).
> > >>
> > >> Changes since v1:
> > >> - include the EFI patch that was sent out separately before (#1)
> > >> - split the preparatory work to pass the region to clean in r0/r1 in a EFI
> > >> specific one and one for the decompressor - this way, the first two patches
> > >> can go on a stable branch that is shared between the ARM tree and the EFI
> > >> tree
> > >> - document the meaning of the values in r0/r1 upon entry to cache_clean_flush
> > >> - take care to treat the region end address as exclusive
> > >> - switch to clean+invalidate to align with the other implementations
> > >> - drop some code that manages the stack pointer value before calling
> > >> cache_clean_flush(), which is no longer necessary
> > >> - take care to clean the entire region that is covered by the relocated zImage
> > >> if it needs to relocate itself before decompressing
> > >>
> > >> https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git/log/?h=arm32-efi-cache-ops
> > >>
> > >
> > > Adding my own data point here: with these patches, I can reproducibly
> > > boot on the SynQuacer platform (24x Cortex-A53 + GICv3 + L3 system
> > > cache) until the point where /init is loaded, after which it hangs
> > > (see below), whereas without them, it always crashes early with weird,
> > > unreproducible errors, if it even makes it far enough through the
> > > decompressor to produce any earlycon output.
> > >
> > > There is some other weird stuff going on, but this is unlikely to be
> > > related to cache maintenance:
> > > - multiple occurrences of
> > > OF: translation of DMA address(0) to CPU address failed node(...)
> >
> > FWIW that implies a "dma-ranges" property in the wrong place in the DT -
> > if you copied the now-gone Juno example of placing one directly in the
> > root node, that was bogus, sorry.
> >
>
> OK, so where should it be instead? Are you saying it is now required
> to have a /soc or /smb node that contains all the device nodes?
>
Never mind - I'll just drop "dma-ranges" from the root node entirely.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 0/4] ARM: decompressor: use by-VA cache maintenance for v7 cores
2020-02-21 13:42 ` Ard Biesheuvel
2020-02-21 15:54 ` Ard Biesheuvel
@ 2020-02-21 16:09 ` Robin Murphy
2020-02-22 23:38 ` Linus Walleij
1 sibling, 1 reply; 11+ messages in thread
From: Robin Murphy @ 2020-02-21 16:09 UTC (permalink / raw)
To: Ard Biesheuvel
Cc: linux-efi, Arnd Bergmann, Nicolas Pitre, Tony Lindgren,
Marc Zyngier, Russell King, Catalin Marinas, linux-arm-kernel
On 21/02/2020 1:42 pm, Ard Biesheuvel wrote:
> On Fri, 21 Feb 2020 at 14:35, Robin Murphy <robin.murphy@arm.com> wrote:
>>
>> On 20/02/2020 6:08 pm, Ard Biesheuvel wrote:
>>> (+ Arnd)
>>>
>>> On Wed, 19 Feb 2020 at 10:43, Ard Biesheuvel <ardb@kernel.org> wrote:
>>>>
>>>> While making changes to the EFI stub startup code, I noticed that we are
>>>> still doing set/way maintenance on the caches when booting on v7 cores.
>>>> This works today on VMs by virtue of the fact that KVM traps set/way ops
>>>> and cleans the whole address space by VA on behalf of the guest, and on
>>>> most v7 hardware, the set/way ops are in fact sufficient when only one
>>>> core is running, as there usually is no system cache. But on systems
>>>> like SynQuacer, for which 32-bit firmware is available, the current cache
>>>> maintenance only pushes the data out to the L3 system cache, where it
>>>> is not visible to the CPU once it turns the MMU and caches off.
>>>>
>>>> So instead, switch to the by-VA cache maintenance that the architecture
>>>> requires for v7 and later (and ARM1176, as a side effect).
>>>>
>>>> Changes since v1:
>>>> - include the EFI patch that was sent out separately before (#1)
>>>> - split the preparatory work to pass the region to clean in r0/r1 in a EFI
>>>> specific one and one for the decompressor - this way, the first two patches
>>>> can go on a stable branch that is shared between the ARM tree and the EFI
>>>> tree
>>>> - document the meaning of the values in r0/r1 upon entry to cache_clean_flush
>>>> - take care to treat the region end address as exclusive
>>>> - switch to clean+invalidate to align with the other implementations
>>>> - drop some code that manages the stack pointer value before calling
>>>> cache_clean_flush(), which is no longer necessary
>>>> - take care to clean the entire region that is covered by the relocated zImage
>>>> if it needs to relocate itself before decompressing
>>>>
>>>> https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git/log/?h=arm32-efi-cache-ops
>>>>
>>>
>>> Adding my own data point here: with these patches, I can reproducibly
>>> boot on the SynQuacer platform (24x Cortex-A53 + GICv3 + L3 system
>>> cache) until the point where /init is loaded, after which it hangs
>>> (see below), whereas without them, it always crashes early with weird,
>>> unreproducible errors, if it even makes it far enough through the
>>> decompressor to produce any earlycon output.
>>>
>>> There is some other weird stuff going on, but this is unlikely to be
>>> related to cache maintenance:
>>> - multiple occurrences of
>>> OF: translation of DMA address(0) to CPU address failed node(...)
>>
>> FWIW that implies a "dma-ranges" property in the wrong place in the DT -
>> if you copied the now-gone Juno example of placing one directly in the
>> root node, that was bogus, sorry.
>>
>
> OK, so where should it be instead? Are you saying it is now required
> to have a /soc or /smb node that contains all the device nodes?
That is now my understanding, yes - if there is some property of the
system interconnect which is not entirely transparent relative to the
conceptual CPU-visible physical address space and needs to be described,
then the only way to correctly encode that in DT is with an explicit
level of 'bus' in the hierarchy to represent that interconnect.
Otherwise these address translation properties quickly end up in
philosophical conundrums over what the parent of the root node is.
Robin.
>>> - /cpus/cpu@0: unsupported enable-method property: psci
>>
>> Missing CONFIG_ARM_PSCI_CPUIDLE? That's caught me out on more than one
>> occasion since 5.4.
>>
>> Robin.
>>
>>> Then, there is not enough vmalloc space to map the config space of
>>> both PCIe RCs.
>>>
>>> Also, due to the fact that this platform sadly honours the ARM
>>> recommendation on memory maps, it seems there is no way to make useful
>>> use of any memory beyond 2 GB, given that the hole between the lower 2
>>> GB and the upper <30 GB eats up all the lowmem by being covered by the
>>> memmap[] array. (Note that this platform supports up to 64 GB, in
>>> which case another hole of 480 GB is created, so there is no way we
>>> can even boot with that much memory reported to the kernel)
>>>
>>>
>>> Shell> initrd initrd.gz
>>> Shell> zImage
>>> EFI stub: Booting Linux Kernel...
>>> EFI stub: Using DTB from configuration table
>>> EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
>>> EFI stub: Exiting boot services and installing virtual address map...
>>> [ 0.000000] Booting Linux on physical CPU 0x0
>>> [ 0.000000] Linux version 5.6.0-rc1-00084-g8602a0ff0200-dirty
>>> (ardbie01@e123331-lin) (gcc version 7.4.0 (Ubuntu/Linaro
>>> 7.4.0-1ubuntu1~18.04.1)) #286 SMP Thu Feb 20 17:49:59 CET 2020
>>> [ 0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=70c5383d
>>> [ 0.000000] CPU: div instructions available: patching division code
>>> [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing
>>> instruction cache
>>> [ 0.000000] OF: fdt: Machine model: Socionext Developer Box
>>> [ 0.000000] Memory policy: Data cache writealloc
>>> [ 0.000000] efi: EFI v2.70 by EDK II
>>> [ 0.000000] efi: SMBIOS 3.0=0xffa1c000 MEMATTR=0xfd0b4010
>>> ESRT=0xfdfbb910 MEMRESERVE=0xf8f2d010
>>> [ 0.000000] OF: fdt: Ignoring memory block 0x880000000 - 0x1000000000
>>> [ 0.000000] esrt: Reserving ESRT space from 0x00000000fdfbb910 to
>>> 0x00000000fdfbb948.
>>> [ 0.000000] cma: Reserved 64 MiB at 0x00000000f9000000
>>> [ 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.0
>>> [ 0.000000] percpu: Embedded 20 pages/cpu s49356 r8192 d24372 u81920
>>> [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 522368
>>> [ 0.000000] Kernel command line: zImage
>>> [ 0.000000] printk: log_buf_len individual max cpu contribution: 4096 bytes
>>> [ 0.000000] printk: log_buf_len total cpu_extra contributions: 94208 bytes
>>> [ 0.000000] printk: log_buf_len min size: 131072 bytes
>>> [ 0.000000] printk: log_buf_len: 262144 bytes
>>> [ 0.000000] printk: early log buf free: 128828(98%)
>>> [ 0.000000] Dentry cache hash table entries: 131072 (order: 7,
>>> 524288 bytes, linear)
>>> [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144
>>> bytes, linear)
>>> [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
>>> [ 0.000000] software IO TLB: mapped [mem 0xaa90c000-0xae90c000] (64MB)
>>> [ 0.000000] Memory: 1886672K/2097152K available (10240K kernel
>>> code, 1811K rwdata, 5392K rodata, 2048K init, 414K bss, 144944K
>>> reserved, 65536K cma-reserved, 1233168K highmem)
>>> [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=24, 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 10 jiffies.
>>> [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
>>> [ 0.000000] GICv3: 640 SPIs implemented
>>> [ 0.000000] GICv3: 0 Extended SPIs implemented
>>> [ 0.000000] GICv3: Distributor has no Range Selector support
>>> [ 0.000000] GICv3: 16 PPIs implemented
>>> [ 0.000000] GICv3: no VLPI support, no direct LPI support, no RVPEID support
>>> [ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000030400000
>>> [ 0.000000] ITS [mem 0x30020000-0x3003ffff]
>>> [ 0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
>>> [ 0.000000] ITS@0x0000000030020000: allocated 524288 Devices
>>> @aa400000 (flat, esz 8, psz 64K, shr 0)
>>> [ 0.000000] ITS: using cache flushing for cmd queue
>>> [ 0.000000] GICv3: using LPI property table @0x00000000aa080000
>>> [ 0.000000] GIC: using cache flushing for LPI property table
>>> [ 0.000000] GICv3: CPU0: using allocated LPI pending table
>>> @0x00000000aa090000
>>> [ 0.000000] random: get_random_bytes called from
>>> start_kernel+0x469/0x5ca with crng_init=0
>>> [ 0.000000] arch_timer: cp15 and mmio timer(s) running at 100.00MHz
>>> (virt/phys).
>>> [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff
>>> max_cycles: 0x171024e7e0, max_idle_ns: 440795205315 ns
>>> [ 0.000004] sched_clock: 56 bits at 100MHz, resolution 10ns, wraps
>>> every 4398046511100ns
>>> [ 0.000013] Switching to timer-based delay loop, resolution 10ns
>>> [ 0.000890] Console: colour dummy device 80x30
>>> [ 0.001344] printk: console [tty0] enabled
>>> [ 0.001389] Calibrating delay loop (skipped), value calculated
>>> using timer frequency.. 200.00 BogoMIPS (lpj=1000000)
>>> [ 0.001410] pid_max: default: 32768 minimum: 301
>>> [ 0.001561] Mount-cache hash table entries: 2048 (order: 1, 8192
>>> bytes, linear)
>>> [ 0.001581] Mountpoint-cache hash table entries: 2048 (order: 1,
>>> 8192 bytes, linear)
>>> [ 0.002112] CPU: Testing write buffer coherency: ok
>>> [ 0.002637] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
>>> [ 0.002926] Setting up static identity map for 0x80400000 - 0x80400160
>>> [ 0.003448] rcu: Hierarchical SRCU implementation.
>>> [ 0.003601] Platform MSI: gic-its@30020000 domain created
>>> [ 0.003669] PCI/MSI:
>>> /interrupt-controller@30000000/gic-its@30020000 domain created
>>> [ 0.004751] Remapping and enabling EFI services.
>>> [ 0.005305] smp: Bringing up secondary CPUs ...
>>> [ 0.005895] GICv3: CPU1: found redistributor 1 region 0:0x0000000030420000
>>> [ 0.005919] GICv3: CPU1: using allocated LPI pending table
>>> @0x00000000aa0a0000
>>> [ 0.005940] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
>>> [ 0.011149] GICv3: CPU2: found redistributor 100 region 0:0x0000000030440000
>>> [ 0.011179] GICv3: CPU2: using allocated LPI pending table
>>> @0x00000000aa0b0000
>>> [ 0.011203] CPU2: thread -1, cpu 0, socket 1, mpidr 80000100
>>> [ 0.014242] GICv3: CPU3: found redistributor 101 region 0:0x0000000030460000
>>> [ 0.014264] GICv3: CPU3: using allocated LPI pending table
>>> @0x00000000aa0c0000
>>> [ 0.014284] CPU3: thread -1, cpu 1, socket 1, mpidr 80000101
>>> [ 0.019622] GICv3: CPU4: found redistributor 200 region 0:0x0000000030480000
>>> [ 0.019650] GICv3: CPU4: using allocated LPI pending table
>>> @0x00000000aa0d0000
>>> [ 0.019675] CPU4: thread -1, cpu 0, socket 2, mpidr 80000200
>>> [ 0.022737] GICv3: CPU5: found redistributor 201 region 0:0x00000000304a0000
>>> [ 0.022759] GICv3: CPU5: using allocated LPI pending table
>>> @0x00000000aa0e0000
>>> [ 0.022777] CPU5: thread -1, cpu 1, socket 2, mpidr 80000201
>>> [ 0.028146] GICv3: CPU6: found redistributor 300 region 0:0x00000000304c0000
>>> [ 0.028174] GICv3: CPU6: using allocated LPI pending table
>>> @0x00000000aa0f0000
>>> [ 0.028196] CPU6: thread -1, cpu 0, socket 3, mpidr 80000300
>>> [ 0.031213] GICv3: CPU7: found redistributor 301 region 0:0x00000000304e0000
>>> [ 0.031239] GICv3: CPU7: using allocated LPI pending table
>>> @0x00000000aa100000
>>> [ 0.031256] CPU7: thread -1, cpu 1, socket 3, mpidr 80000301
>>> [ 0.036606] GICv3: CPU8: found redistributor 400 region 0:0x0000000030500000
>>> [ 0.036634] GICv3: CPU8: using allocated LPI pending table
>>> @0x00000000aa110000
>>> [ 0.036657] CPU8: thread -1, cpu 0, socket 4, mpidr 80000400
>>> [ 0.039719] GICv3: CPU9: found redistributor 401 region 0:0x0000000030520000
>>> [ 0.039740] GICv3: CPU9: using allocated LPI pending table
>>> @0x00000000aa120000
>>> [ 0.039757] CPU9: thread -1, cpu 1, socket 4, mpidr 80000401
>>> [ 0.045156] GICv3: CPU10: found redistributor 500 region 0:0x0000000030540000
>>> [ 0.045187] GICv3: CPU10: using allocated LPI pending table
>>> @0x00000000aa130000
>>> [ 0.045210] CPU10: thread -1, cpu 0, socket 5, mpidr 80000500
>>> [ 0.048241] GICv3: CPU11: found redistributor 501 region 0:0x0000000030560000
>>> [ 0.048263] GICv3: CPU11: using allocated LPI pending table
>>> @0x00000000aa140000
>>> [ 0.048282] CPU11: thread -1, cpu 1, socket 5, mpidr 80000501
>>> [ 0.053651] GICv3: CPU12: found redistributor 600 region 0:0x0000000030580000
>>> [ 0.053681] GICv3: CPU12: using allocated LPI pending table
>>> @0x00000000aa150000
>>> [ 0.053706] CPU12: thread -1, cpu 0, socket 6, mpidr 80000600
>>> [ 0.056742] GICv3: CPU13: found redistributor 601 region 0:0x00000000305a0000
>>> [ 0.056765] GICv3: CPU13: using allocated LPI pending table
>>> @0x00000000aa160000
>>> [ 0.056785] CPU13: thread -1, cpu 1, socket 6, mpidr 80000601
>>> [ 0.062113] GICv3: CPU14: found redistributor 700 region 0:0x00000000305c0000
>>> [ 0.062144] GICv3: CPU14: using allocated LPI pending table
>>> @0x00000000aa170000
>>> [ 0.062166] CPU14: thread -1, cpu 0, socket 7, mpidr 80000700
>>> [ 0.065238] GICv3: CPU15: found redistributor 701 region 0:0x00000000305e0000
>>> [ 0.065263] GICv3: CPU15: using allocated LPI pending table
>>> @0x00000000aa180000
>>> [ 0.065282] CPU15: thread -1, cpu 1, socket 7, mpidr 80000701
>>> [ 0.070661] GICv3: CPU16: found redistributor 800 region 0:0x0000000030600000
>>> [ 0.070691] GICv3: CPU16: using allocated LPI pending table
>>> @0x00000000aa190000
>>> [ 0.070716] CPU16: thread -1, cpu 0, socket 8, mpidr 80000800
>>> [ 0.073748] GICv3: CPU17: found redistributor 801 region 0:0x0000000030620000
>>> [ 0.073774] GICv3: CPU17: using allocated LPI pending table
>>> @0x00000000aa1a0000
>>> [ 0.073794] CPU17: thread -1, cpu 1, socket 8, mpidr 80000801
>>> [ 0.079132] GICv3: CPU18: found redistributor 900 region 0:0x0000000030640000
>>> [ 0.079163] GICv3: CPU18: using allocated LPI pending table
>>> @0x00000000aa1b0000
>>> [ 0.079187] CPU18: thread -1, cpu 0, socket 9, mpidr 80000900
>>> [ 0.082216] GICv3: CPU19: found redistributor 901 region 0:0x0000000030660000
>>> [ 0.082239] GICv3: CPU19: using allocated LPI pending table
>>> @0x00000000aa1c0000
>>> [ 0.082257] CPU19: thread -1, cpu 1, socket 9, mpidr 80000901
>>> [ 0.087755] GICv3: CPU20: found redistributor a00 region 0:0x0000000030680000
>>> [ 0.087788] GICv3: CPU20: using allocated LPI pending table
>>> @0x00000000aa1d0000
>>> [ 0.087811] CPU20: thread -1, cpu 0, socket 10, mpidr 80000a00
>>> [ 0.090897] GICv3: CPU21: found redistributor a01 region 0:0x00000000306a0000
>>> [ 0.090922] GICv3: CPU21: using allocated LPI pending table
>>> @0x00000000aa1e0000
>>> [ 0.090939] CPU21: thread -1, cpu 1, socket 10, mpidr 80000a01
>>> [ 0.096296] GICv3: CPU22: found redistributor b00 region 0:0x00000000306c0000
>>> [ 0.096329] GICv3: CPU22: using allocated LPI pending table
>>> @0x00000000aa1f0000
>>> [ 0.096353] CPU22: thread -1, cpu 0, socket 11, mpidr 80000b00
>>> [ 0.099356] GICv3: CPU23: found redistributor b01 region 0:0x00000000306e0000
>>> [ 0.099381] GICv3: CPU23: using allocated LPI pending table
>>> @0x00000000aa200000
>>> [ 0.099400] CPU23: thread -1, cpu 1, socket 11, mpidr 80000b01
>>> [ 0.099506] smp: Brought up 1 node, 24 CPUs
>>> [ 0.100163] SMP: Total of 24 processors activated (4800.00 BogoMIPS).
>>> [ 0.100175] CPU: All CPU(s) started in SVC mode.
>>> [ 0.101193] devtmpfs: initialized
>>> [ 0.103698] VFP support v0.3: implementor 41 architecture 3 part 40
>>> variant 3 rev 4
>>> [ 0.103980] clocksource: jiffies: mask: 0xffffffff max_cycles:
>>> 0xffffffff, max_idle_ns: 19112604462750000 ns
>>> [ 0.104009] futex hash table entries: 8192 (order: 7, 524288 bytes, linear)
>>> [ 0.106670] pinctrl core: initialized pinctrl subsystem
>>> [ 0.107566] thermal_sys: Registered thermal governor 'step_wise'
>>> [ 0.107754] SMBIOS 3.3.0 present.
>>> [ 0.107788] DMI: Socionext SynQuacer E-series DeveloperBox, BIOS
>>> build #1 Feb 20 2020
>>> [ 0.108185] NET: Registered protocol family 16
>>> [ 0.109556] DMA: preallocated 256 KiB pool for atomic coherent allocations
>>> [ 0.110957] cpuidle: using governor menu
>>> [ 0.111063] No ATAGs?
>>> [ 0.111467] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4
>>> watchpoint registers.
>>> [ 0.111490] hw-breakpoint: maximum watchpoint size is 8 bytes.
>>> [ 0.112874] Serial: AMBA PL011 UART driver
>>> [ 0.114349] OF: translation of DMA address(0) to CPU address failed
>>> node(/uart@2a400000)
>>> [ 0.114421] 2a400000.uart: ttyAMA0 at MMIO 0x2a400000 (irq = 22,
>>> base_baud = 0) is a PL011 rev3
>>> [ 1.117194] printk: console [ttyAMA0] enabled
>>> [ 1.135592] AT91: Could not find identification node
>>> [ 1.136261] iommu: Default domain type: Translated
>>> [ 1.146225] vgaarb: loaded
>>> [ 1.149407] SCSI subsystem initialized
>>> [ 1.153506] usbcore: registered new interface driver usbfs
>>> [ 1.159042] usbcore: registered new interface driver hub
>>> [ 1.164477] usbcore: registered new device driver usb
>>> [ 1.169950] pps_core: LinuxPPS API ver. 1 registered
>>> [ 1.174911] pps_core: Software ver. 5.3.6 - Copyright 2005-2007
>>> Rodolfo Giometti <giometti@linux.it>
>>> [ 1.184062] PTP clock support registered
>>> [ 1.188042] EDAC MC: Ver: 3.0.0
>>> [ 1.191660] Registered efivars operations
>>> [ 1.196838] clocksource: Switched to clocksource arch_sys_counter
>>> [ 2.103835] NET: Registered protocol family 2
>>> [ 2.108658] tcp_listen_portaddr_hash hash table entries: 512
>>> (order: 0, 6144 bytes, linear)
>>> [ 2.117044] TCP established hash table entries: 8192 (order: 3,
>>> 32768 bytes, linear)
>>> [ 2.124854] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
>>> [ 2.132103] TCP: Hash tables configured (established 8192 bind 8192)
>>> [ 2.138585] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
>>> [ 2.145223] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
>>> [ 2.152446] NET: Registered protocol family 1
>>> [ 2.157108] RPC: Registered named UNIX socket transport module.
>>> [ 2.163026] RPC: Registered udp transport module.
>>> [ 2.167746] RPC: Registered tcp transport module.
>>> [ 2.172445] RPC: Registered tcp NFSv4.1 backchannel transport module.
>>> [ 2.178897] PCI: CLS 0 bytes, default 64
>>> [ 2.183052] Trying to unpack rootfs image as initramfs...
>>> [ 3.413006] Freeing initrd memory: 22816K
>>> [ 3.418665] Initialise system trusted keyrings
>>> [ 3.423276] workingset: timestamp_bits=30 max_order=19 bucket_order=0
>>> [ 3.434628] squashfs: version 4.0 (2009/01/31) Phillip Lougher
>>> [ 3.441097] NFS: Registering the id_resolver key type
>>> [ 3.446175] Key type id_resolver registered
>>> [ 3.450375] Key type id_legacy registered
>>> [ 3.454388] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
>>> [ 3.461111] ntfs: driver 2.1.32 [Flags: R/O].
>>> [ 3.465747] Key type asymmetric registered
>>> [ 3.469857] Asymmetric key parser 'x509' registered
>>> [ 3.474765] bounce: pool size: 64 pages
>>> [ 3.478629] Block layer SCSI generic (bsg) driver version 0.4
>>> loaded (major 247)
>>> [ 3.486027] io scheduler mq-deadline registered
>>> [ 3.490564] io scheduler kyber registered
>>> [ 3.500170] OF: translation of DMA address(0) to CPU address failed
>>> node(/pcie@60000000)
>>> [ 3.508318] pci-host-generic 60000000.pcie: host bridge
>>> /pcie@60000000 ranges:
>>> [ 3.515556] pci-host-generic 60000000.pcie: IO
>>> 0x0067f00000..0x0067f0ffff -> 0x0000000000
>>> [ 3.524276] pci-host-generic 60000000.pcie: MEM
>>> 0x0068000000..0x006fffffff -> 0x0068000000
>>> [ 3.532987] pci-host-generic 60000000.pcie: MEM
>>> 0x3e00000000..0x3effffffff -> 0x3e00000000
>>> [ 3.543045] pci-host-generic 60000000.pcie: ECAM at [mem
>>> 0x60000000-0x67efffff] for [bus 00-7e]
>>> [ 3.551873] pci-host-generic 60000000.pcie: PCI host bridge to bus 0000:00
>>> [ 3.558764] pci_bus 0000:00: root bus resource [bus 00-7e]
>>> [ 3.564250] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
>>> [ 3.570438] pci_bus 0000:00: root bus resource [mem 0x68000000-0x6fffffff]
>>> [ 3.577322] pci_bus 0000:00: root bus resource [mem
>>> 0x3e00000000-0x3effffffff]
>>> [ 3.584574] pci 0000:00:00.0: [1b21:1184] type 01 class 0x060400
>>> [ 3.590646] pci 0000:00:00.0: enabling Extended Tags
>>> [ 3.595677] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold
>>> [ 3.602874] PCI: bus0: Fast back to back transfers disabled
>>> [ 3.608585] pci 0000:01:01.0: [1b21:1184] type 01 class 0x060400
>>> [ 3.614645] pci 0000:01:01.0: enabling Extended Tags
>>> [ 3.619672] pci 0000:01:01.0: PME# supported from D0 D3hot D3cold
>>> [ 3.625969] pci 0000:01:03.0: [1b21:1184] type 01 class 0x060400
>>> [ 3.632040] pci 0000:01:03.0: enabling Extended Tags
>>> [ 3.637066] pci 0000:01:03.0: PME# supported from D0 D3hot D3cold
>>> [ 3.643363] pci 0000:01:05.0: [1b21:1184] type 01 class 0x060400
>>> [ 3.649431] pci 0000:01:05.0: enabling Extended Tags
>>> [ 3.654449] pci 0000:01:05.0: PME# supported from D0 D3hot D3cold
>>> [ 3.660753] pci 0000:01:07.0: [1b21:1184] type 01 class 0x060400
>>> [ 3.666822] pci 0000:01:07.0: enabling Extended Tags
>>> [ 3.671844] pci 0000:01:07.0: PME# supported from D0 D3hot D3cold
>>> [ 3.678832] PCI: bus1: Fast back to back transfers disabled
>>> [ 3.684517] pci 0000:02:00.0: [1b21:0612] type 00 class 0x010601
>>> [ 3.690564] pci 0000:02:00.0: reg 0x10: [io 0x0028-0x002f]
>>> [ 3.696147] pci 0000:02:00.0: reg 0x14: [io 0x0034-0x0037]
>>> [ 3.701738] pci 0000:02:00.0: reg 0x18: [io 0x0020-0x0027]
>>> [ 3.707329] pci 0000:02:00.0: reg 0x1c: [io 0x0030-0x0033]
>>> [ 3.712912] pci 0000:02:00.0: reg 0x20: [io 0x0000-0x001f]
>>> [ 3.718503] pci 0000:02:00.0: reg 0x24: [mem 0x68100000-0x681001ff]
>>> [ 3.724781] pci 0000:02:00.0: reg 0x30: [mem 0xffff0000-0xffffffff pref]
>>> [ 3.732590] PCI: bus2: Fast back to back transfers disabled
>>> [ 3.738174] pci_bus 0000:02: busn_res: [bus 02-7e] end is updated to 02
>>> [ 3.745751] PCI: bus3: Fast back to back transfers enabled
>>> [ 3.751247] pci_bus 0000:03: busn_res: [bus 03-7e] end is updated to 03
>>> [ 3.757969] pci 0000:04:00.0: [1912:0014] type 00 class 0x0c0330
>>> [ 3.764012] pci 0000:04:00.0: reg 0x10: [mem 0x68000000-0x68001fff 64bit]
>>> [ 3.770943] pci 0000:04:00.0: PME# supported from D0 D3hot D3cold
>>> [ 3.807778] PCI: bus4: Fast back to back transfers disabled
>>> [ 3.813353] pci_bus 0000:04: busn_res: [bus 04-7e] end is updated to 04
>>> [ 3.820943] PCI: bus5: Fast back to back transfers enabled
>>> [ 3.826430] pci_bus 0000:05: busn_res: [bus 05-7e] end is updated to 05
>>> [ 3.833058] pci_bus 0000:01: busn_res: [bus 01-7e] end is updated to 05
>>> [ 3.839709] pci 0000:00:00.0: BAR 8: assigned [mem 0x68000000-0x681fffff]
>>> [ 3.846498] pci 0000:00:00.0: BAR 7: assigned [io 0x1000-0x1fff]
>>> [ 3.852603] pci 0000:01:01.0: BAR 8: assigned [mem 0x68000000-0x680fffff]
>>> [ 3.859402] pci 0000:01:05.0: BAR 8: assigned [mem 0x68100000-0x681fffff]
>>> [ 3.866190] pci 0000:01:01.0: BAR 7: assigned [io 0x1000-0x1fff]
>>> [ 3.872294] pci 0000:02:00.0: BAR 6: assigned [mem
>>> 0x68000000-0x6800ffff pref]
>>> [ 3.879529] pci 0000:02:00.0: BAR 5: assigned [mem 0x68010000-0x680101ff]
>>> [ 3.886321] pci 0000:02:00.0: BAR 4: assigned [io 0x1000-0x101f]
>>> [ 3.892425] pci 0000:02:00.0: BAR 0: assigned [io 0x1020-0x1027]
>>> [ 3.898529] pci 0000:02:00.0: BAR 2: assigned [io 0x1028-0x102f]
>>> [ 3.904627] pci 0000:02:00.0: BAR 1: assigned [io 0x1030-0x1033]
>>> [ 3.910730] pci 0000:02:00.0: BAR 3: assigned [io 0x1034-0x1037]
>>> [ 3.916834] pci 0000:01:01.0: PCI bridge to [bus 02]
>>> [ 3.921799] pci 0000:01:01.0: bridge window [io 0x1000-0x1fff]
>>> [ 3.927903] pci 0000:01:01.0: bridge window [mem 0x68000000-0x680fffff]
>>> [ 3.934697] pci 0000:01:03.0: PCI bridge to [bus 03]
>>> [ 3.939682] pci 0000:04:00.0: BAR 0: assigned [mem
>>> 0x68100000-0x68101fff 64bit]
>>> [ 3.947012] pci 0000:01:05.0: PCI bridge to [bus 04]
>>> [ 3.951979] pci 0000:01:05.0: bridge window [mem 0x68100000-0x681fffff]
>>> [ 3.958780] pci 0000:01:07.0: PCI bridge to [bus 05]
>>> [ 3.963754] pci 0000:00:00.0: PCI bridge to [bus 01-05]
>>> [ 3.968985] pci 0000:00:00.0: bridge window [io 0x1000-0x1fff]
>>> [ 3.975081] pci 0000:00:00.0: bridge window [mem 0x68000000-0x681fffff]
>>> [ 3.981914] OF: translation of DMA address(0) to CPU address failed
>>> node(/pcie@60000000)
>>> [ 3.990313] OF: translation of DMA address(0) to CPU address failed
>>> node(/pcie@60000000)
>>> [ 3.998662] OF: translation of DMA address(0) to CPU address failed
>>> node(/pcie@60000000)
>>> [ 4.007005] OF: translation of DMA address(0) to CPU address failed
>>> node(/pcie@60000000)
>>> [ 4.015339] OF: translation of DMA address(0) to CPU address failed
>>> node(/pcie@60000000)
>>> [ 4.023694] pci 0000:04:00.0: enabling device (0140 -> 0142)
>>> [ 4.029447] OF: translation of DMA address(0) to CPU address failed
>>> node(/pcie@70000000)
>>> [ 4.037570] pci-host-generic 70000000.pcie: host bridge
>>> /pcie@70000000 ranges:
>>> [ 4.044805] pci-host-generic 70000000.pcie: IO
>>> 0x0077f00000..0x0077f0ffff -> 0x0000000000
>>> [ 4.053523] pci-host-generic 70000000.pcie: MEM
>>> 0x0078000000..0x007fffffff -> 0x0078000000
>>> [ 4.062236] pci-host-generic 70000000.pcie: MEM
>>> 0x3f00000000..0x3fffffffff -> 0x3f00000000
>>> [ 4.071308] vmap allocation for size 1052672 failed: use
>>> vmalloc=<size> to increase size
>>> [ 4.079411] pci-host-generic 70000000.pcie: ECAM ioremap failed
>>> [ 4.085525] pci-host-generic: probe of 70000000.pcie failed with error -12
>>> [ 4.126494] Serial: 8250/16550 driver, 5 ports, IRQ sharing enabled
>>> [ 4.134170] OF: translation of DMA address(0) to CPU address failed
>>> node(/uart@51040000)
>>> [ 4.142748] 51040000.uart: ttyS1 at MMIO 0x51040000 (irq = 23,
>>> base_baud = 3906250) is a 16550A
>>> [ 4.152099] SuperH (H)SCI(F) driver initialized
>>> [ 4.156953] msm_serial: driver initialized
>>> [ 4.161103] STMicroelectronics ASC driver initialized
>>> [ 4.166594] STM32 USART driver initialized
>>> [ 4.178363] brd: module loaded
>>> [ 4.192943] loop: module loaded
>>> [ 4.197009] OF: translation of DMA address(0) to CPU address failed
>>> node(/pcie@60000000)
>>> [ 4.205330] ahci 0000:02:00.0: SSS flag set, parallel bus scan disabled
>>> [ 4.212015] ahci 0000:02:00.0: AHCI 0001.0200 32 slots 2 ports 6
>>> Gbps 0x3 impl SATA mode
>>> [ 4.220122] ahci 0000:02:00.0: flags: 64bit ncq sntf stag led clo
>>> pmp pio slum part ccc sxs
>>> [ 4.229431] scsi host0: ahci
>>> [ 4.232675] scsi host1: ahci
>>> [ 4.235694] ata1: SATA max UDMA/133 abar m512@0x68010000 port
>>> 0x68010100 irq 35
>>> [ 4.243033] ata2: SATA max UDMA/133 abar m512@0x68010000 port
>>> 0x68010180 irq 35
>>> [ 4.253906] libphy: Fixed MDIO Bus: probed
>>> [ 4.258796] CAN device driver interface
>>> [ 4.262933] bgmac_bcma: Broadcom 47xx GBit MAC driver loaded
>>> [ 4.268942] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
>>> [ 4.274772] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
>>> [ 4.280739] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.6.0-k
>>> [ 4.287707] igb: Copyright (c) 2007-2014 Intel Corporation.
>>> [ 4.294603] pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB
>>> Ethernet driver
>>> [ 4.302042] usbcore: registered new interface driver pegasus
>>> [ 4.307736] usbcore: registered new interface driver asix
>>> [ 4.313150] usbcore: registered new interface driver ax88179_178a
>>> [ 4.319267] usbcore: registered new interface driver cdc_ether
>>> [ 4.325122] usbcore: registered new interface driver smsc75xx
>>> [ 4.330901] usbcore: registered new interface driver smsc95xx
>>> [ 4.336663] usbcore: registered new interface driver net1080
>>> [ 4.342350] usbcore: registered new interface driver cdc_subset
>>> [ 4.348295] usbcore: registered new interface driver zaurus
>>> [ 4.353894] usbcore: registered new interface driver cdc_ncm
>>> [ 4.360347] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
>>> [ 4.366891] ehci-pci: EHCI PCI platform driver
>>> [ 4.371359] ehci-platform: EHCI generic platform driver
>>> [ 4.376646] ehci-orion: EHCI orion driver
>>> [ 4.380714] SPEAr-ehci: EHCI SPEAr driver
>>> [ 4.384767] ehci-st: EHCI STMicroelectronics driver
>>> [ 4.389704] ehci-exynos: EHCI Exynos driver
>>> [ 4.393931] ehci-atmel: EHCI Atmel driver
>>> [ 4.397991] tegra-ehci: Tegra EHCI driver
>>> [ 4.402048] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
>>> [ 4.408245] ohci-pci: OHCI PCI platform driver
>>> [ 4.412714] ohci-platform: OHCI generic platform driver
>>> [ 4.418003] SPEAr-ohci: OHCI SPEAr driver
>>> [ 4.422057] ohci-st: OHCI STMicroelectronics driver
>>> [ 4.426995] ohci-atmel: OHCI Atmel driver
>>> [ 4.431085] OF: translation of DMA address(0) to CPU address failed
>>> node(/pcie@60000000)
>>> [ 4.439259] xhci_hcd 0000:04:00.0: xHCI Host Controller
>>> [ 4.444497] xhci_hcd 0000:04:00.0: new USB bus registered, assigned
>>> bus number 1
>>> [ 4.457324] xhci_hcd 0000:04:00.0: hcc params 0x014051cf hci
>>> version 0x100 quirks 0x0000000100000410
>>> [ 4.467671] hub 1-0:1.0: USB hub found
>>> [ 4.471449] hub 1-0:1.0: 4 ports detected
>>> [ 4.475927] xhci_hcd 0000:04:00.0: xHCI Host Controller
>>> [ 4.481175] xhci_hcd 0000:04:00.0: new USB bus registered, assigned
>>> bus number 2
>>> [ 4.488585] xhci_hcd 0000:04:00.0: Host supports USB 3.0 SuperSpeed
>>> [ 4.494924] usb usb2: We don't know the algorithms for LPM for this
>>> host, disabling LPM.
>>> [ 4.503372] hub 2-0:1.0: USB hub found
>>> [ 4.507155] hub 2-0:1.0: 4 ports detected
>>> [ 4.511847] usbcore: registered new interface driver usb-storage
>>> [ 4.519900] i2c /dev entries driver
>>> [ 4.528493] /cpus/cpu@0: unsupported enable-method property: psci
>>> [ 4.537114] sdhci: Secure Digital Host Controller Interface driver
>>> [ 4.543297] sdhci: Copyright(c) Pierre Ossman
>>> [ 4.548328] Synopsys Designware Multimedia Card Interface Driver
>>> [ 4.554829] sdhci-pltfm: SDHCI platform and OF driver helper
>>> [ 4.562104] ledtrig-cpu: registered to indicate activity on CPUs
>>> [ 4.568594] usbcore: registered new interface driver usbhid
>>> [ 4.574168] usbhid: USB HID core driver
>>> [ 4.579546] drop_monitor: Initializing network drop monitor service
>>> [ 4.586552] NET: Registered protocol family 10
>>> [ 4.591887] Segment Routing with IPv6
>>> [ 4.595614] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
>>> [ 4.602085] NET: Registered protocol family 17
>>> [ 4.606537] can: controller area network core (rev 20170425 abi 9)
>>> [ 4.612780] NET: Registered protocol family 29
>>> [ 4.617248] can: raw protocol (rev 20170425)
>>> [ 4.621524] can: broadcast manager protocol (rev 20170425 t)
>>> [ 4.627198] can: netlink gateway (rev 20190810) max_hops=1
>>> [ 4.632967] Key type dns_resolver registered
>>> [ 4.637328] Registering SWP/SWPB emulation handler
>>> [ 4.642410] Loading compiled-in X.509 certificates
>>> [ 4.688987] OF: translation of DMA address(0) to CPU address failed
>>> node(/gpio-keys)
>>> [ 4.696780] irq: no irq domain found for interrupt-controller@510c0000 !
>>> [ 4.703556] gpio-keys gpio-keys: Found button without gpio or irq
>>> [ 4.709673] gpio-keys: probe of gpio-keys failed with error -22
>>> [ 4.715621] hctosys: unable to open rtc device (rtc0)
>>> [ 4.721044] uart-pl011 2a400000.uart: no DMA platform data
>>> [ 4.746912] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
>>> [ 4.754022] ata1.00: ATA-10: WDC WD10EZEX-22MFCA0, 01.01A01, max UDMA/133
>>> [ 4.760826] ata1.00: 1953525168 sectors, multi 16: LBA48 NCQ (depth 32), AA
>>> [ 4.768960] ata1.00: configured for UDMA/133
>>> [ 4.773637] scsi 0:0:0:0: Direct-Access ATA WDC
>>> WD10EZEX-22M 1A01 PQ: 0 ANSI: 5
>>> [ 4.782675] sd 0:0:0:0: [sda] 1953525168 512-byte logical blocks:
>>> (1.00 TB/932 GiB)
>>> [ 4.790362] sd 0:0:0:0: [sda] 4096-byte physical blocks
>>> [ 4.795635] sd 0:0:0:0: [sda] Write Protect is off
>>> [ 4.800505] sd 0:0:0:0: [sda] Write cache: enabled, read cache:
>>> enabled, doesn't support DPO or FUA
>>> [ 4.846916] usb 1-3: new high-speed USB device number 2 using xhci_hcd
>>> [ 4.865348] sda: sda1 sda2 sda3 sda4
>>> [ 4.871475] sd 0:0:0:0: [sda] Attached SCSI disk
>>> [ 4.887962] usb-storage 1-3:1.0: USB Mass Storage device detected
>>> [ 4.894715] scsi host2: usb-storage 1-3:1.0
>>> [ 5.109059] ata2: SATA link down (SStatus 0 SControl 300)
>>> [ 5.117814] Freeing unused kernel memory: 2048K
>>> [ 5.122861] Run /init as init process
>>>
>>> _______________________________________________
>>> linux-arm-kernel mailing list
>>> linux-arm-kernel@lists.infradead.org
>>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>>>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 0/4] ARM: decompressor: use by-VA cache maintenance for v7 cores
2020-02-21 16:09 ` Robin Murphy
@ 2020-02-22 23:38 ` Linus Walleij
0 siblings, 0 replies; 11+ messages in thread
From: Linus Walleij @ 2020-02-22 23:38 UTC (permalink / raw)
To: Robin Murphy
Cc: Ard Biesheuvel, linux-efi, Arnd Bergmann, Nicolas Pitre,
Tony Lindgren, Marc Zyngier, Russell King, Catalin Marinas,
linux-arm-kernel
On Fri, Feb 21, 2020 at 5:09 PM Robin Murphy <robin.murphy@arm.com> wrote:
> On 21/02/2020 1:42 pm, Ard Biesheuvel wrote:
> > OK, so where should it be instead? Are you saying it is now required
> > to have a /soc or /smb node that contains all the device nodes?
>
> That is now my understanding, yes - if there is some property of the
> system interconnect which is not entirely transparent relative to the
> conceptual CPU-visible physical address space and needs to be described,
> then the only way to correctly encode that in DT is with an explicit
> level of 'bus' in the hierarchy to represent that interconnect.
> Otherwise these address translation properties quickly end up in
> philosophical conundrums over what the parent of the root node is.
This confirms my similar understanding. Rob sent a patch to
remove the root level dma-ranges from the ARM Integrator,
and I have since added it back below the logic module bus
after you pointed out that the dma-ranges was actually there
for that very bus.
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 11+ messages in thread