All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] arm64: Disable big endian builds with clang
@ 2019-08-06 18:39 Mark Brown
  2019-08-06 21:25 ` Nick Desaulniers
  2019-08-07 13:01 ` Mark Rutland
  0 siblings, 2 replies; 13+ messages in thread
From: Mark Brown @ 2019-08-06 18:39 UTC (permalink / raw)
  To: Catalin Marinas, Will Deacon, Nick Desaulniers,
	Nathan Chancellor, Tri Vo
  Cc: clang-built-linux, Mark Brown, linux-arm-kernel

Current boot tests with clang built big endian kernels in KernelCI are
showing problems with the kernel being unable to interpret big endian
userspace. This is a bug and should be fixed but for now let's prevent
these kernels being built, we may end up needing to add a version
dependency on the compiler anyway.

Signed-off-by: Mark Brown <broonie@kernel.org>
---

The clang people (CCed) are aware and looking into this.

 arch/arm64/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 990fdcbf05c7..1c32d9889e0f 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -813,6 +813,7 @@ config ARM64_PA_BITS
 
 config CPU_BIG_ENDIAN
        bool "Build big-endian kernel"
+       depends on !CC_IS_CLANG
        help
          Say Y if you plan on running a kernel in big-endian mode.
 
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH] arm64: Disable big endian builds with clang
  2019-08-06 18:39 [PATCH] arm64: Disable big endian builds with clang Mark Brown
@ 2019-08-06 21:25 ` Nick Desaulniers
  2019-08-06 23:47   ` Nick Desaulniers
  2019-08-07 13:01 ` Mark Rutland
  1 sibling, 1 reply; 13+ messages in thread
From: Nick Desaulniers @ 2019-08-06 21:25 UTC (permalink / raw)
  To: Mark Brown
  Cc: Tri Vo, Catalin Marinas, clang-built-linux, Nathan Chancellor,
	Will Deacon, Linux ARM

On Tue, Aug 6, 2019 at 11:39 AM Mark Brown <broonie@kernel.org> wrote:
>
> Current boot tests with clang built big endian kernels in KernelCI are
> showing problems with the kernel being unable to interpret big endian
> userspace. This is a bug and should be fixed but for now let's prevent
> these kernels being built, we may end up needing to add a version
> dependency on the compiler anyway.
>
> Signed-off-by: Mark Brown <broonie@kernel.org>

Link: https://github.com/ClangBuiltLinux/linux/issues/628
Acked-by: Nick Desaulniers <ndesaulniers@google.com>

> ---
>
> The clang people (CCed) are aware and looking into this.
>
>  arch/arm64/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 990fdcbf05c7..1c32d9889e0f 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -813,6 +813,7 @@ config ARM64_PA_BITS
>
>  config CPU_BIG_ENDIAN
>         bool "Build big-endian kernel"
> +       depends on !CC_IS_CLANG
>         help
>           Say Y if you plan on running a kernel in big-endian mode.
>
> --
> 2.20.1
>


-- 
Thanks,
~Nick Desaulniers

_______________________________________________
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] 13+ messages in thread

* Re: [PATCH] arm64: Disable big endian builds with clang
  2019-08-06 21:25 ` Nick Desaulniers
@ 2019-08-06 23:47   ` Nick Desaulniers
  2019-08-07 12:38     ` Mark Brown
  0 siblings, 1 reply; 13+ messages in thread
From: Nick Desaulniers @ 2019-08-06 23:47 UTC (permalink / raw)
  To: Mark Brown
  Cc: Tri Vo, Catalin Marinas, Nathan Huckleberry, clang-built-linux,
	Nathan Chancellor, Will Deacon, Linux ARM

On Tue, Aug 6, 2019 at 2:25 PM Nick Desaulniers <ndesaulniers@google.com> wrote:
>
> On Tue, Aug 6, 2019 at 11:39 AM Mark Brown <broonie@kernel.org> wrote:
> >
> > Current boot tests with clang built big endian kernels in KernelCI are
> > showing problems with the kernel being unable to interpret big endian
> > userspace. This is a bug and should be fixed but for now let's prevent
> > these kernels being built, we may end up needing to add a version
> > dependency on the compiler anyway.
> >
> > Signed-off-by: Mark Brown <broonie@kernel.org>
>
> Link: https://github.com/ClangBuiltLinux/linux/issues/628
> Acked-by: Nick Desaulniers <ndesaulniers@google.com>

+Huck
Huck notes that the device eventually boots in qemu, it just takes on
the order of 165 seconds to boot.  What's the timeout on KernelCI?

I think if we can determine why we see:
[  144.626755] request_module: kmod_concurrent_max (0) close to 0
(max_modprobes: 50), for module binfmt-4c46, throttling...
[  149.752826] request_module: modprobe binfmt-4c46 cannot be
processed, kmod busy with 50 threads for more than 5 seconds now

a lot, then we don't actually need to disable this outright when
building w/ Clang?

>
> > ---
> >
> > The clang people (CCed) are aware and looking into this.
> >
> >  arch/arm64/Kconfig | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> > index 990fdcbf05c7..1c32d9889e0f 100644
> > --- a/arch/arm64/Kconfig
> > +++ b/arch/arm64/Kconfig
> > @@ -813,6 +813,7 @@ config ARM64_PA_BITS
> >
> >  config CPU_BIG_ENDIAN
> >         bool "Build big-endian kernel"
> > +       depends on !CC_IS_CLANG
> >         help
> >           Say Y if you plan on running a kernel in big-endian mode.
-- 
Thanks,
~Nick Desaulniers

_______________________________________________
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] 13+ messages in thread

* Re: [PATCH] arm64: Disable big endian builds with clang
  2019-08-06 23:47   ` Nick Desaulniers
@ 2019-08-07 12:38     ` Mark Brown
  2019-08-07 14:41       ` Robin Murphy
  0 siblings, 1 reply; 13+ messages in thread
From: Mark Brown @ 2019-08-07 12:38 UTC (permalink / raw)
  To: Nick Desaulniers
  Cc: Tri Vo, Catalin Marinas, Nathan Huckleberry, clang-built-linux,
	Nathan Chancellor, Will Deacon, Linux ARM


[-- Attachment #1.1: Type: text/plain, Size: 1631 bytes --]

On Tue, Aug 06, 2019 at 04:47:23PM -0700, Nick Desaulniers wrote:
> On Tue, Aug 6, 2019 at 2:25 PM Nick Desaulniers <ndesaulniers@google.com> wrote:
> > On Tue, Aug 6, 2019 at 11:39 AM Mark Brown <broonie@kernel.org> wrote:

> +Huck
> Huck notes that the device eventually boots in qemu, it just takes on
> the order of 165 seconds to boot.  What's the timeout on KernelCI?

It's not a timeout in kernelci, it's the kernel timing out being unable
to find something in userspace being booted it can use as /init (there's
a timeout in that process to cope with network filesystems).  IIRC it's
about 2 minutes.  You can see this clearly in the logs I pointed you at:

| You can see a bunch of reports here (all the big endian failures):

|         https://kernelci.org/boot/all/job/next/branch/master/kernel/next-20190730/

For example:

	https://storage.kernelci.org/next/master/next-20190730/arm64/defconfig+CONFIG_CPU_BIG_ENDIAN=y/clang-8/lab-baylibre/boot-meson-gxbb-nanopi-k2.html

> I think if we can determine why we see:
> [  144.626755] request_module: kmod_concurrent_max (0) close to 0
> (max_modprobes: 50), for module binfmt-4c46, throttling...
> [  149.752826] request_module: modprobe binfmt-4c46 cannot be
> processed, kmod busy with 50 threads for more than 5 seconds now

> a lot, then we don't actually need to disable this outright when
> building w/ Clang?

Those error messages are happening because the kernel can't figure out
how to execute a binary it's trying to run, like I say the module it's
trying to load is binfmt_misc.  If the kernel can't work out how to
execute userspace it's not terribly useful.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
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] 13+ messages in thread

* Re: [PATCH] arm64: Disable big endian builds with clang
  2019-08-06 18:39 [PATCH] arm64: Disable big endian builds with clang Mark Brown
  2019-08-06 21:25 ` Nick Desaulniers
@ 2019-08-07 13:01 ` Mark Rutland
  2019-08-07 13:05   ` Mark Brown
  1 sibling, 1 reply; 13+ messages in thread
From: Mark Rutland @ 2019-08-07 13:01 UTC (permalink / raw)
  To: Mark Brown
  Cc: Tri Vo, Catalin Marinas, Nick Desaulniers, clang-built-linux,
	Nathan Chancellor, Will Deacon, linux-arm-kernel

On Tue, Aug 06, 2019 at 07:39:18PM +0100, Mark Brown wrote:
> Current boot tests with clang built big endian kernels in KernelCI are
> showing problems with the kernel being unable to interpret big endian
> userspace. This is a bug and should be fixed but for now let's prevent
> these kernels being built, we may end up needing to add a version
> dependency on the compiler anyway.
> 
> Signed-off-by: Mark Brown <broonie@kernel.org>
> ---
> 
> The clang people (CCed) are aware and looking into this.

Judging by the kernel log linked in a reply, this is with:

* clang version 8.0.1-svn359952-1~exp1~20190504004501.65 (branches/release_80)

  Is that the llvm.org binary release, or a custom build of clang?

* Linux 5.3.0-rc2-next-20190730

  Could we previously build a BE kernel with clang? If so, what's the
  last working kernel?

Thanks,
Mark.

> 
>  arch/arm64/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 990fdcbf05c7..1c32d9889e0f 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -813,6 +813,7 @@ config ARM64_PA_BITS
>  
>  config CPU_BIG_ENDIAN
>         bool "Build big-endian kernel"
> +       depends on !CC_IS_CLANG
>         help
>           Say Y if you plan on running a kernel in big-endian mode.
>  
> -- 
> 2.20.1
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

_______________________________________________
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] 13+ messages in thread

