All of lore.kernel.org
 help / color / mirror / Atom feed
From: Niek Linnenbank <nieklinnenbank@gmail.com>
To: "Philippe Mathieu-Daudé" <philmd@redhat.com>
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:07:54 +0100	[thread overview]
Message-ID: <CAPan3Woucroq2+c5J8Trw+ssEMD4tnwfKzPeOf3AZKmv_R0EgQ@mail.gmail.com> (raw)
In-Reply-To: <CAPan3Wojt3SSV_kBPfinVLN+mvR_6=rf9zsHV5yq11+qe2Umyg@mail.gmail.com>

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

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.

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?

Regards,
Niek

On Tue, Dec 10, 2019 at 9:12 PM Niek Linnenbank <nieklinnenbank@gmail.com>
wrote:

> Hi Philippe,
>
> On Tue, Dec 10, 2019 at 9:26 AM Philippe Mathieu-Daudé <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>> 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
>
>
>>
>> >
>> > Regards,
>> > Niek
>>
>>
>
> --
> Niek Linnenbank
>
>

-- 
Niek Linnenbank

[-- Attachment #2: Type: text/html, Size: 10743 bytes --]

  reply	other threads:[~2019-12-12 23:09 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-02 21:09 [PATCH 00/10] Add Allwinner H3 SoC and Orange Pi PC Machine 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 [this message]
2019-12-12 23:25           ` Philippe Mathieu-Daudé
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=CAPan3Woucroq2+c5J8Trw+ssEMD4tnwfKzPeOf3AZKmv_R0EgQ@mail.gmail.com \
    --to=nieklinnenbank@gmail.com \
    --cc=b.galvani@gmail.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.