[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.