* Re: [PATCH] arm64: Disable big endian builds with clang
  2019-08-07 13:01 ` Mark Rutland
@ 2019-08-07 13:05   ` Mark Brown
  2019-08-07 13:56     ` Mark Rutland
  0 siblings, 1 reply; 13+ messages in thread
From: Mark Brown @ 2019-08-07 13:05 UTC (permalink / raw)
  To: Mark Rutland
  Cc: Tri Vo, Catalin Marinas, Nick Desaulniers, clang-built-linux,
	Nathan Chancellor, Will Deacon, linux-arm-kernel


[-- Attachment #1.1: Type: text/plain, Size: 709 bytes --]

On Wed, Aug 07, 2019 at 02:01:11PM +0100, Mark Rutland wrote:
> On Tue, Aug 06, 2019 at 07:39:18PM +0100, Mark Brown wrote:

> Judging by the kernel log linked in a reply, this is with:

> * clang version 8.0.1-svn359952-1~exp1~20190504004501.65 (branches/release_80)

>   Is that the llvm.org binary release, or a custom build of clang?

It's from a llvm.org .deb.

> * Linux 5.3.0-rc2-next-20190730

>   Could we previously build a BE kernel with clang? If so, what's the
>   last working kernel?

As far as I know this has been broken for as long as we tried building
and booting big endian kernels in clang.  The compile works fine, it's
just that the resulting binary doesn't seem to be working so well.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
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] 13+ messages in thread

* Re: [PATCH] arm64: Disable big endian builds with clang
  2019-08-07 13:05   ` Mark Brown
