qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC PATCH 0/2] hw/char/bcm2835_aux: Provide full 16550


From: Guenter Roeck
Subject: Re: [Qemu-devel] [RFC PATCH 0/2] hw/char/bcm2835_aux: Provide full 16550 UART support
Date: Tue, 20 Aug 2019 08:16:45 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0

On 8/20/19 8:08 AM, Philippe Mathieu-Daudé wrote:
On 8/20/19 4:31 PM, Guenter Roeck wrote:
On 8/20/19 5:34 AM, Philippe Mathieu-Daudé wrote:
Hi,

Since there has been some activity on the list asking about
Rasberry PI USB support, I had a look a some previous unfinished
work and rebased it to share, in case it helps hobbyist interested
in improving these machines.

This series is some proof-of-concept on improving the AUX UART
support. See the commit description for various TODO/questions.

This can be tested using files documented by Peter Maydell in
his blog post:
https://translatedcode.wordpress.com/2018/04/25/debian-on-qemus-raspberry-pi-3-model/


And using the kernel command line arguments suggested by Guenter Roeck:

qemu-system-aarch64 -M raspi3 -m 1024 \
    -kernel raspi3/bootpart/vmlinuz-4.14.0-3-arm64 \
    -initrd raspi3/bootpart/initrd.img-4.14.0-3-arm64 \
    -dtb raspi3/bootpart/bcm2837-rpi-3-b.dtb \
    -append 'earlycon=uart8250,mmio32,0x3f215040 rdinit=/sbin/init
panic=-1 console=ttyS1,115200' \
    -drive
file=raspi3/2018-01-08-raspberry-pi-3-buster-PREVIEW.img,format=raw,if=sd
\
    -serial null -serial stdio \
    -d unimp,guest_errors -trace bcm283\*

[ ... ]

[    3.123313] Unpacking initramfs...

Here it hangs, even with CPRMAN patch from Guenter:
https://lists.gnu.org/archive/html/qemu-devel/2018-07/msg03153.html


This command line works for me:

qemu-system-aarch64 -M raspi3 -kernel arch/arm64/boot/Image -no-reboot \
     -nographic -snapshot -smp 4 -m 1G \
     -drive file=rootfs.ext2,format=raw,if=sd \
     -serial null -serial stdio -monitor none -no-reboot \
     --append 'panic=-1 slub_debug=FZPUA root=/dev/mmcblk0 rootwait
earlycon=uart8250,mmio32,0x3f215040 console=ttyS1,115200' \
     -dtb arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dtb

or, with initrd:

qemu-system-aarch64 -M raspi3 -kernel arch/arm64/boot/Image -no-reboot \
     -nographic \
     -initrd rootfs.cpio \
     -m 1G -serial null -serial stdio -monitor none -no-reboot \
     --append 'panic=-1 slub_debug=FZPUA rdinit=/sbin/init
earlycon=uart8250,mmio32,0x3f215040 console=ttyS1,115200' \
     -dtb arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dtb

This is with the mainline kernel.

I don't see a significant difference to your patch series.


Sorry, I meant ".. difference to the command line you used
to test your patch series".

Thank you for taking the time to test!

The biggest difference is the diffstat:

  hw/char/bcm2835_aux.c         | 211 +++-------------------------------

The model is now cleaner and easier to maintain.

The logical differences are noted in 2nd patch, basically:
1- not same FIFO length (easily fixable)
2- now the model implements more feature than supposed to
3- migration

I'll wait for the different ARM/Migration subsystem review.

[...]
One possibility might be that your initrd has a problem. Can you boot
without your patch
series, or is it always stuck ?

I remember it used to work for me back when I wrote it, so it is
probably an initrd problem. I'll test later and keep you updated.


You could give it a try with the images I use:

https://github.com/groeck/linux-build-test/tree/master/rootfs/arm64

Only caveat is that you'd have to specify "noreboot" as command line
option if you don't want the system to reboot immediately.

Guenter



reply via email to

[Prev in Thread] Current Thread [Next in Thread]