From nobody Fri Nov 14 23:29:53 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1759846794; cv=none; d=zohomail.com; s=zohoarc; b=eO0W5x+z0JLUqTYbbEhkF6AqutDw3aWN1CLQkVxVgtJyiC+qdqiFj3xK39caPYTET951aV/kFcUgoRXuwPSDut2Y0OJUvUy1pldCRe17r6hwavMSNaH3A+43qjjglCZULSnngCQcZKSOY3db0S5RXm/52jnKEm25csPTz7q6a/4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1759846794; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=ZqArHpI2jlih5+RRdAFUdHG4iZfC1IUazxJB3VjKmJ8=; b=Jh7ajEvH8N9AJ0BDZaNLcDORghXTHPCWS6Eu1EB16QskUEywLXaCCODTVdft7uesEJKSrxdES6DmCEn/3RhFnyZIrMUCNfWlO1RTzXcE768Imx0eXjKBCY9RE7xaErQNNS9Irn2cf4TiqUvE1UUZAYFuSSHPz6FOPncFcGV/70o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1759846794298126.92291261437958; Tue, 7 Oct 2025 07:19:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v68QN-0005nx-JY; Tue, 07 Oct 2025 10:12:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v68QJ-0005lJ-1X for qemu-devel@nongnu.org; Tue, 07 Oct 2025 10:12:16 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v68Q5-0002DG-JV for qemu-devel@nongnu.org; Tue, 07 Oct 2025 10:12:14 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-3ee64bc6b85so4910922f8f.3 for ; Tue, 07 Oct 2025 07:11:59 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-46e78c5d290sm167037135e9.0.2025.10.07.07.11.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Oct 2025 07:11:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1759846316; x=1760451116; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=ZqArHpI2jlih5+RRdAFUdHG4iZfC1IUazxJB3VjKmJ8=; b=WNUfHiQCaBGjZKTLFpvaHWHvav4LV1HHiZUOpkzykq6aQA/T7HTGQ4/e2CvtQtNCrk rIp47mwinPBEhHf+9K0q9rHO46NVQeeiAEibvIE2JPKm6WhaXb1eBWfVmHmh1gJ/mj3p LdAvNymJR1pYrIfcgSR3Fwf73tqyuBCsuYlZhsW5e6B6W+r5/MaAJaaInXUIUHVL1A1U FC+os9e46OJfSwT3HdEMlnmc8TN6crc3EPxgBIJTYlXHYSsy3UGzxhL999zE/wJHjnhU DK32NDzQQozlksws05qcij+1oP3sR28Yhz4elnn5ViczSwohrlNPXBODwtrRb0Cx/pQX I8Dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759846316; x=1760451116; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZqArHpI2jlih5+RRdAFUdHG4iZfC1IUazxJB3VjKmJ8=; b=bZVaLdyu5tZc28aqL02eH52ytUFNZxT3QcP+4d+X2/zedmVKv731XEttyBdGqTGnWq C1j2oBF83iMO9xgCWvuXbOcmjKBNb2+wCNdXyuIzDg+l5ZSGxiKQA/mvgCQOnYi4k2TC LdraYfQatUbxJJXnBjmtBbUf8gCuYipR0nHLd+w22B4DNgb1xPa3WJP8wK2vXVdXUr1L oq8txsRqqUZq8Dky286jgDslP0/y7jZPnkuvN01bhtv4/EUmJUo8U5FcyJ0d1MqYw7l5 BHaSw17TgEUagysUNtWVG3rM6MU1OnXjA3w2Z8fxNZbabJiMnnGdgPC/rJXlh0FqX0vT pAFw== X-Gm-Message-State: AOJu0YwdHrg+WwnawR08n6j9vQN3uWBhrnyNllfAlCW54KeeqLGOCeL9 csfdniDUGSXZ59vqANhh+YcEZSkUbMiJBGj0nrzbP3m0YaWvC2q+SKlp9IYkD1xnLHLqxANv34t KFb2r X-Gm-Gg: ASbGncsOWoOtd++iJ/NLOAExBTGqSKsnf3Y+y7SLhAfl9yAzat6FZmiNGyFnKm9LjnO W+l34Wh1DnA/2pOtx2Or+Y2Vp7cOv4tE+WsS3VdA8Tpp8WHfyq2ASTCuYThFYWwzRRWMK16bCRM 5WTdXMAK936zYxsqa4u6yCGO0JM0O12cjUrPsxK/i7CVaauZrOFlG0Aut7LK6aQrLPzDXq3mytl aHzuZx5RVzAfk8Y0w9qsQeD77n0uRN3i2FZLV2q3bkS0g7lzuKZXYa/2YsrO0NyV2lAQj6KjcZ1 Pk41emhaN6BCkrTlDOQO+iYjgTXQuZV69wYoEwKcaIt2p91IvEImCDPxJbOVESiZM0kiE7LSQtW 6yUmOqRMfXavEKFXdjnMYZ6MGNMNah++0qc8tVM9myp3Ku1siod7rk5cEHhhYgrdvbwQ= X-Google-Smtp-Source: AGHT+IEQfU6aR2lZ8Uk9ilGj8wDMjctSb03+kgKtIs7zQRsuEHxqn82ykIDR/aJAEMuQ/lgh40fLRA== X-Received: by 2002:a05:6000:43cc:20b0:425:72a0:a998 with SMTP id ffacd0b85a97d-42572a0ae52mr5726270f8f.6.1759846315582; Tue, 07 Oct 2025 07:11:55 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 28/62] hw/arm/xlnx-versal: ocm: refactor creation Date: Tue, 7 Oct 2025 15:10:48 +0100 Message-ID: <20251007141123.3239867-29-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251007141123.3239867-1-peter.maydell@linaro.org> References: <20251007141123.3239867-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.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; Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x434.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1759846796168154100 From: Luc Michel Refactor the OCM creation using the VersalMap structure. Signed-off-by: Luc Michel Reviewed-by: Francisco Iglesias Reviewed-by: Edgar E. Iglesias Tested-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20250926070806.292065-28-luc.michel@amd.com Signed-off-by: Peter Maydell --- include/hw/arm/xlnx-versal.h | 4 ---- hw/arm/xlnx-versal.c | 20 ++++++++++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/include/hw/arm/xlnx-versal.h b/include/hw/arm/xlnx-versal.h index 0a91ec7ae36..e1d6e545495 100644 --- a/include/hw/arm/xlnx-versal.h +++ b/include/hw/arm/xlnx-versal.h @@ -48,10 +48,6 @@ struct Versal { MemoryRegion mr_ddr_ranges[4]; } noc; =20 - struct { - MemoryRegion mr_ocm; - } lpd; - struct { uint32_t clk_25mhz; uint32_t clk_125mhz; diff --git a/hw/arm/xlnx-versal.c b/hw/arm/xlnx-versal.c index e89c66313c1..8aa82ceb839 100644 --- a/hw/arm/xlnx-versal.c +++ b/hw/arm/xlnx-versal.c @@ -73,6 +73,11 @@ typedef struct VersalSimplePeriphMap { int irq; } VersalSimplePeriphMap; =20 +typedef struct VersalMemMap { + uint64_t addr; + uint64_t size; +} VersalMemMap; + typedef struct VersalGicMap { int version; uint64_t dist; @@ -108,6 +113,8 @@ typedef struct VersalCpuClusterMap { } VersalCpuClusterMap; =20 typedef struct VersalMap { + VersalMemMap ocm; + VersalCpuClusterMap apu; VersalCpuClusterMap rpu; =20 @@ -207,6 +214,11 @@ typedef struct VersalMap { } VersalMap; =20 static const VersalMap VERSAL_MAP =3D { + .ocm =3D { + .addr =3D 0xfffc0000, + .size =3D 0x40000, + }, + .apu =3D { .name =3D "apu", .cpu_model =3D ARM_CPU_TYPE_NAME("cortex-a72"), @@ -1608,6 +1620,7 @@ static void versal_realize(DeviceState *dev, Error **= errp) { Versal *s =3D XLNX_VERSAL_BASE(dev); DeviceState *slcr, *ospi; + MemoryRegion *ocm; Object *container; const VersalMap *map =3D versal_get_map(s); size_t i; @@ -1683,10 +1696,9 @@ static void versal_realize(DeviceState *dev, Error *= *errp) versal_unimp(s); =20 /* Create the On Chip Memory (OCM). */ - memory_region_init_ram(&s->lpd.mr_ocm, OBJECT(s), "ocm", - MM_OCM_SIZE, &error_fatal); - - memory_region_add_subregion_overlap(&s->mr_ps, MM_OCM, &s->lpd.mr_ocm,= 0); + ocm =3D g_new(MemoryRegion, 1); + memory_region_init_ram(ocm, OBJECT(s), "ocm", map->ocm.size, &error_fa= tal); + memory_region_add_subregion_overlap(&s->mr_ps, map->ocm.addr, ocm, 0); } =20 DeviceState *versal_get_boot_cpu(Versal *s) --=20 2.43.0