@ 2019-08-07 13:56     ` Mark Rutland
  2019-08-07 14:14       ` Mark Rutland
  2019-08-07 15:29       ` Mark Brown
  0 siblings, 2 replies; 13+ messages in thread
From: Mark Rutland @ 2019-08-07 13:56 UTC (permalink / raw)
  To: Mark Brown
  Cc: Tri Vo, Catalin Marinas, Nick Desaulniers, clang-built-linux,
	Nathan Chancellor, Will Deacon, linux-arm-kernel

On Wed, Aug 07, 2019 at 02:05:27PM +0100, Mark Brown wrote:
> On Wed, Aug 07, 2019 at 02:01:11PM +0100, Mark Rutland wrote:
> > On Tue, Aug 06, 2019 at 07:39:18PM +0100, Mark Brown wrote:
> 
> > Judging by the kernel log linked in a reply, this is with:
> 
> > * clang version 8.0.1-svn359952-1~exp1~20190504004501.65 (branches/release_80)
> 
> >   Is that the llvm.org binary release, or a custom build of clang?
> 
> It's from a llvm.org .deb.
> 
> > * Linux 5.3.0-rc2-next-20190730
> 
> >   Could we previously build a BE kernel with clang? If so, what's the
> >   last working kernel?
> 
> As far as I know this has been broken for as long as we tried building
> and booting big endian kernels in clang.  The compile works fine, it's
> just that the resulting binary doesn't seem to be working so well.

I've just had a go, and it works for me. Log below from a BE busybox,
but I also have a BE buildroot filesystem working.

For reference, I'm using:

* Linux v5.3-rc3 defconfig
* LLVM 8.0.0 (x86_64) from llvm.org
* GCC 8.1.0 (x86_64) from kernel.org crosstool

... so I don't think we should blacklist this just yet, but we certainly
need to better understand the issue you're seeing. I'll have a go with
LLVM 8.0.1 in case there's a regression from 8.0.0 to 8.0.1.

From your log, it looks like the kernel is trying to launch init via
binfmt_misc, using binfmt-464c. It could be that the file is corrupted
somehow, or something's going wrong with binfmt. I haven't delved into
that.

Are you using the right filesystem (and is the kernel definitely
identifying itself as BE in the Image header flags)?

This could be a dynamic loader issue -- my busybox is statically linked,
and I'm not sure about my buildroot filesystem.

This could be platform-specific; I'm booting under a KVM/QEMU VM on
ThunderX2, using virtio-block for storage.

Thanks,
Mark.

---->8----
[mark@gravadlaks:~/repro]% ./vmboot.sh ~/Image.be-clang
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x431f0af1]
[    0.000000] Linux version 5.3.0-rc3-00001-g9b0f179cd3d1-dirty (mark@lakrids) (clang version 8.0.0 (tags/RELEASE_800/final)) #2 SMP PREEMPT Wed Aug 7 14:20:53 BST 2019
[    0.000000] Machine model: linux,dummy-virt
[    0.000000] earlycon: pl11 at MMIO 0x0000000009000000 (options '')
[    0.000000] printk: bootconsole [pl11] enabled
[    0.000000] cma: Reserved 32 MiB at 0x00000000be000000
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] NUMA: NODE_DATA [mem 0xbdbf1840-0xbdbf2fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] On node 0 totalpages: 524288
[    0.000000]   DMA32 zone: 8192 pages used for memmap
[    0.000000]   DMA32 zone: 0 pages reserved
[    0.000000]   DMA32 zone: 524288 pages, LIFO batch:63
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.1
[    0.000000] percpu: Embedded 23 pages/cpu s56216 r8192 d29800 u94208
[    0.000000] pcpu-alloc: s56216 r8192 d29800 u94208 alloc=23*4096
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516096
[    0.000000] Policy zone: DMA32
[    0.000000] Kernel command line: loglevel=9 rodata=full earlycon root=/dev/vda init=/sbin/reboot -- -f
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 1964648K/2097152K available (11582K kernel code, 1860K rwdata, 5752K rodata, 38848K init, 411K bss, 99736K reserved, 32768K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=1.
[    0.000000]  Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: Distributor has no Range Selector support
[    0.000000] GICv3: no VLPI support, no direct LPI support
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000080a0000
[    0.000000] ITS [mem 0x08080000-0x0809ffff]
[    0.000000] ITS@0x0000000008080000: allocated 8192 Devices @bb030000 (indirect, esz 8, psz 64K, shr 1)
[    0.000000] ITS@0x0000000008080000: allocated 8192 Interrupt Collections @bb040000 (flat, esz 8, psz 64K, shr 1)
[    0.000000] GICv3: using LPI property table @0x00000000bb050000
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000bb060000
[    0.000000] random: get_random_bytes called from start_kernel+0x1d4/0x394 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
[    0.000002] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[    0.002284] Console: colour dummy device 80x25
[    0.003215] printk: console [tty0] enabled
[    0.004070] printk: bootconsole [pl11] disabled
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x431f0af1]
[    0.000000] Linux version 5.3.0-rc3-00001-g9b0f179cd3d1-dirty (mark@lakrids) (clang version 8.0.0 (tags/RELEASE_800/final)) #2 SMP PREEMPT Wed Aug 7 14:20:53 BST 2019
[    0.000000] Machine model: linux,dummy-virt
[    0.000000] earlycon: pl11 at MMIO 0x0000000009000000 (options '')
[    0.000000] printk: bootconsole [pl11] enabled
[    0.000000] cma: Reserved 32 MiB at 0x00000000be000000
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] NUMA: NODE_DATA [mem 0xbdbf1840-0xbdbf2fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] On node 0 totalpages: 524288
[    0.000000]   DMA32 zone: 8192 pages used for memmap
[    0.000000]   DMA32 zone: 0 pages reserved
[    0.000000]   DMA32 zone: 524288 pages, LIFO batch:63
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.1
[    0.000000] percpu: Embedded 23 pages/cpu s56216 r8192 d29800 u94208
[    0.000000] pcpu-alloc: s56216 r8192 d29800 u94208 alloc=23*4096
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516096
[    0.000000] Policy zone: DMA32
[    0.000000] Kernel command line: loglevel=9 rodata=full earlycon root=/dev/vda init=/sbin/reboot -- -f
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 1964648K/2097152K available (11582K kernel code, 1860K rwdata, 5752K rodata, 38848K init, 411K bss, 99736K reserved, 32768K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=1.
[    0.000000]  Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: Distributor has no Range Selector support
[    0.000000] GICv3: no VLPI support, no direct LPI support
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000080a0000
[    0.000000] ITS [mem 0x08080000-0x0809ffff]
[    0.000000] ITS@0x0000000008080000: allocated 8192 Devices @bb030000 (indirect, esz 8, psz 64K, shr 1)
[    0.000000] ITS@0x0000000008080000: allocated 8192 Interrupt Collections @bb040000 (flat, esz 8, psz 64K, shr 1)
[    0.000000] GICv3: using LPI property table @0x00000000bb050000
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000bb060000
[    0.000000] random: get_random_bytes called from start_kernel+0x1d4/0x394 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
[    0.000002] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[    0.002284] Console: colour dummy device 80x25
[    0.003215] printk: console [tty0] enabled
[    0.004070] printk: bootconsole [pl11] disabled
[    0.005050] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
[    0.005058] pid_max: default: 32768 minimum: 301
[    0.005081] LSM: Security Framework initializing
[    0.005102] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.005111] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.026434] ASID allocator initialised with 32768 entries
[    0.034467] rcu: Hierarchical SRCU implementation.
[    0.042554] Platform MSI: its@8080000 domain created
[    0.042576] PCI/MSI: /intc@8000000/its@8080000 domain created
[    0.050567] smp: Bringing up secondary CPUs ...
[    0.050575] smp: Brought up 1 node, 1 CPU
[    0.050580] SMP: Total of 1 processors activated.
[    0.050586] CPU features: detected: Privileged Access Never
[    0.050591] CPU features: detected: LSE atomic instructions
[    0.050597] CPU features: detected: RAS Extension Support
[    0.050602] CPU features: detected: CRC32 instructions
[    0.050631] CPU: All CPU(s) started at EL1
[    0.050641] alternatives: patching kernel code
[    0.053527] devtmpfs: initialized
[    0.054721] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.054737] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
[    0.055078] pinctrl core: initialized pinctrl subsystem
[    0.055567] NET: Registered protocol family 16
[    0.055653] audit: initializing netlink subsys (disabled)
[    0.056035] audit: type=2000 audit(0.056:1): state=initialized audit_enabled=0 res=1
[    0.058627] cpuidle: using governor menu
[    0.058683] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.059634] DMA: preallocated 256 KiB pool for atomic allocations
[    0.059852] Serial: AMBA PL011 UART driver
[    0.062444] 9000000.pl011: ttyAMA0 at MMIO 0x9000000 (irq = 39, base_baud = 0) is a PL011 rev1
[    0.167037] printk: console [ttyAMA0] enabled
[    0.172543] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.173847] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[    0.175162] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.176469] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[    0.184501] cryptd: max_cpu_qlen set to 1000
[    0.200632] vgaarb: loaded
[    0.201203] SCSI subsystem initialized
[    0.204589] libata version 3.00 loaded.
[    0.205301] usbcore: registered new interface driver usbfs
[    0.206212] usbcore: registered new interface driver hub
[    0.207093] usbcore: registered new device driver usb
[    0.208092] pps_core: LinuxPPS API ver. 1 registered
[    0.209064] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.210567] PTP clock support registered
[    0.211254] EDAC MC: Ver: 3.0.0
[    0.217131] FPGA manager framework
[    0.217742] Advanced Linux Sound Architecture Driver Initialized.
[    0.219023] clocksource: Switched to clocksource arch_sys_counter
[    0.220083] VFS: Disk quotas dquot_6.6.0
[    0.220766] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.223534] thermal_sys: Registered thermal governor 'step_wise'
[    0.223536] thermal_sys: Registered thermal governor 'power_allocator'
[    0.224622] NET: Registered protocol family 2
[    0.226944] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    0.228829] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.230225] TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear)
[    0.232057] TCP: Hash tables configured (established 16384 bind 16384)
[    0.233295] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.234698] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.236598] NET: Registered protocol family 1
[    0.249815] RPC: Registered named UNIX socket transport module.
[    0.250897] RPC: Registered udp transport module.
[    0.251908] RPC: Registered tcp transport module.
[    0.252777] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.254086] PCI: CLS 0 bytes, default 64
[    0.989340] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    1.018960] kvm [1]: HYP mode not available
[    1.024106] Initialise system trusted keyrings
[    1.025048] workingset: timestamp_bits=44 max_order=19 bucket_order=0
[    1.027932] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    1.033139] NFS: Registering the id_resolver key type
[    1.033995] Key type id_resolver registered
[    1.034688] Key type id_legacy registered
[    1.035492] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.036697] 9p: Installing v9fs 9p2000 file system support
[    1.047121] Key type asymmetric registered
[    1.047876] Asymmetric key parser 'x509' registered
[    1.048738] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    1.049943] io scheduler mq-deadline registered
[    1.050760] io scheduler kyber registered
[    1.054072] pl061_gpio 9030000.pl061: PL061 GPIO chip registered
[    1.055778] pci-host-generic 4010000000.pcie: host bridge /pcie@10000000 ranges:
[    1.057333] pci-host-generic 4010000000.pcie:    IO 0x3eff0000..0x3effffff -> 0x00000000
[    1.058946] pci-host-generic 4010000000.pcie:   MEM 0x10000000..0x3efeffff -> 0x10000000
[    1.061017] pci-host-generic 4010000000.pcie:   MEM 0x8000000000..0xffffffffff -> 0x8000000000
[    1.062688] pci-host-generic 4010000000.pcie: ECAM at [mem 0x4010000000-0x401fffffff] for [bus 00-ff]
[    1.064960] pci-host-generic 4010000000.pcie: PCI host bridge to bus 0000:00
[    1.066392] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.067670] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    1.068949] pci_bus 0000:00: root bus resource [mem 0x10000000-0x3efeffff]
[    1.070353] pci_bus 0000:00: root bus resource [mem 0x8000000000-0xffffffffff]
[    1.072113] pci 0000:00:00.0: [1b36:0008] type 00 class 0x060000
[    1.073775] pci 0000:00:01.0: [1af4:1000] type 00 class 0x020000
[    1.075144] pci 0000:00:01.0: reg 0x10: [io  0x0000-0x001f]
[    1.076269] pci 0000:00:01.0: reg 0x14: [mem 0x00000000-0x00000fff]
[    1.077693] pci 0000:00:01.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit pref]
[    1.079303] pci 0000:00:01.0: reg 0x30: [mem 0x00000000-0x0003ffff pref]
[    1.081194] pci 0000:00:02.0: [1af4:1001] type 00 class 0x010000
[    1.082575] pci 0000:00:02.0: reg 0x10: [io  0x0000-0x007f]
[    1.083914] pci 0000:00:02.0: reg 0x14: [mem 0x00000000-0x00000fff]
[    1.085043] pci 0000:00:02.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit pref]
[    1.086849] pci 0000:00:01.0: BAR 6: assigned [mem 0x10000000-0x1003ffff pref]
[    1.088499] pci 0000:00:01.0: BAR 4: assigned [mem 0x8000000000-0x8000003fff 64bit pref]
[    1.089860] pci 0000:00:02.0: BAR 4: assigned [mem 0x8000004000-0x8000007fff 64bit pref]
[    1.091294] pci 0000:00:01.0: BAR 1: assigned [mem 0x10040000-0x10040fff]
[    1.092446] pci 0000:00:02.0: BAR 1: assigned [mem 0x10041000-0x10041fff]
[    1.093565] pci 0000:00:02.0: BAR 0: assigned [io  0x1000-0x107f]
[    1.094566] pci 0000:00:01.0: BAR 0: assigned [io  0x1080-0x109f]
[    1.098710] virtio-pci 0000:00:01.0: enabling device (0000 -> 0003)
[    1.102352] virtio-pci 0000:00:02.0: enabling device (0000 -> 0003)
[    1.106588] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    1.108458] SuperH (H)SCI(F) driver initialized
[    1.109419] msm_serial: driver initialized
[    1.110369] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    1.113573] loop: module loaded
[    1.115477] virtio_blk virtio1: [vda] 12000000 512-byte logical blocks (6.14 GB/5.72 GiB)
[    1.124324] libphy: Fixed MDIO Bus: probed
[    1.125080] tun: Universal TUN/TAP device driver, 1.6
[    1.127819] thunder_xcv, ver 1.0
[    1.128424] thunder_bgx, ver 1.0
[    1.129002] nicpf, ver 1.0
[    1.129678] hclge is initializing
[    1.130237] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version
[    1.131904] hns3: Copyright (c) 2017 Huawei Corporation.
[    1.133059] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    1.134258] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    1.135636] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.6.0-k
[    1.136827] igb: Copyright (c) 2007-2014 Intel Corporation.
[    1.137988] igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.4.0-k
[    1.139748] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    1.141114] sky2: driver version 1.30
[    1.142173] VFIO - User Level meta-driver version: 0.3
[    1.147966] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.149338] ehci-pci: EHCI PCI platform driver
[    1.150270] ehci-platform: EHCI generic platform driver
[    1.151947] ehci-orion: EHCI orion driver
[    1.152845] ehci-exynos: EHCI EXYNOS driver
[    1.153749] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.155091] ohci-pci: OHCI PCI platform driver
[    1.156033] ohci-platform: OHCI generic platform driver
[    1.157177] ohci-exynos: OHCI EXYNOS driver
[    1.158240] usbcore: registered new interface driver usb-storage
[    1.160629] rtc-pl031 9010000.pl031: registered as rtc0
[    1.162033] i2c /dev entries driver
[    1.164599] sdhci: Secure Digital Host Controller Interface driver
[    1.165925] sdhci: Copyright(c) Pierre Ossman
[    1.166961] Synopsys Designware Multimedia Card Interface Driver
[    1.168936] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.170752] ledtrig-cpu: registered to indicate activity on CPUs
[    1.172920] usbcore: registered new interface driver usbhid
[    1.174083] usbhid: USB HID core driver
[    1.176164] NET: Registered protocol family 17
[    1.177116] 9pnet: Installing 9P2000 support
[    1.177848] Key type dns_resolver registered
[    1.178701] registered taskstats version 1
[    1.179536] Loading compiled-in X.509 certificates
[    1.180717] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    1.181917] rtc-pl031 9010000.pl031: setting system clock to 2019-08-07T13:23:53 UTC (1565184233)
[    1.184596] ALSA device list:
[    1.185165]   No soundcards found.
[    1.185836] uart-pl011 9000000.pl011: no DMA platform data
[    1.200058] Freeing unused kernel memory: 38848K
[    1.201303] Run /init as init process

Please press Enter to activate this console.
/bin/sh: can't access tty; job control turned off
/ # busybox --version
--version: applet not found
/ # busybox help
help: applet not found
/ # busybox --help
BusyBox v1.22.1 (2014-09-25 18:26:52 BST) multi-call binary.
BusyBox is copyrighted by many authors between 1998-2012.
Licensed under GPLv2. See source distribution for detailed
copyright notices.

Usage: busybox [function [arguments]...]
   or: busybox --list[-full]
   or: busybox --install [-s] [DIR]
   or: function [arguments]...

        BusyBox is a multi-call binary that combines many common Unix
        utilities into a single executable.  Most people will create a
        link to busybox for each function they wish to use and BusyBox
        will act like whatever it was invoked as.

Currently defined functions:
        [, [[, acpid, add-shell, addgroup, adduser, adjtimex, arp, arping, ash,
        awk, base64, basename, beep, blkid, blockdev, bootchartd, brctl,
        bunzip2, bzcat, bzip2, cal, cat, catv, chat, chattr, chgrp, chmod,
        chown, chpasswd, chpst, chroot, chrt, chvt, cksum, clear, cmp, comm,
        conspy, cp, cpio, crond, crontab, cryptpw, cttyhack, cut, date, dc, dd,
        deallocvt, delgroup, deluser, depmod, devmem, df, dhcprelay, diff,
        dirname, dmesg, dnsd, dnsdomainname, dos2unix, du, dumpkmap,
        dumpleases, echo, ed, egrep, eject, env, envdir, envuidgid, ether-wake,
        expand, expr, fakeidentd, false, fbset, fbsplash, fdflush, fdformat,
        fdisk, fgconsole, fgrep, find, findfs, flock, fold, free, freeramdisk,
        fsck, fsck.minix, fstrim, fsync, ftpd, ftpget, ftpput, fuser, getopt,
        getty, grep, groups, gunzip, gzip, halt, hd, hdparm, head, hexdump,
        hostid, hostname, httpd, hush, hwclock, id, ifconfig, ifdown,
        ifenslave, ifplugd, ifup, inetd, init, insmod, install, ionice, iostat,
        ip, ipaddr, ipcalc, ipcrm, ipcs, iplink, iproute, iprule, iptunnel,
        kbd_mode, kill, killall, killall5, klogd, last, less, linux32, linux64,
        linuxrc, ln, loadfont, loadkmap, logger, login, logname, logread,
        losetup, lpd, lpq, lpr, ls, lsattr, lsmod, lsof, lspci, lsusb, lzcat,
        lzma, lzop, lzopcat, makedevs, makemime, man, md5sum, mdev, mesg,
        microcom, mkdir, mkdosfs, mke2fs, mkfifo, mkfs.ext2, mkfs.minix,
        mkfs.vfat, mknod, mkpasswd, mkswap, mktemp, modinfo, modprobe, more,
        mount, mountpoint, mpstat, mt, mv, nameif, nanddump, nandwrite,
        nbd-client, nc, netstat, nice, nmeter, nohup, nslookup, ntpd, od,
        openvt, passwd, patch, pgrep, pidof, ping, ping6, pipe_progress,
        pivot_root, pkill, pmap, popmaildir, poweroff, powertop, printenv,
        printf, ps, pscan, pstree, pwd, pwdx, raidautorun, rdate, rdev,
        readahead, readlink, readprofile, realpath, reboot, reformime,
        remove-shell, renice, reset, resize, rev, rm, rmdir, rmmod, route, rpm,
        rpm2cpio, rtcwake, run-parts, runlevel, runsv, runsvdir, rx, script,
        scriptreplay, sed, sendmail, seq, setarch, setconsole, setfont,
        setkeycodes, setlogcons, setserial, setsid, setuidgid, sh, sha1sum,
        sha256sum, sha3sum, sha512sum, showkey, slattach, sleep, smemcap,
        softlimit, sort, split, start-stop-daemon, stat, strings, stty, su,
        sulogin, sum, sv, svlogd, swapoff, swapon, switch_root, sync, sysctl,
        syslogd, tac, tail, tar, tcpsvd, tee, telnet, telnetd, test, tftp,
        tftpd, time, timeout, top, touch, tr, traceroute, traceroute6, true,
        tty, ttysize, tunctl, ubiattach, ubidetach, ubimkvol, ubirmvol,
        ubirsvol, ubiupdatevol, udhcpc, udhcpd, udpsvd, umount, uname,
        unexpand, uniq, unix2dos, unlzma, unlzop, unxz, unzip, uptime, users,
        usleep, uudecode, uuencode, vconfig, vi, vlock, volname, wall, watch,
        watchdog, wc, wget, which, who, whoami, whois, xargs, xz, xzcat, yes,
        zcat, zcip

/ #
/ #
Please press Enter to activate this console.
/bin/sh: can't access tty; job control turned off
/ # poweroff
swapoff: /etc/fstab: No such file or directory
umount: can't umount /: Invalid argument
The system is going down NOW!
Sent SIGTERM to all processes
Terminated
Sent SIGKILL to all processes
Requesting system poweroff
[  229.194564] reboot: Power down
[mark@gravadlaks:~/repro]%

























































































































[mark@gravadlaks:~/repro]% ./vmboot.sh ~/Image.be-clang
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x431f0af1]
[    0.000000] Linux version 5.3.0-rc3-00001-g9b0f179cd3d1-dirty (mark@lakrids) (clang version 8.0.0 (tags/RELEASE_800/final)) #2 SMP PREEMPT Wed Aug 7 14:20:53 BST 2019
[    0.000000] Machine model: linux,dummy-virt
[    0.000000] earlycon: pl11 at MMIO 0x0000000009000000 (options '')
[    0.000000] printk: bootconsole [pl11] enabled
[    0.000000] cma: Reserved 32 MiB at 0x00000000be000000
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] NUMA: NODE_DATA [mem 0xbdbf1840-0xbdbf2fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] On node 0 totalpages: 524288
[    0.000000]   DMA32 zone: 8192 pages used for memmap
[    0.000000]   DMA32 zone: 0 pages reserved
[    0.000000]   DMA32 zone: 524288 pages, LIFO batch:63
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.1
[    0.000000] percpu: Embedded 23 pages/cpu s56216 r8192 d29800 u94208
[    0.000000] pcpu-alloc: s56216 r8192 d29800 u94208 alloc=23*4096
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516096
[    0.000000] Policy zone: DMA32
[    0.000000] Kernel command line: loglevel=9 rodata=full earlycon root=/dev/vda init=/sbin/reboot -- -f
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 1964648K/2097152K available (11582K kernel code, 1860K rwdata, 5752K rodata, 38848K init, 411K bss, 99736K reserved, 32768K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=1.
[    0.000000]  Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: Distributor has no Range Selector support
[    0.000000] GICv3: no VLPI support, no direct LPI support
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000080a0000
[    0.000000] ITS [mem 0x08080000-0x0809ffff]
[    0.000000] ITS@0x0000000008080000: allocated 8192 Devices @bb030000 (indirect, esz 8, psz 64K, shr 1)
[    0.000000] ITS@0x0000000008080000: allocated 8192 Interrupt Collections @bb040000 (flat, esz 8, psz 64K, shr 1)
[    0.000000] GICv3: using LPI property table @0x00000000bb050000
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000bb060000
[    0.000000] random: get_random_bytes called from start_kernel+0x1d4/0x394 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
[    0.000002] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[    0.002392] Console: colour dummy device 80x25
[    0.003317] printk: console [tty0] enabled
[    0.004171] printk: bootconsole [pl11] disabled
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x431f0af1]
[    0.000000] Linux version 5.3.0-rc3-00001-g9b0f179cd3d1-dirty (mark@lakrids) (clang version 8.0.0 (tags/RELEASE_800/final)) #2 SMP PREEMPT Wed Aug 7 14:20:53 BST 2019
[    0.000000] Machine model: linux,dummy-virt
[    0.000000] earlycon: pl11 at MMIO 0x0000000009000000 (options '')
[    0.000000] printk: bootconsole [pl11] enabled
[    0.000000] cma: Reserved 32 MiB at 0x00000000be000000
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] NUMA: NODE_DATA [mem 0xbdbf1840-0xbdbf2fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] On node 0 totalpages: 524288
[    0.000000]   DMA32 zone: 8192 pages used for memmap
[    0.000000]   DMA32 zone: 0 pages reserved
[    0.000000]   DMA32 zone: 524288 pages, LIFO batch:63
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.1
[    0.000000] percpu: Embedded 23 pages/cpu s56216 r8192 d29800 u94208
[    0.000000] pcpu-alloc: s56216 r8192 d29800 u94208 alloc=23*4096
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516096
[    0.000000] Policy zone: DMA32
[    0.000000] Kernel command line: loglevel=9 rodata=full earlycon root=/dev/vda init=/sbin/reboot -- -f
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 1964648K/2097152K available (11582K kernel code, 1860K rwdata, 5752K rodata, 38848K init, 411K bss, 99736K reserved, 32768K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=1.
[    0.000000]  Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: Distributor has no Range Selector support
[    0.000000] GICv3: no VLPI support, no direct LPI support
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000080a0000
[    0.000000] ITS [mem 0x08080000-0x0809ffff]
[    0.000000] ITS@0x0000000008080000: allocated 8192 Devices @bb030000 (indirect, esz 8, psz 64K, shr 1)
[    0.000000] ITS@0x0000000008080000: allocated 8192 Interrupt Collections @bb040000 (flat, esz 8, psz 64K, shr 1)
[    0.000000] GICv3: using LPI property table @0x00000000bb050000
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000bb060000
[    0.000000] random: get_random_bytes called from start_kernel+0x1d4/0x394 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
[    0.000002] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[    0.002392] Console: colour dummy device 80x25
[    0.003317] printk: console [tty0] enabled
[    0.004171] printk: bootconsole [pl11] disabled
[    0.005144] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
[    0.005151] pid_max: default: 32768 minimum: 301
[    0.005175] LSM: Security Framework initializing
[    0.005198] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.005206] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.026500] ASID allocator initialised with 32768 entries
[    0.034531] rcu: Hierarchical SRCU implementation.
[    0.042612] Platform MSI: its@8080000 domain created
[    0.042629] PCI/MSI: /intc@8000000/its@8080000 domain created
[    0.050617] smp: Bringing up secondary CPUs ...
[    0.050624] smp: Brought up 1 node, 1 CPU
[    0.050627] SMP: Total of 1 processors activated.
[    0.050632] CPU features: detected: Privileged Access Never
[    0.050636] CPU features: detected: LSE atomic instructions
[    0.050640] CPU features: detected: RAS Extension Support
[    0.050644] CPU features: detected: CRC32 instructions
[    0.050664] CPU: All CPU(s) started at EL1
[    0.050670] alternatives: patching kernel code
[    0.053393] devtmpfs: initialized
[    0.054728] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.054739] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
[    0.054952] pinctrl core: initialized pinctrl subsystem
[    0.055293] NET: Registered protocol family 16
[    0.055355] audit: initializing netlink subsys (disabled)
[    0.055610] audit: type=2000 audit(0.056:1): state=initialized audit_enabled=0 res=1
[    0.058679] cpuidle: using governor menu
[    0.058739] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.059505] DMA: preallocated 256 KiB pool for atomic allocations
[    0.059761] Serial: AMBA PL011 UART driver
[    0.062404] 9000000.pl011: ttyAMA0 at MMIO 0x9000000 (irq = 39, base_baud = 0) is a PL011 rev1
[    0.154551] printk: console [ttyAMA0] enabled
[    0.159532] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.160704] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[    0.161945] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.163014] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[    0.172396] cryptd: max_cpu_qlen set to 1000
[    0.188541] vgaarb: loaded
[    0.189257] SCSI subsystem initialized
[    0.192493] libata version 3.00 loaded.
[    0.193251] usbcore: registered new interface driver usbfs
[    0.194165] usbcore: registered new interface driver hub
[    0.195048] usbcore: registered new device driver usb
[    0.196037] pps_core: LinuxPPS API ver. 1 registered
[    0.197052] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.198675] PTP clock support registered
[    0.199402] EDAC MC: Ver: 3.0.0
[    0.205125] FPGA manager framework
[    0.205734] Advanced Linux Sound Architecture Driver Initialized.
[    0.206909] clocksource: Switched to clocksource arch_sys_counter
[    0.207941] VFS: Disk quotas dquot_6.6.0
[    0.208604] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.211337] thermal_sys: Registered thermal governor 'step_wise'
[    0.211339] thermal_sys: Registered thermal governor 'power_allocator'
[    0.212372] NET: Registered protocol family 2
[    0.214371] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    0.216248] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.217712] TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear)
[    0.218979] TCP: Hash tables configured (established 16384 bind 16384)
[    0.220071] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.221208] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.222501] NET: Registered protocol family 1
[    0.235747] RPC: Registered named UNIX socket transport module.
[    0.236757] RPC: Registered udp transport module.
[    0.237513] RPC: Registered tcp transport module.
[    0.238273] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.239486] PCI: CLS 0 bytes, default 64
[    0.847684] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    0.877150] kvm [1]: HYP mode not available
[    0.882051] Initialise system trusted keyrings
[    0.882941] workingset: timestamp_bits=44 max_order=19 bucket_order=0
[    0.885650] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.890850] NFS: Registering the id_resolver key type
[    0.892011] Key type id_resolver registered
[    0.892718] Key type id_legacy registered
[    0.893379] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.894617] 9p: Installing v9fs 9p2000 file system support
[    0.905232] Key type asymmetric registered
[    0.906003] Asymmetric key parser 'x509' registered
[    0.906827] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    0.908506] io scheduler mq-deadline registered
[    0.909330] io scheduler kyber registered
[    0.912451] pl061_gpio 9030000.pl061: PL061 GPIO chip registered
[    0.913982] pci-host-generic 4010000000.pcie: host bridge /pcie@10000000 ranges:
[    0.915435] pci-host-generic 4010000000.pcie:    IO 0x3eff0000..0x3effffff -> 0x00000000
[    0.916768] pci-host-generic 4010000000.pcie:   MEM 0x10000000..0x3efeffff -> 0x10000000
[    0.918077] pci-host-generic 4010000000.pcie:   MEM 0x8000000000..0xffffffffff -> 0x8000000000
[    0.919721] pci-host-generic 4010000000.pcie: ECAM at [mem 0x4010000000-0x401fffffff] for [bus 00-ff]
[    0.921262] pci-host-generic 4010000000.pcie: PCI host bridge to bus 0000:00
[    0.922467] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.923675] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.924709] pci_bus 0000:00: root bus resource [mem 0x10000000-0x3efeffff]
[    0.925828] pci_bus 0000:00: root bus resource [mem 0x8000000000-0xffffffffff]
[    0.927207] pci 0000:00:00.0: [1b36:0008] type 00 class 0x060000
[    0.928607] pci 0000:00:01.0: [1af4:1000] type 00 class 0x020000
[    0.929792] pci 0000:00:01.0: reg 0x10: [io  0x0000-0x001f]
[    0.930721] pci 0000:00:01.0: reg 0x14: [mem 0x00000000-0x00000fff]
[    0.932208] pci 0000:00:01.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit pref]
[    0.933542] pci 0000:00:01.0: reg 0x30: [mem 0x00000000-0x0003ffff pref]
[    0.935114] pci 0000:00:02.0: [1af4:1001] type 00 class 0x010000
[    0.936226] pci 0000:00:02.0: reg 0x10: [io  0x0000-0x007f]
[    0.937177] pci 0000:00:02.0: reg 0x14: [mem 0x00000000-0x00000fff]
[    0.938298] pci 0000:00:02.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit pref]
[    0.940275] pci 0000:00:01.0: BAR 6: assigned [mem 0x10000000-0x1003ffff pref]
[    0.941465] pci 0000:00:01.0: BAR 4: assigned [mem 0x8000000000-0x8000003fff 64bit pref]
[    0.942849] pci 0000:00:02.0: BAR 4: assigned [mem 0x8000004000-0x8000007fff 64bit pref]
[    0.944866] pci 0000:00:01.0: BAR 1: assigned [mem 0x10040000-0x10040fff]
[    0.945974] pci 0000:00:02.0: BAR 1: assigned [mem 0x10041000-0x10041fff]
[    0.947193] pci 0000:00:02.0: BAR 0: assigned [io  0x1000-0x107f]
[    0.948277] pci 0000:00:01.0: BAR 0: assigned [io  0x1080-0x109f]
[    0.952525] virtio-pci 0000:00:01.0: enabling device (0000 -> 0003)
[    0.956538] virtio-pci 0000:00:02.0: enabling device (0000 -> 0003)
[    0.960969] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.962824] SuperH (H)SCI(F) driver initialized
[    0.964039] msm_serial: driver initialized
[    0.965015] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.968075] loop: module loaded
[    0.969973] virtio_blk virtio1: [vda] 12000000 512-byte logical blocks (6.14 GB/5.72 GiB)
[    0.982789] libphy: Fixed MDIO Bus: probed
[    0.983945] tun: Universal TUN/TAP device driver, 1.6
[    0.988551] thunder_xcv, ver 1.0
[    0.989117] thunder_bgx, ver 1.0
[    0.989633] nicpf, ver 1.0
[    0.990238] hclge is initializing
[    0.990759] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version
[    0.992237] hns3: Copyright (c) 2017 Huawei Corporation.
[    0.993104] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    0.993996] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    0.994903] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.6.0-k
[    0.996375] igb: Copyright (c) 2007-2014 Intel Corporation.
[    0.997265] igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.4.0-k
[    0.998460] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    0.999655] sky2: driver version 1.30
[    1.000473] VFIO - User Level meta-driver version: 0.3
[    1.005825] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.006832] ehci-pci: EHCI PCI platform driver
[    1.007770] ehci-platform: EHCI generic platform driver
[    1.008627] ehci-orion: EHCI orion driver
[    1.009279] ehci-exynos: EHCI EXYNOS driver
[    1.009956] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.010908] ohci-pci: OHCI PCI platform driver
[    1.011619] ohci-platform: OHCI generic platform driver
[    1.012459] ohci-exynos: OHCI EXYNOS driver
[    1.013286] usbcore: registered new interface driver usb-storage
[    1.015000] rtc-pl031 9010000.pl031: registered as rtc0
[    1.016050] i2c /dev entries driver
[    1.017949] sdhci: Secure Digital Host Controller Interface driver
[    1.018894] sdhci: Copyright(c) Pierre Ossman
[    1.019919] Synopsys Designware Multimedia Card Interface Driver
[    1.021121] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.022399] ledtrig-cpu: registered to indicate activity on CPUs
[    1.023827] usbcore: registered new interface driver usbhid
[    1.024703] usbhid: USB HID core driver
[    1.026302] NET: Registered protocol family 17
[    1.027116] 9pnet: Installing 9P2000 support
[    1.027802] Key type dns_resolver registered
[    1.028633] registered taskstats version 1
[    1.029277] Loading compiled-in X.509 certificates
[    1.030352] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    1.031659] rtc-pl031 9010000.pl031: setting system clock to 2019-08-07T13:27:45 UTC (1565184465)
[    1.034034] ALSA device list:
[    1.034499]   No soundcards found.
[    1.035197] uart-pl011 9000000.pl011: no DMA platform data
[    1.058358] Freeing unused kernel memory: 38848K
[    1.059303] Run /init as init process

Please press Enter to activate this console.
/bin/sh: can't access tty; job control turned off
/ # busybox --help
BusyBox v1.22.1 (2014-09-25 18:26:52 BST) multi-call binary.
BusyBox is copyrighted by many authors between 1998-2012.
Licensed under GPLv2. See source distribution for detailed
copyright notices.

Usage: busybox [function [arguments]...]
   or: busybox --list[-full]
   or: busybox --install [-s] [DIR]
   or: function [arguments]...

        BusyBox is a multi-call binary that combines many common Unix
        utilities into a single executable.  Most people will create a
        link to busybox for each function they wish to use and BusyBox
        will act like whatever it was invoked as.

Currently defined functions:
        [, [[, acpid, add-shell, addgroup, adduser, adjtimex, arp, arping, ash,
        awk, base64, basename, beep, blkid, blockdev, bootchartd, brctl,
        bunzip2, bzcat, bzip2, cal, cat, catv, chat, chattr, chgrp, chmod,
        chown, chpasswd, chpst, chroot, chrt, chvt, cksum, clear, cmp, comm,
        conspy, cp, cpio, crond, crontab, cryptpw, cttyhack, cut, date, dc, dd,
        deallocvt, delgroup, deluser, depmod, devmem, df, dhcprelay, diff,
        dirname, dmesg, dnsd, dnsdomainname, dos2unix, du, dumpkmap,
        dumpleases, echo, ed, egrep, eject, env, envdir, envuidgid, ether-wake,
        expand, expr, fakeidentd, false, fbset, fbsplash, fdflush, fdformat,
        fdisk, fgconsole, fgrep, find, findfs, flock, fold, free, freeramdisk,
        fsck, fsck.minix, fstrim, fsync, ftpd, ftpget, ftpput, fuser, getopt,
        getty, grep, groups, gunzip, gzip, halt, hd, hdparm, head, hexdump,
        hostid, hostname, httpd, hush, hwclock, id, ifconfig, ifdown,
        ifenslave, ifplugd, ifup, inetd, init, insmod, install, ionice, iostat,
        ip, ipaddr, ipcalc, ipcrm, ipcs, iplink, iproute, iprule, iptunnel,
        kbd_mode, kill, killall, killall5, klogd, last, less, linux32, linux64,
        linuxrc, ln, loadfont, loadkmap, logger, login, logname, logread,
        losetup, lpd, lpq, lpr, ls, lsattr, lsmod, lsof, lspci, lsusb, lzcat,
        lzma, lzop, lzopcat, makedevs, makemime, man, md5sum, mdev, mesg,
        microcom, mkdir, mkdosfs, mke2fs, mkfifo, mkfs.ext2, mkfs.minix,
        mkfs.vfat, mknod, mkpasswd, mkswap, mktemp, modinfo, modprobe, more,
        mount, mountpoint, mpstat, mt, mv, nameif, nanddump, nandwrite,
        nbd-client, nc, netstat, nice, nmeter, nohup, nslookup, ntpd, od,
        openvt, passwd, patch, pgrep, pidof, ping, ping6, pipe_progress,
        pivot_root, pkill, pmap, popmaildir, poweroff, powertop, printenv,
        printf, ps, pscan, pstree, pwd, pwdx, raidautorun, rdate, rdev,
        readahead, readlink, readprofile, realpath, reboot, reformime,
        remove-shell, renice, reset, resize, rev, rm, rmdir, rmmod, route, rpm,
        rpm2cpio, rtcwake, run-parts, runlevel, runsv, runsvdir, rx, script,
        scriptreplay, sed, sendmail, seq, setarch, setconsole, setfont,
        setkeycodes, setlogcons, setserial, setsid, setuidgid, sh, sha1sum,
        sha256sum, sha3sum, sha512sum, showkey, slattach, sleep, smemcap,
        softlimit, sort, split, start-stop-daemon, stat, strings, stty, su,
        sulogin, sum, sv, svlogd, swapoff, swapon, switch_root, sync, sysctl,
        syslogd, tac, tail, tar, tcpsvd, tee, telnet, telnetd, test, tftp,
        tftpd, time, timeout, top, touch, tr, traceroute, traceroute6, true,
        tty, ttysize, tunctl, ubiattach, ubidetach, ubimkvol, ubirmvol,
        ubirsvol, ubiupdatevol, udhcpc, udhcpd, udpsvd, umount, uname,
        unexpand, uniq, unix2dos, unlzma, unlzop, unxz, unzip, uptime, users,
        usleep, uudecode, uuencode, vconfig, vi, vlock, volname, wall, watch,
        watchdog, wc, wget, which, who, whoami, whois, xargs, xz, xzcat, yes,
        zcat, zcip

/ # uname -a
Linux (none) 5.3.0-rc3-00001-g9b0f179cd3d1-dirty #2 SMP PREEMPT Wed Aug 7 14:20:53 BST 2019 aarch64_be GNU/Linux
/ # poweroff
swapoff: /etc/fstab: No such file or directory
umount: can't umount /: Invalid argument
The system is going down NOW!
Sent SIGTERM to all processes
Terminated
Sent SIGKILL to all processes
Requesting system poweroff
[   12.838390] reboot: Power down
[

_______________________________________________
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] 13+ messages in thread

* Re: [PATCH] arm64: Disable big endian builds with clang
  2019-08-07 13:56     ` Mark Rutland
