[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [PATCH] hw/arm/allwinner-a10: Mark the allwinner-a10 devi
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-arm] [PATCH] hw/arm/allwinner-a10: Mark the allwinner-a10 device with user_creatable = false |
Date: |
Wed, 23 Aug 2017 14:21:18 -0300 |
User-agent: |
Mutt/1.8.0 (2017-02-23) |
On Tue, Aug 22, 2017 at 05:46:29PM +0200, Thomas Huth wrote:
> QEMU currently exits unexpectedly when the user accidentially
> tries to do something like this:
>
> $ aarch64-softmmu/qemu-system-aarch64 -S -M integratorcp -nographic
> QEMU 2.9.93 monitor - type 'help' for more information
> (qemu) device_add allwinner-a10
> Unsupported NIC model: smc91c111
>
> Exiting just due to a "device_add" should not happen. Looking closer
> at the the realize and instance_init function of this device also
> reveals that it is using serial_hds and nd_table directly there, so
> this device is clearly not creatable by the user and should be marked
> accordingly.
>
> Signed-off-by: Thomas Huth <address@hidden>
> ---
> hw/arm/allwinner-a10.c | 2 ++
> scripts/device-crash-test | 1 -
> 2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/hw/arm/allwinner-a10.c b/hw/arm/allwinner-a10.c
> index f62a9a3..43a3f01 100644
> --- a/hw/arm/allwinner-a10.c
> +++ b/hw/arm/allwinner-a10.c
> @@ -118,6 +118,8 @@ static void aw_a10_class_init(ObjectClass *oc, void *data)
> DeviceClass *dc = DEVICE_CLASS(oc);
>
> dc->realize = aw_a10_realize;
> + /* Reason: Uses serial_hds in realize and nd_table in instance_init */
> + dc->user_creatable = false;
I assume this patch will be replaced by one changing TYPE_DEVICE
to default to user_creatable=false, based on the replies to the
hw/misc/auxbus.c patch?
> }
>
> static const TypeInfo aw_a10_type_info = {
> diff --git a/scripts/device-crash-test b/scripts/device-crash-test
> index 8eb2d02..74aee68 100755
> --- a/scripts/device-crash-test
> +++ b/scripts/device-crash-test
> @@ -187,7 +187,6 @@ ERROR_WHITELIST = [
> {'log':r"Device [\w.,-]+ can not be dynamically instantiated"},
> {'log':r"Platform Bus: Can not fit MMIO region of size "},
> # other more specific errors we will ignore:
> - {'device':'allwinner-a10', 'log':"Unsupported NIC model:"},
> {'device':'.*-spapr-cpu-core', 'log':r"CPU core type should be"},
> {'log':r"MSI(-X)? is not supported by interrupt controller"},
> {'log':r"pxb-pcie? devices cannot reside on a PCIe? bus"},
> --
> 1.8.3.1
>
--
Eduardo