From patchwork Fri Feb 21 17:30:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 11397011 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 478A714BC for ; Fri, 21 Feb 2020 17:32:11 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1A1C8222C4 for ; Fri, 21 Feb 2020 17:32:11 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Sffq4gBr" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1A1C8222C4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:34154 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5C9q-0007Yx-7t for patchwork-qemu-devel@patchwork.kernel.org; Fri, 21 Feb 2020 12:32:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:37958) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5C8h-0005xO-UI for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:31:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j5C8g-0007vY-Q8 for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:30:59 -0500 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:58562 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j5C8g-0007vO-MD for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:30:58 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582306258; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=iIJbNClAaopu3XcwBy22eUj/Xx5fmW+fWgqNqWuWF1g=; b=Sffq4gBrZ+JNB+inQ1AYwN55jSQPAkPhekUIKE14hcIPvsbIai2D1pvz3QpHfCcrFgKhf+ D6iVLyK+kdtQn1G4gXML41J649mDhQyTaFtG81Cc4viBCP+1EL4lBFvAo1OlyxT5YFCGXk B6R0S1cC4tS3XDNJg5uHJZHb6alguRQ= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-43-m5mghC3kNru59UMm_LYnfQ-1; Fri, 21 Feb 2020 12:30:56 -0500 X-MC-Unique: m5mghC3kNru59UMm_LYnfQ-1 Received: by mail-wr1-f72.google.com with SMTP id n23so1305023wra.20 for ; Fri, 21 Feb 2020 09:30:56 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=WhcONAkiFDeuSeZsi9vQPsSpTSVQ47zvNIPLgZ1YRDk=; b=oB6HhJChAjfzDIGSMRlkDO/rKGryodUv3JTmmcEXvKAJEk/UmclYPOPc+LNLLGZ3ax UI+dxmToC13LR14isg688irjVGAVs2XQio3rv5kSJhz5qzo9NvoLDCRmYVZyhT62NGIT VuClHQLn+ADbbHfVZLfHZGAmeVDR7ojGmcmcg/I3ZvTeBKvlbbS+QggUqT+P4AseDWRv 0IX5ywMzsvr+9lYqoDAg2s0y0Nes6EzdxO0f6sD5qF+MCIDrUOuO/tswymAvYdUzknAo 7QnULfkAY/d0twM+9QYX0pmdwUOu1vpVU+TURXCYK7KqPD2AzEi8iHzfmdl2sPTRTn4o eRRA== X-Gm-Message-State: APjAAAWFVnH2MIwjlAQL95J55cuVes77eG82gvYWh291Rd7CxNpaOqBZ 8ZSMBidMlXwirY1idW/sgRo4qrmXUQ6RXLPp96yQfLnr/lDvgovfOnLQOWSjHG2W+eJ2J3jesft nI+GWxg21WNCJZSw= X-Received: by 2002:a5d:4a06:: with SMTP id m6mr50053537wrq.155.1582306254965; Fri, 21 Feb 2020 09:30:54 -0800 (PST) X-Google-Smtp-Source: APXvYqy0eeMUTxcT7eJ1BFPV35jFa5u7G1EKn9bk9D2WAVnrHFmnGoyOcBdg2D1PUH07W7NO+HPBBQ== X-Received: by 2002:a5d:4a06:: with SMTP id m6mr50053522wrq.155.1582306254743; Fri, 21 Feb 2020 09:30:54 -0800 (PST) Received: from x1w.redhat.com (78.red-88-21-202.staticip.rima-tde.net. [88.21.202.78]) by smtp.gmail.com with ESMTPSA id h18sm5000871wrv.78.2020.02.21.09.30.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Feb 2020 09:30:53 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 1/7] scripts/coccinelle: Add a script to let devices own their MemoryRegions Date: Fri, 21 Feb 2020 18:30:43 +0100 Message-Id: <20200221173049.18134-2-philmd@redhat.com> X-Mailer: git-send-email 2.21.1 In-Reply-To: <20200221173049.18134-1-philmd@redhat.com> References: <20200221173049.18134-1-philmd@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.81 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 , Sagar Karandikar , "Michael S. Tsirkin" , Mark Cave-Ayland , Alistair Francis , "Edgar E. Iglesias" , Jean-Christophe Dubois , =?utf-8?q?Herv=C3=A9_Poussine?= =?utf-8?q?au?= , Joel Stanley , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Aleksandar Rikalo , =?utf-8?q?Philippe_Mathieu?= =?utf-8?q?-Daud=C3=A9?= , Alistair Francis , qemu-arm@nongnu.org, Peter Chubb , qemu-riscv@nongnu.org, Igor Mitsyanko , Bastian Koppelmann , Laurent Vivier , Subbaraya Sundeep , Palmer Dabbelt , Paolo Bonzini Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" When a device creates a MemoryRegion without setting its ownership, the MemoryRegion is added to the machine "/unattached" container in the QOM tree. Example with the Samsung SMDKC210 board: $ arm-softmmu/qemu-system-arm -M smdkc210 -S -monitor stdio (qemu) info qom-tree /machine (smdkc210-machine) /unattached (container) /io[0] (qemu:memory-region) /exynos4210.dram0[0] (qemu:memory-region) /exynos4210.irom[0] (qemu:memory-region) /exynos4210.iram[0] (qemu:memory-region) /exynos4210.chipid[0] (qemu:memory-region) ... /device[26] (exynos4210.uart) /exynos4210.uart[0] (qemu:memory-region) /soc (exynos4210) ^ \__ [*] The irom/iram/chipid regions should go under 'soc' at [*]. Add a coccinelle script to do automatic semantic patching. Signed-off-by: Philippe Mathieu-Daudé --- .../memory_region_owner_nonnull.cocci | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 scripts/coccinelle/memory_region_owner_nonnull.cocci diff --git a/scripts/coccinelle/memory_region_owner_nonnull.cocci b/scripts/coccinelle/memory_region_owner_nonnull.cocci new file mode 100644 index 0000000000..6748a200b2 --- /dev/null +++ b/scripts/coccinelle/memory_region_owner_nonnull.cocci @@ -0,0 +1,80 @@ +/* + Usage: + + spatch \ + --macro-file scripts/cocci-macro-file.h \ + --sp-file scripts/coccinelle/memory_region_owner_nonnull.cocci \ + --keep-comments \ + --in-place \ + --dir . + +*/ + +// Device is owner +@@ +typedef DeviceState; +identifier device_fn, dev, obj; +expression E1, E2, E3, E4, E5; +@@ +static void device_fn(DeviceState *dev, ...) +{ + ... + Object *obj = OBJECT(dev); + <+... +( +- memory_region_init(E1, NULL, E2, E3); ++ memory_region_init(E1, obj, E2, E3); +| +- memory_region_init_io(E1, NULL, E2, E3, E4, E5); ++ memory_region_init_io(E1, obj, E2, E3, E4, E5); +| +- memory_region_init_alias(E1, NULL, E2, E3, E4, E5); ++ memory_region_init_alias(E1, obj, E2, E3, E4, E5); +| +- memory_region_init_rom(E1, NULL, E2, E3, E4); ++ memory_region_init_rom(E1, obj, E2, E3, E4); +| +- memory_region_init_ram(E1, NULL, E2, E3, E4); ++ memory_region_init_ram(E1, obj, E2, E3, E4); +| +- memory_region_init_ram_ptr(E1, NULL, E2, E3, E4); ++ memory_region_init_ram_ptr(E1, obj, E2, E3, E4); +| +- memory_region_init_ram_shared_nomigrate(E1, NULL, E2, E3, E4, E5); ++ memory_region_init_ram_shared_nomigrate(E1, obj, E2, E3, E4, E5); +) + ...+> +} + +// Device is owner +@@ +identifier device_fn, dev; +expression E1, E2, E3, E4, E5; +@@ +static void device_fn(DeviceState *dev, ...) +{ + <+... +( +- memory_region_init(E1, NULL, E2, E3); ++ memory_region_init(E1, OBJECT(dev), E2, E3); +| +- memory_region_init_io(E1, NULL, E2, E3, E4, E5); ++ memory_region_init_io(E1, OBJECT(dev), E2, E3, E4, E5); +| +- memory_region_init_alias(E1, NULL, E2, E3, E4, E5); ++ memory_region_init_alias(E1, OBJECT(dev), E2, E3, E4, E5); +| +- memory_region_init_rom(E1, NULL, E2, E3, E4); ++ memory_region_init_rom(E1, OBJECT(dev), E2, E3, E4); +| +- memory_region_init_ram(E1, NULL, E2, E3, E4); ++ memory_region_init_ram(E1, OBJECT(dev), E2, E3, E4); +| +- memory_region_init_ram_ptr(E1, NULL, E2, E3, E4); ++ memory_region_init_ram_ptr(E1, OBJECT(dev), E2, E3, E4); +| +- memory_region_init_ram_shared_nomigrate(E1, NULL, E2, E3, E4, E5); ++ memory_region_init_ram_shared_nomigrate(E1, OBJECT(dev), E2, E3, E4, E5); +) + ...+> +} From patchwork Fri Feb 21 17:30:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 11397027 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DE7F814BC for ; Fri, 21 Feb 2020 17:36:34 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A52E2208E4 for ; Fri, 21 Feb 2020 17:36:34 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="I59Vr6sJ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A52E2208E4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:34256 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5CE5-0004zb-R0 for patchwork-qemu-devel@patchwork.kernel.org; Fri, 21 Feb 2020 12:36:33 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38009) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5C8l-00062E-9E for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:31:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j5C8i-0007wm-US for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:31:03 -0500 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:49247 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j5C8i-0007wN-OW for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:31:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582306260; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=afJ5QT7JVzOtThcnGpLQB0AFRR8aew0iyQodV15f1pQ=; b=I59Vr6sJAabXg48GywPjpA/pQlKo9W3YqdnuODeL+VrvqTcYpdtc4SL1RVUc9q8CXfYi3N qFUYkPFsiSTAdhL3dH6fQoKH7r2u9wfqrkURPQdnE83CMfoJgOb4szdHX8t9p+UryOrteU +ndSD2h4oUnybvdlYrAXGuKg2XHKjwI= Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-411-dlyVfWeBPuyqVqI-arndyg-1; Fri, 21 Feb 2020 12:30:58 -0500 X-MC-Unique: dlyVfWeBPuyqVqI-arndyg-1 Received: by mail-wr1-f69.google.com with SMTP id z15so1333238wrw.0 for ; Fri, 21 Feb 2020 09:30:58 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Fc5MkCFdS3Or+k1ZhQt3xGzx43hkZES9oGLOhGzJcLc=; b=QIGgKKFOv3zjAAt6ZRq4f11qqY4HDpW6dh3Bo3Ho7KjvNYojw+H5WX8SEB7rnScx/d +VOFVOwoDoE687Gbt9NX2CTIG+iJRW9eq2JzNVh5bE0SdYNWM+ZLPYgDK0owegsgiaA/ lw0l9iHJeHtYKUtowIAME1GjZdfh9dVPnvvOeOGdZC4bHO1W1Xbj58i+tKYkP1+RBQ15 /K7RnaoFfcMIwQnZU9ejRoqDvCHKs8fm+KtA6Q9laMGNaQr4CdsKWvYH1RIIYX4VJwVW FdvIjDBGVyjzgw4t00+TlSMqxlgmkZmvMzbe5RTT9BH+WSOqv9LSR1x8T/o5xon+RiFl lbTA== X-Gm-Message-State: APjAAAWMFLzDtvLiIZoRBpkTpijBN57sKTYXJRCw0FNpPFsz5ETyBQMl 0OClXOYiSjrW7bqG+bZ9DVHtibqukbs9vVsCuZ1kDHP17/C4Mh3jTd9kjRt7hLJ2PVnZQwIi/BO PNq+dMmJJhcWYYPY= X-Received: by 2002:a05:6000:118e:: with SMTP id g14mr52664572wrx.39.1582306256924; Fri, 21 Feb 2020 09:30:56 -0800 (PST) X-Google-Smtp-Source: APXvYqwjhXndrol42jRI6VSKf8OKkOybYlXmNYGlliC9ipyAqSi46spch1TCPAR30w+hrejrKIHiSw== X-Received: by 2002:a05:6000:118e:: with SMTP id g14mr52664528wrx.39.1582306256497; Fri, 21 Feb 2020 09:30:56 -0800 (PST) Received: from x1w.redhat.com (78.red-88-21-202.staticip.rima-tde.net. [88.21.202.78]) by smtp.gmail.com with ESMTPSA id h18sm5000871wrv.78.2020.02.21.09.30.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Feb 2020 09:30:55 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 2/7] hw/arm: Let devices own the MemoryRegion they create Date: Fri, 21 Feb 2020 18:30:44 +0100 Message-Id: <20200221173049.18134-3-philmd@redhat.com> X-Mailer: git-send-email 2.21.1 In-Reply-To: <20200221173049.18134-1-philmd@redhat.com> References: <20200221173049.18134-1-philmd@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.81 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 , Sagar Karandikar , "Michael S. Tsirkin" , Mark Cave-Ayland , Alistair Francis , "Edgar E. Iglesias" , Jean-Christophe Dubois , =?utf-8?q?Herv=C3=A9_Poussine?= =?utf-8?q?au?= , Joel Stanley , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Aleksandar Rikalo , =?utf-8?q?Philippe_Mathieu?= =?utf-8?q?-Daud=C3=A9?= , Alistair Francis , qemu-arm@nongnu.org, Peter Chubb , qemu-riscv@nongnu.org, Igor Mitsyanko , Bastian Koppelmann , Laurent Vivier , Subbaraya Sundeep , Palmer Dabbelt , Paolo Bonzini Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" To avoid orphean memory regions being added in the /unattached QOM container, use the memory_region_owner_nonnull.cocci script to set the correct ownership. Signed-off-by: Philippe Mathieu-Daudé --- hw/arm/exynos4210.c | 14 +++++++------- hw/arm/fsl-imx25.c | 14 +++++++------- hw/arm/fsl-imx31.c | 10 +++++----- hw/arm/fsl-imx6.c | 10 +++++----- hw/arm/fsl-imx6ul.c | 14 +++++++------- hw/arm/msf2-soc.c | 8 ++++---- hw/arm/nrf51_soc.c | 2 +- hw/arm/stm32f205_soc.c | 10 +++++----- hw/arm/stm32f405_soc.c | 13 +++++++------ hw/arm/xlnx-zynqmp.c | 13 ++++++------- 10 files changed, 54 insertions(+), 54 deletions(-) diff --git a/hw/arm/exynos4210.c b/hw/arm/exynos4210.c index 59a27bdd68..d4b05336ee 100644 --- a/hw/arm/exynos4210.c +++ b/hw/arm/exynos4210.c @@ -305,28 +305,28 @@ static void exynos4210_realize(DeviceState *socdev, Error **errp) /*** Memory ***/ /* Chip-ID and OMR */ - memory_region_init_io(&s->chipid_mem, NULL, &exynos4210_chipid_and_omr_ops, - NULL, "exynos4210.chipid", sizeof(chipid_and_omr)); + memory_region_init_io(&s->chipid_mem, OBJECT(socdev), + &exynos4210_chipid_and_omr_ops, NULL, + "exynos4210.chipid", sizeof(chipid_and_omr)); memory_region_add_subregion(system_mem, EXYNOS4210_CHIPID_ADDR, &s->chipid_mem); /* Internal ROM */ - memory_region_init_ram(&s->irom_mem, NULL, "exynos4210.irom", + memory_region_init_ram(&s->irom_mem, OBJECT(socdev), "exynos4210.irom", EXYNOS4210_IROM_SIZE, &error_fatal); memory_region_set_readonly(&s->irom_mem, true); memory_region_add_subregion(system_mem, EXYNOS4210_IROM_BASE_ADDR, &s->irom_mem); /* mirror of iROM */ - memory_region_init_alias(&s->irom_alias_mem, NULL, "exynos4210.irom_alias", - &s->irom_mem, - 0, + memory_region_init_alias(&s->irom_alias_mem, OBJECT(socdev), + "exynos4210.irom_alias", &s->irom_mem, 0, EXYNOS4210_IROM_SIZE); memory_region_set_readonly(&s->irom_alias_mem, true); memory_region_add_subregion(system_mem, EXYNOS4210_IROM_MIRROR_BASE_ADDR, &s->irom_alias_mem); /* Internal RAM */ - memory_region_init_ram(&s->iram_mem, NULL, "exynos4210.iram", + memory_region_init_ram(&s->iram_mem, OBJECT(socdev), "exynos4210.iram", EXYNOS4210_IRAM_SIZE, &error_fatal); memory_region_add_subregion(system_mem, EXYNOS4210_IRAM_BASE_ADDR, &s->iram_mem); diff --git a/hw/arm/fsl-imx25.c b/hw/arm/fsl-imx25.c index da3471b395..a77c873cfe 100644 --- a/hw/arm/fsl-imx25.c +++ b/hw/arm/fsl-imx25.c @@ -247,16 +247,16 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp) } /* initialize 2 x 16 KB ROM */ - memory_region_init_rom(&s->rom[0], NULL, - "imx25.rom0", FSL_IMX25_ROM0_SIZE, &err); + memory_region_init_rom(&s->rom[0], OBJECT(dev), "imx25.rom0", + FSL_IMX25_ROM0_SIZE, &err); if (err) { error_propagate(errp, err); return; } memory_region_add_subregion(get_system_memory(), FSL_IMX25_ROM0_ADDR, &s->rom[0]); - memory_region_init_rom(&s->rom[1], NULL, - "imx25.rom1", FSL_IMX25_ROM1_SIZE, &err); + memory_region_init_rom(&s->rom[1], OBJECT(dev), "imx25.rom1", + FSL_IMX25_ROM1_SIZE, &err); if (err) { error_propagate(errp, err); return; @@ -265,8 +265,8 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp) &s->rom[1]); /* initialize internal RAM (128 KB) */ - memory_region_init_ram(&s->iram, NULL, "imx25.iram", FSL_IMX25_IRAM_SIZE, - &err); + memory_region_init_ram(&s->iram, OBJECT(dev), "imx25.iram", + FSL_IMX25_IRAM_SIZE, &err); if (err) { error_propagate(errp, err); return; @@ -275,7 +275,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp) &s->iram); /* internal RAM (128 KB) is aliased over 128 MB - 128 KB */ - memory_region_init_alias(&s->iram_alias, NULL, "imx25.iram_alias", + memory_region_init_alias(&s->iram_alias, OBJECT(dev), "imx25.iram_alias", &s->iram, 0, FSL_IMX25_IRAM_ALIAS_SIZE); memory_region_add_subregion(get_system_memory(), FSL_IMX25_IRAM_ALIAS_ADDR, &s->iram_alias); diff --git a/hw/arm/fsl-imx31.c b/hw/arm/fsl-imx31.c index 55e90d104b..d5057ea49b 100644 --- a/hw/arm/fsl-imx31.c +++ b/hw/arm/fsl-imx31.c @@ -206,7 +206,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp) } /* On a real system, the first 16k is a `secure boot rom' */ - memory_region_init_rom(&s->secure_rom, NULL, "imx31.secure_rom", + memory_region_init_rom(&s->secure_rom, OBJECT(dev), "imx31.secure_rom", FSL_IMX31_SECURE_ROM_SIZE, &err); if (err) { error_propagate(errp, err); @@ -216,7 +216,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp) &s->secure_rom); /* There is also a 16k ROM */ - memory_region_init_rom(&s->rom, NULL, "imx31.rom", + memory_region_init_rom(&s->rom, OBJECT(dev), "imx31.rom", FSL_IMX31_ROM_SIZE, &err); if (err) { error_propagate(errp, err); @@ -226,8 +226,8 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp) &s->rom); /* initialize internal RAM (16 KB) */ - memory_region_init_ram(&s->iram, NULL, "imx31.iram", FSL_IMX31_IRAM_SIZE, - &err); + memory_region_init_ram(&s->iram, OBJECT(dev), "imx31.iram", + FSL_IMX31_IRAM_SIZE, &err); if (err) { error_propagate(errp, err); return; @@ -236,7 +236,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp) &s->iram); /* internal RAM (16 KB) is aliased over 256 MB - 16 KB */ - memory_region_init_alias(&s->iram_alias, NULL, "imx31.iram_alias", + memory_region_init_alias(&s->iram_alias, OBJECT(dev), "imx31.iram_alias", &s->iram, 0, FSL_IMX31_IRAM_ALIAS_SIZE); memory_region_add_subregion(get_system_memory(), FSL_IMX31_IRAM_ALIAS_ADDR, &s->iram_alias); diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c index ecc62855f2..ecbd7ce399 100644 --- a/hw/arm/fsl-imx6.c +++ b/hw/arm/fsl-imx6.c @@ -405,7 +405,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) } /* ROM memory */ - memory_region_init_rom(&s->rom, NULL, "imx6.rom", + memory_region_init_rom(&s->rom, OBJECT(dev), "imx6.rom", FSL_IMX6_ROM_SIZE, &err); if (err) { error_propagate(errp, err); @@ -415,7 +415,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) &s->rom); /* CAAM memory */ - memory_region_init_rom(&s->caam, NULL, "imx6.caam", + memory_region_init_rom(&s->caam, OBJECT(dev), "imx6.caam", FSL_IMX6_CAAM_MEM_SIZE, &err); if (err) { error_propagate(errp, err); @@ -425,8 +425,8 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) &s->caam); /* OCRAM memory */ - memory_region_init_ram(&s->ocram, NULL, "imx6.ocram", FSL_IMX6_OCRAM_SIZE, - &err); + memory_region_init_ram(&s->ocram, OBJECT(dev), "imx6.ocram", + FSL_IMX6_OCRAM_SIZE, &err); if (err) { error_propagate(errp, err); return; @@ -435,7 +435,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) &s->ocram); /* internal OCRAM (256 KB) is aliased over 1 MB */ - memory_region_init_alias(&s->ocram_alias, NULL, "imx6.ocram_alias", + memory_region_init_alias(&s->ocram_alias, OBJECT(dev), "imx6.ocram_alias", &s->ocram, 0, FSL_IMX6_OCRAM_ALIAS_SIZE); memory_region_add_subregion(get_system_memory(), FSL_IMX6_OCRAM_ALIAS_ADDR, &s->ocram_alias); diff --git a/hw/arm/fsl-imx6ul.c b/hw/arm/fsl-imx6ul.c index c405b68d1d..ddb6655678 100644 --- a/hw/arm/fsl-imx6ul.c +++ b/hw/arm/fsl-imx6ul.c @@ -543,7 +543,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) /* * ROM memory */ - memory_region_init_rom(&s->rom, NULL, "imx6ul.rom", + memory_region_init_rom(&s->rom, OBJECT(dev), "imx6ul.rom", FSL_IMX6UL_ROM_SIZE, &error_abort); memory_region_add_subregion(get_system_memory(), FSL_IMX6UL_ROM_ADDR, &s->rom); @@ -551,7 +551,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) /* * CAAM memory */ - memory_region_init_rom(&s->caam, NULL, "imx6ul.caam", + memory_region_init_rom(&s->caam, OBJECT(dev), "imx6ul.caam", FSL_IMX6UL_CAAM_MEM_SIZE, &error_abort); memory_region_add_subregion(get_system_memory(), FSL_IMX6UL_CAAM_MEM_ADDR, &s->caam); @@ -559,17 +559,17 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) /* * OCRAM memory */ - memory_region_init_ram(&s->ocram, NULL, "imx6ul.ocram", - FSL_IMX6UL_OCRAM_MEM_SIZE, - &error_abort); + memory_region_init_ram(&s->ocram, OBJECT(dev), "imx6ul.ocram", + FSL_IMX6UL_OCRAM_MEM_SIZE, &error_abort); memory_region_add_subregion(get_system_memory(), FSL_IMX6UL_OCRAM_MEM_ADDR, &s->ocram); /* * internal OCRAM (128 KB) is aliased over 512 KB */ - memory_region_init_alias(&s->ocram_alias, NULL, "imx6ul.ocram_alias", - &s->ocram, 0, FSL_IMX6UL_OCRAM_ALIAS_SIZE); + memory_region_init_alias(&s->ocram_alias, OBJECT(dev), + "imx6ul.ocram_alias", &s->ocram, 0, + FSL_IMX6UL_OCRAM_ALIAS_SIZE); memory_region_add_subregion(get_system_memory(), FSL_IMX6UL_OCRAM_ALIAS_ADDR, &s->ocram_alias); } diff --git a/hw/arm/msf2-soc.c b/hw/arm/msf2-soc.c index 8f84692e64..291bf8df43 100644 --- a/hw/arm/msf2-soc.c +++ b/hw/arm/msf2-soc.c @@ -96,7 +96,7 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Error **errp) MemoryRegion *nvm_alias = g_new(MemoryRegion, 1); MemoryRegion *sram = g_new(MemoryRegion, 1); - memory_region_init_rom(nvm, NULL, "MSF2.eNVM", s->envm_size, + memory_region_init_rom(nvm, OBJECT(dev_soc), "MSF2.eNVM", s->envm_size, &error_fatal); /* * On power-on, the eNVM region 0x60000000 is automatically @@ -104,13 +104,13 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Error **errp) * start address (0x0). We do not support remapping other eNVM, * eSRAM and DDR regions by guest(via Sysreg) currently. */ - memory_region_init_alias(nvm_alias, NULL, "MSF2.eNVM", - nvm, 0, s->envm_size); + memory_region_init_alias(nvm_alias, OBJECT(dev_soc), "MSF2.eNVM", nvm, 0, + s->envm_size); memory_region_add_subregion(system_memory, ENVM_BASE_ADDRESS, nvm); memory_region_add_subregion(system_memory, 0, nvm_alias); - memory_region_init_ram(sram, NULL, "MSF2.eSRAM", s->esram_size, + memory_region_init_ram(sram, OBJECT(dev_soc), "MSF2.eSRAM", s->esram_size, &error_fatal); memory_region_add_subregion(system_memory, SRAM_BASE_ADDRESS, sram); diff --git a/hw/arm/nrf51_soc.c b/hw/arm/nrf51_soc.c index 4817a76ae0..57eff63f0d 100644 --- a/hw/arm/nrf51_soc.c +++ b/hw/arm/nrf51_soc.c @@ -165,7 +165,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Error **errp) } /* STUB Peripherals */ - memory_region_init_io(&s->clock, NULL, &clock_ops, NULL, + memory_region_init_io(&s->clock, OBJECT(dev_soc), &clock_ops, NULL, "nrf51_soc.clock", 0x1000); memory_region_add_subregion_overlap(&s->container, NRF51_IOMEM_BASE, &s->clock, -1); diff --git a/hw/arm/stm32f205_soc.c b/hw/arm/stm32f205_soc.c index 627fd446f5..ac6bd66a34 100644 --- a/hw/arm/stm32f205_soc.c +++ b/hw/arm/stm32f205_soc.c @@ -93,10 +93,10 @@ static void stm32f205_soc_realize(DeviceState *dev_soc, Error **errp) MemoryRegion *flash = g_new(MemoryRegion, 1); MemoryRegion *flash_alias = g_new(MemoryRegion, 1); - memory_region_init_ram(flash, NULL, "STM32F205.flash", FLASH_SIZE, - &error_fatal); - memory_region_init_alias(flash_alias, NULL, "STM32F205.flash.alias", - flash, 0, FLASH_SIZE); + memory_region_init_ram(flash, OBJECT(dev_soc), "STM32F205.flash", + FLASH_SIZE, &error_fatal); + memory_region_init_alias(flash_alias, OBJECT(dev_soc), + "STM32F205.flash.alias", flash, 0, FLASH_SIZE); memory_region_set_readonly(flash, true); memory_region_set_readonly(flash_alias, true); @@ -104,7 +104,7 @@ static void stm32f205_soc_realize(DeviceState *dev_soc, Error **errp) memory_region_add_subregion(system_memory, FLASH_BASE_ADDRESS, flash); memory_region_add_subregion(system_memory, 0, flash_alias); - memory_region_init_ram(sram, NULL, "STM32F205.sram", SRAM_SIZE, + memory_region_init_ram(sram, OBJECT(dev_soc), "STM32F205.sram", SRAM_SIZE, &error_fatal); memory_region_add_subregion(system_memory, SRAM_BASE_ADDRESS, sram); diff --git a/hw/arm/stm32f405_soc.c b/hw/arm/stm32f405_soc.c index 9bcad97853..4dea1f95ff 100644 --- a/hw/arm/stm32f405_soc.c +++ b/hw/arm/stm32f405_soc.c @@ -95,14 +95,15 @@ static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp) Error *err = NULL; int i; - memory_region_init_ram(&s->flash, NULL, "STM32F405.flash", FLASH_SIZE, - &err); + memory_region_init_ram(&s->flash, OBJECT(dev_soc), "STM32F405.flash", + FLASH_SIZE, &err); if (err != NULL) { error_propagate(errp, err); return; } - memory_region_init_alias(&s->flash_alias, NULL, "STM32F405.flash.alias", - &s->flash, 0, FLASH_SIZE); + memory_region_init_alias(&s->flash_alias, OBJECT(dev_soc), + "STM32F405.flash.alias", &s->flash, 0, + FLASH_SIZE); memory_region_set_readonly(&s->flash, true); memory_region_set_readonly(&s->flash_alias, true); @@ -110,8 +111,8 @@ static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp) memory_region_add_subregion(system_memory, FLASH_BASE_ADDRESS, &s->flash); memory_region_add_subregion(system_memory, 0, &s->flash_alias); - memory_region_init_ram(&s->sram, NULL, "STM32F405.sram", SRAM_SIZE, - &err); + memory_region_init_ram(&s->sram, OBJECT(dev_soc), "STM32F405.sram", + SRAM_SIZE, &err); if (err != NULL) { error_propagate(errp, err); return; diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c index cab0160ae9..1b28e943cd 100644 --- a/hw/arm/xlnx-zynqmp.c +++ b/hw/arm/xlnx-zynqmp.c @@ -318,9 +318,9 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp) ddr_low_size = XLNX_ZYNQMP_MAX_LOW_RAM_SIZE; ddr_high_size = ram_size - XLNX_ZYNQMP_MAX_LOW_RAM_SIZE; - memory_region_init_alias(&s->ddr_ram_high, NULL, - "ddr-ram-high", s->ddr_ram, - ddr_low_size, ddr_high_size); + memory_region_init_alias(&s->ddr_ram_high, OBJECT(dev), + "ddr-ram-high", s->ddr_ram, ddr_low_size, + ddr_high_size); memory_region_add_subregion(get_system_memory(), XLNX_ZYNQMP_HIGH_RAM_START, &s->ddr_ram_high); @@ -330,16 +330,15 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp) ddr_low_size = ram_size; } - memory_region_init_alias(&s->ddr_ram_low, NULL, - "ddr-ram-low", s->ddr_ram, - 0, ddr_low_size); + memory_region_init_alias(&s->ddr_ram_low, OBJECT(dev), "ddr-ram-low", + s->ddr_ram, 0, ddr_low_size); memory_region_add_subregion(get_system_memory(), 0, &s->ddr_ram_low); /* Create the four OCM banks */ for (i = 0; i < XLNX_ZYNQMP_NUM_OCM_BANKS; i++) { char *ocm_name = g_strdup_printf("zynqmp.ocm_ram_bank_%d", i); - memory_region_init_ram(&s->ocm_ram[i], NULL, ocm_name, + memory_region_init_ram(&s->ocm_ram[i], OBJECT(dev), ocm_name, XLNX_ZYNQMP_OCM_RAM_SIZE, &error_fatal); memory_region_add_subregion(get_system_memory(), XLNX_ZYNQMP_OCM_RAM_0_ADDRESS + From patchwork Fri Feb 21 17:30:45 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 11397021 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 3A4B2930 for ; Fri, 21 Feb 2020 17:34:41 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 10BF2222C4 for ; Fri, 21 Feb 2020 17:34:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="QgOuHREf" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 10BF2222C4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:34188 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5CCG-00027r-8O for patchwork-qemu-devel@patchwork.kernel.org; Fri, 21 Feb 2020 12:34:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38030) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5C8m-00064G-6G for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:31:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j5C8k-0007xw-N6 for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:31:04 -0500 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:20533 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j5C8k-0007xP-Ig for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:31:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582306261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Zf2WsS+Rv67/jMvGBPvIRKzoIHeTqtx2fA55QRMOVeM=; b=QgOuHREf8xHII39mOydHZCcwrPCfrOCaFk90n6wNj2+wHkiow85D4zT8ml5E53bRLIAm3x cP/VmCPFNrMFO9oQ64Kq3t2Haa1b1Lcx3HBrdaueBVXbxMvvPGPkYE/7PGzz4S79BQOHsX m8mYRB4I/yDaiX0sXZYxSo4LwHoVZto= Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-212-ZKOHCS3MO-ahAlmti-8ltg-1; Fri, 21 Feb 2020 12:31:00 -0500 X-MC-Unique: ZKOHCS3MO-ahAlmti-8ltg-1 Received: by mail-wr1-f69.google.com with SMTP id m15so1296020wrs.22 for ; Fri, 21 Feb 2020 09:31:00 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=kEZCU8SMVeWrFaW4f8SskHzoBJoLksHA5LudhJgZBAs=; b=VyFThK+uB3tfOunco8sHMx5cZHbQM8hMpEArCqQqeY9pPdxMDwAZsFHhyQs8wYEivM 9CoJhT1DTQEIkUpioRFTXa+Bik2SYr0knFXGy3I39DP/5yk2e4nDEPFbcLx91d08Kv/6 w7YztNwOLWWlpQhdL/MYOcNPxNDXBnr9nxncAToMXNfUwDNBop7io0SnQK6Niaz7KwON iv7TYJtQWB6NaDfLNfr7cOQBTObxDn8cUxTtZyYOwk73VclBHCVQ38A68M2Vsa1EbLRe iiKl3Tcu4KNFP6LRXIagaEANRI31JwtDdTQRs+t37spGI2g6rFRBGP/orXdI4pcTokI1 3Vtw== X-Gm-Message-State: APjAAAU+EcvdNhEfOLqGq1eb7MFgnEWyjJBnLu1/hakpOVxcp8lbDnp8 CH0aFYPJSMb9M/QTW/Wu/Lb9sZOeadRwXMLKXLcKLVrSgyKva/zc/n3EhYmddG6D8LiaM4oHOR6 haRyIEFp4EE4CTAo= X-Received: by 2002:adf:edd0:: with SMTP id v16mr48855695wro.310.1582306259069; Fri, 21 Feb 2020 09:30:59 -0800 (PST) X-Google-Smtp-Source: APXvYqxLjsZ7pMGOPIjvUZ886X5oZJeXEr39Z4xA7MlsHceESPee+5Hs9pw7468ZjEUoGKjIVYKtFQ== X-Received: by 2002:adf:edd0:: with SMTP id v16mr48855657wro.310.1582306258912; Fri, 21 Feb 2020 09:30:58 -0800 (PST) Received: from x1w.redhat.com (78.red-88-21-202.staticip.rima-tde.net. [88.21.202.78]) by smtp.gmail.com with ESMTPSA id h18sm5000871wrv.78.2020.02.21.09.30.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Feb 2020 09:30:58 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 3/7] hw/char: Let devices own the MemoryRegion they create Date: Fri, 21 Feb 2020 18:30:45 +0100 Message-Id: <20200221173049.18134-4-philmd@redhat.com> X-Mailer: git-send-email 2.21.1 In-Reply-To: <20200221173049.18134-1-philmd@redhat.com> References: <20200221173049.18134-1-philmd@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 205.139.110.61 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 , Sagar Karandikar , "Michael S. Tsirkin" , Mark Cave-Ayland , Alistair Francis , "Edgar E. Iglesias" , Jean-Christophe Dubois , =?utf-8?q?Herv=C3=A9_Poussine?= =?utf-8?q?au?= , Joel Stanley , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Aleksandar Rikalo , =?utf-8?q?Philippe_Mathieu?= =?utf-8?q?-Daud=C3=A9?= , Alistair Francis , qemu-arm@nongnu.org, Peter Chubb , qemu-riscv@nongnu.org, Igor Mitsyanko , Bastian Koppelmann , Laurent Vivier , Subbaraya Sundeep , Palmer Dabbelt , Paolo Bonzini Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" To avoid orphean memory regions being added in the /unattached QOM container, use the memory_region_owner_nonnull.cocci script to set the correct ownership. Signed-off-by: Philippe Mathieu-Daudé --- hw/char/serial.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/hw/char/serial.c b/hw/char/serial.c index 9298881af9..2ab8b69e03 100644 --- a/hw/char/serial.c +++ b/hw/char/serial.c @@ -997,7 +997,7 @@ static void serial_io_realize(DeviceState *dev, Error **errp) return; } - memory_region_init_io(&s->io, NULL, &serial_io_ops, s, "serial", 8); + memory_region_init_io(&s->io, OBJECT(dev), &serial_io_ops, s, "serial", 8); sysbus_init_mmio(SYS_BUS_DEVICE(sio), &s->io); sysbus_init_irq(SYS_BUS_DEVICE(sio), &s->irq); } @@ -1106,8 +1106,9 @@ static void serial_mm_realize(DeviceState *dev, Error **errp) return; } - memory_region_init_io(&s->io, NULL, &serial_mm_ops[smm->endianness], smm, - "serial", 8 << smm->regshift); + memory_region_init_io(&s->io, OBJECT(dev), + &serial_mm_ops[smm->endianness], smm, "serial", + 8 << smm->regshift); sysbus_init_mmio(SYS_BUS_DEVICE(smm), &s->io); sysbus_init_irq(SYS_BUS_DEVICE(smm), &smm->serial.irq); } From patchwork Fri Feb 21 17:30:46 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 11397013 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DBB9E14BC for ; Fri, 21 Feb 2020 17:32:56 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B2C72222C4 for ; Fri, 21 Feb 2020 17:32:56 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="CVqh4gPK" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B2C72222C4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:34166 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5CAZ-0008Ov-Te for patchwork-qemu-devel@patchwork.kernel.org; Fri, 21 Feb 2020 12:32:55 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38051) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5C8m-00065x-Va for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:31:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j5C8l-0007yi-UR for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:31:04 -0500 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:22650 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j5C8l-0007yM-Pm for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:31:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582306263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=l2pPJB7dVv53xB+pM6ByHDe1JdpbC3cSQ0yop2iaXBM=; b=CVqh4gPK64BU+2r+AAn8/4KtAaYQxnGvkFzRzYr493HlwxZo8GAu90IuE5vfPcpZTX0Mlh 1AxG40C5D6l9w0RoICfJe6YmDDJ86jETpLbq213KBwlPtWz78FIT++1pHiNXowUe3VXGsQ h3bvkOpam5KpAJyli08nA8GEwwTaBdc= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-157-xiPfrd_HMey2i75zoVhZIg-1; Fri, 21 Feb 2020 12:31:01 -0500 X-MC-Unique: xiPfrd_HMey2i75zoVhZIg-1 Received: by mail-wm1-f69.google.com with SMTP id f207so854794wme.6 for ; Fri, 21 Feb 2020 09:31:01 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=1tNyRzGC0EsXOg8ox9ROXwfpcEcBwuRdTCHdqcdRxTY=; b=KUP0Y3wRDw2bKfJjWOMPOtHNTW3nxCMsKEzUbpK2zQeGDf33YCIT4ivapzMXOxfYwG 11vJ8yD1jIQu1adozGMvu+8K35ev0+HDQYxGf6XmXKTjjH5Rr+FPi1VYkf8bRMMK6hi4 VKBfTQlAoo9hWcZS/gad8DX7ZYcH8go8wtikCaPox5+Bdz++yRvv+RXUeKdebyh+pXCU jGnyCpyPHGGbTpFsM7u923BgB82QdS/sS6OhAbor0I881RnxJTD14ML3O/qt8nFTdVKN t+jfETsQfBebCwr2YxCazam3n0N4Sd3hC33jeBEgTYmUhpklUgimaI3q0WyLdCsQnR+Z GEgg== X-Gm-Message-State: APjAAAU3qpfHY6dnlumdGEru1XK+6JEGHyRWCpxVfP4D+O7nuDamp+M4 Q1aDDf6yjGQRJcAyPz1woDfC4wL0W/Ku7yIMU8ZBI0S7X+HkMRdVWxjj4gmkwMqEDeZ3SO6GUMi reGvHIYDfPagRc6c= X-Received: by 2002:adf:f091:: with SMTP id n17mr48035246wro.387.1582306260616; Fri, 21 Feb 2020 09:31:00 -0800 (PST) X-Google-Smtp-Source: APXvYqxAW+qR5XRP7uwi7KWjtLc+Ik1gy311YfEvXAKKV0p8ZnHFE0EazAPFpnBibOLVdwTqQTE/UQ== X-Received: by 2002:adf:f091:: with SMTP id n17mr48035215wro.387.1582306260447; Fri, 21 Feb 2020 09:31:00 -0800 (PST) Received: from x1w.redhat.com (78.red-88-21-202.staticip.rima-tde.net. [88.21.202.78]) by smtp.gmail.com with ESMTPSA id h18sm5000871wrv.78.2020.02.21.09.30.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Feb 2020 09:30:59 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 4/7] hw/core: Let devices own the MemoryRegion they create Date: Fri, 21 Feb 2020 18:30:46 +0100 Message-Id: <20200221173049.18134-5-philmd@redhat.com> X-Mailer: git-send-email 2.21.1 In-Reply-To: <20200221173049.18134-1-philmd@redhat.com> References: <20200221173049.18134-1-philmd@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.120 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 , Sagar Karandikar , "Michael S. Tsirkin" , Mark Cave-Ayland , Alistair Francis , "Edgar E. Iglesias" , Jean-Christophe Dubois , =?utf-8?q?Herv=C3=A9_Poussine?= =?utf-8?q?au?= , Joel Stanley , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Aleksandar Rikalo , =?utf-8?q?Philippe_Mathieu?= =?utf-8?q?-Daud=C3=A9?= , Alistair Francis , qemu-arm@nongnu.org, Peter Chubb , qemu-riscv@nongnu.org, Igor Mitsyanko , Bastian Koppelmann , Laurent Vivier , Subbaraya Sundeep , Palmer Dabbelt , Paolo Bonzini Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" To avoid orphean memory regions being added in the /unattached QOM container, use the memory_region_owner_nonnull.cocci script to set the correct ownership. Signed-off-by: Philippe Mathieu-Daudé --- hw/core/platform-bus.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/core/platform-bus.c b/hw/core/platform-bus.c index 22c5f76dd0..d494e5cec1 100644 --- a/hw/core/platform-bus.c +++ b/hw/core/platform-bus.c @@ -187,7 +187,8 @@ static void platform_bus_realize(DeviceState *dev, Error **errp) d = SYS_BUS_DEVICE(dev); pbus = PLATFORM_BUS_DEVICE(dev); - memory_region_init(&pbus->mmio, NULL, "platform bus", pbus->mmio_size); + memory_region_init(&pbus->mmio, OBJECT(dev), "platform bus", + pbus->mmio_size); sysbus_init_mmio(d, &pbus->mmio); pbus->used_irqs = bitmap_new(pbus->num_irqs); From patchwork Fri Feb 21 17:30:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 11397025 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 165A2930 for ; Fri, 21 Feb 2020 17:35:36 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E0E55222C4 for ; Fri, 21 Feb 2020 17:35:35 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="HItnXlY0" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E0E55222C4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:34198 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5CD9-0003Jt-3K for patchwork-qemu-devel@patchwork.kernel.org; Fri, 21 Feb 2020 12:35:35 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38107) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5C8p-0006CG-FK for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:31:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j5C8o-000807-B9 for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:31:07 -0500 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:54570 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j5C8o-0007zf-78 for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:31:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582306265; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VEFA07cxDExgBn425ggzA1li5B5q1BBqRYxz1LjraoI=; b=HItnXlY0Kxdz/YhP2oWzPJMnZLpaqZ6/kQ5MJ0Lkzr3PE2WbLu9gZCvblZ/r9uI4OMwVwb 4RQhotmbmxVx+drvaTQyEa1oeNhupW6/C3eep7pkTPte6Y2NDSQj8jryM1hLfIxfSvzG5T yo6kiW9qG2qe1lvVJd0XK1ekcf5+kow= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-337-Rw44Jy64Ovm_wcKR-QPNYQ-1; Fri, 21 Feb 2020 12:31:03 -0500 X-MC-Unique: Rw44Jy64Ovm_wcKR-QPNYQ-1 Received: by mail-wm1-f71.google.com with SMTP id y125so2067579wmg.1 for ; Fri, 21 Feb 2020 09:31:03 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=EJXr99FJ98twgvm41idHKUIEhs+PYW203OES1NY0r5o=; b=ZdYUSxsRWw8k8bVxI/JpQVgBvo3jllUmnzKVjKjLvwzBnAj5F75IJnE3rGk6QVQA++ Da15nz7jb0aaNIWjrEL/Do7somTrt+mCXKmaPwRzEVKh+yVvqpMn2BoA9KdqYvwyJO5O 1eMiDaTIq3zxkkzWPHbVKogntYkQVlLBxlQ3IGxEfFEGIVY88Bzid7HouWPqbJ93wFxo YbV8KaQcAAdVvs/qqrDgs6Fglc442ZuNbr2TKxtnJW8XT3A8xJ+YlAqsX7rHWKI2pPFW LZBYh5vPRb1LQ01601vaR76kRnqh9U3to2qiLuFIwQD8xrVg2OUFgSBBUoCueMHeEpCm c38g== X-Gm-Message-State: APjAAAUStpd3nD92//bGGV/hUGk2jnuqWM34AgZq6XRx3MRZTPWj2EHi I8tqAIOelkHrfA46yTUwnklVLJCuzM4t56DwZAosyiCc7HpYEa+0Iua4dCwAy9gt8K+SESh7rpE 4aWxCf/Iu4mdCqxM= X-Received: by 2002:a1c:e388:: with SMTP id a130mr4895515wmh.176.1582306262287; Fri, 21 Feb 2020 09:31:02 -0800 (PST) X-Google-Smtp-Source: APXvYqzxKK4rofAtrCdp/lELRI9WruL74WpqyFZLmhDMq/d7/UXqXq6F7h1gVJASQwbnvwlXqxfsag== X-Received: by 2002:a1c:e388:: with SMTP id a130mr4895477wmh.176.1582306261997; Fri, 21 Feb 2020 09:31:01 -0800 (PST) Received: from x1w.redhat.com (78.red-88-21-202.staticip.rima-tde.net. [88.21.202.78]) by smtp.gmail.com with ESMTPSA id h18sm5000871wrv.78.2020.02.21.09.31.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Feb 2020 09:31:01 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 5/7] hw/display: Let devices own the MemoryRegion they create Date: Fri, 21 Feb 2020 18:30:47 +0100 Message-Id: <20200221173049.18134-6-philmd@redhat.com> X-Mailer: git-send-email 2.21.1 In-Reply-To: <20200221173049.18134-1-philmd@redhat.com> References: <20200221173049.18134-1-philmd@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.81 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 , Sagar Karandikar , "Michael S. Tsirkin" , Mark Cave-Ayland , Alistair Francis , "Edgar E. Iglesias" , Jean-Christophe Dubois , =?utf-8?q?Herv=C3=A9_Poussine?= =?utf-8?q?au?= , Joel Stanley , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Aleksandar Rikalo , =?utf-8?q?Philippe_Mathieu?= =?utf-8?q?-Daud=C3=A9?= , Alistair Francis , qemu-arm@nongnu.org, Peter Chubb , qemu-riscv@nongnu.org, Igor Mitsyanko , Bastian Koppelmann , Laurent Vivier , Subbaraya Sundeep , Palmer Dabbelt , Paolo Bonzini Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" To avoid orphean memory regions being added in the /unattached QOM container, use the memory_region_owner_nonnull.cocci script to set the correct ownership. Signed-off-by: Philippe Mathieu-Daudé --- hw/display/cg3.c | 4 ++-- hw/display/g364fb.c | 5 +++-- hw/display/macfb.c | 4 ++-- hw/display/vmware_vga.c | 4 ++-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/hw/display/cg3.c b/hw/display/cg3.c index 4fb67c6b1c..db2e291d16 100644 --- a/hw/display/cg3.c +++ b/hw/display/cg3.c @@ -315,8 +315,8 @@ static void cg3_realizefn(DeviceState *dev, Error **errp) } } - memory_region_init_ram(&s->vram_mem, NULL, "cg3.vram", s->vram_size, - &error_fatal); + memory_region_init_ram(&s->vram_mem, OBJECT(dev), "cg3.vram", + s->vram_size, &error_fatal); memory_region_set_log(&s->vram_mem, true, DIRTY_MEMORY_VGA); sysbus_init_mmio(sbd, &s->vram_mem); diff --git a/hw/display/g364fb.c b/hw/display/g364fb.c index 55185c95c6..28785cceda 100644 --- a/hw/display/g364fb.c +++ b/hw/display/g364fb.c @@ -477,8 +477,9 @@ static void g364fb_init(DeviceState *dev, G364State *s) s->con = graphic_console_init(dev, 0, &g364fb_ops, s); - memory_region_init_io(&s->mem_ctrl, NULL, &g364fb_ctrl_ops, s, "ctrl", 0x180000); - memory_region_init_ram_ptr(&s->mem_vram, NULL, "vram", + memory_region_init_io(&s->mem_ctrl, OBJECT(dev), &g364fb_ctrl_ops, s, + "ctrl", 0x180000); + memory_region_init_ram_ptr(&s->mem_vram, OBJECT(dev), "vram", s->vram_size, s->vram); vmstate_register_ram(&s->mem_vram, dev); memory_region_set_log(&s->mem_vram, true, DIRTY_MEMORY_VGA); diff --git a/hw/display/macfb.c b/hw/display/macfb.c index 8bff16d535..b68faff4bb 100644 --- a/hw/display/macfb.c +++ b/hw/display/macfb.c @@ -362,8 +362,8 @@ static void macfb_common_realize(DeviceState *dev, MacfbState *s, Error **errp) return; } - memory_region_init_io(&s->mem_ctrl, NULL, &macfb_ctrl_ops, s, "macfb-ctrl", - 0x1000); + memory_region_init_io(&s->mem_ctrl, OBJECT(dev), &macfb_ctrl_ops, s, + "macfb-ctrl", 0x1000); memory_region_init_ram_nomigrate(&s->mem_vram, OBJECT(s), "macfb-vram", MACFB_VRAM_SIZE, errp); diff --git a/hw/display/vmware_vga.c b/hw/display/vmware_vga.c index 58ea82e3e5..79574e3c46 100644 --- a/hw/display/vmware_vga.c +++ b/hw/display/vmware_vga.c @@ -1238,8 +1238,8 @@ static void vmsvga_init(DeviceState *dev, struct vmsvga_state_s *s, s->vga.con = graphic_console_init(dev, 0, &vmsvga_ops, s); s->fifo_size = SVGA_FIFO_SIZE; - memory_region_init_ram(&s->fifo_ram, NULL, "vmsvga.fifo", s->fifo_size, - &error_fatal); + memory_region_init_ram(&s->fifo_ram, OBJECT(dev), "vmsvga.fifo", + s->fifo_size, &error_fatal); s->fifo_ptr = memory_region_get_ram_ptr(&s->fifo_ram); vga_common_init(&s->vga, OBJECT(dev)); From patchwork Fri Feb 21 17:30:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 11397023 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 218F2930 for ; Fri, 21 Feb 2020 17:35:01 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EC58C222C4 for ; Fri, 21 Feb 2020 17:35:00 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="ESUscsSl" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EC58C222C4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:34194 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5CCZ-0002em-VL for patchwork-qemu-devel@patchwork.kernel.org; Fri, 21 Feb 2020 12:35:00 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38142) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5C8q-0006Fl-Nk for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:31:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j5C8p-00080p-JU for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:31:08 -0500 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:41473 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j5C8p-00080J-Es for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:31:07 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582306267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WcJ0r25XnABvMzyrrGJORHDPS5fue3w9osOFGOe2Mkc=; b=ESUscsSldpayKZq6GbAqKDqn3745z+nJuq29aBjfZ1Q7p2xXJ1NqiL58qTVyZZH6h82PET +S/4qDiBbJyvwbTjnAvU4oCn75qy3EHHN8OPQiCnFErF7GFsXgSm9wOrNRFB6lCYF6u+Zi Jfk/w5XjoVDDKRP+7phvu+8L8LEv1SM= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-347-OVjY4K9NMZaD4oGzVar4jA-1; Fri, 21 Feb 2020 12:31:05 -0500 X-MC-Unique: OVjY4K9NMZaD4oGzVar4jA-1 Received: by mail-wr1-f72.google.com with SMTP id o9so1315351wrw.14 for ; Fri, 21 Feb 2020 09:31:05 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=vBRFsAffF41rgxvlY5ZKXchGXzJT1TmiIiTOimH9EdI=; b=BGn2v97TZg6pHkBDvYsFMVRT/O0EawAEvsg/DcloRV+suNFYs7VKvD6VuxFvlnhcJ2 vXjwKSRyhi/Wo1Bog2c90c0/1laweKGpK3RsCCvbecVjzCRX77MvUcGgBofYj4iheUNw 7bqK9k5AyjmncT+zPap90hPMrACdMp91Wq7odvJvHhg+668ZdDBA5HPzS2mecUTOnfFN aHdqTi6yOs2cQq3YKw/TzW7A+44r8Hun2zCRNDmdYHLUMausooxsEjvg72r3pFxBh5J0 IeY1hk67nCIPq0v335/WQ41VbbdbbR8nWOtd2fslUrInC44PDqdpOwONhi1xBqKO5hTP VITA== X-Gm-Message-State: APjAAAVlhwTc3LesQvtutew3FTsiliRivMy7w2A6jEuQQGcVbHoLmgMs 91PWujHPg5CXbKq3bwSKRpn5FW7c8NmMheNlJjFI5kPwx0HWDzA8xnbHnofwN/DQaX7ysO4f5lU aMsZh3fAbQ38pZJc= X-Received: by 2002:a1c:bdc6:: with SMTP id n189mr5069526wmf.102.1582306263753; Fri, 21 Feb 2020 09:31:03 -0800 (PST) X-Google-Smtp-Source: APXvYqzEI/3oNsoby0bNnihrImcdqmlWs6JCexTdc29W5L27hyKcBACqbzBuXeY5ABZ/RF+Qns1Heg== X-Received: by 2002:a1c:bdc6:: with SMTP id n189mr5069492wmf.102.1582306263543; Fri, 21 Feb 2020 09:31:03 -0800 (PST) Received: from x1w.redhat.com (78.red-88-21-202.staticip.rima-tde.net. [88.21.202.78]) by smtp.gmail.com with ESMTPSA id h18sm5000871wrv.78.2020.02.21.09.31.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Feb 2020 09:31:03 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 6/7] hw/dma: Let devices own the MemoryRegion they create Date: Fri, 21 Feb 2020 18:30:48 +0100 Message-Id: <20200221173049.18134-7-philmd@redhat.com> X-Mailer: git-send-email 2.21.1 In-Reply-To: <20200221173049.18134-1-philmd@redhat.com> References: <20200221173049.18134-1-philmd@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.120 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 , Sagar Karandikar , "Michael S. Tsirkin" , Mark Cave-Ayland , Alistair Francis , "Edgar E. Iglesias" , Jean-Christophe Dubois , =?utf-8?q?Herv=C3=A9_Poussine?= =?utf-8?q?au?= , Joel Stanley , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Aleksandar Rikalo , =?utf-8?q?Philippe_Mathieu?= =?utf-8?q?-Daud=C3=A9?= , Alistair Francis , qemu-arm@nongnu.org, Peter Chubb , qemu-riscv@nongnu.org, Igor Mitsyanko , Bastian Koppelmann , Laurent Vivier , Subbaraya Sundeep , Palmer Dabbelt , Paolo Bonzini Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" To avoid orphean memory regions being added in the /unattached QOM container, use the memory_region_owner_nonnull.cocci script to set the correct ownership. Signed-off-by: Philippe Mathieu-Daudé --- hw/dma/i8257.c | 2 +- hw/dma/rc4030.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/dma/i8257.c b/hw/dma/i8257.c index bad8debae4..ef15c06d77 100644 --- a/hw/dma/i8257.c +++ b/hw/dma/i8257.c @@ -553,7 +553,7 @@ static void i8257_realize(DeviceState *dev, Error **errp) I8257State *d = I8257(dev); int i; - memory_region_init_io(&d->channel_io, NULL, &channel_io_ops, d, + memory_region_init_io(&d->channel_io, OBJECT(dev), &channel_io_ops, d, "dma-chan", 8 << d->dshift); memory_region_add_subregion(isa_address_space_io(isa), d->base, &d->channel_io); diff --git a/hw/dma/rc4030.c b/hw/dma/rc4030.c index c4cf8236f4..f62eb3d2a3 100644 --- a/hw/dma/rc4030.c +++ b/hw/dma/rc4030.c @@ -679,9 +679,9 @@ static void rc4030_realize(DeviceState *dev, Error **errp) s->periodic_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, rc4030_periodic_timer, s); - memory_region_init_io(&s->iomem_chipset, NULL, &rc4030_ops, s, + memory_region_init_io(&s->iomem_chipset, o, &rc4030_ops, s, "rc4030.chipset", 0x300); - memory_region_init_io(&s->iomem_jazzio, NULL, &jazzio_ops, s, + memory_region_init_io(&s->iomem_jazzio, o, &jazzio_ops, s, "rc4030.jazzio", 0x00001000); memory_region_init_iommu(&s->dma_mr, sizeof(s->dma_mr), From patchwork Fri Feb 21 17:30:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 11397029 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 21C8B930 for ; Fri, 21 Feb 2020 17:37:21 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id ECB09222C4 for ; Fri, 21 Feb 2020 17:37:20 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="WZtsBo62" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ECB09222C4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:34266 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5CEq-00068Z-3l for patchwork-qemu-devel@patchwork.kernel.org; Fri, 21 Feb 2020 12:37:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38188) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5C8s-0006Ix-5M for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:31:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j5C8q-00081s-Ut for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:31:10 -0500 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:29710 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j5C8q-00081Z-QG for qemu-devel@nongnu.org; Fri, 21 Feb 2020 12:31:08 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582306268; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5SCSWK+x3Mgxa8dMA1mlI9fXFXh3qxL+ElfqjZu1bX0=; b=WZtsBo62pOqsEOLGDP5B9xiOJacChv6pBFCBrUinOizltsIlwh7BCPOk64iHwznWjnfYSd Vqv85NSk+191WiBUeajJ45Ie0/1LxIJslnRtyZT2eDcnJiYSJitI1DbTy9doUURVR5XMS7 X8raF3pBAZbUXhTNWxWYNyrNEy6ldr0= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-379-suUOqT6dN0KxFDFXFGzS8A-1; Fri, 21 Feb 2020 12:31:06 -0500 X-MC-Unique: suUOqT6dN0KxFDFXFGzS8A-1 Received: by mail-wr1-f71.google.com with SMTP id 90so1320202wrq.6 for ; Fri, 21 Feb 2020 09:31:06 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=uT16+Xkl8LuYgM/9VDKdGjve7Io5iSq3xRh//xaioN4=; b=YwmCCQ3z27xnQxGc70nCEbamBJJuFFWipRE0nWJEoLH+2/IYOeEjBlA4Ztt+iWvQx4 cs46pHt6AEuiKA76F7os6+wEJqgG1BKgp1vvMmo8QYMRqSJDInTcUVBpDN8gKexO5nBm NlufNFzB4qYFKqqztrnhxS7mAMDmjDlwOupoyDiUa8dUf2PE77sCsih4XSk6qd5EvIk4 tZvDKF8RZUx6k1VvVLZ3oeJAWMiMBx9T2bC8fTq2mhNBSb7KoR1fkF0lMPJE37obNpKA QodBSAIvK/6rTf++/ehupuxnC/YJxLLR/vush+FsqLYNyrn1t3QBjmnBb79AmcUTlUM+ bMVg== X-Gm-Message-State: APjAAAUM8AzxuQGrHwcXgHc4EPa8XDus7mbZB4e4LHUENslOO8J/R0eS OU9pLPgWFYUGpl9wf4Hxxk6yZMlr5+dJYBfYRU/mcgAkxOxsFKtmM3Kwh0LQsvYdb7vW3kIZyDB tGjspfSXVvP3revs= X-Received: by 2002:a1c:f717:: with SMTP id v23mr5024094wmh.172.1582306265265; Fri, 21 Feb 2020 09:31:05 -0800 (PST) X-Google-Smtp-Source: APXvYqwPvt3TF/zPnf7stsTmNpxIiEO+ICSYWHDYXBQCMP2TTK3YwUaChff0LmYEe/BwApgSAvw4TQ== X-Received: by 2002:a1c:f717:: with SMTP id v23mr5024074wmh.172.1582306265019; Fri, 21 Feb 2020 09:31:05 -0800 (PST) Received: from x1w.redhat.com (78.red-88-21-202.staticip.rima-tde.net. [88.21.202.78]) by smtp.gmail.com with ESMTPSA id h18sm5000871wrv.78.2020.02.21.09.31.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Feb 2020 09:31:04 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 7/7] hw/riscv: Let devices own the MemoryRegion they create Date: Fri, 21 Feb 2020 18:30:49 +0100 Message-Id: <20200221173049.18134-8-philmd@redhat.com> X-Mailer: git-send-email 2.21.1 In-Reply-To: <20200221173049.18134-1-philmd@redhat.com> References: <20200221173049.18134-1-philmd@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.120 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 , Sagar Karandikar , "Michael S. Tsirkin" , Mark Cave-Ayland , Alistair Francis , "Edgar E. Iglesias" , Jean-Christophe Dubois , =?utf-8?q?Herv=C3=A9_Poussine?= =?utf-8?q?au?= , Joel Stanley , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Aleksandar Rikalo , =?utf-8?q?Philippe_Mathieu?= =?utf-8?q?-Daud=C3=A9?= , Alistair Francis , qemu-arm@nongnu.org, Peter Chubb , qemu-riscv@nongnu.org, Igor Mitsyanko , Bastian Koppelmann , Laurent Vivier , Subbaraya Sundeep , Palmer Dabbelt , Paolo Bonzini Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" To avoid orphean memory regions being added in the /unattached QOM container, use the memory_region_owner_nonnull.cocci script to set the correct ownership. Signed-off-by: Philippe Mathieu-Daudé --- hw/riscv/sifive_e.c | 8 ++++---- hw/riscv/sifive_u.c | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/hw/riscv/sifive_e.c b/hw/riscv/sifive_e.c index 8a6b0348df..583015c247 100644 --- a/hw/riscv/sifive_e.c +++ b/hw/riscv/sifive_e.c @@ -145,8 +145,8 @@ static void riscv_sifive_e_soc_realize(DeviceState *dev, Error **errp) &error_abort); /* Mask ROM */ - memory_region_init_rom(&s->mask_rom, NULL, "riscv.sifive.e.mrom", - memmap[SIFIVE_E_MROM].size, &error_fatal); + memory_region_init_rom(&s->mask_rom, OBJECT(dev), "riscv.sifive.e.mrom", + memmap[SIFIVE_E_MROM].size, &error_fatal); memory_region_add_subregion(sys_mem, memmap[SIFIVE_E_MROM].base, &s->mask_rom); @@ -208,8 +208,8 @@ static void riscv_sifive_e_soc_realize(DeviceState *dev, Error **errp) memmap[SIFIVE_E_PWM2].base, memmap[SIFIVE_E_PWM2].size); /* Flash memory */ - memory_region_init_ram(&s->xip_mem, NULL, "riscv.sifive.e.xip", - memmap[SIFIVE_E_XIP].size, &error_fatal); + memory_region_init_ram(&s->xip_mem, OBJECT(dev), "riscv.sifive.e.xip", + memmap[SIFIVE_E_XIP].size, &error_fatal); memory_region_set_readonly(&s->xip_mem, true); memory_region_add_subregion(sys_mem, memmap[SIFIVE_E_XIP].base, &s->xip_mem); diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 0e12b3ccef..592830a3a2 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -497,7 +497,7 @@ static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp) &error_abort); /* boot rom */ - memory_region_init_rom(mask_rom, NULL, "riscv.sifive.u.mrom", + memory_region_init_rom(mask_rom, OBJECT(dev), "riscv.sifive.u.mrom", memmap[SIFIVE_U_MROM].size, &error_fatal); memory_region_add_subregion(system_memory, memmap[SIFIVE_U_MROM].base, mask_rom); @@ -511,7 +511,7 @@ static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp) * leave it enabled all the time. This won't break anything, but will be * too generous to misbehaving guests. */ - memory_region_init_ram(l2lim_mem, NULL, "riscv.sifive.u.l2lim", + memory_region_init_ram(l2lim_mem, OBJECT(dev), "riscv.sifive.u.l2lim", memmap[SIFIVE_U_L2LIM].size, &error_fatal); memory_region_add_subregion(system_memory, memmap[SIFIVE_U_L2LIM].base, l2lim_mem);