@ 2019-08-07 14:14       ` Mark Rutland
  2019-08-07 15:29       ` Mark Brown
  1 sibling, 0 replies; 13+ messages in thread
From: Mark Rutland @ 2019-08-07 14:14 UTC (permalink / raw)
  To: Mark Brown
  Cc: Tri Vo, Catalin Marinas, Nick Desaulniers, clang-built-linux,
	Nathan Chancellor, Will Deacon, linux-arm-kernel

On Wed, Aug 07, 2019 at 02:56:19PM +0100, Mark Rutland wrote:
> On Wed, Aug 07, 2019 at 02:05:27PM +0100, Mark Brown wrote:
> > On Wed, Aug 07, 2019 at 02:01:11PM +0100, Mark Rutland wrote:
> > > On Tue, Aug 06, 2019 at 07:39:18PM +0100, Mark Brown wrote:
> > 
> > > Judging by the kernel log linked in a reply, this is with:
> > 
> > > * clang version 8.0.1-svn359952-1~exp1~20190504004501.65 (branches/release_80)
> > 
> > >   Is that the llvm.org binary release, or a custom build of clang?
> > 
> > It's from a llvm.org .deb.
> > 
> > > * Linux 5.3.0-rc2-next-20190730
> > 
> > >   Could we previously build a BE kernel with clang? If so, what's the
> > >   last working kernel?
> > 
> > As far as I know this has been broken for as long as we tried building
> > and booting big endian kernels in clang.  The compile works fine, it's
> > just that the resulting binary doesn't seem to be working so well.
> 
> I've just had a go, and it works for me. Log below from a BE busybox,
> but I also have a BE buildroot filesystem working.
> 
> For reference, I'm using:
> 
> * Linux v5.3-rc3 defconfig
> * LLVM 8.0.0 (x86_64) from llvm.org
> * GCC 8.1.0 (x86_64) from kernel.org crosstool
> 
> ... so I don't think we should blacklist this just yet, but we certainly
> need to better understand the issue you're seeing. I'll have a go with
> LLVM 8.0.1 in case there's a regression from 8.0.0 to 8.0.1.

