Comment # 16 on bug 1219180 from Claudio Fontana
(In reply to Joey Lee from comment #12)
> Hi Thomas,
> 
> (In reply to Thomas Zimmermann from comment #6)
> > Here are the results of my investigation so far. The kernel tries to acquire
> > the UEFI boot framebuffer via find_gop() [1]. It fails for all available
> > results at the pixel_format test at [2]. The firmware only supports the
> > BitBlt() EFI call to read/write framebuffer data. It's a boot service, so
> > it's gone after the kernel initialized. We cannot use it.
> > 
> > I've tested with kernel's going back to v6.4. It's always reproducible.
> > 
> > To fix this problem, we have modify qemu's OVMF firmware to provide a pixel
> > format and a framebuffer to which we can memcpy(). AFAICT a pixel format of
> > PIXEL_BIT_MASK [3] would do this.
> > 
> > [1]
> > https://elixir.bootlin.com/linux/v6.8/source/drivers/firmware/efi/libstub/
> > gop.c#L521
> > [2]
> > https://elixir.bootlin.com/linux/v6.8/source/drivers/firmware/efi/libstub/
> > gop.c#L489
> > [3]
> > https://elixir.bootlin.com/linux/v6.8/source/drivers/firmware/efi/libstub/
> > efistub.h#L519
> 
> Could you please teach me how to create a qemu of aarch64 with graphics
> window? I used the following qemu command for launching a aarch64 guest. But
> it always only shows message on terminal console. Not graphic window:
> 
> qemu-system-aarch64 \
> -m 4096 -cpu cortex-a57 -smp 4 -M virt \


Hi @joey, any reason why you are running with cortex-a57 and TCG?

The supported environment for AArch64 is KVM, with cpu host.

Here is again the set of recommendations for ARM KVM from the QEMU manual:

https://www.qemu.org/docs/master/system/target-arm.html
https://www.qemu.org/docs/master/system/arm/virt.html

This would avoid a lot of trial and error and unsupported combinations: lets
test what is actually supported upstream and downstream.

Thanks,

C


> -drive
> if=pflash,format=raw,readonly,file=/usr/share/qemu/aavmf-aarch64-code.bin \
> -drive
> if=pflash,format=raw,file=/home/joeyli/qemu-vm/openSUSE-MicroOS-aarch64-vars-
> store.bin \
> -serial mon:stdio \
> -net nic,model=virtio -net nic,model=virtio -net
> bridge,br=br0,helper=/usr/libexec/qemu-bridge-helper \
> -drive
> if=none,file=/home/joeyli/iso/openSUSE-MicroOS-DVD-aarch64-Current.iso,
> id=hd0 -device virtio-blk-device,drive=hd0  \
> -drive
> if=none,file=/home/joeyli/qemu-vm/openSUSE-MicroOS-aarch64-efi.qcow2,id=hd1 
> -device virtio-blk-device,drive=hd1 -vnc :93
> 
> Thanks!


You are receiving this mail because: