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.

I tested with qemu 4.0, 4.1, and mainline (with my patch series applied on top 
of each).
One problem I do see is that booting mainline (as of right now) is _slow_ 
compared
to released versions of qemu. It takes some 35 seconds to get to "Unpacking 
initramfs",
compared to ~8 seconds for v4.1 and earlier. Otherwise it works.

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

Thanks,
Guenter

Reply via email to