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: Philippe Mathieu-Daudé
Subject: Re: [Qemu-devel] [RFC PATCH 0/2] hw/char/bcm2835_aux: Provide full 16550 UART support
Date: Tue, 20 Aug 2019 17:08:13 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0

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.

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.

Thanks!

Phil.



reply via email to

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