FWIW, using LLVM 8.0.1 also works for me, everything else being
unchanged.

Thanks,
Mark.

_______________________________________________
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] 13+ messages in thread

* Re: [PATCH] arm64: Disable big endian builds with clang
  2019-08-07 12:38     ` Mark Brown
@ 2019-08-07 14:41       ` Robin Murphy
  2019-08-07 16:01         ` Mark Brown
  0 siblings, 1 reply; 13+ messages in thread
From: Robin Murphy @ 2019-08-07 14:41 UTC (permalink / raw)
  To: Mark Brown, Nick Desaulniers
  Cc: Tri Vo, Catalin Marinas, Nathan Huckleberry, clang-built-linux,
	Nathan Chancellor, Will Deacon, Linux ARM

On 07/08/2019 13:38, Mark Brown wrote:
> On Tue, Aug 06, 2019 at 04:47:23PM -0700, Nick Desaulniers wrote:
>> On Tue, Aug 6, 2019 at 2:25 PM Nick Desaulniers <ndesaulniers@google.com> wrote:
>>> On Tue, Aug 6, 2019 at 11:39 AM Mark Brown <broonie@kernel.org> wrote:
> 
>> +Huck
>> Huck notes that the device eventually boots in qemu, it just takes on
>> the order of 165 seconds to boot.  What's the timeout on KernelCI?
> 
> It's not a timeout in kernelci, it's the kernel timing out being unable
> to find something in userspace being booted it can use as /init (there's
> a timeout in that process to cope with network filesystems).  IIRC it's
> about 2 minutes.  You can see this clearly in the logs I pointed you at:
> 
> | You can see a bunch of reports here (all the big endian failures):
> 
> |         https://kernelci.org/boot/all/job/next/branch/master/kernel/next-20190730/
> 
> For example:
> 
> 	https://storage.kernelci.org/next/master/next-20190730/arm64/defconfig+CONFIG_CPU_BIG_ENDIAN=y/clang-8/lab-baylibre/boot-meson-gxbb-nanopi-k2.html

I thought it looked suspicious that there were EFI messages in that boot 
log; from that job's config: 
https://storage.kernelci.org/next/master/next-20190730/arm64/defconfig+CONFIG_CPU_BIG_ENDIAN=y/clang-8/kernel.config

...
# CONFIG_CPU_BIG_ENDIAN is not set
...


I think that's a kernelci problem...

Robin.

> 
>> I think if we can determine why we see:
>> [  144.626755] request_module: kmod_concurrent_max (0) close to 0
>> (max_modprobes: 50), for module binfmt-4c46, throttling...
>> [  149.752826] request_module: modprobe binfmt-4c46 cannot be
>> processed, kmod busy with 50 threads for more than 5 seconds now
> 
>> a lot, then we don't actually need to disable this outright when
>> building w/ Clang?
> 
> Those error messages are happening because the kernel can't figure out
> how to execute a binary it's trying to run, like I say the module it's
> trying to load is binfmt_misc.  If the kernel can't work out how to
> execute userspace it's not terribly useful.
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 

_______________________________________________
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] 13+ messages in thread

* Re: [PATCH] arm64: Disable big endian builds with clang
  2019-08-07 13:56     ` Mark Rutland
  2019-08-07 14:14       ` Mark Rutland
@ 2019-08-07 15:29       ` Mark Brown
  2019-08-07 15:43         ` Mark Rutland
  1 sibling, 1 reply; 13+ messages in thread
From: Mark Brown @ 2019-08-07 15:29 UTC (permalink / raw)
  To: Mark Rutland
  Cc: Tri Vo, Catalin Marinas, Nick Desaulniers, clang-built-linux,
	Matt Hart, Nathan Chancellor, Will Deacon, linux-arm-kernel


[-- Attachment #1.1: Type: text/plain, Size: 1904 bytes --]

On Wed, Aug 07, 2019 at 02:56:19PM +0100, Mark Rutland wrote:
> On Wed, Aug 07, 2019 at 02:05:27PM +0100, Mark Brown wrote:

> > As far as I know this has been broken for as long as we tried building
> > and booting big endian kernels in clang.  The compile works fine, it's
> > just that the resulting binary doesn't seem to be working so well.

> I've just had a go, and it works for me. Log below from a BE busybox,
> but I also have a BE buildroot filesystem working.

Copying Matt who can actually look at the jobs getting submitted.  The
rootfs we're using should be:

	https://storage.kernelci.org/images/rootfs/buildroot/arm64be/

> From your log, it looks like the kernel is trying to launch init via
> binfmt_misc, using binfmt-464c. It could be that the file is corrupted
> somehow, or something's going wrong with binfmt. I haven't delved into
> that.

You can see the exact image being used in the reports I linked:

	https://storage.kernelci.org/next/master/next-20190730/arm64/defconfig+CONFIG_CPU_BIG_ENDIAN=y/clang-8/Image

> Are you using the right filesystem (and is the kernel definitely
> identifying itself as BE in the Image header flags)?

I'm assured that we're using the same rootfs as the GCC BE builds, sadly
neither of the labs that has boards configured to allow BE boots gives
enough access for me to verify that personally.

> This could be a dynamic loader issue -- my busybox is statically linked,
> and I'm not sure about my buildroot filesystem.

> This could be platform-specific; I'm booting under a KVM/QEMU VM on
> ThunderX2, using virtio-block for storage.

It's failing on every single platform we're trying, that's not as many
as it should be but it's still a bunch of physical platforms and like I
say the variable is the compiler.  A platform issue that only manifests
in the handover to userspace on multiple boards doesn't seem like the
most likely avenue.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
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] 13+ messages in thread

* Re: [PATCH] arm64: Disable big endian builds with clang
  2019-08-07 15:29       ` Mark Brown
@ 2019-08-07 15:43         ` Mark Rutland
  2019-08-07 16:19           ` Mark Brown
  0 siblings, 1 reply; 13+ messages in thread
From: Mark Rutland @ 2019-08-07 15:43 UTC (permalink / raw)
  To: Mark Brown
  Cc: Tri Vo, Catalin Marinas, Nick Desaulniers, clang-built-linux,
	Matt Hart, Nathan Chancellor, Will Deacon, linux-arm-kernel

On Wed, Aug 07, 2019 at 04:29:34PM +0100, Mark Brown wrote:
> On Wed, Aug 07, 2019 at 02:56:19PM +0100, Mark Rutland wrote:
> > On Wed, Aug 07, 2019 at 02:05:27PM +0100, Mark Brown wrote:
> You can see the exact image being used in the reports I linked:
> 
> 	https://storage.kernelci.org/next/master/next-20190730/arm64/defconfig+CONFIG_CPU_BIG_ENDIAN=y/clang-8/Image

That confirms what Robin suggested [1] from looking at the config: this
is a little-endian kernel.

The Image header flags the big-endian bit is 0, and it succcessfully
boots with a little-endian rootfs; log below.

Thanks,
Mark.

[1] https://lore.kernel.org/r/ec7bef46-7dcf-d165-b772-b4fd6055d964@arm.com

