On Tue, Dec 10, 2019 at 9:26 AM Philippe Mathieu-Daudé <
address@hidden> 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é <address@hidden
> <mailto:address@hidden>> 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