From nobody Mon Apr 13 05:24:11 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1770913302; cv=none; d=zohomail.com; s=zohoarc; b=Ff3qQtI4A/p+PFPlfkHidEn37Yi9WyrBk6HqGZdTsvzJxVAJNgsh0/CpaVkTED5q94GCo0U6ces2FRI7ddyo61IsNCnRjpfx+vadnLER4607zygwhF404ssmpjRP8fCvUBPQ6mkuOpPkM5YP96Q4Ljbu7Xmzb5UliZVPLS25Iiw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770913302; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=boVLzqeW8TB014ODFlHRq6lW2fSrAobM0ZB96ecUZjQ=; b=UB9DrBAV2zLOJku3ycOdDb/znFglumLaYotAPbXGkfx5NoJQc6iq0/8pH16/GRwzOdq8ZcteBvtmRzNwTMJqfraBYC5bKujxVQHHI0I3tZvvMWvSO1xY9vnVwcXwrjdto6AmVYOF1MpAVTEQ6IBbfleOoaM5yqk1SkqsjroQV/g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1770913302826659.6526933776734; Thu, 12 Feb 2026 08:21:42 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1229479.1535481 (Exim 4.92) (envelope-from ) id 1vqZRV-0007dM-QV; Thu, 12 Feb 2026 16:21:25 +0000 Received: by outflank-mailman (output) from mailman id 1229479.1535481; Thu, 12 Feb 2026 16:21:25 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vqZRV-0007ce-Lh; Thu, 12 Feb 2026 16:21:25 +0000 Received: by outflank-mailman (input) for mailman id 1229479; Thu, 12 Feb 2026 16:21:24 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vqZRU-0005jV-1g for xen-devel@lists.xenproject.org; Thu, 12 Feb 2026 16:21:24 +0000 Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com [2a00:1450:4864:20::431]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id df39c846-082e-11f1-b162-2bf370ae4941; Thu, 12 Feb 2026 17:21:23 +0100 (CET) Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-4359a16a400so40458f8f.1 for ; Thu, 12 Feb 2026 08:21:23 -0800 (PST) Received: from fedora (user-109-243-67-101.play-internet.pl. [109.243.67.101]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43783e5c635sm13938426f8f.37.2026.02.12.08.21.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Feb 2026 08:21:22 -0800 (PST) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: df39c846-082e-11f1-b162-2bf370ae4941 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770913282; x=1771518082; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=boVLzqeW8TB014ODFlHRq6lW2fSrAobM0ZB96ecUZjQ=; b=YhKYtxRHG6R5fVNwC1+ZSp1sWgFvijRu81Nvhx3JxTN6mC3olsA4TK2uwBJC3btsOp vSqTySyl9A9cajYipCRYQS+FlBPkYQdvI8KaNXtAcd/+5xxs0uAx6nTc19i/Z1Sd5dLB xzwnLBhFqdLgKuH48oLHxJzRSWnWWn7WZRL1Z2h6rdPF/ZD863dyqTVCCku6vaMVE/Ad BD4Oa09xgmoE/Or8TYiwrE0YEy+MggzXdi8cPl39I5+bEk1FORw3pndAdqLZ/Yukons7 CggRiFEdCVqpF1KxrQsINUBlmQyqIURpZxHjhPXDArZpOHWQJn6O4F9pwdotjtUgEAkR kzjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770913282; x=1771518082; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=boVLzqeW8TB014ODFlHRq6lW2fSrAobM0ZB96ecUZjQ=; b=gxPlZBDVsvL67LBff53g9AvO1Qzxhi2RnbUubvqKqGCgL16b1DAxXeNfYqUYkx4/zf w8PtRF5FsRUkPiw7XB6/9OxrgbDSkx1VvRKyFyxnr+lGlTuLuxhMEjvycZzA983dh6q6 kOnwW022brsAvQaOtxriIOBPgLd1KGfj5Se3Jw+kmMGHeVI2F3UG29TmxImZAJ1dbYoP lfDrT2TG8L+M/UU1oVchhBTQINAWQO3kclHfknz7HW9pLk4neAUWEjEyBRWpSO1Q+Qvt 7UAc+YH8mqm5f93UASFSBXFxKzLZwdY4agSmbEQ1fTq+TqoEAVTWLkzGnmXeVU/tbHjx Z9bw== X-Gm-Message-State: AOJu0YxHaF3TYkuO6smXdj6DoQtzrvjbU+IyRa26auFfXoUcCi1hJTHU K+qtL+chfSId9G4QQcMcMHm5f/snslOBOC73hOFStSYwGZxC97Dyqt7XmZEGzklR X-Gm-Gg: AZuq6aKMjh8m0hcXrpX0i5UL/fFjlykWpPX2wIYVfd8DTryMejky9g+OF2klZrXgs0S q7bPcS9ztiILJvOKueMhc/4QhrUDJuwmtc6Lhn6KfyATyoRjAtcJktb48ZYEsGxpQQTkbIjcu8T SdVSHs6cPb2nLIHEpi1oF2ctSZD1lRF2P3msx8RX8PuagZbgU9cWff0q6UTGuM0yKTkIZhENKCD vJw/xlJAzhu9ZbpXWV3FHmidqR8nZIyeumAS26/SfyQU4LKz6WmdYRF91shVabha/z4tiSqGGiB DaA18GDYIx/Tu8YpqqW5C/xd36ix63okGIUvJNZxPG63PPBK5c1sgW4+BtAEgm2p85je3wVoqKg nWQrQWQtcU7oMWZ5ilW/vJUxVYR9CXpphggzvqPHtfP5Xy3wmLigZ/teGCfxZK/gHU4odSsBOfw f0mECVVi7cv2ZfJ3B5+XljxlVQJxw1OJ2FmJXEHApulefolKeFiPsUygOtzgsjze95j3Mx3mIeo e8I X-Received: by 2002:a5d:5d8a:0:b0:436:3732:cfa6 with SMTP id ffacd0b85a97d-4378f16d7ffmr5166470f8f.53.1770913282360; Thu, 12 Feb 2026 08:21:22 -0800 (PST) From: Oleksii Kurochko To: xen-devel@lists.xenproject.org Cc: Romain Caritey , Oleksii Kurochko , Alistair Francis , Connor Davis , Andrew Cooper , Anthony PERARD , Michal Orzel , Jan Beulich , Julien Grall , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Stefano Stabellini Subject: [PATCH v1 6/6] xen/riscv: enable DOMAIN_BUILD_HELPERS Date: Thu, 12 Feb 2026 17:21:07 +0100 Message-ID: <6ab04f3584e45795dc82c25f62a6c950913f5c7d.1770821989.git.oleksii.kurochko@gmail.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1770913304180154100 Content-Type: text/plain; charset="utf-8" To enable DOMAIN_BUILD_HELPERS for RISC-V the following is introduced: - Add a global p2m_ipa_bits variable, initialized to PADDR_BITS, to represent the maximum supported IPA size as find_unallocated_memory() requires it. - Define default guest RAM layout parameters in the public RISC-V header as it is required by allocate_memory(). Signed-off-by: Oleksii Kurochko --- xen/arch/riscv/Kconfig | 1 + xen/arch/riscv/include/asm/p2m.h | 3 +++ xen/arch/riscv/p2m.c | 6 ++++++ xen/include/public/arch-riscv.h | 8 ++++++++ 4 files changed, 18 insertions(+) diff --git a/xen/arch/riscv/Kconfig b/xen/arch/riscv/Kconfig index 89876b32175d..12b337365f1f 100644 --- a/xen/arch/riscv/Kconfig +++ b/xen/arch/riscv/Kconfig @@ -1,5 +1,6 @@ config RISCV def_bool y + select DOMAIN_BUILD_HELPERS select FUNCTION_ALIGNMENT_16B select GENERIC_BUG_FRAME select GENERIC_UART_INIT diff --git a/xen/arch/riscv/include/asm/p2m.h b/xen/arch/riscv/include/asm/= p2m.h index c68494593fd9..083549ef9640 100644 --- a/xen/arch/riscv/include/asm/p2m.h +++ b/xen/arch/riscv/include/asm/p2m.h @@ -44,6 +44,9 @@ #define P2M_LEVEL_MASK(p2m, lvl) \ (P2M_TABLE_OFFSET(p2m, lvl) << P2M_GFN_LEVEL_SHIFT(lvl)) =20 +/* Holds the bit size of IPAs in p2m tables */ +extern unsigned int p2m_ipa_bits; + #define paddr_bits PADDR_BITS =20 /* Get host p2m table */ diff --git a/xen/arch/riscv/p2m.c b/xen/arch/riscv/p2m.c index f5b03e1e3264..62bd8a2f602f 100644 --- a/xen/arch/riscv/p2m.c +++ b/xen/arch/riscv/p2m.c @@ -51,6 +51,12 @@ static struct gstage_mode_desc __ro_after_init max_gstag= e_mode =3D { .name =3D "Bare", }; =20 +/* + * Set to the maximum configured support for IPA bits, so the number of IP= A bits can be + * restricted by external entity (e.g. IOMMU). + */ +unsigned int __read_mostly p2m_ipa_bits =3D PADDR_BITS; + static void p2m_free_page(struct p2m_domain *p2m, struct page_info *pg); =20 static inline void p2m_free_metadata_page(struct p2m_domain *p2m, diff --git a/xen/include/public/arch-riscv.h b/xen/include/public/arch-risc= v.h index 360d8e6871ba..91cee3096041 100644 --- a/xen/include/public/arch-riscv.h +++ b/xen/include/public/arch-riscv.h @@ -50,6 +50,14 @@ typedef uint64_t xen_ulong_t; =20 #if defined(__XEN__) || defined(__XEN_TOOLS__) =20 +#define GUEST_RAM_BANKS 1 + +#define GUEST_RAM0_BASE xen_mk_ullong(0x80000000) /* 2GB of low RAM @ 2G= B */ +#define GUEST_RAM0_SIZE xen_mk_ullong(0x80000000) + +#define GUEST_RAM_BANK_BASES { GUEST_RAM0_BASE } +#define GUEST_RAM_BANK_SIZES { GUEST_RAM0_SIZE } + struct vcpu_guest_context { }; typedef struct vcpu_guest_context vcpu_guest_context_t; --=20 2.52.0