QEMU-Devel Archive on lore.kernel.org
 help / color / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: "Niek Linnenbank" <nieklinnenbank@gmail.com>,
	"Alex Bennée" <alex.bennee@linaro.org>
Cc: Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	qemu-arm <qemu-arm@nongnu.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [PATCH 00/10] Add Allwinner H3 SoC and Orange Pi PC Machine
Date: Fri, 13 Dec 2019 00:25:44 +0100
Message-ID: <7ed70514-e67e-9403-63b3-5a81c59fe952@redhat.com> (raw)
In-Reply-To: <CAPan3Woucroq2+c5J8Trw+ssEMD4tnwfKzPeOf3AZKmv_R0EgQ@mail.gmail.com>

Cc'ing Alex.

On 12/13/19 12:07 AM, Niek Linnenbank wrote:
> Hi Philippe,
> 
> I have discovered that the hflags assertion error you reported is not 
> caused by the Allwinner H3
> patches but actually an existing problem. What I did is to use the 
> latest master (v4.2.0 tag) without any patches applied.
> and tried to boot the raspi2 machine with and without debugging enabled. 
> Without debuggin, the raspi2
> machine runs fine and can boot the 5.4.2 linux kernel. With debugging 
> enabled, the same hflags error shows.

This might be the same bug I hit last week... Alex suggested a patch:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg664500.html

Do you mind to try it?

If it still fails, you might also add this one on top:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg663843.html
and report the error.

