qemu-devel
[Top][All Lists]
Advanced

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

Re: Parameter 'driver' expects pluggable device type


From: Priyamvad Acharya
Subject: Re: Parameter 'driver' expects pluggable device type
Date: Fri, 8 May 2020 07:40:53 +0530

Hi,
Thanks for providing relevant information.
FYI
I am using Qemu version 4.2.94 (v5.0.0-rc4-dirty).
I am using virt board.

Where we need to set user creatable to true?
Any other modification is needed to allow sysbus device support?

Below is the script which I am using  to boot linux image with pl061 device on virt board.

#!/bin/bash

KERNEL="/lhome/priyamvad/debian_qemu_arm32/vmlinuz-3.16.0-6-armmp-lpae"
INIT_IMAGE="/lhome/priyamvad/debian_qemu_arm32/initrd.img-3.16.0-6-armmp-lpae"
DISK="/lhome/priyamvad/debian_qemu_arm32/hda30.qcow2"

./qemu-system-arm \
-M virt \
-m 1024 \
-smp 4 \
-kernel $KERNEL \
-object rng-random,filename=/dev/urandom,id=rng0 \
-device virtio-rng-device,rng=rng0 \
-initrd $INIT_IMAGE \
-append 'root=/dev/vda2' \
-drive if=none,file=$DISK,format=qcow2,id=hd \
-device pl061 \                            
-device virtio-blk-device,drive=hd \
-device virtio-net-device,netdev=usernet \
-netdev user,id=usernet,hostfwd=tcp::2222-:22 \
-nographic

Is the above script  correct  to boot linux image with pl061 device on virt board?

On Fri, 8 May 2020 at 02:32, John Snow <address@hidden> wrote:


On 5/6/20 8:56 AM, Priyamvad Acharya wrote:
>
> Hello developer community,
> I want to allow a *sysbus *type device to boot with kernel image(arm
> architecture) via Qemu command line .
>
> When I run qemu arm system executable with *-device *option via qemu
> command line,I get following error message
>
>> qemu-system-arm: -device pl061: Parameter 'driver' expects pluggable
> device type
>
> So, how to allow a sysbus device via command line?
> Is there any working patch?

Hi, it looks like the pl061 device is not declared "user creatable" so
it is unavailable from the CLI. As a sysbus device, QEMU is not aware,
in the abstract, of how to "connect" the device to other devices.

See the sysbus class initialization code for more detail:
https://github.com/qemu/qemu/blob/master/hw/core/sysbus.c#L301


However, It looks like these boards/devices create such a device:

hw/arm/highbank
hw/arm/realview
hw/arm/sbsa-ref
hw/arm/stellaris
hw/arm/versatilepb
hw/arm/virt

If you want one on some other kind of machine, you'll need to write it
up yourself in the machine board code, but you didn't tell us what
version of QEMU you're using, what machine type you are trying to use, etc.

--js


reply via email to

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