---->8----
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x431f0af1]
[    0.000000] Linux version 5.3.0-rc2-next-20190730 (KernelCI@30d217901839) (clang version 8.0.1-svn359952-1~exp1~20190504004501.65 (branches/release_80)) #1 SMP PREEMPT Tue Jul 30 06:50:57 UTC 2019
[    0.000000] Machine model: linux,dummy-virt
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 32 MiB at 0x00000000be000000
[    0.000000] earlycon: pl11 at MMIO 0x0000000009000000 (options '')
[    0.000000] printk: bootconsole [pl11] enabled
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] NUMA: NODE_DATA [mem 0xbdbf3840-0xbdbf4fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] On node 0 totalpages: 524288
[    0.000000]   DMA32 zone: 8192 pages used for memmap
[    0.000000]   DMA32 zone: 0 pages reserved
[    0.000000]   DMA32 zone: 524288 pages, LIFO batch:63
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.1
[    0.000000] percpu: Embedded 23 pages/cpu s56856 r8192 d29160 u94208
[    0.000000] pcpu-alloc: s56856 r8192 d29160 u94208 alloc=23*4096
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516096
[    0.000000] Policy zone: DMA32
[    0.000000] Kernel command line: loglevel=9 rodata=full earlycon root=/dev/vda
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 1997596K/2097152K available (12028K kernel code, 1912K rwdata, 6004K rodata, 5184K init, 448K bss, 66788K reserved, 32768K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=1.
[    0.000000]  Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: Distributor has no Range Selector support
[    0.000000] GICv3: no VLPI support, no direct LPI support
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000080a0000
[    0.000000] ITS [mem 0x08080000-0x0809ffff]
[    0.000000] ITS@0x0000000008080000: allocated 8192 Devices @bb030000 (indirect, esz 8, psz 64K, shr 1)
[    0.000000] ITS@0x0000000008080000: allocated 8192 Interrupt Collections @bb040000 (flat, esz 8, psz 64K, shr 1)
[    0.000000] GICv3: using LPI property table @0x00000000bb050000
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000bb060000
[    0.000000] random: get_random_bytes called from start_kernel+0x1d4/0x39c with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
[    0.000008] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[    0.003286] Console: colour dummy device 80x25
[    0.004711] printk: console [tty0] enabled
[    0.006114] printk: bootconsole [pl11] disabled
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x431f0af1]
[    0.000000] Linux version 5.3.0-rc2-next-20190730 (KernelCI@30d217901839) (clang version 8.0.1-svn359952-1~exp1~20190504004501.65 (branches/release_80)) #1 SMP PREEMPT Tue Jul 30 06:50:57 UTC 2019
[    0.000000] Machine model: linux,dummy-virt
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 32 MiB at 0x00000000be000000
[    0.000000] earlycon: pl11 at MMIO 0x0000000009000000 (options '')
[    0.000000] printk: bootconsole [pl11] enabled
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] NUMA: NODE_DATA [mem 0xbdbf3840-0xbdbf4fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] On node 0 totalpages: 524288
[    0.000000]   DMA32 zone: 8192 pages used for memmap
[    0.000000]   DMA32 zone: 0 pages reserved
[    0.000000]   DMA32 zone: 524288 pages, LIFO batch:63
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.1
[    0.000000] percpu: Embedded 23 pages/cpu s56856 r8192 d29160 u94208
[    0.000000] pcpu-alloc: s56856 r8192 d29160 u94208 alloc=23*4096
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516096
[    0.000000] Policy zone: DMA32
[    0.000000] Kernel command line: loglevel=9 rodata=full earlycon root=/dev/vda
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 1997596K/2097152K available (12028K kernel code, 1912K rwdata, 6004K rodata, 5184K init, 448K bss, 66788K reserved, 32768K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=1.
[    0.000000]  Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: Distributor has no Range Selector support
[    0.000000] GICv3: no VLPI support, no direct LPI support
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000080a0000
[    0.000000] ITS [mem 0x08080000-0x0809ffff]
[    0.000000] ITS@0x0000000008080000: allocated 8192 Devices @bb030000 (indirect, esz 8, psz 64K, shr 1)
[    0.000000] ITS@0x0000000008080000: allocated 8192 Interrupt Collections @bb040000 (flat, esz 8, psz 64K, shr 1)
[    0.000000] GICv3: using LPI property table @0x00000000bb050000
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000bb060000
[    0.000000] random: get_random_bytes called from start_kernel+0x1d4/0x39c with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
[    0.000008] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[    0.003286] Console: colour dummy device 80x25
[    0.004711] printk: console [tty0] enabled
[    0.006114] printk: bootconsole [pl11] disabled
[    0.007538] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
[    0.007551] pid_max: default: 32768 minimum: 301
[    0.007581] LSM: Security Framework initializing
[    0.007608] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.007620] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.031972] ASID allocator initialised with 32768 entries
[    0.040072] rcu: Hierarchical SRCU implementation.
[    0.048261] Platform MSI: its@8080000 domain created
[    0.048294] PCI/MSI: /intc@8000000/its@8080000 domain created
[    0.048599] EFI services will not be available.
[    0.056343] smp: Bringing up secondary CPUs ...
[    0.056358] smp: Brought up 1 node, 1 CPU
[    0.056364] SMP: Total of 1 processors activated.
[    0.056372] CPU features: detected: Privileged Access Never
[    0.056378] CPU features: detected: LSE atomic instructions
[    0.056385] CPU features: detected: RAS Extension Support
[    0.056390] CPU features: detected: CRC32 instructions
[    0.056422] CPU: All CPU(s) started at EL1
[    0.056433] alternatives: patching kernel code
[    0.060214] devtmpfs: initialized
[    0.064667] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.064698] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
[    0.065319] pinctrl core: initialized pinctrl subsystem
[    0.065982] DMI not present or invalid.
[    0.066218] NET: Registered protocol family 16
[    0.066370] audit: initializing netlink subsys (disabled)
[    0.068996] audit: type=2000 audit(0.064:1): state=initialized audit_enabled=0 res=1
[    0.073011] cpuidle: using governor menu
[    0.073154] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.074272] DMA: preallocated 256 KiB pool for atomic allocations
[    0.074866] Serial: AMBA PL011 UART driver
[    0.080484] 9000000.pl011: ttyAMA0 at MMIO 0x9000000 (irq = 39, base_baud = 0) is a PL011 rev1
[    0.229613] printk: console [ttyAMA0] enabled
[    0.239415] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.241407] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[    0.243419] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.245647] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[    0.255900] cryptd: max_cpu_qlen set to 1000
[    0.268422] ACPI: Interpreter disabled.
[    0.272279] vgaarb: loaded
[    0.273044] SCSI subsystem initialized
[    0.276232] libata version 3.00 loaded.
[    0.277368] usbcore: registered new interface driver usbfs
[    0.278868] usbcore: registered new interface driver hub
[    0.280448] usbcore: registered new device driver usb
[    0.282241] pps_core: LinuxPPS API ver. 1 registered
[    0.283441] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.285880] PTP clock support registered
[    0.286815] EDAC MC: Ver: 3.0.0
[    0.294074] FPGA manager framework
[    0.295226] Advanced Linux Sound Architecture Driver Initialized.
[    0.297068] clocksource: Switched to clocksource arch_sys_counter
[    0.298920] VFS: Disk quotas dquot_6.6.0
[    0.300084] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.302592] pnp: PnP ACPI: disabled
[    0.305599] thermal_sys: Registered thermal governor 'step_wise'
[    0.305601] thermal_sys: Registered thermal governor 'power_allocator'
[    0.307263] NET: Registered protocol family 2
[    0.310373] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    0.312314] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.314627] TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear)
[    0.316540] TCP: Hash tables configured (established 16384 bind 16384)
[    0.318499] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.320465] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.322749] NET: Registered protocol family 1
[    0.336608] RPC: Registered named UNIX socket transport module.
[    0.338472] RPC: Registered udp transport module.
[    0.339675] RPC: Registered tcp transport module.
[    0.340980] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.343132] PCI: CLS 0 bytes, default 64
[    0.344482] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    0.347065] kvm [1]: HYP mode not available
[    0.351832] Initialise system trusted keyrings
[    0.352989] workingset: timestamp_bits=44 max_order=19 bucket_order=0
[    0.357762] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.363821] NFS: Registering the id_resolver key type
[    0.365144] Key type id_resolver registered
[    0.365963] Key type id_legacy registered
[    0.366969] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.368424] 9p: Installing v9fs 9p2000 file system support
[    0.378865] Key type asymmetric registered
[    0.379958] Asymmetric key parser 'x509' registered
[    0.381016] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    0.383497] io scheduler mq-deadline registered
[    0.384538] io scheduler kyber registered
[    0.388367] pl061_gpio 9030000.pl061: PL061 GPIO chip registered
[    0.390238] pci-host-generic 4010000000.pcie: host bridge /pcie@10000000 ranges:
[    0.391780] pci-host-generic 4010000000.pcie:    IO 0x3eff0000..0x3effffff -> 0x00000000
[    0.393604] pci-host-generic 4010000000.pcie:   MEM 0x10000000..0x3efeffff -> 0x10000000
[    0.395182] pci-host-generic 4010000000.pcie:   MEM 0x8000000000..0xffffffffff -> 0x8000000000
[    0.396830] pci-host-generic 4010000000.pcie: ECAM at [mem 0x4010000000-0x401fffffff] for [bus 00-ff]
[    0.399261] pci-host-generic 4010000000.pcie: PCI host bridge to bus 0000:00
[    0.400526] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.401684] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.402759] pci_bus 0000:00: root bus resource [mem 0x10000000-0x3efeffff]
[    0.404202] pci_bus 0000:00: root bus resource [mem 0x8000000000-0xffffffffff]
[    0.405634] pci 0000:00:00.0: [1b36:0008] type 00 class 0x060000
[    0.407312] pci 0000:00:01.0: [1af4:1000] type 00 class 0x020000
[    0.408801] pci 0000:00:01.0: reg 0x10: [io  0x0000-0x001f]
[    0.409984] pci 0000:00:01.0: reg 0x14: [mem 0x00000000-0x00000fff]
[    0.411504] pci 0000:00:01.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit pref]
[    0.413840] pci 0000:00:01.0: reg 0x30: [mem 0x00000000-0x0003ffff pref]
[    0.416196] pci 0000:00:02.0: [1af4:1001] type 00 class 0x010000
[    0.417822] pci 0000:00:02.0: reg 0x10: [io  0x0000-0x007f]
[    0.419063] pci 0000:00:02.0: reg 0x14: [mem 0x00000000-0x00000fff]
[    0.420334] pci 0000:00:02.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit pref]
[    0.423194] pci 0000:00:01.0: BAR 6: assigned [mem 0x10000000-0x1003ffff pref]
[    0.424869] pci 0000:00:01.0: BAR 4: assigned [mem 0x8000000000-0x8000003fff 64bit pref]
[    0.427018] pci 0000:00:02.0: BAR 4: assigned [mem 0x8000004000-0x8000007fff 64bit pref]
[    0.428507] pci 0000:00:01.0: BAR 1: assigned [mem 0x10040000-0x10040fff]
[    0.430560] pci 0000:00:02.0: BAR 1: assigned [mem 0x10041000-0x10041fff]
[    0.432139] pci 0000:00:02.0: BAR 0: assigned [io  0x1000-0x107f]
[    0.433657] pci 0000:00:01.0: BAR 0: assigned [io  0x1080-0x109f]
[    0.439764] EINJ: ACPI disabled.
[    0.444641] virtio-pci 0000:00:01.0: enabling device (0000 -> 0003)
[    0.449017] virtio-pci 0000:00:02.0: enabling device (0000 -> 0003)
[    0.455905] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.458373] SuperH (H)SCI(F) driver initialized
[    0.459684] msm_serial: driver initialized
[    0.461407] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.465763] loop: module loaded
[    0.468068] virtio_blk virtio1: [vda] 12000000 512-byte logical blocks (6.14 GB/5.72 GiB)
[    0.477848] libphy: Fixed MDIO Bus: probed
[    0.478986] tun: Universal TUN/TAP device driver, 1.6
[    0.482174] thunder_xcv, ver 1.0
[    0.482970] thunder_bgx, ver 1.0
[    0.483806] nicpf, ver 1.0
[    0.484754] hclge is initializing
[    0.485736] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version
[    0.487390] hns3: Copyright (c) 2017 Huawei Corporation.
[    0.488827] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    0.490682] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    0.492067] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.6.0-k
[    0.493889] igb: Copyright (c) 2007-2014 Intel Corporation.
[    0.495332] igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.4.0-k
[    0.498230] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    0.499893] sky2: driver version 1.30
[    0.501195] VFIO - User Level meta-driver version: 0.3
[    0.507337] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.509403] ehci-pci: EHCI PCI platform driver
[    0.510865] ehci-platform: EHCI generic platform driver
[    0.512295] ehci-orion: EHCI orion driver
[    0.513372] ehci-exynos: EHCI EXYNOS driver
[    0.514497] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.515985] ohci-pci: OHCI PCI platform driver
[    0.516978] ohci-platform: OHCI generic platform driver
[    0.518568] ohci-exynos: OHCI EXYNOS driver
[    0.520044] usbcore: registered new interface driver usb-storage
[    0.522710] rtc-pl031 9010000.pl031: registered as rtc0
[    0.524262] i2c /dev entries driver
[    0.527836] sdhci: Secure Digital Host Controller Interface driver
[    0.529490] sdhci: Copyright(c) Pierre Ossman
[    0.530893] Synopsys Designware Multimedia Card Interface Driver
[    0.532651] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.535051] ledtrig-cpu: registered to indicate activity on CPUs
[    0.537058] usbcore: registered new interface driver usbhid
[    0.538898] usbhid: USB HID core driver
[    0.541460] NET: Registered protocol family 17
[    0.542521] 9pnet: Installing 9P2000 support
[    0.543580] Key type dns_resolver registered
[    0.544954] registered taskstats version 1
[    0.546181] Loading compiled-in X.509 certificates
[    0.547737] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    0.549466] rtc-pl031 9010000.pl031: setting system clock to 2019-08-07T15:40:46 UTC (1565192446)
[    0.553232] ALSA device list:
[    0.554015]   No soundcards found.
[    0.554839] uart-pl011 9000000.pl011: no DMA platform data
[    0.556293] EXT4-fs (vda): mounting ext3 file system using the ext4 subsystem
[    0.564596] EXT4-fs (vda): mounted filesystem with ordered data mode. Opts: (null)
[    0.567288] VFS: Mounted root (ext3 filesystem) readonly on device 254:0.
[    0.569455] devtmpfs: mounted
[    0.571312] Freeing unused kernel memory: 5184K
[    0.572540] Run /sbin/init as init process
[    0.597524] EXT4-fs (vda): re-mounted. Opts: errors=remount-ro
Starting logging: OK
Initializing random number generator... [    0.631818] random: dd: uninitialized urandom read (512 bytes read)
done.
Starting network: udhcpc: started, v1.26.2
udhcpc: sending discover
udhcpc: sending select for 10.0.2.15
udhcpc: lease of 10.0.2.15 obtained, lease time 86400
deleting routers
adding dns 10.0.2.3
OK
Starting sshd: [    0.773922] random: sshd: uninitialized urandom read (32 bytes read)
OK

