From nobody Tue Feb 10 01:34:40 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1561413979; cv=none; d=zoho.com; s=zohoarc; b=ECwatTkBtIai6b21m30rUx4A3y5VujV8EXXBMZ7q77bAImnqzgi1XOVwtSJ39h/bKZDoo5qWBMeatn+40OMmlDKVeXMXJrBkbA6Rjkl+/9EeFwBJTLyCipXsB5dl+2o7HL352xo16f2JFo16cm6rWeKRaZ5KfIhS+Gb3COJhkMs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1561413979; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=KG1ocHR9CwXIKkrRGNYi2cBkFImhdlC2FkdsDqiv+kk=; b=ebkziYA3DpPrZf33ig2LVNG9Znefze+a6EEPeinDnCEdkRj4fJw33fciXVEcBrbNb3gwtyxSa5EhWjYqQE2uRVh3Br3MvUmaimTgaiPSglW2jUWrGSaoFYpMaaFdaEUTRYdTKmOhhS6LdO1hTNMVof/N42mIQa3Wk9x6uV4v5sY= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1561413979426729.2218140641414; Mon, 24 Jun 2019 15:06:19 -0700 (PDT) Received: from localhost ([::1]:54888 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hfX6O-0001oZ-D0 for importer@patchew.org; Mon, 24 Jun 2019 18:06:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54962) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hfX2C-0007yC-Em for qemu-devel@nongnu.org; Mon, 24 Jun 2019 18:01:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hfX2A-000498-Ba for qemu-devel@nongnu.org; Mon, 24 Jun 2019 18:01:56 -0400 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:36630) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hfX2A-00035Z-42 for qemu-devel@nongnu.org; Mon, 24 Jun 2019 18:01:54 -0400 Received: by mail-wr1-x441.google.com with SMTP id n4so14307239wrs.3 for ; Mon, 24 Jun 2019 15:01:05 -0700 (PDT) Received: from x1.local (183.red-88-21-202.staticip.rima-tde.net. [88.21.202.183]) by smtp.gmail.com with ESMTPSA id z126sm1118612wmb.32.2019.06.24.15.01.02 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Mon, 24 Jun 2019 15:01:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KG1ocHR9CwXIKkrRGNYi2cBkFImhdlC2FkdsDqiv+kk=; b=AZDSUj0SfoAGxyrrVuFgGs14Hcf9GfGSo/aOcr+AR63a9VGW58off0Tkwf/5nxL9KW jc0xpZ0e8m0+X3Qa6cqB51BDNVtSSYrGB9M9IEzWUc3eII3ZkE3D9gCc5VFH7SGz3n6E qW1ApwnT2x8LbT1Yd7MvR7IELDKjMknw9IYAev2+c5ZOJMQR4cdXQz41O0gpVuPWi6F8 /Ov5K/gObGVbKjLIBY2DkP6Re4T4exKyzj0B8VEl6IW91ZzdEiAh/NttXFZFTs9P9Xc1 6VmlsQiSyo1A5OsuAfWaZ4E1oLFYBX5eBG/ni5VJ7xAe2UJ6jna1y0A3F6VyVLmNq7Pv 0vJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=KG1ocHR9CwXIKkrRGNYi2cBkFImhdlC2FkdsDqiv+kk=; b=mU3C3Lj6QOny67/7Bge33j6RGojhLwQwxDih45MbEsk43RlD8aN4T+MvGeI3wzUJ/c Wtueqee1s3whQm7jx0ANXnK95Ksu3X7iVnt6TFAxaJaSYinAEzZbxO70gxVNeGp2d97s bKTx9xaTZHnHlveMvc88W9G9CouzUXGgEwy/hTViL9StU9TPTjZzSdIqix0kgQM7RwDj DyLrM+YzYFdGEGEFNnEqOhVelqczaUGo4pDEX2ns8VSIEpmxBmnsDyUTUzs1Mota7q8Y zQe3T5AcDwfVPlByCBcAr6GFf0mmusQLs5YQGvT8TgYmudb1VQOtl2CuLOCauG/a2hIO 6vkQ== X-Gm-Message-State: APjAAAUR/nfn/oLTICcOaONVOslCDd/SfsUEu4OfRROIYFrR+mGOUFX2 jYRHlxEDp8aX2EddCQItEb73ncx+ X-Google-Smtp-Source: APXvYqzlFENU9TL7FeDoaTbmH6CR0WZ4w3bOLyTaW7fjWOPvi2TsFCQFW+LOOvrnIKgWA7ujeaDqrQ== X-Received: by 2002:adf:e442:: with SMTP id t2mr37800775wrm.286.1561413664324; Mon, 24 Jun 2019 15:01:04 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Date: Tue, 25 Jun 2019 00:00:51 +0200 Message-Id: <20190624220056.25861-5-f4bug@amsat.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190624220056.25861-1-f4bug@amsat.org> References: <20190624220056.25861-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::441 Subject: [Qemu-devel] [PATCH 4/9] hw/misc/empty_slot: Add a qdev property 'size' X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Aleksandar Rikalo , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Aleksandar Markovic , Artyom Tarasenko Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Add a qdev 'size' property, check the size is not zero in the realize() function, simplify the empty_slot_init() logic. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Artyom Tarasenko --- hw/misc/empty_slot.c | 43 ++++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/hw/misc/empty_slot.c b/hw/misc/empty_slot.c index 53299cdbd1..ef0a7b99ba 100644 --- a/hw/misc/empty_slot.c +++ b/hw/misc/empty_slot.c @@ -10,6 +10,7 @@ */ =20 #include "qemu/osdep.h" +#include "qapi/error.h" #include "hw/hw.h" #include "hw/sysbus.h" #include "qemu/module.h" @@ -55,41 +56,45 @@ static const MemoryRegionOps empty_slot_ops =3D { =20 void empty_slot_init(hwaddr addr, uint64_t slot_size) { - if (slot_size > 0) { - /* Only empty slots larger than 0 byte need handling. */ - DeviceState *dev; - SysBusDevice *s; - EmptySlot *e; - - dev =3D qdev_create(NULL, TYPE_EMPTY_SLOT); - s =3D SYS_BUS_DEVICE(dev); - e =3D EMPTY_SLOT(dev); - e->size =3D slot_size; - - qdev_init_nofail(dev); - - /* - * We use a priority lower than the default UNIMPLEMENTED_DEVICE - * to be able to plug a UnimplementedDevice on an EmptySlot. - */ - sysbus_mmio_map_overlap(s, 0, addr, -10000); - } + DeviceState *dev; + + dev =3D qdev_create(NULL, TYPE_EMPTY_SLOT); + + qdev_prop_set_uint64(dev, "size", slot_size); + qdev_init_nofail(dev); + + /* + * We use a priority lower than the default UNIMPLEMENTED_DEVICE + * to be able to plug a UnimplementedDevice on an EmptySlot. + */ + sysbus_mmio_map_overlap(SYS_BUS_DEVICE(dev), 0, addr, -10000); } =20 static void empty_slot_realize(DeviceState *dev, Error **errp) { EmptySlot *s =3D EMPTY_SLOT(dev); =20 + if (s->size =3D=3D 0) { + error_setg(errp, "property 'size' not specified or zero"); + return; + } + memory_region_init_io(&s->iomem, OBJECT(s), &empty_slot_ops, s, "empty-slot", s->size); sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->iomem); } =20 +static Property empty_slot_properties[] =3D { + DEFINE_PROP_UINT64("size", EmptySlot, size, 0), + DEFINE_PROP_END_OF_LIST(), +}; + static void empty_slot_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); =20 dc->realize =3D empty_slot_realize; + dc->props =3D empty_slot_properties; } =20 static const TypeInfo empty_slot_info =3D { --=20 2.19.1