> 
> To reproduce it, build Linux 5.4.2 with the bmc2835_defconfig:
> 
> $ ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make mrproper
> $ ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make bcm2835_defconfig
> $ ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make -j5
> ...
> 
> First build QEMU without debugging and try to boot linux:
> $ ./configure --target-list=arm-softmmu; make clean; make -j5
> $ ./arm-softmmu/qemu-system-arm -M raspi2 \
>    -kernel $HOME/linux-5.4.2/arch/arm/boot/zImage \
>    -append 'console=ttyAMA0,115200 earlyprintk debug' \
>    -dtb $HOME/linux-5.4.2/arch/arm/boot/dts/bcm2836-rpi-2-b.dtb \
>    -m 1024 -nographic -s
> [    0.000000] Booting Linux on physical CPU 0x0
> [    0.000000] Linux version 5.4.2 (me@host) (gcc version 7.4.0 (Ubuntu/Linaro 7.4.0-1ubuntu1~18.04.1)) #1 Thu Dec 12 22:49:14 CET 2019
> [    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
> ...
> 
> Then rebuild QEMU with debugging enabled and again try to boot linux:
> $ ./configure --target-list=arm-softmmu --enable-debug --extra-cflags=-ggdb; make clean; make -j5
> $ ./arm-softmmu/qemu-system-arm -M raspi2 \
>    -kernel $HOME/linux-5.4.2/arch/arm/boot/zImage \
>    -append 'console=ttyAMA0,115200 earlyprintk debug' \
>    -dtb $HOME/linux-5.4.2/arch/arm/boot/dts/bcm2836-rpi-2-b.dtb \
>    -m 1024 -nographic -s
> qemu-system-arm: /home/me/qemu/target/arm/helper.c:11359: cpu_get_tb_cpu_state: Assertion `flags == rebuild_hflags_internal(env)' failed.
> qemu-system-arm: /home/me/qemu/target/arm/helper.c:11359: cpu_get_tb_cpu_state: Assertion `flags == rebuild_hflags_internal(env)' failed.
> qemu-system-arm: /home/me/qemu/target/arm/helper.c:11359: cpu_get_tb_cpu_state: Assertion `flags == rebuild_hflags_internal(env)' failed.
> Aborted (core dumped)
> 
> $ git describe
> v4.2.0
> 
> 
> What should be the next step? Should this be reported as a bug?

In this case we might already have the fix, but if Alex patch doesn't 
help, you are always welcome to open a bug report:
https://bugs.launchpad.net/qemu/+filebug
This help to have notes/progress gathered.

> On Tue, Dec 10, 2019 at 9:12 PM Niek Linnenbank 
> <nieklinnenbank@gmail.com <mailto:nieklinnenbank@gmail.com>> wrote:
> 
>     Hi Philippe,
> 
>     On Tue, Dec 10, 2019 at 9:26 AM Philippe Mathieu-Daudé
>     <philmd@redhat.com <mailto:philmd@redhat.com>> wrote:
> 
>         On 12/9/19 10:37 PM, Niek Linnenbank wrote:
>          > Hi Philippe,
>          >
>          > On Tue, Dec 3, 2019 at 9:47 AM Philippe Mathieu-Daudé
>         <philmd@redhat.com <mailto:philmd@redhat.com>
>          > <mailto:philmd@redhat.com <mailto:philmd@redhat.com>>> wrote:
>          >
>          >     On 12/2/19 10:09 PM, Niek Linnenbank wrote:
>          >      > Dear QEMU developers,
>          >      >
>          >      > Hereby I would like to contribute the following set of
>         patches to
>          >     QEMU
>          >      > which add support for the Allwinner H3 System on Chip
>         and the
>          >      > Orange Pi PC machine. The following features and
>         devices are
>          >     supported:
>          >      >
>          >      >   * SMP (Quad Core Cortex A7)
>          >      >   * Generic Interrupt Controller configuration
>          >      >   * SRAM mappings
>          >      >   * Timer device (re-used from Allwinner A10)
>          >      >   * UART
>          >      >   * SD/MMC storage controller
>          >      >   * EMAC ethernet connectivity
>          >      >   * USB 2.0 interfaces
>          >      >   * Clock Control Unit
>          >      >   * System Control module
>          >      >   * Security Identifier device
>          >
>          >     Awesome!
>          >
>          >      > Functionality related to graphical output such as
>         HDMI, GPU,
>          >      > Display Engine and audio are not included. Recently
>         released
>          >      > mainline Linux kernels (4.19 up to latest master) and
>         mainline U-Boot
>          >      > are known to work. The SD/MMC code is tested using
>         bonnie++ and
>          >      > various tools such as fsck, dd and fdisk. The EMAC is
>         verified
>          >     with iperf3
>          >      > using -netdev socket.
>          >      >
>          >      > To build a Linux mainline kernel that can be booted by
>         the Orange
>          >     Pi PC
>          >      > machine, simply configure the kernel using the
>         sunxi_defconfig
>          >     configuration:
>          >      >   $ ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make
>         mrproper
>          >      >   $ ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make
>         sunxi_defconfig
>          >      >
>          >      > To be able to use USB storage, you need to manually
>         enable the
>          >     corresponding
>          >      > configuration item. Start the kconfig configuration tool:
>          >      >   $ ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make
>         menuconfig
>          >      >
>          >      > Navigate to the following item, enable it and save your
>          >     configuration:
>          >      >   Device Drivers > USB support > USB Mass Storage support
>          >      >
>          >      > Build the Linux kernel with:
>          >      >   $ ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make -j5
>          >      >
>          >      > To boot the newly build linux kernel in QEMU with the
>         Orange Pi
>          >     PC machine, use:
>          >      >   $ qemu-system-arm -M orangepi -m 512 -nic user
>         -nographic \
>          >      >       -kernel /path/to/linux/arch/arm/boot/zImage \
>          >      >       -append 'console=ttyS0,115200' \
>          >      >       -dtb
>         /path/to/linux/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dtb
>          >      >
>          >      > Note that this kernel does not have a root filesystem.
>         You may
>          >     provide it
>          >      > with an official Orange Pi PC image [1] either as an
>         SD card or as
>          >      > USB mass storage. To boot using the Orange Pi PC
>         Debian image on
>          >     SD card,
>          >      > simply add the -sd argument and provide the proper
>         root= kernel
>          >     parameter:
>          >      >   $ qemu-system-arm -M orangepi -m 512 -nic user
>         -nographic \
>          >      >       -kernel /path/to/linux/arch/arm/boot/zImage \
>          >      >       -append 'console=ttyS0,115200 root=/dev/mmcblk0p2' \
>          >      >       -dtb
>          >     /path/to/linux/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dtb \
>          >      >       -sd
>         OrangePi_pc_debian_stretch_server_linux5.3.5_v1.0.img
>          >      >
>          >      > Alternatively, you can also choose to build and boot a
>         recent
>          >     buildroot [2]
>          >      > using the orangepi_pc_defconfig or Armbian image [3]
>         for Orange
>          >     Pi PC.
>          >
>          >     Richard, trying the Armbian image from
>          > https://apt.armbian.com/pool/main/l/linux-4.20.7-sunxi/ I get:
>          >
>          >     $ arm-softmmu/qemu-system-arm -M orangepi -m 512 -nic user \
>          >         -append 'console=ttyS0,115200' \
>          >         -kernel boot/vmlinuz-4.20.7-sunxi \
>          >         -dtb
>         usr/lib/linux-image-dev-sunxi/sun8i-h3-orangepi-pc.dtb \
>          >         -serial stdio -d unimp
>          >     Uncompressing Linux... done, booting the kernel.
>          >     rtc: unimplemented device write (size 4, value
>         0x16aa0001, offset 0x0)
>          >     rtc: unimplemented device read (size 4, offset 0x0)
>          >     rtc: unimplemented device read (size 4, offset 0x0)
>          >     rtc: unimplemented device read (size 4, offset 0x8)
>          >     qemu-system-arm: target/arm/helper.c:11359:
>         cpu_get_tb_cpu_state:
>          >     Assertion `flags == rebuild_hflags_internal(env)' failed.
>          >     Aborted (core dumped)
>          >
>          >
>          > I'm trying to reproduce the error you reported here with my
>         patch set on
>          > latest master,
>          > but so far without any result. The host OS I'm using is
>         Ubuntu 18.04.3
>          > LTS on x86_64.
>          > I ran several times using the same 4.20.7-sunxi kernel and
>         same command
>          > line.
>          >
>          > Some questions that might help:
>          > 1) Are there any specific steps you did in order to produce
>         this error?
> 
>         I build QEMU with:
> 
>         ./configure --enable-trace-backends=log --extra-cflags=-ggdb
>         --enable-debug
> 
>          > 2) Could this be a known / existing issue?
>          > 3) How many times did you see this error?
> 
>         Always
> 
>          > 4) Are you also using Ubuntu 18.04.3 LTS on x86_64, or a
>         different host OS?
> 
>         Host is Fedora 30.
> 
> 
>     OK thanks, I will try again using the info above after I finished
>     reworking the other patch comments.
> 
>     Niek



  reply index

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-02 21:09 Niek Linnenbank
2019-12-02 21:09 ` [PATCH 01/10] hw: arm: add Allwinner H3 System-on-Chip Niek Linnenbank
2019-12-04 16:53   ` Philippe Mathieu-Daudé
2019-12-04 20:44     ` Niek Linnenbank
2019-12-10  9:02   ` Philippe Mathieu-Daudé
2019-12-10 19:17     ` Niek Linnenbank
2019-12-02 21:09 ` [PATCH 02/10] hw: arm: add Xunlong Orange Pi PC machine Niek Linnenbank
2019-12-03  9:17   ` Philippe Mathieu-Daudé
2019-12-03 19:33     ` Niek Linnenbank
2019-12-04  9:03       ` Philippe Mathieu-Daudé
2019-12-04 19:50         ` Niek Linnenbank
2019-12-05 22:15     ` Niek Linnenbank
2019-12-06  5:41       ` Philippe Mathieu-Daudé
2019-12-06 22:15         ` Niek Linnenbank
2019-12-10  8:59           ` Philippe Mathieu-Daudé
2019-12-10 19:14             ` Niek Linnenbank
2019-12-02 21:09 ` [PATCH 03/10] arm: allwinner-h3: add Clock Control Unit Niek Linnenbank
2019-12-13  0:03   ` Philippe Mathieu-Daudé
2019-12-02 21:09 ` [PATCH 04/10] arm: allwinner-h3: add USB host controller Niek Linnenbank
2019-12-04 16:11   ` Aleksandar Markovic
2019-12-04 20:20     ` Niek Linnenbank
2019-12-10  7:56   ` Philippe Mathieu-Daudé
2019-12-10  8:29     ` Gerd Hoffmann
2019-12-10 19:11       ` Niek Linnenbank
2019-12-02 21:09 ` [PATCH 05/10] arm: allwinner-h3: add System Control module Niek Linnenbank
2019-12-13  0:09   ` Philippe Mathieu-Daudé
2019-12-15 23:27     ` Niek Linnenbank
2019-12-16  0:17       ` Philippe Mathieu-Daudé
2019-12-02 21:09 ` [PATCH 06/10] arm/arm-powerctl: set NSACR.{CP11, CP10} bits in arm_set_cpu_on() Niek Linnenbank
2019-12-06 14:24   ` Peter Maydell
2019-12-06 20:01     ` Niek Linnenbank
2019-12-13 20:52       ` Niek Linnenbank
2019-12-02 21:09 ` [PATCH 07/10] arm: allwinner-h3: add CPU Configuration module Niek Linnenbank
2019-12-02 21:09 ` [PATCH 08/10] arm: allwinner-h3: add Security Identifier device Niek Linnenbank
2019-12-06 14:27   ` Peter Maydell
2019-12-06 16:35     ` Philippe Mathieu-Daudé
2019-12-06 20:20       ` Niek Linnenbank
2019-12-02 21:09 ` [PATCH 09/10] arm: allwinner-h3: add SD/MMC host controller Niek Linnenbank
2019-12-11 22:34   ` Niek Linnenbank
2019-12-12 23:56     ` Philippe Mathieu-Daudé
2019-12-13 21:00       ` Niek Linnenbank
2019-12-14 13:59         ` Philippe Mathieu-Daudé
2019-12-14 20:32           ` Niek Linnenbank
2019-12-15 23:07       ` Niek Linnenbank
2019-12-16  0:14         ` Philippe Mathieu-Daudé
2019-12-16 19:46           ` Niek Linnenbank
2019-12-16 21:28             ` Philippe Mathieu-Daudé
2019-12-02 21:09 ` [PATCH 10/10] arm: allwinner-h3: add EMAC ethernet device Niek Linnenbank
2019-12-03  9:33   ` KONRAD Frederic
2019-12-03 19:41     ` Niek Linnenbank
2019-12-04 15:14     ` Philippe Mathieu-Daudé
2019-12-04 15:22       ` KONRAD Frederic
2019-12-03  8:47 ` [PATCH 00/10] Add Allwinner H3 SoC and Orange Pi PC Machine Philippe Mathieu-Daudé
2019-12-03 19:25   ` Niek Linnenbank
2019-12-10  8:40     ` Philippe Mathieu-Daudé
2019-12-09 21:37   ` Niek Linnenbank
2019-12-10  8:26     ` Philippe Mathieu-Daudé
2019-12-10 20:12       ` Niek Linnenbank
2019-12-12 23:07         ` Niek Linnenbank
2019-12-12 23:25           ` Philippe Mathieu-Daudé [this message]
2019-12-13 20:45             ` Niek Linnenbank
2019-12-03  9:02 ` Philippe Mathieu-Daudé
2019-12-03 19:32   ` Niek Linnenbank
2019-12-06 14:16     ` Peter Maydell
2019-12-09 22:24       ` Aleksandar Markovic
2019-12-10 10:34 ` KONRAD Frederic
2019-12-10 19:55   ` Niek Linnenbank

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7ed70514-e67e-9403-63b3-5a81c59fe952@redhat.com \
    --to=philmd@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=b.galvani@gmail.com \
    --cc=nieklinnenbank@gmail.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

QEMU-Devel Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/qemu-devel/0 qemu-devel/git/0.git
	git clone --mirror https://lore.kernel.org/qemu-devel/1 qemu-devel/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 qemu-devel qemu-devel/ https://lore.kernel.org/qemu-devel \
		qemu-devel@nongnu.org
	public-inbox-index qemu-devel

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.nongnu.qemu-devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git