Welcome to Buildroot
buildroot login: root
Password:
# zcat /proc/config.gz | grep ENDIAN
# CONFIG_CPU_BIG_ENDIAN is not set
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
# poweroff
Stopping vtund.
# no process in pidfile '/var/run/vtund*' found; none killed
Stopping sshd: OK
Stopping network: OK
Saving random seed... [   15.010433] random: dd: uninitialized urandom read (512 bytes read)
done.
Stopping logging: OK
umount: devtmpfs busy - remounted read-only
[   15.029155] EXT4-fs (vda): re-mounted. Opts: (null)
The system is going down NOW!
Sent SIGTERM to all processes
Sent SIGKILL to all processes
Requesting system poweroff
[   17.035638] reboot: Power down
[

_______________________________________________
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] 13+ messages in thread

* Re: [PATCH] arm64: Disable big endian builds with clang
  2019-08-07 14:41       ` Robin Murphy
@ 2019-08-07 16:01         ` Mark Brown
  0 siblings, 0 replies; 13+ messages in thread
From: Mark Brown @ 2019-08-07 16:01 UTC (permalink / raw)
  To: Robin Murphy, Matt Hart
  Cc: Tri Vo, Catalin Marinas, Nick Desaulniers, Nathan Huckleberry,
	clang-built-linux, Nathan Chancellor, Will Deacon, Linux ARM


[-- Attachment #1.1: Type: text/plain, Size: 894 bytes --]

On Wed, Aug 07, 2019 at 03:41:25PM +0100, Robin Murphy wrote:
> On 07/08/2019 13:38, Mark Brown wrote:

> > 	https://storage.kernelci.org/next/master/next-20190730/arm64/defconfig+CONFIG_CPU_BIG_ENDIAN=y/clang-8/lab-baylibre/boot-meson-gxbb-nanopi-k2.html

> I thought it looked suspicious that there were EFI messages in that boot
> log; from that job's config: https://storage.kernelci.org/next/master/next-20190730/arm64/defconfig+CONFIG_CPU_BIG_ENDIAN=y/clang-8/kernel.config

> ...
> # CONFIG_CPU_BIG_ENDIAN is not set
> ...

> I think that's a kernelci problem...

Ugh, right.  It's possible there's some issue in Kconfig which is
causing the steps we take to add in the extra config options to break
when clang is used but I'd be a little surprised.  Copying in Matt here
as well, I've filed a ticket in the KernelCI issue tracker:

	https://github.com/kernelci/kernelci-core/issues/136

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
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] 13+ messages in thread

* Re: [PATCH] arm64: Disable big endian builds with clang
  2019-08-07 15:43         ` Mark Rutland
@ 2019-08-07 16:19           ` Mark Brown
  0 siblings, 0 replies; 13+ messages in thread
From: Mark Brown @ 2019-08-07 16:19 UTC (permalink / raw)
  To: Mark Rutland
  Cc: Tri Vo, Catalin Marinas, Nick Desaulniers, clang-built-linux,
	Matt Hart, Nathan Chancellor, Will Deacon, linux-arm-kernel


[-- Attachment #1.1: Type: text/plain, Size: 351 bytes --]

On Wed, Aug 07, 2019 at 04:43:14PM +0100, Mark Rutland wrote:

> That confirms what Robin suggested [1] from looking at the config: this
> is a little-endian kernel.

> The Image header flags the big-endian bit is 0, and it succcessfully
> boots with a little-endian rootfs; log below.

Right, I've confirmed this myself.  Sorry about the noise here.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
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] 13+ messages in thread

end of thread, other threads:[~2019-08-07 16:20 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-06 18:39 [PATCH] arm64: Disable big endian builds with clang Mark Brown
2019-08-06 21:25 ` Nick Desaulniers
2019-08-06 23:47   ` Nick Desaulniers
2019-08-07 12:38     ` Mark Brown
2019-08-07 14:41       ` Robin Murphy
2019-08-07 16:01         ` Mark Brown
2019-08-07 13:01 ` Mark Rutland
2019-08-07 13:05   ` Mark Brown
2019-08-07 13:56     ` Mark Rutland
2019-08-07 14:14       ` Mark Rutland
2019-08-07 15:29       ` Mark Brown
2019-08-07 15:43         ` Mark Rutland
2019-08-07 16:19           ` Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.