From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:13:03 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:13:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030377.1404013 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsaT-00085N-RK; Wed, 02 Jul 2025 08:13:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030377.1404013; Wed, 02 Jul 2025 08:13:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsaT-00084r-N8; Wed, 02 Jul 2025 08:13:01 +0000
Received: by outflank-mailman (input) for mailman id 1030377;
 Wed, 02 Jul 2025 08:13:01 +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 <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsaT-00082Y-2G
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:13:01 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5d26c4ce-571c-11f0-a313-13f23c93f187;
 Wed, 02 Jul 2025 10:12:59 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id B2AAE2117F;
 Wed,  2 Jul 2025 08:12:57 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 89CA213A24;
 Wed,  2 Jul 2025 08:12:57 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id MGs9IAnqZGjsSAAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:12:57 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d26c4ce-571c-11f0-a313-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751443977; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=pmrwFewWEb//FrXkeXoW39+51hKI+iB3NXqjXALFneU=;
	b=Pu+oPjAInqDI5v008Y0RIoqBGss1CWZJQfjSeldYYLHYt/iaZCTKwnypkp1wm4C2IVwFch
	JxwxEcQOcCptGNadVK8WDO9ae0e+eOGXRyoZAGrK08zN2Ly4WXjq54WvO1zhPBIvqQOy3M
	Sw27FmTQ8oTngCHbJ/yNk+Xe6zxaQjA=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=Pu+oPjAI
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751443977; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=pmrwFewWEb//FrXkeXoW39+51hKI+iB3NXqjXALFneU=;
	b=Pu+oPjAInqDI5v008Y0RIoqBGss1CWZJQfjSeldYYLHYt/iaZCTKwnypkp1wm4C2IVwFch
	JxwxEcQOcCptGNadVK8WDO9ae0e+eOGXRyoZAGrK08zN2Ly4WXjq54WvO1zhPBIvqQOy3M
	Sw27FmTQ8oTngCHbJ/yNk+Xe6zxaQjA=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 00/19] Make Xenstore-stubdom live update possible
Date: Wed,  2 Jul 2025 10:12:35 +0200
Message-ID: <20250702081254.14383-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Queue-Id: B2AAE2117F
X-Rspamd-Action: no action
X-Spam-Flag: NO
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	TO_DN_SOME(0.00)[];
	MIME_TRACE(0.00)[0:+];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from,2a07:de40:b281:106:10:150:64:167:received];
	FROM_EQ_ENVFROM(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_TLS_ALL(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.com:dkim,suse.com:mid]
X-Spam-Score: -3.01
X-Spam-Level: 

With this series applied I was able to perform Live Update of Xenstore
running in a PVH stubdom.

The main problem to solve was to keep the 9pfs device used to store and
later retrieve the Xenstore state usable across kexec(). This has been
achieved by using a module containing the shared pages of the device
and the related config data. This module is then passed to the new
kernel via linking it to the struct hvm_start_info.

The rest of the series are some missing bits and pieces to have a sane
state when activating the new kernel, and some minor fixes and
cleanups.

In order to be able to perform a Xenstore live update an associated
patch series for Xen is needed. The Xen series is depending on this
Mini-OS patch series.

Juergen Gross (19):
  setup: add global pointer for struct hvm_start_info
  mini-os: kexec: add O_CLOEXEC support
  mini-os: grants: support populated grant table at boot
  time: unbind VIRQ_TIMER across kexec
  mm: refactor init_page_allocator()
  mm: don't add module pages to free memory
  kexec: fix physical addresses in start info data
  e820: don't count lapic page as initially reserved
  kexec: restructure building the start info data
  e820: use special type for software reserved memory
  mini-os: config: add support for config items with numerical values
  mini-os: kexec: add support for handing over some memory across kexec
  kexec: add support for allocating pages from kexec module memory
  9pfs: store bepath in struct struct dev_9pfs
  9pfs: refactor init_9pfront()
  gnttab: remove gnttab_alloc_and_grant() function
  gnttab: add function to obtain memory address from grantref
  9pfs: add support to keep device opened across kexec
  events: export bind_evtchn()

 9pfront.c             | 267 +++++++++++++++++++++++++++++++-----------
 Config.mk             |   6 +
 arch/x86/kexec.c      | 113 ++++++++++++++++--
 arch/x86/mm.c         |  98 ++++++++++++++++
 arch/x86/setup.c      |  48 +++++++-
 arch/x86/time.c       |  14 +++
 e820.c                |  11 +-
 events.c              |   1 +
 gnttab.c              |  21 ++--
 include/9pfront.h     |   9 ++
 include/e820.h        |   2 +
 include/fcntl.h       |   6 +
 include/gnttab.h      |   2 +-
 include/hypervisor.h  |   3 +
 include/kernel.h      |   1 +
 include/kexec.h       |  98 ++++++++++++++++
 include/lib.h         |   1 +
 include/mm.h          |   4 +
 include/x86/arch_mm.h |   1 +
 kexec.c               | 118 +++++++++++++++++++
 lib/sys.c             |  44 ++++++-
 mm.c                  | 134 +++++++++++++--------
 22 files changed, 858 insertions(+), 144 deletions(-)

-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:13:08 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:13:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030379.1404031 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsaa-000077-7Z; Wed, 02 Jul 2025 08:13:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030379.1404031; Wed, 02 Jul 2025 08:13:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsaa-00006z-4Y; Wed, 02 Jul 2025 08:13:08 +0000
Received: by outflank-mailman (input) for mailman id 1030379;
 Wed, 02 Jul 2025 08:13:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsaY-00082X-8r
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:13:06 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 605a6193-571c-11f0-b894-0df219b8e170;
 Wed, 02 Jul 2025 10:13:04 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 43E542118B;
 Wed,  2 Jul 2025 08:13:03 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 1BC0E13A24;
 Wed,  2 Jul 2025 08:13:03 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id xWhYBQ/qZGjzSAAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:13:03 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 605a6193-571c-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751443983; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=N4f9gptLjJY0e6N/f33d13mKNX3TplFpE0BIUSgd+yE=;
	b=t7MrFrm0/HDLCcTybXibhpoWM5oUKjxCEPNzzq6FlaGy9g287RDAAaGKRhOfuz2J1d4Nsz
	HlEVo9DAmC4CYgobgxUXDP8yIIKBVI/jflTHT9ifNgMXRd+oNQ7SzFgK7epfaW6t+cBJ/u
	o/UOoVYCb0s09NU/ULlKtIvzbfzAs/s=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=t7MrFrm0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751443983; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=N4f9gptLjJY0e6N/f33d13mKNX3TplFpE0BIUSgd+yE=;
	b=t7MrFrm0/HDLCcTybXibhpoWM5oUKjxCEPNzzq6FlaGy9g287RDAAaGKRhOfuz2J1d4Nsz
	HlEVo9DAmC4CYgobgxUXDP8yIIKBVI/jflTHT9ifNgMXRd+oNQ7SzFgK7epfaW6t+cBJ/u
	o/UOoVYCb0s09NU/ULlKtIvzbfzAs/s=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 01/19] setup: add global pointer for struct hvm_start_info
Date: Wed,  2 Jul 2025 10:12:36 +0200
Message-ID: <20250702081254.14383-2-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250702081254.14383-1-jgross@suse.com>
References: <20250702081254.14383-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Queue-Id: 43E542118B
X-Rspamd-Action: no action
X-Spam-Flag: NO
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:dkim,suse.com:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	DNSWL_BLOCKED(0.00)[2a07:de40:b281:106:10:150:64:167:received,2a07:de40:b281:104:10:150:64:97:from];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_TRACE(0.00)[suse.com:+]
X-Spam-Score: -3.01
X-Spam-Level: 

Similar to start_info_ptr for PV provide hvm_start_info_ptr for PVH.

Add a generic function to set the pointer.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/setup.c     | 20 +++++++++++++++++---
 include/hypervisor.h |  3 +++
 2 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/arch/x86/setup.c b/arch/x86/setup.c
index ed28d940..2085ee5c 100644
--- a/arch/x86/setup.c
+++ b/arch/x86/setup.c
@@ -69,6 +69,11 @@ static inline void sse_init(void) {
 start_info_t *start_info_ptr;
 EXPORT_SYMBOL(start_info_ptr);
 
+static void set_info_ptr(start_info_t *ptr)
+{
+    start_info_ptr = ptr;
+}
+
 #define hpc_init()
 
 shared_info_t *map_shared_info(void)
@@ -123,6 +128,17 @@ static void print_start_of_day(void *p)
     printk("       stack: %p-%p\n", stack, stack + sizeof(stack));
 }
 #else
+
+/*
+ * This pointer holds a reference to the hvm_start_info struct.
+ */
+struct hvm_start_info *hvm_start_info_ptr;
+
+static void set_info_ptr(struct hvm_start_info *ptr)
+{
+    hvm_start_info_ptr = ptr;
+}
+
 static void hpc_init(void)
 {
     uint32_t eax, ebx, ecx, edx, base;
@@ -176,9 +192,7 @@ arch_init(void *par)
 {
 	static char hello[] = "Bootstrapping...\n";
 
-#ifdef CONFIG_PARAVIRT
-	start_info_ptr = par;
-#endif
+	set_info_ptr(par);
 
 	hpc_init();
 	(void)HYPERVISOR_console_io(CONSOLEIO_write, strlen(hello), hello);
diff --git a/include/hypervisor.h b/include/hypervisor.h
index d199f039..93f1247f 100644
--- a/include/hypervisor.h
+++ b/include/hypervisor.h
@@ -33,6 +33,9 @@ extern start_info_t *start_info_ptr;
 
 #define start_info (*start_info_ptr)
 #else
+#include <xen/arch-x86/hvm/start_info.h>
+
+extern struct hvm_start_info *hvm_start_info_ptr;
 int hvm_get_parameter(int idx, uint64_t *value);
 int hvm_set_parameter(int idx, uint64_t value);
 #endif
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:13:12 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:13:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030381.1404036 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsae-0000D6-9C; Wed, 02 Jul 2025 08:13:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030381.1404036; Wed, 02 Jul 2025 08:13:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsae-0000Cx-68; Wed, 02 Jul 2025 08:13:12 +0000
Received: by outflank-mailman (input) for mailman id 1030381;
 Wed, 02 Jul 2025 08:13:10 +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 <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsac-00082Y-Fk
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:13:10 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 63e1976a-571c-11f0-a313-13f23c93f187;
 Wed, 02 Jul 2025 10:13:09 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id D47E72117F;
 Wed,  2 Jul 2025 08:13:08 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id AA54D13A24;
 Wed,  2 Jul 2025 08:13:08 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id xuohKBTqZGj8SAAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:13:08 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63e1976a-571c-11f0-a313-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751443988; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=OogoM4iMQHWV+6sWu3sxpe6GFoI8m1ZNv0L6fcMW6nA=;
	b=N0rSvNMB3NiZDLE+mkszMPJA5aAkaURzSnb1wVGxCll7VqckVjuWLESyGNKVCOhL86z5zZ
	xu6g0JOOd1t1Vw/gx9po/Cs4r8Le3UjhZ4b44aukn9LhuSfvZ02j9qrrI2YmwJHkPbsML4
	EebUbhNlFlqzNjyhb9JagEqCLhpaN68=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751443988; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=OogoM4iMQHWV+6sWu3sxpe6GFoI8m1ZNv0L6fcMW6nA=;
	b=N0rSvNMB3NiZDLE+mkszMPJA5aAkaURzSnb1wVGxCll7VqckVjuWLESyGNKVCOhL86z5zZ
	xu6g0JOOd1t1Vw/gx9po/Cs4r8Le3UjhZ4b44aukn9LhuSfvZ02j9qrrI2YmwJHkPbsML4
	EebUbhNlFlqzNjyhb9JagEqCLhpaN68=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 02/19] mini-os: kexec: add O_CLOEXEC support
Date: Wed,  2 Jul 2025 10:12:37 +0200
Message-ID: <20250702081254.14383-3-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250702081254.14383-1-jgross@suse.com>
References: <20250702081254.14383-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:mid,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Level: 
X-Spam-Flag: NO
X-Spam-Score: -2.80

Define O_CLOEXEC as a non-zero value and add a kexec callback to cycle
over all open files to close them in case O_CLOEXEC was specified when
opening the file.

This requires the addition of a cloexec boolean in struct file.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/fcntl.h |  6 ++++++
 include/lib.h   |  1 +
 lib/sys.c       | 44 +++++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 50 insertions(+), 1 deletion(-)

diff --git a/include/fcntl.h b/include/fcntl.h
index cc59b3ca..3205daed 100644
--- a/include/fcntl.h
+++ b/include/fcntl.h
@@ -3,6 +3,9 @@
 
 #ifdef HAVE_LIBC
 #include_next <fcntl.h>
+#ifndef O_CLOEXEC
+#define O_CLOEXEC	0x40000	/* Use newlib's value for WIN32 and CYGWIN. */
+#endif
 #else
 
 /* open/fcntl - O_SYNC is only implemented on blocks devices and on files
@@ -25,6 +28,9 @@
 #define O_DIRECTORY	0200000	/* must be a directory */
 #define O_NOFOLLOW	0400000 /* don't follow links */
 #define O_NOATIME	01000000
+#ifndef O_CLOEXEC
+#define O_CLOEXEC	02000000
+#endif
 
 #define F_DUPFD		0	/* dup */
 #define F_GETFD		1	/* get close_on_exec */
diff --git a/include/lib.h b/include/lib.h
index de67bab0..ea146496 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -174,6 +174,7 @@ extern struct wait_queue_head event_queue;
 struct file {
     unsigned int type;
     bool read;	/* maybe available for read */
+    bool cloexec;
     off_t offset;
     union {
         int fd; /* Any fd from an upper layer. */
diff --git a/lib/sys.c b/lib/sys.c
index 481067f7..7dc236e0 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -26,6 +26,7 @@
 #include <sched.h>
 #include <events.h>
 #include <wait.h>
+#include <kexec.h>
 #include <netfront.h>
 #include <blkfront.h>
 #include <fbfront.h>
@@ -221,6 +222,7 @@ int alloc_fd(unsigned int type)
 	if (files[i].type == FTYPE_NONE) {
 	    files[i].type = type;
             files[i].offset = 0;
+            files[i].cloexec = false;
 	    pthread_mutex_unlock(&fd_lock);
 	    return i;
 	}
@@ -231,6 +233,39 @@ int alloc_fd(unsigned int type)
 }
 EXPORT_SYMBOL(alloc_fd);
 
+#ifdef CONFIG_KEXEC
+static int kexec_close_files(bool undo)
+{
+    unsigned int i;
+    static int closed = 0;
+
+    if ( undo )
+    {
+        if ( closed )
+            printk("Can't undo closing files!\n");
+        closed = 0;
+
+        return 0;
+    }
+
+    pthread_mutex_lock(&fd_lock);
+
+    for ( i = 0; i < NOFILE; i++ )
+    {
+        if ( files[i].type != FTYPE_NONE && files[i].cloexec )
+        {
+            close(i);
+            closed++;
+        }
+    }
+
+    pthread_mutex_unlock(&fd_lock);
+
+    return 0;
+}
+kexec_call(kexec_close_files);
+#endif
+
 void close_all_files(void)
 {
     int i;
@@ -374,6 +409,7 @@ int open(const char *pathname, int flags, ...)
     struct mount_point *mnt;
     mode_t mode = 0;
     va_list ap;
+    int fd;
 
     if ( flags & O_CREAT )
     {
@@ -390,7 +426,13 @@ int open(const char *pathname, int flags, ...)
         mlen = strlen(mnt->path);
         if ( !strncmp(pathname, mnt->path, mlen) &&
              (pathname[mlen] == '/' || pathname[mlen] == 0) )
-            return mnt->open(mnt, pathname + mlen, flags, mode);
+        {
+            fd = mnt->open(mnt, pathname + mlen, flags, mode);
+            if ( fd >= 0 && (flags & O_CLOEXEC) )
+                files[fd].cloexec = true;
+
+            return fd;
+        }
     }
 
     errno = EIO;
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:13:17 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:13:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030385.1404060 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsaj-0000qo-Pz; Wed, 02 Jul 2025 08:13:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030385.1404060; Wed, 02 Jul 2025 08:13:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsaj-0000qb-MF; Wed, 02 Jul 2025 08:13:17 +0000
Received: by outflank-mailman (input) for mailman id 1030385;
 Wed, 02 Jul 2025 08:13:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsai-00082X-6o
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:13:16 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 66f23f00-571c-11f0-b894-0df219b8e170;
 Wed, 02 Jul 2025 10:13:14 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 7222921189;
 Wed,  2 Jul 2025 08:13:14 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 45A1913A24;
 Wed,  2 Jul 2025 08:13:14 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id jeA+DxrqZGgDSQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:13:14 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 66f23f00-571c-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751443994; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=LGW/gk3WVxXGF0g4wh7ZDjVSEfCjF8UjuqgxFwW7rBU=;
	b=MJBVpMHqpu8cKkaJ8YCM1wr0ucHaY7HYgMgsIa83rTqGBYW/FoUvfFctqetwUWONP3pjkk
	bv+HZOy5FbEORdnda8SPjQo2MMDc2RCX5TyGk9HYCDjXzfZmbYZIEi3diq412+wMu+lOE8
	ADwLeEvdfTYG0kH7/q94Awh/lQ6phOs=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=MJBVpMHq
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751443994; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=LGW/gk3WVxXGF0g4wh7ZDjVSEfCjF8UjuqgxFwW7rBU=;
	b=MJBVpMHqpu8cKkaJ8YCM1wr0ucHaY7HYgMgsIa83rTqGBYW/FoUvfFctqetwUWONP3pjkk
	bv+HZOy5FbEORdnda8SPjQo2MMDc2RCX5TyGk9HYCDjXzfZmbYZIEi3diq412+wMu+lOE8
	ADwLeEvdfTYG0kH7/q94Awh/lQ6phOs=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 03/19] mini-os: grants: support populated grant table at boot
Date: Wed,  2 Jul 2025 10:12:38 +0200
Message-ID: <20250702081254.14383-4-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250702081254.14383-1-jgross@suse.com>
References: <20250702081254.14383-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Queue-Id: 7222921189
X-Rspamd-Action: no action
X-Spam-Flag: NO
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:dkim,suse.com:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	DNSWL_BLOCKED(0.00)[2a07:de40:b281:106:10:150:64:167:received,2a07:de40:b281:104:10:150:64:97:from];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_TRACE(0.00)[suse.com:+]
X-Spam-Score: -3.01
X-Spam-Level: 

When kexec-ing into a new kernel, the grant table might still have
active grants. Support that by not adding populated grant entries to
the list of free grant entries.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 gnttab.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnttab.c b/gnttab.c
index 8168ed5d..5b04ab01 100644
--- a/gnttab.c
+++ b/gnttab.c
@@ -183,11 +183,13 @@ init_gnttab(void)
 #ifdef GNT_DEBUG
     memset(inuse, 1, sizeof(inuse));
 #endif
-    for (i = NR_RESERVED_ENTRIES; i < NR_GRANT_ENTRIES; i++)
-        put_free_entry(i);
 
     gnttab_table = arch_init_gnttab(NR_GRANT_FRAMES);
     printk("gnttab_table mapped at %p.\n", gnttab_table);
+
+    for (i = NR_RESERVED_ENTRIES; i < NR_GRANT_ENTRIES; i++)
+        if (gnttab_table[i].flags == 0)
+            put_free_entry(i);
 }
 
 void
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:13:28 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:13:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030404.1404083 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsau-0001to-EN; Wed, 02 Jul 2025 08:13:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030404.1404083; Wed, 02 Jul 2025 08:13:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsau-0001tW-Ah; Wed, 02 Jul 2025 08:13:28 +0000
Received: by outflank-mailman (input) for mailman id 1030404;
 Wed, 02 Jul 2025 08:13:26 +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 <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsas-00082Y-Eh
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:13:26 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d98b97b-571c-11f0-a313-13f23c93f187;
 Wed, 02 Jul 2025 10:13:25 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 92FC91F455;
 Wed,  2 Jul 2025 08:13:25 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 69C9113A24;
 Wed,  2 Jul 2025 08:13:25 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id LYdUGCXqZGgXSQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:13:25 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d98b97b-571c-11f0-a313-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444005; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=iaDK/56bpA9CrTIegS7gZq6xQHIKshW7HV6CJUhUJck=;
	b=tR91GiVHHAu6qqBoWTtImiOznLtrDZYh8j3vk+SCrlAHTtoR/OLC6w84DHKi++8OIePwru
	D2uhZdHJLyRfYxGhKYYFL03+ie4Ztd3WGYT/L33XA1y6jl3odQAU57R3PrRHrTfuawt5y4
	qeUgiaP1qq+hbkgA1rE4rkoZaGvjmrM=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=tR91GiVH
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444005; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=iaDK/56bpA9CrTIegS7gZq6xQHIKshW7HV6CJUhUJck=;
	b=tR91GiVHHAu6qqBoWTtImiOznLtrDZYh8j3vk+SCrlAHTtoR/OLC6w84DHKi++8OIePwru
	D2uhZdHJLyRfYxGhKYYFL03+ie4Ztd3WGYT/L33XA1y6jl3odQAU57R3PrRHrTfuawt5y4
	qeUgiaP1qq+hbkgA1rE4rkoZaGvjmrM=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 05/19] mm: refactor init_page_allocator()
Date: Wed,  2 Jul 2025 10:12:40 +0200
Message-ID: <20250702081254.14383-6-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250702081254.14383-1-jgross@suse.com>
References: <20250702081254.14383-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Queue-Id: 92FC91F455
X-Rspamd-Action: no action
X-Spam-Flag: NO
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:dkim,suse.com:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	DNSWL_BLOCKED(0.00)[2a07:de40:b281:106:10:150:64:167:received,2a07:de40:b281:104:10:150:64:97:from];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_TRACE(0.00)[suse.com:+]
X-Spam-Score: -3.01
X-Spam-Level: 

Split init_page_allocator() into three functions in order to prepare
for sparing some memory from being added to the buddy allocator.

Use a function pointer for selecting the function used for handling a
memory range, as this will be needed by a future patch. For the same
reason make iterate_memory_range() globally visible.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/mm.h |   3 ++
 mm.c         | 111 +++++++++++++++++++++++++++++----------------------
 2 files changed, 66 insertions(+), 48 deletions(-)

diff --git a/include/mm.h b/include/mm.h
index 0a16d56c..1dc89ddb 100644
--- a/include/mm.h
+++ b/include/mm.h
@@ -95,4 +95,7 @@ void fini_mm(void);
 
 void change_readonly(bool readonly);
 
+void iterate_memory_range(unsigned long min, unsigned long max,
+                          void (*func)(unsigned long, unsigned long));
+
 #endif /* _MM_H_ */
diff --git a/mm.c b/mm.c
index 9236db58..858dc108 100644
--- a/mm.c
+++ b/mm.c
@@ -150,16 +150,74 @@ static void dequeue_elem(chunk_head_t *elem)
     elem->next->prev = elem->prev;
 }
 
+static void add_memory_range(unsigned long r_min, unsigned long r_max)
+{
+    unsigned int i;
+    unsigned long range;
+    chunk_head_t *ch;
+
+    printk("    Adding memory range %lx-%lx\n", r_min, r_max);
+
+    /* The buddy lists are addressed in high memory. */
+    r_min = (unsigned long)to_virt(r_min);
+    r_max = (unsigned long)to_virt(r_max);
+    range = r_max - r_min;
+
+    /* Free up the memory we've been given to play with. */
+    map_free(PHYS_PFN(r_min), range >> PAGE_SHIFT);
+
+    while ( range != 0 )
+    {
+        /*
+         * Next chunk is limited by alignment of min, but also
+         * must not be bigger than remaining range.
+         */
+        for ( i = PAGE_SHIFT; (1UL << (i + 1)) <= range; i++ )
+        {
+            if ( r_min & (1UL << i) )
+                break;
+        }
+
+        ch = (chunk_head_t *)r_min;
+        r_min += 1UL << i;
+        range -= 1UL << i;
+        enqueue_elem(ch, i - PAGE_SHIFT);
+    }
+}
+
+void iterate_memory_range(unsigned long min, unsigned long max,
+                          void (*func)(unsigned long, unsigned long))
+{
+    unsigned int m;
+    unsigned long r_min, r_max;
+
+    for ( m = 0; m < e820_entries; m++ )
+    {
+        if ( e820_map[m].type != E820_RAM )
+            continue;
+        if ( e820_map[m].addr + e820_map[m].size >= ULONG_MAX )
+            BUG();
+
+        r_min = e820_map[m].addr;
+        r_max = r_min + e820_map[m].size;
+        if ( r_max <= min || r_min >= max )
+            continue;
+        if ( r_min < min )
+            r_min = min;
+        if ( r_max > max )
+            r_max = max;
+
+        func(r_min, r_max);
+    }
+}
+
 /*
  * Initialise allocator, placing addresses [@min,@max] in free pool.
  * @min and @max are PHYSICAL addresses.
  */
 static void init_page_allocator(unsigned long min, unsigned long max)
 {
-    int i, m;
-    unsigned long range;
-    unsigned long r_min, r_max;
-    chunk_head_t *ch;
+    int i;
 
     printk("MM: Initialise page allocator for %lx(%lx)-%lx(%lx)\n",
            (u_long)to_virt(min), min, (u_long)to_virt(max), max);
@@ -182,50 +240,7 @@ static void init_page_allocator(unsigned long min, unsigned long max)
     /* All allocated by default. */
     memset(mm_alloc_bitmap, ~0, mm_alloc_bitmap_size);
 
-    for ( m = 0; m < e820_entries; m++ )
-    {
-        if ( e820_map[m].type != E820_RAM )
-            continue;
-        if ( e820_map[m].addr + e820_map[m].size >= ULONG_MAX )
-            BUG();
-
-        r_min = e820_map[m].addr;
-        r_max = r_min + e820_map[m].size;
-        if ( r_max <= min || r_min >= max )
-            continue;
-        if ( r_min < min )
-            r_min = min;
-        if ( r_max > max )
-            r_max = max;
-
-        printk("    Adding memory range %lx-%lx\n", r_min, r_max);
-
-        /* The buddy lists are addressed in high memory. */
-        r_min = (unsigned long)to_virt(r_min);
-        r_max = (unsigned long)to_virt(r_max);
-        range = r_max - r_min;
-
-        /* Free up the memory we've been given to play with. */
-        map_free(PHYS_PFN(r_min), range >> PAGE_SHIFT);
-
-        while ( range != 0 )
-        {
-            /*
-             * Next chunk is limited by alignment of min, but also
-             * must not be bigger than remaining range.
-             */
-            for ( i = PAGE_SHIFT; (1UL << (i + 1)) <= range; i++ )
-            {
-                if ( r_min & (1UL << i) )
-                    break;
-            }
-
-            ch = (chunk_head_t *)r_min;
-            r_min += 1UL << i;
-            range -= 1UL << i;
-            enqueue_elem(ch, i - PAGE_SHIFT);
-        }
-    }
+    iterate_memory_range(min, max, add_memory_range);
 
     mm_alloc_bitmap_remap();
 }
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:20:41 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:20:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030431.1404095 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWshs-00046w-Cj; Wed, 02 Jul 2025 08:20:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030431.1404095; Wed, 02 Jul 2025 08:20:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWshs-00045s-6Y; Wed, 02 Jul 2025 08:20:40 +0000
Received: by outflank-mailman (input) for mailman id 1030431;
 Wed, 02 Jul 2025 08:20:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsao-00082X-B7
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:13:22 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a465693-571c-11f0-b894-0df219b8e170;
 Wed, 02 Jul 2025 10:13:20 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 12C702117F;
 Wed,  2 Jul 2025 08:13:20 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id D154A13A24;
 Wed,  2 Jul 2025 08:13:19 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id lIe6MR/qZGgKSQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:13:19 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a465693-571c-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444000; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=htojwPjo5A/RDFHxCU3Tp6Z00hTGIFV3R4TmEvlvLDM=;
	b=sNil9WMRqbOF8i/cIJmCEKpdGC2Y19ZrCU5pJeM5pWZ9nlU78bnsqWJl0bzhaKhg+ascrZ
	gnY7dJtBfH+C1rVGYZwhKEBR2aFy3CnuZahnuR3JArVYIpGhXAP45D6r2N7UP16xTLwFAY
	SzsJPYsQO7JP3HhooDfAyuAi2sWK1DY=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=sNil9WMR
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444000; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=htojwPjo5A/RDFHxCU3Tp6Z00hTGIFV3R4TmEvlvLDM=;
	b=sNil9WMRqbOF8i/cIJmCEKpdGC2Y19ZrCU5pJeM5pWZ9nlU78bnsqWJl0bzhaKhg+ascrZ
	gnY7dJtBfH+C1rVGYZwhKEBR2aFy3CnuZahnuR3JArVYIpGhXAP45D6r2N7UP16xTLwFAY
	SzsJPYsQO7JP3HhooDfAyuAi2sWK1DY=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 04/19] time: unbind VIRQ_TIMER across kexec
Date: Wed,  2 Jul 2025 10:12:39 +0200
Message-ID: <20250702081254.14383-5-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250702081254.14383-1-jgross@suse.com>
References: <20250702081254.14383-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Queue-Id: 12C702117F
X-Rspamd-Action: no action
X-Spam-Flag: NO
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	TO_DN_SOME(0.00)[];
	MIME_TRACE(0.00)[0:+];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from,2a07:de40:b281:106:10:150:64:167:received];
	FROM_EQ_ENVFROM(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_TLS_ALL(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:dkim,suse.com:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo]
X-Spam-Score: -3.01
X-Spam-Level: 

Deactivate the VIRQ_TIMER event when doing kexec() in order to be
able to set it up again in the new kernel.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/time.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/x86/time.c b/arch/x86/time.c
index 52916e15..3a2a1d29 100644
--- a/arch/x86/time.c
+++ b/arch/x86/time.c
@@ -36,6 +36,7 @@
 #include <mini-os/types.h>
 #include <mini-os/hypervisor.h>
 #include <mini-os/events.h>
+#include <mini-os/kexec.h>
 #include <mini-os/time.h>
 #include <mini-os/lib.h>
 
@@ -193,3 +194,16 @@ void fini_time(void)
     HYPERVISOR_set_timer_op(0);
     unbind_evtchn(port);
 }
+
+#ifdef CONFIG_KEXEC
+static int unbind_virq_timer(bool undo)
+{
+    if ( undo )
+        init_time();
+    else
+        fini_time();
+
+    return 0;
+}
+kexec_call(unbind_virq_timer);
+#endif
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:20:44 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:20:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030436.1404118 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWshw-0004Wx-BM; Wed, 02 Jul 2025 08:20:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030436.1404118; Wed, 02 Jul 2025 08:20:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWshv-0004UV-VM; Wed, 02 Jul 2025 08:20:43 +0000
Received: by outflank-mailman (input) for mailman id 1030436;
 Wed, 02 Jul 2025 08:20:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsbM-00082X-Qv
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:13:56 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e2e27c7-571c-11f0-b894-0df219b8e170;
 Wed, 02 Jul 2025 10:13:53 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 70F181F452;
 Wed,  2 Jul 2025 08:13:53 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 46F0C13A24;
 Wed,  2 Jul 2025 08:13:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id Yj32D0HqZGhSSQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:13:53 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e2e27c7-571c-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444033; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=s/i8n5z/NUez13m+U8EQbdRMUJ37I2u8cMr138p+cB8=;
	b=aioiIU2BAhP98zrkqlWpEjTluzk9qUbZo3IbIMGOa5Bjjzr3rN97rZdwC58T3r3cfSAxLq
	NynNOR6iugpm0TAYGCc9rsl9+DPsTX4Y4W/tylV5KE6I9Tq1RAE7UndgNU281iuRS1nmZw
	jY5fpRckGvmJwo+y+Z7hZtR42t41A/c=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=aioiIU2B
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444033; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=s/i8n5z/NUez13m+U8EQbdRMUJ37I2u8cMr138p+cB8=;
	b=aioiIU2BAhP98zrkqlWpEjTluzk9qUbZo3IbIMGOa5Bjjzr3rN97rZdwC58T3r3cfSAxLq
	NynNOR6iugpm0TAYGCc9rsl9+DPsTX4Y4W/tylV5KE6I9Tq1RAE7UndgNU281iuRS1nmZw
	jY5fpRckGvmJwo+y+Z7hZtR42t41A/c=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 10/19] e820: use special type for software reserved memory
Date: Wed,  2 Jul 2025 10:12:45 +0200
Message-ID: <20250702081254.14383-11-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250702081254.14383-1-jgross@suse.com>
References: <20250702081254.14383-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.com:dkim,suse.com:mid,suse.com:email];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from,2a07:de40:b281:106:10:150:64:167:received];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_TRACE(0.00)[suse.com:+]
X-Spam-Level: 
X-Spam-Flag: NO
X-Rspamd-Queue-Id: 70F181F452
X-Rspamd-Action: no action
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Score: -3.01

For memory areas used to map foreign domain memory Mini-OS is using
the type E820_RESERVED in the memory map today. This is causing
problems with kexec, as the new kernel should not see those areas in
the memory map. Unfortunately the sequence of actions for calculating
the size of the memory map and the removal of those reserved areas
can't easily be adjusted to do the removal first, so another way must
be used to avoid passing those reserved areas to the new kernel.

Instead of using the type E820_RESERVED, which might be used for other
pages as well, just use a new type. Areas with that new type can
easily be filtered out when building the memory map for the new
kernel.

Introduce the type E820_TYPE_SOFT_RESERVED with the same value as the
Linux kernel is using for the same purpose.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/kexec.c | 4 +++-
 e820.c           | 8 ++++----
 include/e820.h   | 2 ++
 3 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kexec.c b/arch/x86/kexec.c
index 3e3b64e2..804e7b6d 100644
--- a/arch/x86/kexec.c
+++ b/arch/x86/kexec.c
@@ -240,14 +240,16 @@ int kexec_get_entry(const char *cmdline)
 
     mmap = next;
     info->memmap_paddr = kexec_param_loc + (unsigned long)next - kexec_param_mem;
-    info->memmap_entries = e820_entries;
     for ( i = 0; i < e820_entries; i++ )
     {
+        if ( e820_map[i].type == E820_TYPE_SOFT_RESERVED )
+            continue;
         mmap->addr = e820_map[i].addr;
         mmap->size = e820_map[i].size;
         mmap->type = e820_map[i].type;
         mmap++;
     }
+    info->memmap_entries = mmap - (struct hvm_memmap_table_entry *)next;
     next = mmap;
 
     info->cmdline_paddr = kexec_param_loc + (unsigned long)next - kexec_param_mem;
diff --git a/e820.c b/e820.c
index 876d55b1..d8cfb1f4 100644
--- a/e820.c
+++ b/e820.c
@@ -367,8 +367,8 @@ unsigned long e820_get_reserved_pfns(int pages)
     for ( i = 0; i < e820_entries && e820_map[i].addr < last + needed; i++ )
         last = e820_map[i].addr + e820_map[i].size;
 
-    if ( i == 0 || e820_map[i - 1].type != E820_RESERVED )
-        e820_insert_entry_at(i, last, needed, E820_RESERVED);
+    if ( i == 0 || e820_map[i - 1].type != E820_TYPE_SOFT_RESERVED )
+        e820_insert_entry_at(i, last, needed, E820_TYPE_SOFT_RESERVED);
     else
         e820_map[i - 1].size += needed;
 
@@ -385,7 +385,7 @@ void e820_put_reserved_pfns(unsigned long start_pfn, int pages)
           i < e820_entries && addr >= e820_map[i].addr + e820_map[i].size;
           i++ );
 
-    BUG_ON(i == e820_entries || e820_map[i].type != E820_RESERVED ||
+    BUG_ON(i == e820_entries || e820_map[i].type != E820_TYPE_SOFT_RESERVED ||
            addr + size > e820_map[i].addr + e820_map[i].size);
 
     if ( addr == e820_map[i].addr )
@@ -405,7 +405,7 @@ void e820_put_reserved_pfns(unsigned long start_pfn, int pages)
 
     e820_insert_entry_at(i + 1, addr + size,
                          e820_map[i].addr + e820_map[i].size - addr - size,
-                         E820_RESERVED);
+                         E820_TYPE_SOFT_RESERVED);
     e820_map[i].size = addr - e820_map[i].addr;
 }
 #endif
diff --git a/include/e820.h b/include/e820.h
index ffa15aa9..ad5657ff 100644
--- a/include/e820.h
+++ b/include/e820.h
@@ -39,6 +39,8 @@
 #define E820_DISABLED     6
 #define E820_PMEM         7
 #define E820_TYPES        8
+/* Memory reserved for Mini-OS internal purpose. */
+#define E820_TYPE_SOFT_RESERVED   0xefffffff
 
 struct __packed e820entry {
     uint64_t addr;
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:20:45 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:20:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030438.1404131 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWshw-0004e1-W5; Wed, 02 Jul 2025 08:20:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030438.1404131; Wed, 02 Jul 2025 08:20:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWshw-0004bc-GT; Wed, 02 Jul 2025 08:20:44 +0000
Received: by outflank-mailman (input) for mailman id 1030438;
 Wed, 02 Jul 2025 08:20:43 +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 <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsbP-00082Y-Sf
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:13:59 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 818a8743-571c-11f0-a313-13f23c93f187;
 Wed, 02 Jul 2025 10:13:59 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 047E51F76B;
 Wed,  2 Jul 2025 08:13:59 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id CF10213A24;
 Wed,  2 Jul 2025 08:13:58 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id mGctMUbqZGhbSQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:13:58 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 818a8743-571c-11f0-a313-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444039; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ZRCeeHYAZX30u0CV5OETlVsm4bHFhhMFufeH4FMn+N0=;
	b=dpMRKraZzMJzlGpf14sfq/88yWICScoZbVVspc/xbXT70FZ6rxyYuH04YJ+B06g3u5ACSI
	SWp4voOugJ9WgumnG1awE6Xg+ZZ+ODkDFpOeeoMNu88L0HbTjsGKnFvN4IWYOLM+/Arghf
	6GM/VbrJJlYAlQeE+A3MyX56InCwWpE=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444039; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ZRCeeHYAZX30u0CV5OETlVsm4bHFhhMFufeH4FMn+N0=;
	b=dpMRKraZzMJzlGpf14sfq/88yWICScoZbVVspc/xbXT70FZ6rxyYuH04YJ+B06g3u5ACSI
	SWp4voOugJ9WgumnG1awE6Xg+ZZ+ODkDFpOeeoMNu88L0HbTjsGKnFvN4IWYOLM+/Arghf
	6GM/VbrJJlYAlQeE+A3MyX56InCwWpE=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 11/19] mini-os: config: add support for config items with numerical values
Date: Wed,  2 Jul 2025 10:12:46 +0200
Message-ID: <20250702081254.14383-12-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250702081254.14383-1-jgross@suse.com>
References: <20250702081254.14383-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Flag: NO
X-Spam-Score: -2.80
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Level: 

Add support for a Mini-OS config file containing config items with
numerical values, e.g. CONFIG_FOO=7.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 Config.mk | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Config.mk b/Config.mk
index e2afb1b4..b9675e61 100644
--- a/Config.mk
+++ b/Config.mk
@@ -178,6 +178,7 @@ endif
 # CONFIG-y contains all items defaulting to "y"
 # CONFIG-n contains all items defaulting to "n"
 # CONFIG-x contains all items being calculated if not set explicitly
+# CONFIG-val-y contains all items with numerical values, defaulting to 0
 CONFIG-y += CONFIG_START_NETWORK
 CONFIG-y += CONFIG_SPARSE_BSS
 CONFIG-y += CONFIG_BLKFRONT
@@ -219,6 +220,8 @@ CONFIG-$(lwip) += CONFIG_LWIP
 $(foreach i,$(CONFIG-y),$(eval $(i) ?= y))
 $(foreach i,$(CONFIG-n),$(eval $(i) ?= n))
 
+$(foreach i,$(CONFIG-val-y),$(eval $(i) ?= 0))
+
 CONFIG-x += CONFIG_LIBXS
 CONFIG_LIBXS ?= $(CONFIG_XENBUS)
 
@@ -226,6 +229,7 @@ CONFIG-all := $(CONFIG-y) $(CONFIG-n) $(CONFIG-x)
 
 # Export config items as compiler directives
 $(foreach i,$(CONFIG-all),$(eval DEFINES-$($(i)) += -D$(i)))
+$(foreach i,$(CONFIG-val-y),$(eval DEFINES-y += -D$(i)=$($(i))))
 
 DEFINES-y += -D__XEN_INTERFACE_VERSION__=$(XEN_INTERFACE_VERSION)
 
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:20:45 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:20:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030439.1404144 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWshx-00055Q-R8; Wed, 02 Jul 2025 08:20:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030439.1404144; Wed, 02 Jul 2025 08:20:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWshx-00053C-Iz; Wed, 02 Jul 2025 08:20:45 +0000
Received: by outflank-mailman (input) for mailman id 1030439;
 Wed, 02 Jul 2025 08:20:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsbW-00082X-KU
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:14:06 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 84e04656-571c-11f0-b894-0df219b8e170;
 Wed, 02 Jul 2025 10:14:05 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 8CB271F445;
 Wed,  2 Jul 2025 08:14:04 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 63B2B13A24;
 Wed,  2 Jul 2025 08:14:04 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id HxfxFkzqZGhhSQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:14:04 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84e04656-571c-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444044; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=rhVOHkoDR7DK9kEudYFjk42y/LOmgxRrKdj918bopVw=;
	b=jkRNzMt28TxzuaBTSnR9Rmo5R+TMVmodcG8ICyYB0Zk1UOOZS07w1YMSKguZS3jt7XKZ66
	JOIgH69IQl+osp7N3qYtGrcIPwIzb+1+VMEuRzHHCM983bpGMjP6/PRi+/+s58tnGQRN9I
	A46c8DJtfGZyYdvG9oeareiQW3a9qco=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=jkRNzMt2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444044; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=rhVOHkoDR7DK9kEudYFjk42y/LOmgxRrKdj918bopVw=;
	b=jkRNzMt28TxzuaBTSnR9Rmo5R+TMVmodcG8ICyYB0Zk1UOOZS07w1YMSKguZS3jt7XKZ66
	JOIgH69IQl+osp7N3qYtGrcIPwIzb+1+VMEuRzHHCM983bpGMjP6/PRi+/+s58tnGQRN9I
	A46c8DJtfGZyYdvG9oeareiQW3a9qco=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 12/19] mini-os: kexec: add support for handing over some memory across kexec
Date: Wed,  2 Jul 2025 10:12:47 +0200
Message-ID: <20250702081254.14383-13-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250702081254.14383-1-jgross@suse.com>
References: <20250702081254.14383-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Queue-Id: 8CB271F445
X-Rspamd-Action: no action
X-Spam-Flag: NO
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:dkim,suse.com:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from,2a07:de40:b281:106:10:150:64:167:received];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_TRACE(0.00)[suse.com:+]
X-Spam-Score: -3.01
X-Spam-Level: 

Especially for support of Xenstore-stubdom live update some memory must
be handed over to the new kernel without moving it around: as the
9pfs device used for storing and retrieving the state of Xenstore
needs to be kept operational across kexec (it can't be reopened due to
Xenstore not being available without access to the device), the ring
pages need to be accessible via active grants by the backend all the
time.

Add the basic support for that by reserving a pre-defined number of
memory pages at the top of the memory. This memory area will be
handed over to the new kernel via specifying it as a module in
struct hvm_start_info.

The contents of the memory area are described via a generic table of
contents in the last page of the memory.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 Config.mk             |  2 ++
 arch/x86/kexec.c      | 77 +++++++++++++++++++++++++++++++++++++++++++
 arch/x86/mm.c         | 18 ++++++++++
 arch/x86/setup.c      | 28 ++++++++++++++++
 include/kernel.h      |  1 +
 include/kexec.h       | 45 +++++++++++++++++++++++++
 include/x86/arch_mm.h |  1 +
 kexec.c               |  3 ++
 mm.c                  |  6 ++++
 9 files changed, 181 insertions(+)

diff --git a/Config.mk b/Config.mk
index b9675e61..0e4e86d8 100644
--- a/Config.mk
+++ b/Config.mk
@@ -220,6 +220,8 @@ CONFIG-$(lwip) += CONFIG_LWIP
 $(foreach i,$(CONFIG-y),$(eval $(i) ?= y))
 $(foreach i,$(CONFIG-n),$(eval $(i) ?= n))
 
+CONFIG-val-$(CONFIG_KEXEC) += CONFIG_KEXEC_MODULE_PAGES
+
 $(foreach i,$(CONFIG-val-y),$(eval $(i) ?= 0))
 
 CONFIG-x += CONFIG_LIBXS
diff --git a/arch/x86/kexec.c b/arch/x86/kexec.c
index 804e7b6d..7fb98473 100644
--- a/arch/x86/kexec.c
+++ b/arch/x86/kexec.c
@@ -201,10 +201,73 @@ static unsigned long kexec_param_loc;
 static unsigned int kexec_param_size;
 static unsigned long kexec_param_mem;
 
+static struct kexec_module *kexec_check_module(void)
+{
+    unsigned long mod_size;
+    unsigned long mod;
+    struct kexec_module *module_ptr;
+
+    mod = get_module(&mod_size);
+    if ( !mod )
+        return NULL;
+    /* Size must be a multiple of PAGE_SIZE. */
+    if ( mod_size & ~PAGE_MASK )
+        return NULL;
+
+    /* Kxec module description is at start of the last page of the module. */
+    module_ptr = (void *)(mod + mod_size - (unsigned long)PAGE_SIZE);
+
+    /* Check eye catcher. */
+    if ( memcmp(module_ptr->eye_catcher, KEXECMOD_EYECATCHER,
+                sizeof(module_ptr->eye_catcher)) )
+        return NULL;
+    if ( module_ptr->n_pages != (mod_size >> PAGE_SHIFT) - 1 )
+        return NULL;
+
+    return module_ptr;
+}
+
+static void get_mod_addr(unsigned long from, unsigned long to)
+{
+    unsigned long size = PFN_PHYS(CONFIG_KEXEC_MODULE_PAGES);
+
+    if ( to - from >= size && to - size > kexec_mod_start )
+        kexec_mod_start = to - size;
+}
+
+#define min(a, b) ((a) < (b) ? (a) : (b))
+void kexec_module(unsigned long start_pfn, unsigned long max_pfn)
+{
+    /* Reuse already existing kexec module. */
+    mod_ptr = kexec_check_module();
+    if ( !mod_ptr && CONFIG_KEXEC_MODULE_PAGES )
+    {
+        max_pfn = min(max_pfn, PHYS_PFN(0xffffffff));
+
+        iterate_memory_range(PFN_PHYS(start_pfn), PFN_PHYS(max_pfn),
+                             get_mod_addr);
+        BUG_ON(!kexec_mod_start);
+
+        mod_ptr = (void *)(kexec_mod_start +
+                           ((CONFIG_KEXEC_MODULE_PAGES - 1) << PAGE_SHIFT));
+        memset(mod_ptr, 0, PAGE_SIZE);
+        memcpy(mod_ptr->eye_catcher, KEXECMOD_EYECATCHER,
+               sizeof(mod_ptr->eye_catcher));
+        mod_ptr->n_pages = CONFIG_KEXEC_MODULE_PAGES - 1;
+        memset(mod_ptr->pg2rec, KEXECMOD_PG_FREE, mod_ptr->n_pages);
+        mod_ptr->recs_off = sizeof(struct kexec_module) +
+                            CONFIG_KEXEC_MODULE_PAGES + (mod_ptr->n_pages & 1);
+
+        set_reserved_range(kexec_mod_start, (unsigned long)mod_ptr + PAGE_SIZE);
+    }
+}
+
 void kexec_set_param_loc(const char *cmdline)
 {
     kexec_param_size = sizeof(struct hvm_start_info);
     kexec_param_size += e820_entries * sizeof(struct hvm_memmap_table_entry);
+    if ( mod_ptr )
+        kexec_param_size += sizeof(struct hvm_modlist_entry);
     kexec_param_size += strlen(cmdline) + 1;
 
     kexec_last_addr = (kexec_last_addr + 7) & ~7UL;
@@ -218,6 +281,7 @@ int kexec_get_entry(const char *cmdline)
     void *next;
     struct hvm_start_info *info;
     struct hvm_memmap_table_entry *mmap;
+    struct hvm_modlist_entry *mod;
     unsigned int order;
     unsigned int i;
 
@@ -252,6 +316,19 @@ int kexec_get_entry(const char *cmdline)
     info->memmap_entries = mmap - (struct hvm_memmap_table_entry *)next;
     next = mmap;
 
+    if ( mod_ptr )
+    {
+        mod = next;
+        memset(mod, 0, sizeof(*mod));
+        info->nr_modules = 1;
+        info->modlist_paddr = kexec_param_loc +
+                              (unsigned long)next - kexec_param_mem;
+        mod->paddr = kexec_mod_start;
+        mod->size = PFN_PHYS(mod_ptr->n_pages + 1);
+        mod->cmdline_paddr = 0;
+        next = mod + 1;
+    }
+
     info->cmdline_paddr = kexec_param_loc + (unsigned long)next - kexec_param_mem;
     strcpy(next, cmdline);
 
diff --git a/arch/x86/mm.c b/arch/x86/mm.c
index 7c3c83be..bdff38fd 100644
--- a/arch/x86/mm.c
+++ b/arch/x86/mm.c
@@ -151,6 +151,24 @@ static struct {
     unsigned long size;
 } reserved_range[MAX_RSV_RANGES];
 
+void set_reserved_range(unsigned long start, unsigned long end)
+{
+    unsigned int i;
+
+    for ( i = 0; i < MAX_RSV_RANGES; i++ )
+    {
+        if ( reserved_range[i].size )
+            continue;
+
+        reserved_range[i].start = start;
+        reserved_range[i].size = end - start;
+
+        return;
+    }
+
+    BUG();
+}
+
 void check_memory_range(unsigned long *from, unsigned long *to)
 {
     unsigned int m;
diff --git a/arch/x86/setup.c b/arch/x86/setup.c
index 2085ee5c..299ff8c7 100644
--- a/arch/x86/setup.c
+++ b/arch/x86/setup.c
@@ -127,6 +127,13 @@ static void print_start_of_day(void *p)
     printk("    cmd_line: %s\n", cmdline);
     printk("       stack: %p-%p\n", stack, stack + sizeof(stack));
 }
+
+unsigned long get_module(unsigned long *size)
+{
+    *size = start_info_ptr->mod_len;
+
+    return start_info_ptr->mod_start;
+}
 #else
 
 /*
@@ -182,6 +189,27 @@ static void print_start_of_day(void *p)
     printk("       stack: %p-%p\n", stack, stack + sizeof(stack));
     arch_print_memmap();
 }
+
+unsigned long get_module(unsigned long *size)
+{
+    struct hvm_modlist_entry *mod;
+
+    if ( !hvm_start_info_ptr->nr_modules )
+        return 0;
+
+    if ( hvm_start_info_ptr->nr_modules > 1 )
+    {
+        printk("get_module() called with more than 1 module present\n");
+        printk("First module data returned\n");
+    }
+
+    mod = (struct hvm_modlist_entry *)(unsigned long)
+          hvm_start_info_ptr->modlist_paddr;
+
+    *size = mod->size;
+
+    return mod->paddr;
+}
 #endif
 
 /*
diff --git a/include/kernel.h b/include/kernel.h
index 161d7571..e11b04cf 100644
--- a/include/kernel.h
+++ b/include/kernel.h
@@ -10,5 +10,6 @@ void post_suspend(int canceled);
 void do_exit(void) __attribute__((noreturn));
 void arch_do_exit(void);
 void stop_kernel(void);
+unsigned long get_module(unsigned long *size);
 
 #endif /* _KERNEL_H_ */
diff --git a/include/kexec.h b/include/kexec.h
index b89c3000..0200005f 100644
--- a/include/kexec.h
+++ b/include/kexec.h
@@ -2,6 +2,48 @@
 #define _KEXEC_H
 #include <mini-os/elf.h>
 
+/*
+ * Kexec module used to hand over memory across kexec().
+ *
+ * This is an ABI which should be modified only in a compatible way.
+ * struct kexec_module is located at the start of the last page of the module.
+ *
+ * The module can contain data/pages of multiple users. Each user has an own
+ * record which layout is depending on the user. Records are linked via a table
+ * of record offsets.
+ *
+ * All admin data (struct kexec_module, record offset table and records) must
+ * fit into the last page of the module.
+ */
+struct kexec_module {
+    uint8_t eye_catcher[8];
+#define KEXECMOD_EYECATCHER "KexecMem"
+    uint16_t n_pages;       /* Number of allocatable pages in the module.    */
+    uint16_t n_records;     /* Size of record table (max. 255).              */
+#define KEXECMOD_REC_MAX    255
+    uint16_t recs_off;      /* Offset to record table from start of page.    */
+                            /* The record table is an array of               */
+                            /* struct kexec_module_rec.                      */
+    uint8_t pg2rec[];       /* One entry per allocatable module page, value  */
+                            /* is record number (starting from 0) associated */
+                            /* with it. Free pages have value 255.           */
+#define KEXECMOD_PG_FREE    255
+};
+
+struct kexec_module_rec {
+    uint16_t offset;        /* Offset to record from start of page.          */
+    uint8_t type;           /* Type of record.                               */
+#define KEXECMOD_REC_NONE   0
+    uint8_t size;           /* Size of record.                               */
+};
+
+#ifndef CONFIG_KEXEC_MODULE_PAGES
+#define CONFIG_KEXEC_MODULE_PAGES 0
+#endif
+
+extern unsigned long kexec_mod_start;
+extern struct kexec_module *mod_ptr;
+
 /* One element of kexec actions (last element must have action KEXEC_CALL): */
 struct kexec_action {
     enum {
@@ -60,4 +102,7 @@ int kexec_move_used_pages(unsigned long boundary, unsigned long kernel,
                           unsigned long kernel_size);
 void kexec_move_used_pages_undo(void);
 
+/* Check for kexec module and create kexec memory if needed. */
+void kexec_module(unsigned long start_pfn, unsigned long max_pfn);
+
 #endif /* _KEXEC_H */
diff --git a/include/x86/arch_mm.h b/include/x86/arch_mm.h
index a1b975dc..ae56781e 100644
--- a/include/x86/arch_mm.h
+++ b/include/x86/arch_mm.h
@@ -289,6 +289,7 @@ unsigned long alloc_virt_kernel(unsigned n_pages);
 
 void arch_mm_pre_suspend(void);
 void arch_mm_post_suspend(int canceled);
+void set_reserved_range(unsigned long start, unsigned long end);
 
 #ifndef CONFIG_PARAVIRT
 void arch_print_memmap(void);
diff --git a/kexec.c b/kexec.c
index 2607c819..ded29882 100644
--- a/kexec.c
+++ b/kexec.c
@@ -250,3 +250,6 @@ int kexec_add_action(int action, void *dest, void *src, unsigned int len)
 
     return 0;
 }
+
+unsigned long kexec_mod_start;
+struct kexec_module *mod_ptr;
diff --git a/mm.c b/mm.c
index 8c41d2f2..b5e8d801 100644
--- a/mm.c
+++ b/mm.c
@@ -44,6 +44,7 @@
 #include <mini-os/lib.h>
 #include <mini-os/xmalloc.h>
 #include <mini-os/e820.h>
+#include <mini-os/kexec.h>
 
 /*
  * ALLOCATION BITMAP
@@ -503,6 +504,11 @@ void init_mm(void)
     arch_init_mm(&start_pfn, &max_pfn);
     get_max_pages();
 
+#ifdef CONFIG_KEXEC
+    /* To be called after arch_init_mm() and before init_page_allocator(). */
+    kexec_module(start_pfn, max_pfn);
+#endif
+
     /* Now we can initialise the page allocator. */
     init_page_allocator(PFN_PHYS(start_pfn), PFN_PHYS(max_pfn));
     printk("MM: done\n");
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:20:52 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:20:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030450.1404177 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsi4-00064H-9H; Wed, 02 Jul 2025 08:20:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030450.1404177; Wed, 02 Jul 2025 08:20:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsi3-00061N-VA; Wed, 02 Jul 2025 08:20:51 +0000
Received: by outflank-mailman (input) for mailman id 1030450;
 Wed, 02 Jul 2025 08:20:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsbn-00082X-6V
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:14:23 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8ecdf5af-571c-11f0-b894-0df219b8e170;
 Wed, 02 Jul 2025 10:14:21 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 507E91F445;
 Wed,  2 Jul 2025 08:14:21 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 2425413A24;
 Wed,  2 Jul 2025 08:14:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id og1IB13qZGhxSQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:14:21 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8ecdf5af-571c-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444061; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ubR6pSt9182ihX0qStfZwbGBhcxTfFCMnfWKOJagOwc=;
	b=gXY91VIAg53p7prR25YIH3AJCIjf7Q9ImmgpAbo6e3BXm1x2tPRztRcv2BuDLdWWvaD8r3
	vRhKqtTMQCBvpGSYjadSVC1iHhovqQGBjjwd5U0QhdQpeFijJSUvyh+qY7l/fc04kT9/qW
	M5nUHGuy+FiJDG294Ydy2b9egOdbDoc=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444061; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ubR6pSt9182ihX0qStfZwbGBhcxTfFCMnfWKOJagOwc=;
	b=gXY91VIAg53p7prR25YIH3AJCIjf7Q9ImmgpAbo6e3BXm1x2tPRztRcv2BuDLdWWvaD8r3
	vRhKqtTMQCBvpGSYjadSVC1iHhovqQGBjjwd5U0QhdQpeFijJSUvyh+qY7l/fc04kT9/qW
	M5nUHGuy+FiJDG294Ydy2b9egOdbDoc=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 15/19] 9pfs: refactor init_9pfront()
Date: Wed,  2 Jul 2025 10:12:50 +0200
Message-ID: <20250702081254.14383-16-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250702081254.14383-1-jgross@suse.com>
References: <20250702081254.14383-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Flag: NO
X-Spam-Score: -2.80
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Level: 

Move the Xenstore and backend interface related handling into a
sub-function in order to prepare supporting reconnecting to an active
9pfs device after kexec.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 9pfront.c | 136 ++++++++++++++++++++++++++++++++++--------------------
 1 file changed, 86 insertions(+), 50 deletions(-)

diff --git a/9pfront.c b/9pfront.c
index 2bfc49b1..8da2f726 100644
--- a/9pfront.c
+++ b/9pfront.c
@@ -1097,68 +1097,65 @@ static void free_9pfront(struct dev_9pfs *dev)
     free(dev);
 }
 
-void *init_9pfront(unsigned int id, const char *mnt)
+static bool issue_err(struct dev_9pfs *dev, char *msg, char *reason)
+{
+    if ( msg )
+    {
+        printk("9pfsfront add %u failed, error %s accessing Xenstore\n",
+               dev->id, msg);
+        free(msg);
+    }
+    else
+        printk("9pfsfront add %u failed, %s\n", dev->id, reason);
+
+    return false;
+}
+
+static bool read_config_xs(struct dev_9pfs *dev)
 {
-    struct dev_9pfs *dev;
     char *msg;
     char *reason = "";
-    xenbus_transaction_t xbt;
-    int retry = 1;
     XenbusState state;
-    unsigned int i;
-    void *addr;
+    xenbus_transaction_t xbt;
     char *version;
     char *v;
-
-    printk("9pfsfront add %u, for mount at %s\n", id, mnt);
-    dev = malloc(sizeof(*dev));
-    memset(dev, 0, sizeof(*dev));
-    snprintf(dev->nodename, sizeof(dev->nodename), "device/9pfs/%u", id);
-    dev->id = id;
-    init_waitqueue_head(&dev->waitq);
-    init_SEMAPHORE(&dev->ring_out_sem, 1);
-    init_SEMAPHORE(&dev->ring_in_sem, 1);
-    dev->fid_mask = ~0ULL;
-
-    for ( i = 0; i < N_REQS; i++ )
-    {
-        dev->req[i].id = i;
-        dev->req[i].next_free = i + 1;
-    }
-    dev->free_reqs = 0;
+    void *addr;
+    unsigned int i;
+    int retry = 1;
 
     msg = xenbus_read_unsigned(XBT_NIL, dev->nodename, "backend-id", &dev->dom);
     if ( msg )
-        goto err;
+        return issue_err(dev, msg, reason);
     msg = xenbus_read_string(XBT_NIL, dev->nodename, "backend", &dev->backend);
     if ( msg )
-        goto err;
+        return issue_err(dev, msg, reason);
     msg = xenbus_read_string(XBT_NIL, dev->nodename, "tag", &dev->tag);
     if ( msg )
-        goto err;
+        return issue_err(dev, msg, reason);
 
     snprintf(dev->bepath, sizeof(dev->bepath), "%s/state", dev->backend);
     free(xenbus_watch_path_token(XBT_NIL, dev->bepath, dev->bepath,
                                  &dev->events));
+
     state = xenbus_read_integer(dev->bepath);
     while ( msg == NULL && state < XenbusStateInitWait )
         msg = xenbus_wait_for_state_change(dev->bepath, &state, &dev->events);
     if ( msg || state != XenbusStateInitWait )
     {
         reason = "illegal backend state";
-        goto err;
+        return issue_err(dev, msg, reason);
     }
 
     msg = xenbus_read_unsigned(XBT_NIL, dev->backend, "max-ring-page-order",
                                &dev->ring_order);
     if ( msg )
-        goto err;
+        return issue_err(dev, msg, reason);
     if ( dev->ring_order > DEFAULT_9PFS_RING_ORDER )
         dev->ring_order = DEFAULT_9PFS_RING_ORDER;
 
     msg = xenbus_read_string(XBT_NIL, dev->backend, "versions", &version);
     if ( msg )
-        goto err;
+        return issue_err(dev, msg, reason);
     for ( v = version; *v; v++ )
     {
         if ( strtoul(v, &v, 10) == 1 && (*v == ',' || *v == 0) )
@@ -1170,25 +1167,36 @@ void *init_9pfront(unsigned int id, const char *mnt)
         {
             reason = "backend published illegal version string";
             free(version);
-            goto err;
+            return issue_err(dev, msg, reason);
         }
     }
     free(version);
     if ( v )
     {
         reason = "backend doesn't support version 1";
-        goto err;
+        return issue_err(dev, msg, reason);
     }
 
-    dev->ring_ref = gnttab_alloc_and_grant((void **)&dev->intf);
+    dev->intf = (void *)alloc_page();
+    if ( !dev->intf )
+    {
+        reason = "couldn't allocate shared interface page";
+        return issue_err(dev, msg, reason);
+    }
     memset(dev->intf, 0, PAGE_SIZE);
+    dev->ring_ref = gnttab_grant_access(dev->dom, virt_to_mfn(dev->intf), 0);
     if ( evtchn_alloc_unbound(dev->dom, intr_9pfs, dev, &dev->evtchn) )
     {
         reason = "no event channel";
-        goto err;
+        return issue_err(dev, msg, reason);
     }
     dev->intf->ring_order = dev->ring_order;
     dev->data.in = (void *)alloc_pages(dev->ring_order);
+    if ( !dev->data.in )
+    {
+        reason = "couldn't allocate ring pages";
+        return issue_err(dev, msg, reason);
+    }
     dev->data.out = dev->data.in + XEN_FLEX_RING_SIZE(dev->ring_order);
     for ( i = 0; i < (1 << dev->ring_order); i++ )
     {
@@ -1204,30 +1212,35 @@ void *init_9pfront(unsigned int id, const char *mnt)
             free(msg);
             msg = NULL;
             reason = "starting transaction";
-            goto err;
+            return issue_err(dev, msg, reason);
         }
 
         msg = xenbus_printf(xbt, dev->nodename, "version", "%u", 1);
         if ( msg )
-            goto err_tr;
+            break;
         msg = xenbus_printf(xbt, dev->nodename, "num-rings", "%u", 1);
         if ( msg )
-            goto err_tr;
+            break;
         msg = xenbus_printf(xbt, dev->nodename, "ring-ref0", "%u",
                             dev->ring_ref);
         if ( msg )
-            goto err_tr;
+            break;
         msg = xenbus_printf(xbt, dev->nodename, "event-channel-0", "%u",
                             dev->evtchn);
         if ( msg )
-            goto err_tr;
+            break;
         msg = xenbus_printf(xbt, dev->nodename, "state", "%u",
                             XenbusStateInitialised);
         if ( msg )
-            goto err_tr;
+            break;
 
         free(xenbus_transaction_end(xbt, 0, &retry));
     }
+    if ( msg )
+    {
+        free(xenbus_transaction_end(xbt, 1, &retry));
+        return issue_err(dev, msg, reason);
+    }
 
     state = xenbus_read_integer(dev->bepath);
     while ( msg == NULL && state < XenbusStateConnected )
@@ -1235,13 +1248,42 @@ void *init_9pfront(unsigned int id, const char *mnt)
     if ( msg || state != XenbusStateConnected )
     {
         reason = "illegal backend state";
-        goto err;
+        return issue_err(dev, msg, reason);
     }
 
     msg = xenbus_printf(XBT_NIL, dev->nodename, "state", "%u",
                         XenbusStateConnected);
     if ( msg )
-        goto err;
+        return issue_err(dev, msg, reason);
+
+    return true;
+}
+
+void *init_9pfront(unsigned int id, const char *mnt)
+{
+    struct dev_9pfs *dev;
+    char *reason = "";
+    unsigned int i;
+
+    printk("9pfsfront add %u, for mount at %s\n", id, mnt);
+    dev = malloc(sizeof(*dev));
+    memset(dev, 0, sizeof(*dev));
+    snprintf(dev->nodename, sizeof(dev->nodename), "device/9pfs/%u", id);
+    dev->id = id;
+    init_waitqueue_head(&dev->waitq);
+    init_SEMAPHORE(&dev->ring_out_sem, 1);
+    init_SEMAPHORE(&dev->ring_in_sem, 1);
+    dev->fid_mask = ~0ULL;
+
+    for ( i = 0; i < N_REQS; i++ )
+    {
+        dev->req[i].id = i;
+        dev->req[i].next_free = i + 1;
+    }
+    dev->free_reqs = 0;
+
+    if ( !read_config_xs(dev) )
+        goto err_out;
 
     unmask_evtchn(dev->evtchn);
 
@@ -1260,17 +1302,11 @@ void *init_9pfront(unsigned int id, const char *mnt)
 
     return dev;
 
- err_tr:
-    free(xenbus_transaction_end(xbt, 1, &retry));
-
  err:
-    if ( msg )
-        printk("9pfsfront add %u failed, error %s accessing Xenstore\n",
-               id, msg);
-    else
-        printk("9pfsfront add %u failed, %s\n", id, reason);
+    printk("9pfsfront add %u failed, %s\n", id, reason);
+
+ err_out:
     free_9pfront(dev);
-    free(msg);
     return NULL;
 }
 EXPORT_SYMBOL(init_9pfront);
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:20:55 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:20:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030458.1404197 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsi7-0006sX-8C; Wed, 02 Jul 2025 08:20:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030458.1404197; Wed, 02 Jul 2025 08:20:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsi7-0006s3-4E; Wed, 02 Jul 2025 08:20:55 +0000
Received: by outflank-mailman (input) for mailman id 1030458;
 Wed, 02 Jul 2025 08:20:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsbA-00082X-8A
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:13:44 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 778a3c73-571c-11f0-b894-0df219b8e170;
 Wed, 02 Jul 2025 10:13:42 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 55B5D1F454;
 Wed,  2 Jul 2025 08:13:42 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 2CAEC13A24;
 Wed,  2 Jul 2025 08:13:42 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id Pfp7CTbqZGhBSQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:13:42 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 778a3c73-571c-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444022; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=VFGHThmdUPo7tU8/k1YjcPPbr+K+PG8BXx4fi06T8E8=;
	b=tdvNwrFuYC25cBlRD2W9UnU/lW5P7VQOwsNG3RMXt5GAkHq4KsaTh8t4Tm8OjWNrCXtP68
	wWviHOIYRdYnF9OwQae4h0xzvHas6e+ULLL7ydMrQ4l67cBwL4WFfDUUWfw0X1D8yGsriI
	hPYonJ1fCz/VEjm2DyxFqKDlVSTC5eA=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444022; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=VFGHThmdUPo7tU8/k1YjcPPbr+K+PG8BXx4fi06T8E8=;
	b=tdvNwrFuYC25cBlRD2W9UnU/lW5P7VQOwsNG3RMXt5GAkHq4KsaTh8t4Tm8OjWNrCXtP68
	wWviHOIYRdYnF9OwQae4h0xzvHas6e+ULLL7ydMrQ4l67cBwL4WFfDUUWfw0X1D8yGsriI
	hPYonJ1fCz/VEjm2DyxFqKDlVSTC5eA=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 08/19] e820: don't count lapic page as initially reserved
Date: Wed,  2 Jul 2025 10:12:43 +0200
Message-ID: <20250702081254.14383-9-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250702081254.14383-1-jgross@suse.com>
References: <20250702081254.14383-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Flag: NO
X-Spam-Score: -2.80
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Level: 

The number of pages marked initially as reserved in the memory map
are counted to be allocated, as they are normally populated by Xen
tools for e.g. xenbus and console ring pages.

This is wrong in case the lapic page is marked as reserved in the
memory map, as there is never memory allocated for a lapic.

So when finding the lapic page to be marked as reserved, don't add
it to the number of reserved pages.

Fixes: 9b87429d2864 ("mini-os: fix number of pages for PVH")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 e820.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/e820.c b/e820.c
index 49b16878..876d55b1 100644
--- a/e820.c
+++ b/e820.c
@@ -275,7 +275,10 @@ static void e820_sanitize(void)
             e820_initial_reserved_pfns += e820_map[i].size / PAGE_SIZE;
             if ( e820_map[i].addr <= LAPIC_ADDRESS &&
                  e820_map[i].addr + e820_map[i].size > LAPIC_ADDRESS )
+            {
                 found_lapic = true;
+                e820_initial_reserved_pfns--;
+            }
         }
     }
 
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:21:04 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:21:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030491.1404222 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsiG-0008L8-9c; Wed, 02 Jul 2025 08:21:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030491.1404222; Wed, 02 Jul 2025 08:21:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsiG-0008KK-41; Wed, 02 Jul 2025 08:21:04 +0000
Received: by outflank-mailman (input) for mailman id 1030491;
 Wed, 02 Jul 2025 08:21:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsbF-00082X-M9
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:13:49 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7adda828-571c-11f0-b894-0df219b8e170;
 Wed, 02 Jul 2025 10:13:48 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id DF39421182;
 Wed,  2 Jul 2025 08:13:47 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id B3D4113A54;
 Wed,  2 Jul 2025 08:13:47 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id BItmKjvqZGhJSQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:13:47 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7adda828-571c-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444027; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=uwLSYgMVcboUpduICczAWr7hs1RsmqCqfe1jLSr8ytE=;
	b=r7oc77bfmJHkkSzUx4K3TRfIU50j9Jj7KAhiDiExMV+qTsjZIb6ZBdKjecTxEBC5V4fRFa
	ppqgKf36/Ya7m2NvY9rUe5fPaQ5RI892qfK78i4iQvgyq5sFCO3J/bhRll9izfEGLFHxfO
	4R1OjJGloBjUZhJ4X4LDsxo5vpuFnhc=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444027; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=uwLSYgMVcboUpduICczAWr7hs1RsmqCqfe1jLSr8ytE=;
	b=r7oc77bfmJHkkSzUx4K3TRfIU50j9Jj7KAhiDiExMV+qTsjZIb6ZBdKjecTxEBC5V4fRFa
	ppqgKf36/Ya7m2NvY9rUe5fPaQ5RI892qfK78i4iQvgyq5sFCO3J/bhRll9izfEGLFHxfO
	4R1OjJGloBjUZhJ4X4LDsxo5vpuFnhc=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 09/19] kexec: restructure building the start info data
Date: Wed,  2 Jul 2025 10:12:44 +0200
Message-ID: <20250702081254.14383-10-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250702081254.14383-1-jgross@suse.com>
References: <20250702081254.14383-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Flag: NO
X-Spam-Score: -2.80
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Level: 

Instead of setting most of the struct hvm_start_info fields first and
then building the leaf data, restructure kexec_get_entry() by
using an opaque "next" pointer where the next leaf data will be stored
and handle that leaf data together with the associated hvm_start_info
fields.

This will make it easier to add new data items without having to
rewrite large portions of the function.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/kexec.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/arch/x86/kexec.c b/arch/x86/kexec.c
index d84df42c..3e3b64e2 100644
--- a/arch/x86/kexec.c
+++ b/arch/x86/kexec.c
@@ -215,6 +215,7 @@ void kexec_set_param_loc(const char *cmdline)
 
 int kexec_get_entry(const char *cmdline)
 {
+    void *next;
     struct hvm_start_info *info;
     struct hvm_memmap_table_entry *mmap;
     unsigned int order;
@@ -229,16 +230,17 @@ int kexec_get_entry(const char *cmdline)
     if ( !kexec_param_mem )
         return ENOMEM;
 
-    info = (struct hvm_start_info *)kexec_param_mem;
+    next = (void *)kexec_param_mem;
+
+    info = next;
     memset(info, 0, sizeof(*info));
     info->magic = XEN_HVM_START_MAGIC_VALUE;
     info->version = 1;
-    info->cmdline_paddr = kexec_param_loc + sizeof(*info) +
-                          e820_entries * sizeof(struct hvm_memmap_table_entry);
-    info->memmap_paddr = kexec_param_loc + sizeof(*info);
-    info->memmap_entries = e820_entries;
+    next = info + 1;
 
-    mmap = (struct hvm_memmap_table_entry *)(info + 1);
+    mmap = next;
+    info->memmap_paddr = kexec_param_loc + (unsigned long)next - kexec_param_mem;
+    info->memmap_entries = e820_entries;
     for ( i = 0; i < e820_entries; i++ )
     {
         mmap->addr = e820_map[i].addr;
@@ -246,8 +248,10 @@ int kexec_get_entry(const char *cmdline)
         mmap->type = e820_map[i].type;
         mmap++;
     }
+    next = mmap;
 
-    strcpy((char *)mmap, cmdline);
+    info->cmdline_paddr = kexec_param_loc + (unsigned long)next - kexec_param_mem;
+    strcpy(next, cmdline);
 
     if ( kexec_add_action(KEXEC_COPY, to_virt(kexec_param_loc), info,
                           kexec_param_size) )
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:21:09 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:21:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030509.1404237 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsiL-0000uL-Rn; Wed, 02 Jul 2025 08:21:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030509.1404237; Wed, 02 Jul 2025 08:21:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsiL-0000u6-ML; Wed, 02 Jul 2025 08:21:09 +0000
Received: by outflank-mailman (input) for mailman id 1030509;
 Wed, 02 Jul 2025 08:21:08 +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 <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsb0-00082Y-1N
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:13:34 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 71040eab-571c-11f0-a313-13f23c93f187;
 Wed, 02 Jul 2025 10:13:31 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 3F6212117F;
 Wed,  2 Jul 2025 08:13:31 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 135DA13A24;
 Wed,  2 Jul 2025 08:13:31 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id FoE4AyvqZGgfSQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:13:31 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71040eab-571c-11f0-a313-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444011; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=PqeT9QtIJE1Ok+fqszezjXe9WOy8z56eRXWRpRN0vUQ=;
	b=QrGGKNYL/DWVxxTQCLDbMmIH7WiOgWMb7tx1iOXOjolTiAiQlzDJxRfPweerBktWwhi3Nj
	Ihh1pzYSvqqSlsaH28aA0oOTozW+Y3GOnU7FG14JRopCWE1kJJpZ9oFZD4P42d+47l0TRi
	AOKexml5tJYNEP1+Q06QyXLtOnirIiA=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444011; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=PqeT9QtIJE1Ok+fqszezjXe9WOy8z56eRXWRpRN0vUQ=;
	b=QrGGKNYL/DWVxxTQCLDbMmIH7WiOgWMb7tx1iOXOjolTiAiQlzDJxRfPweerBktWwhi3Nj
	Ihh1pzYSvqqSlsaH28aA0oOTozW+Y3GOnU7FG14JRopCWE1kJJpZ9oFZD4P42d+47l0TRi
	AOKexml5tJYNEP1+Q06QyXLtOnirIiA=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 06/19] mm: don't add module pages to free memory
Date: Wed,  2 Jul 2025 10:12:41 +0200
Message-ID: <20250702081254.14383-7-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250702081254.14383-1-jgross@suse.com>
References: <20250702081254.14383-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Flag: NO
X-Spam-Score: -2.80
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Level: 

When initializing the memory allocator, don't add memory pages of
modules and the initial boot info structure to the free memory.

This is relevant only when running in PVH mode, as in PV mode only
memory above the initial page tables is added to free memory, and the
module and start_info pages are below the page tables.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/mm.c | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++
 include/mm.h  |  1 +
 mm.c          | 21 +++++++++++++-
 3 files changed, 101 insertions(+), 1 deletion(-)

diff --git a/arch/x86/mm.c b/arch/x86/mm.c
index 26ede6f4..7c3c83be 100644
--- a/arch/x86/mm.c
+++ b/arch/x86/mm.c
@@ -78,6 +78,10 @@ void arch_mm_preinit(void *p)
     last_free_pfn = si->nr_pages;
     balloon_set_nr_pages(last_free_pfn, last_free_pfn);
 }
+
+void check_memory_range(unsigned long *from, unsigned long *to)
+{
+}
 #else
 #include <mini-os/desc.h>
 user_desc gdt[NR_GDT_ENTRIES] =
@@ -125,6 +129,78 @@ void arch_mm_preinit(void *p)
     last_free_pfn = e820_get_maxpfn(pages);
     balloon_set_nr_pages(pages, last_free_pfn);
 }
+
+static void check_memory_range_conflict(unsigned long *from, unsigned long *to,
+                                        unsigned long chk, unsigned long sz)
+{
+    unsigned long chk_end = chk + sz;
+
+    if ( *to <= chk || *from >= chk_end )
+        return;
+
+    if ( chk <= *from )
+        *from = (chk_end >= *to) ? *to : chk_end;
+    else
+        *to = chk;
+}
+
+/* Reserved memory ranges not added to free memory. */
+#define MAX_RSV_RANGES  1
+static struct {
+    unsigned long start;
+    unsigned long size;
+} reserved_range[MAX_RSV_RANGES];
+
+void check_memory_range(unsigned long *from, unsigned long *to)
+{
+    unsigned int m;
+    struct hvm_modlist_entry *mod;
+
+    for ( m = 0; m < MAX_RSV_RANGES && reserved_range[m].size; m++ )
+        check_memory_range_conflict(from, to, reserved_range[m].start,
+                                    reserved_range[m].size);
+
+    mod = (struct hvm_modlist_entry *)(unsigned long)
+          hvm_start_info_ptr->modlist_paddr;
+    for ( m = 0; m < hvm_start_info_ptr->nr_modules; m++ )
+        check_memory_range_conflict(from, to, mod[m].paddr, mod[m].size);
+}
+
+#define max(a, b) ((a) < (b) ? (b) : (a))
+
+static void pvh_reserve_start_info(unsigned long *start_pfn)
+{
+    unsigned long end = 0;
+    unsigned long start = (unsigned long)hvm_start_info_ptr;
+    unsigned long end_pfn;
+    unsigned int m;
+    struct hvm_modlist_entry *mod;
+    char *cmdline;
+
+    mod = (void *)(unsigned long)hvm_start_info_ptr->modlist_paddr;
+
+    end = max(end, start + sizeof(struct hvm_start_info));
+    end = max(end, hvm_start_info_ptr->modlist_paddr +
+              hvm_start_info_ptr->nr_modules *
+              sizeof(struct hvm_modlist_entry));
+    for ( m = 0; m < hvm_start_info_ptr->nr_modules; m++ )
+    {
+        cmdline = (char *)(unsigned long)mod[m].cmdline_paddr;
+        if ( cmdline )
+            end = max(end, (unsigned long)cmdline + strlen(cmdline) + 1);
+    }
+    cmdline = (char *)(unsigned long)hvm_start_info_ptr->cmdline_paddr;
+    if ( cmdline )
+        end = max(end, (unsigned long)cmdline + strlen(cmdline) + 1);
+    if ( hvm_start_info_ptr->version >= 1 )
+        end = max(end, hvm_start_info_ptr->memmap_paddr +
+                  hvm_start_info_ptr->memmap_entries *
+                  sizeof(struct hvm_memmap_table_entry));
+
+    end_pfn = PFN_UP(end);
+    if ( end_pfn > *start_pfn )
+        *start_pfn = end_pfn;
+}
 #endif
 
 static const struct {
@@ -888,6 +964,10 @@ void arch_init_mm(unsigned long* start_pfn_p, unsigned long* max_pfn_p)
     if ( max_pfn >= MAX_MEM_SIZE / PAGE_SIZE )
         max_pfn = MAX_MEM_SIZE / PAGE_SIZE - 1;
 
+#ifndef CONFIG_PARAVIRT
+    pvh_reserve_start_info(&start_pfn);
+#endif
+
     printk("  start_pfn: %lx\n", start_pfn);
     printk("    max_pfn: %lx\n", max_pfn);
 
diff --git a/include/mm.h b/include/mm.h
index 1dc89ddb..995e9862 100644
--- a/include/mm.h
+++ b/include/mm.h
@@ -74,6 +74,7 @@ static __inline__ int get_order(unsigned long size)
 
 void arch_init_demand_mapping_area(void);
 void arch_init_mm(unsigned long* start_pfn_p, unsigned long* max_pfn_p);
+void check_memory_range(unsigned long *from, unsigned long *to);
 
 unsigned long allocate_ondemand(unsigned long n, unsigned long alignment);
 /* map f[i*stride]+i*increment for i in 0..n-1, aligned on alignment pages */
diff --git a/mm.c b/mm.c
index 858dc108..8c41d2f2 100644
--- a/mm.c
+++ b/mm.c
@@ -185,6 +185,25 @@ static void add_memory_range(unsigned long r_min, unsigned long r_max)
     }
 }
 
+static void consider_memory_range(unsigned long r_min, unsigned long r_max,
+                                  void (*func)(unsigned long, unsigned long))
+{
+    unsigned long from = r_min;
+    unsigned long to = r_max;
+
+    while ( true )
+    {
+        check_memory_range(&from, &to);
+        if ( from == to )
+            return;
+
+        func(from, to);
+
+        from = to;
+        to = r_max;
+    }
+}
+
 void iterate_memory_range(unsigned long min, unsigned long max,
                           void (*func)(unsigned long, unsigned long))
 {
@@ -207,7 +226,7 @@ void iterate_memory_range(unsigned long min, unsigned long max,
         if ( r_max > max )
             r_max = max;
 
-        func(r_min, r_max);
+        consider_memory_range(r_min, r_max, func);
     }
 }
 
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:21:10 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:21:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030511.1404240 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsiL-0000uu-Vn; Wed, 02 Jul 2025 08:21:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030511.1404240; Wed, 02 Jul 2025 08:21:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsiL-0000uR-P1; Wed, 02 Jul 2025 08:21:09 +0000
Received: by outflank-mailman (input) for mailman id 1030511;
 Wed, 02 Jul 2025 08:21:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsc4-00082X-0w
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:14:40 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 98d1df3c-571c-11f0-b894-0df219b8e170;
 Wed, 02 Jul 2025 10:14:38 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 11E3221175;
 Wed,  2 Jul 2025 08:14:38 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id DD31A13A24;
 Wed,  2 Jul 2025 08:14:37 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id A0ptNG3qZGiQSQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:14:37 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98d1df3c-571c-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444078; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=IOlYonHclfoRpw7enkWmqDj5I9EaGv63Xf2WTPy7orA=;
	b=f+GFtsUZ7F//peCVEaNHQTq0QAx9UWtfSwAvQ7VXwDUSdDItK1h9buqwSdRzcXMx0yqVjO
	CR3tl8hrURsfptqpNeroPzz6BNLg1Vitpfl+AucQ0o2YI2T/sPBiiOhuKMqEFRdtzD4xjt
	sNtha5Pd0MjsUms8oWTEZTr7WgR7Qi4=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444078; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=IOlYonHclfoRpw7enkWmqDj5I9EaGv63Xf2WTPy7orA=;
	b=f+GFtsUZ7F//peCVEaNHQTq0QAx9UWtfSwAvQ7VXwDUSdDItK1h9buqwSdRzcXMx0yqVjO
	CR3tl8hrURsfptqpNeroPzz6BNLg1Vitpfl+AucQ0o2YI2T/sPBiiOhuKMqEFRdtzD4xjt
	sNtha5Pd0MjsUms8oWTEZTr7WgR7Qi4=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 18/19] 9pfs: add support to keep device opened across kexec
Date: Wed,  2 Jul 2025 10:12:53 +0200
Message-ID: <20250702081254.14383-19-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250702081254.14383-1-jgross@suse.com>
References: <20250702081254.14383-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:email,suse.com:mid];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Level: 
X-Spam-Flag: NO
X-Spam-Score: -2.80

In order to support Xenstore-stubdom live update, the 9pfs device used
to save and restore the Xenstore state needs to be kept open across
kexec, as otherwise re-opening of the device using the new kernel
would not work (this would require Xenstore to be active, which is
obviously not possible before having read the saved state).

Add an alternative init function for a 9pfs device supporting to take
the configuration from the kexec module instead of Xenstore. Add
support for creating the device using the kexec module, too.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 9pfront.c         | 120 +++++++++++++++++++++++++++++++++++++++++-----
 include/9pfront.h |   9 ++++
 include/kexec.h   |   1 +
 3 files changed, 117 insertions(+), 13 deletions(-)

diff --git a/9pfront.c b/9pfront.c
index 8da2f726..b3106d13 100644
--- a/9pfront.c
+++ b/9pfront.c
@@ -8,6 +8,7 @@
 #include <mini-os/events.h>
 #include <mini-os/fcntl.h>
 #include <mini-os/gnttab.h>
+#include <mini-os/kexec.h>
 #include <mini-os/semaphore.h>
 #include <mini-os/wait.h>
 #include <mini-os/xenbus.h>
@@ -26,6 +27,7 @@ struct dev_9pfs {
     unsigned int dom;
     char *backend;
     char bepath[64];
+    bool kexecmem;
 
     char *tag;
     const char *mnt;
@@ -58,6 +60,13 @@ struct dev_9pfs {
     unsigned long long fid_mask;              /* Bit mask for free fids. */
 };
 
+struct kexec_9pfs_rec {
+    grant_ref_t ring_ref;
+    evtchn_port_t evtchn;
+    RING_IDX prod_pvt_out;
+    RING_IDX cons_pvt_in;
+};
+
 struct file_9pfs {
     uint32_t fid;
     struct dev_9pfs *dev;
@@ -898,7 +907,7 @@ static bool path_canonical(const char *pathname)
     return true;
 }
 
-static int connect_9pfs(struct dev_9pfs *dev)
+static int connect_9pfs(struct dev_9pfs *dev, bool do_attach)
 {
     int ret;
 
@@ -906,7 +915,7 @@ static int connect_9pfs(struct dev_9pfs *dev)
     if ( ret )
         return ret;
 
-    return p9_attach(dev);
+    return do_attach ? p9_attach(dev) : 0;
 }
 
 static void intr_9pfs(evtchn_port_t port, struct pt_regs *regs, void *data)
@@ -1079,6 +1088,9 @@ static int open_9pfs(struct mount_point *mnt, const char *pathname, int flags,
     return -1;
 }
 
+static int kexec_recid = -1;
+static struct dev_9pfs *kexec_dev;
+
 static void free_9pfront(struct dev_9pfs *dev)
 {
     unsigned int i;
@@ -1087,13 +1099,22 @@ static void free_9pfront(struct dev_9pfs *dev)
     {
         for ( i = 0; i < (1 << dev->ring_order); i++ )
             gnttab_end_access(dev->intf->ref[i]);
-        free_pages(dev->data.in, dev->ring_order);
+        if ( dev->kexecmem )
+            kexec_free_mod_pages(kexec_recid, (unsigned long)dev->data.in,
+                                 1 << dev->ring_order);
+        else
+            free_pages(dev->data.in, dev->ring_order);
     }
     unbind_evtchn(dev->evtchn);
     gnttab_end_access(dev->ring_ref);
-    free_page(dev->intf);
+    if ( dev->kexecmem )
+        kexec_free_mod_pages(kexec_recid, (unsigned long)dev->intf, 1);
+    else
+        free_page(dev->intf);
     free(dev->backend);
     free(dev->tag);
+    if ( dev == kexec_dev )
+        kexec_dev = NULL;
     free(dev);
 }
 
@@ -1111,7 +1132,7 @@ static bool issue_err(struct dev_9pfs *dev, char *msg, char *reason)
     return false;
 }
 
-static bool read_config_xs(struct dev_9pfs *dev)
+static bool read_config_xs(struct dev_9pfs *dev, struct kexec_9pfs_rec *rec)
 {
     char *msg;
     char *reason = "";
@@ -1121,7 +1142,9 @@ static bool read_config_xs(struct dev_9pfs *dev)
     char *v;
     void *addr;
     unsigned int i;
+    unsigned int n_pages;
     int retry = 1;
+    int err;
 
     msg = xenbus_read_unsigned(XBT_NIL, dev->nodename, "backend-id", &dev->dom);
     if ( msg )
@@ -1177,7 +1200,9 @@ static bool read_config_xs(struct dev_9pfs *dev)
         return issue_err(dev, msg, reason);
     }
 
-    dev->intf = (void *)alloc_page();
+    dev->intf = (void *)(dev->kexecmem
+                         ? kexec_alloc_mod_pages(kexec_recid, 1)
+                         : alloc_page());
     if ( !dev->intf )
     {
         reason = "couldn't allocate shared interface page";
@@ -1191,14 +1216,17 @@ static bool read_config_xs(struct dev_9pfs *dev)
         return issue_err(dev, msg, reason);
     }
     dev->intf->ring_order = dev->ring_order;
-    dev->data.in = (void *)alloc_pages(dev->ring_order);
+    n_pages = 1 << dev->ring_order;
+    dev->data.in = (void *)(dev->kexecmem
+                            ? kexec_alloc_mod_pages(kexec_recid, n_pages)
+                            : alloc_pages(dev->ring_order));
     if ( !dev->data.in )
     {
         reason = "couldn't allocate ring pages";
         return issue_err(dev, msg, reason);
     }
     dev->data.out = dev->data.in + XEN_FLEX_RING_SIZE(dev->ring_order);
-    for ( i = 0; i < (1 << dev->ring_order); i++ )
+    for ( i = 0; i < n_pages; i++ )
     {
         addr = dev->data.in + i * PAGE_SIZE;
         dev->intf->ref[i] = gnttab_grant_access(dev->dom, virt_to_mfn(addr), 0);
@@ -1256,18 +1284,65 @@ static bool read_config_xs(struct dev_9pfs *dev)
     if ( msg )
         return issue_err(dev, msg, reason);
 
+    if ( dev->kexecmem )
+    {
+        rec->ring_ref = dev->ring_ref;
+        rec->evtchn = dev->evtchn;
+        err = kexec_upd_mod_record(kexec_recid, KEXECMOD_REC_9PFS, rec,
+                                   sizeof(*rec));
+        BUG_ON(err);
+    }
+
     return true;
 }
 
-void *init_9pfront(unsigned int id, const char *mnt)
+#ifdef CONFIG_KEXEC
+static int kexec_9pfront(bool undo)
+{
+    struct kexec_9pfs_rec rec;
+
+    if ( kexec_recid < 0 || !kexec_dev || undo )
+        return 0;
+
+    kexec_read_mod_record(kexec_recid, &rec, sizeof(rec));
+    rec.prod_pvt_out = kexec_dev->prod_pvt_out;
+    rec.cons_pvt_in = kexec_dev->cons_pvt_in;
+    kexec_upd_mod_record(kexec_recid, KEXECMOD_REC_9PFS, &rec, sizeof(rec));
+
+    return 0;
+}
+kexec_call(kexec_9pfront);
+#endif
+
+static void read_config_kexec(struct dev_9pfs *dev, struct kexec_9pfs_rec *rec)
+{
+    dev->ring_ref = rec->ring_ref;
+    dev->evtchn = rec->evtchn;
+    dev->prod_pvt_out = rec->prod_pvt_out;
+    dev->cons_pvt_in = rec->cons_pvt_in;
+
+    dev->intf = gnttab_get_addr(dev->ring_ref);
+    dev->ring_order = dev->intf->ring_order;
+    dev->data.in = gnttab_get_addr(dev->intf->ref[0]);
+    dev->data.out = dev->data.in + XEN_FLEX_RING_SIZE(dev->ring_order);
+
+    bind_evtchn(dev->evtchn, intr_9pfs, dev);
+}
+
+void *init_9pfront2(unsigned int id, const char *mnt, unsigned int flags)
 {
     struct dev_9pfs *dev;
     char *reason = "";
     unsigned int i;
+    struct kexec_9pfs_rec record = { };
+    unsigned int rec_size;
 
-    printk("9pfsfront add %u, for mount at %s\n", id, mnt);
+    printk("9pfsfront add %u, for mount at %s, flags %x\n", id, mnt, flags);
     dev = malloc(sizeof(*dev));
     memset(dev, 0, sizeof(*dev));
+    dev->kexecmem = flags & (INIT9P_FLAG_KEXEC | INIT9P_FLAG_REINIT);
+    if ( dev->kexecmem )
+        kexec_dev = dev;
     snprintf(dev->nodename, sizeof(dev->nodename), "device/9pfs/%u", id);
     dev->id = id;
     init_waitqueue_head(&dev->waitq);
@@ -1282,12 +1357,25 @@ void *init_9pfront(unsigned int id, const char *mnt)
     }
     dev->free_reqs = 0;
 
-    if ( !read_config_xs(dev) )
-        goto err_out;
+    if ( !(flags & INIT9P_FLAG_REINIT) )
+    {
+        if ( dev->kexecmem )
+            kexec_recid = kexec_add_mod_record(KEXECMOD_REC_9PFS, &record,
+                                               sizeof(record));
+        if ( !read_config_xs(dev, &record) )
+            goto err_out;
+    }
+    else
+    {
+        kexec_recid = kexec_find_mod_record(0, KEXECMOD_REC_9PFS, &rec_size);
+        BUG_ON(kexec_recid < 0 || rec_size != sizeof(record));
+        kexec_read_mod_record(kexec_recid, &record, rec_size);
+        read_config_kexec(dev, &record);
+    }
 
     unmask_evtchn(dev->evtchn);
 
-    if ( connect_9pfs(dev) )
+    if ( connect_9pfs(dev, !(flags & INIT9P_FLAG_REINIT)) )
     {
         reason = "9pfs connect failed";
         goto err;
@@ -1309,6 +1397,12 @@ void *init_9pfront(unsigned int id, const char *mnt)
     free_9pfront(dev);
     return NULL;
 }
+EXPORT_SYMBOL(init_9pfront2);
+
+void *init_9pfront(unsigned int id, const char *mnt)
+{
+    return init_9pfront2(id, mnt, 0);
+}
 EXPORT_SYMBOL(init_9pfront);
 
 void shutdown_9pfront(void *dev)
diff --git a/include/9pfront.h b/include/9pfront.h
index 722ec564..a0cb5487 100644
--- a/include/9pfront.h
+++ b/include/9pfront.h
@@ -2,6 +2,15 @@
 #define __9PFRONT_H__
 
 void *init_9pfront(unsigned int id, const char *mnt);
+void *init_9pfront2(unsigned int id, const char *mnt, unsigned int flags);
+#ifdef CONFIG_KEXEC
+#define INIT9P_FLAG_REINIT 0x01      /* Reinit with data from kexec module. */
+#define INIT9P_FLAG_KEXEC  0x02      /* Use kexec module for interface. */
+#else
+#define INIT9P_FLAG_REINIT 0
+#define INIT9P_FLAG_KEXEC  0
+#endif
+
 void shutdown_9pfront(void *dev);
 
 #endif /* __9PFRONT_H__ */
diff --git a/include/kexec.h b/include/kexec.h
index 1e753ee1..b358b202 100644
--- a/include/kexec.h
+++ b/include/kexec.h
@@ -34,6 +34,7 @@ struct kexec_module_rec {
     uint16_t offset;        /* Offset to record from start of page.          */
     uint8_t type;           /* Type of record.                               */
 #define KEXECMOD_REC_NONE   0
+#define KEXECMOD_REC_9PFS   1
     uint8_t size;           /* Size of record.                               */
 };
 
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:21:11 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:21:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030514.1404243 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsiN-000152-09; Wed, 02 Jul 2025 08:21:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030514.1404243; Wed, 02 Jul 2025 08:21:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsiM-00014B-SS; Wed, 02 Jul 2025 08:21:10 +0000
Received: by outflank-mailman (input) for mailman id 1030514;
 Wed, 02 Jul 2025 08:21:09 +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 <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsbb-00082Y-20
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:14:11 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8824bf6e-571c-11f0-a313-13f23c93f187;
 Wed, 02 Jul 2025 10:14:10 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 24EAB1F452;
 Wed,  2 Jul 2025 08:14:10 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id EF13C13A24;
 Wed,  2 Jul 2025 08:14:09 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id K/rrOFHqZGhoSQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:14:09 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8824bf6e-571c-11f0-a313-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444050; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=NPQ4KdPqGaFvUqDWb/++eBiyJkIUFURqS3mOYAtyiPM=;
	b=hXncPUa3E1HRPhmofLuq/RAN/uukbVkUMGFk8Gpex8fFSEypkOMdLbhxwQGrMYIqS911de
	2HQgufJUD+6cLcHrDeJ6ckBKphxYI8auBN4aFbGSJJTQstRTjnSsGjXW/B/9JsEKuxe5LR
	igDgaQpAZMV6x2c6QO+xHzPccp0ZNJc=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=hXncPUa3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444050; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=NPQ4KdPqGaFvUqDWb/++eBiyJkIUFURqS3mOYAtyiPM=;
	b=hXncPUa3E1HRPhmofLuq/RAN/uukbVkUMGFk8Gpex8fFSEypkOMdLbhxwQGrMYIqS911de
	2HQgufJUD+6cLcHrDeJ6ckBKphxYI8auBN4aFbGSJJTQstRTjnSsGjXW/B/9JsEKuxe5LR
	igDgaQpAZMV6x2c6QO+xHzPccp0ZNJc=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 13/19] kexec: add support for allocating pages from kexec module memory
Date: Wed,  2 Jul 2025 10:12:48 +0200
Message-ID: <20250702081254.14383-14-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250702081254.14383-1-jgross@suse.com>
References: <20250702081254.14383-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.com:dkim,suse.com:mid,suse.com:email];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	DNSWL_BLOCKED(0.00)[2a07:de40:b281:106:10:150:64:167:received,2a07:de40:b281:104:10:150:64:97:from];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_TRACE(0.00)[suse.com:+]
X-Spam-Level: 
X-Spam-Flag: NO
X-Rspamd-Queue-Id: 24EAB1F452
X-Rspamd-Action: no action
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Score: -3.01

Add the needed functions for allocating and freeing memory pages of
the kexec module.

As the pages are always related to a kexec module record, add the
related utility functions, too. For now only support adding records
and retrieving them.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/kexec.c |  16 +++++++
 include/kexec.h  |  52 +++++++++++++++++++++
 kexec.c          | 115 +++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 183 insertions(+)

diff --git a/arch/x86/kexec.c b/arch/x86/kexec.c
index 7fb98473..8b3e841a 100644
--- a/arch/x86/kexec.c
+++ b/arch/x86/kexec.c
@@ -238,6 +238,9 @@ static void get_mod_addr(unsigned long from, unsigned long to)
 #define min(a, b) ((a) < (b) ? (a) : (b))
 void kexec_module(unsigned long start_pfn, unsigned long max_pfn)
 {
+    unsigned int i;
+    char *rec_end;
+
     /* Reuse already existing kexec module. */
     mod_ptr = kexec_check_module();
     if ( !mod_ptr && CONFIG_KEXEC_MODULE_PAGES )
@@ -255,11 +258,24 @@ void kexec_module(unsigned long start_pfn, unsigned long max_pfn)
                sizeof(mod_ptr->eye_catcher));
         mod_ptr->n_pages = CONFIG_KEXEC_MODULE_PAGES - 1;
         memset(mod_ptr->pg2rec, KEXECMOD_PG_FREE, mod_ptr->n_pages);
+        mod_ptr->n_records = 16;
         mod_ptr->recs_off = sizeof(struct kexec_module) +
                             CONFIG_KEXEC_MODULE_PAGES + (mod_ptr->n_pages & 1);
 
         set_reserved_range(kexec_mod_start, (unsigned long)mod_ptr + PAGE_SIZE);
     }
+
+    mod_recs = (void *)((unsigned long)mod_ptr + mod_ptr->recs_off);
+    mod_rec_start = (char *)(mod_recs + mod_ptr->n_records);
+    mod_rec_end = mod_rec_start;
+    for ( i = 0; i < mod_ptr->n_records; i++ )
+    {
+        if ( mod_recs[i].type == KEXECMOD_REC_NONE )
+            continue;
+        rec_end = (char *)mod_ptr + mod_recs[i].offset + mod_recs[i].size;
+        if ( mod_rec_end < rec_end )
+            mod_rec_end = rec_end;
+    }
 }
 
 void kexec_set_param_loc(const char *cmdline)
diff --git a/include/kexec.h b/include/kexec.h
index 0200005f..1e753ee1 100644
--- a/include/kexec.h
+++ b/include/kexec.h
@@ -43,6 +43,9 @@ struct kexec_module_rec {
 
 extern unsigned long kexec_mod_start;
 extern struct kexec_module *mod_ptr;
+extern struct kexec_module_rec *mod_recs;
+extern char *mod_rec_start;
+extern char *mod_rec_end;
 
 /* One element of kexec actions (last element must have action KEXEC_CALL): */
 struct kexec_action {
@@ -56,6 +59,17 @@ struct kexec_action {
     void *src;
 };
 
+#ifdef CONFIG_KEXEC
+unsigned long kexec_alloc_mod_pages(unsigned int recid, unsigned int n);
+void kexec_free_mod_pages(unsigned int recid, unsigned long addr,
+                          unsigned int n);
+int kexec_find_mod_record(unsigned int start_idx, unsigned int type,
+                          unsigned int *size);
+int kexec_add_mod_record(unsigned int type, void *addr, unsigned int size);
+int kexec_upd_mod_record(unsigned int idx, unsigned int type,
+                         void *addr, unsigned int size);
+int kexec_read_mod_record(unsigned int idx, void *addr, unsigned int size);
+
 #define KEXEC_MAX_ACTIONS  16
 
 extern char _kexec_start[], _kexec_end[];
@@ -105,4 +119,42 @@ void kexec_move_used_pages_undo(void);
 /* Check for kexec module and create kexec memory if needed. */
 void kexec_module(unsigned long start_pfn, unsigned long max_pfn);
 
+#else /* CONFIG_KEXEC */
+static inline unsigned long kexec_alloc_mod_pages(unsigned int recid,
+                                                  unsigned int n)
+{
+    return 0;
+}
+
+static inline void kexec_free_mod_pages(unsigned int recid, unsigned long addr,
+                                        unsigned int n)
+{
+}
+
+static inline int kexec_find_mod_record(unsigned int start_idx,
+                                        unsigned int type, unsigned int *size)
+{
+    return 0;
+}
+
+static inline int kexec_add_mod_record(unsigned int type, void *addr,
+                                       unsigned int size)
+{
+    return 0;
+}
+
+static inline int kexec_upd_mod_record(unsigned int idx, unsigned int type,
+                                       void *addr, unsigned int size)
+{
+    return 0;
+}
+
+static inline int kexec_read_mod_record(unsigned int idx, void *addr,
+                                        unsigned int size)
+{
+    return 0;
+}
+
+#endif
+
 #endif /* _KEXEC_H */
diff --git a/kexec.c b/kexec.c
index ded29882..f17ed13d 100644
--- a/kexec.c
+++ b/kexec.c
@@ -253,3 +253,118 @@ int kexec_add_action(int action, void *dest, void *src, unsigned int len)
 
 unsigned long kexec_mod_start;
 struct kexec_module *mod_ptr;
+struct kexec_module_rec *mod_recs;
+char *mod_rec_start;
+char *mod_rec_end;
+
+unsigned long kexec_alloc_mod_pages(unsigned int recid, unsigned int n)
+{
+    unsigned int first = 0, i;
+
+    for ( i = 0; i < mod_ptr->n_pages; i++ )
+    {
+        if ( i - first == n - 1 )
+        {
+            for ( i = 0; i < n; i++ )
+                mod_ptr->pg2rec[first + i] = recid;
+
+            return kexec_mod_start + PFN_PHYS(first);
+        }
+
+        if ( mod_ptr->pg2rec[i] != KEXECMOD_PG_FREE )
+            first = i + 1;
+    }
+
+    printk("Kexec module out of memory\n");
+    BUG();
+}
+
+void kexec_free_mod_pages(unsigned int recid, unsigned long addr,
+                          unsigned int n)
+{
+    unsigned int s = PHYS_PFN(addr - kexec_mod_start);
+    unsigned int i;
+
+    BUG_ON(addr < kexec_mod_start ||
+           addr + PFN_PHYS(n) > (unsigned long)mod_ptr);
+
+    for ( i = 0; i < n; i++ )
+    {
+        BUG_ON(mod_ptr->pg2rec[s + i] != recid);
+        mod_ptr->pg2rec[s + i] = KEXECMOD_PG_FREE;
+    }
+}
+
+int kexec_find_mod_record(unsigned int start_idx, unsigned int type,
+                          unsigned int *size)
+{
+    unsigned int i;
+
+    for ( i = start_idx; i < mod_ptr->n_records; i++ )
+    {
+        if ( mod_recs[i].type == type )
+        {
+            *size = mod_recs[i].size;
+            return i;
+        }
+    }
+
+    return -ENOENT;
+}
+
+int kexec_add_mod_record(unsigned int type, void *addr, unsigned int size)
+{
+    unsigned int i;
+
+    if ( mod_rec_end + size > (char *)mod_ptr + PAGE_SIZE )
+    {
+        /* TODO: support compressing record space. */
+        printk("Kexec module record space exhausted\n");
+        BUG();
+    }
+
+    for ( i = 0; i < mod_ptr->n_records; i++ )
+    {
+        if ( mod_recs[i].type == KEXECMOD_REC_NONE )
+        {
+            mod_recs[i].offset = mod_rec_end - (char *)mod_ptr;
+            mod_recs[i].type = type;
+            mod_recs[i].size = size;
+            memcpy(mod_rec_end, addr, size);
+            mod_rec_end = mod_rec_end + size;
+
+            return i;
+        }
+    }
+
+    /* TODO: support extending the mod_recs[] table. */
+    printk("Kexec module record table exhausted\n");
+    BUG();
+}
+
+int kexec_upd_mod_record(unsigned int idx, unsigned int type,
+                         void *addr, unsigned int size)
+{
+    if ( idx >= mod_ptr->n_records )
+        return -ENOENT;
+
+    if ( mod_recs[idx].type != type || mod_recs[idx].size != size )
+        return -EINVAL;
+
+    memcpy((char *)mod_ptr + mod_recs[idx].offset, addr, size);
+
+    return 0;
+}
+
+int kexec_read_mod_record(unsigned int idx, void *addr, unsigned int size)
+{
+    if ( idx >= mod_ptr->n_records )
+        return -ENOENT;
+
+    if ( mod_recs[idx].size != size )
+        return -EINVAL;
+
+    memcpy(addr, (char *)mod_ptr + mod_recs[idx].offset, size);
+
+    return 0;
+}
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:21:14 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:21:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030518.1404253 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsiQ-0001R9-Dg; Wed, 02 Jul 2025 08:21:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030518.1404253; Wed, 02 Jul 2025 08:21:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsiQ-0001Q1-6Z; Wed, 02 Jul 2025 08:21:14 +0000
Received: by outflank-mailman (input) for mailman id 1030518;
 Wed, 02 Jul 2025 08:21:13 +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 <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsc8-00082Y-CK
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:14:44 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9c1675ea-571c-11f0-a313-13f23c93f187;
 Wed, 02 Jul 2025 10:14:43 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id A0C5C2117F;
 Wed,  2 Jul 2025 08:14:43 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 6DF4D13A24;
 Wed,  2 Jul 2025 08:14:43 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id URBfGXPqZGiXSQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:14:43 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c1675ea-571c-11f0-a313-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444083; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Dn//+GflyhXs2E0/uE+NcjSGBv2wFdky7ji5ZDIU8Zg=;
	b=f7se+NC+/YQxrV6M43+eU/zCuMOd9cu6Lhut6ul6uwQGpvbXSBlfFuc9lyEltMWbEbPEFT
	nQSrzkXXIDKSpACunye31nFwclpObMGIzKtKGAq9uQwnr3S8kHpyFkbcGMfPg2CwI7m1GQ
	s1c5iPYajFjhe0zgy0OlmdmsELmyCLA=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444083; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Dn//+GflyhXs2E0/uE+NcjSGBv2wFdky7ji5ZDIU8Zg=;
	b=f7se+NC+/YQxrV6M43+eU/zCuMOd9cu6Lhut6ul6uwQGpvbXSBlfFuc9lyEltMWbEbPEFT
	nQSrzkXXIDKSpACunye31nFwclpObMGIzKtKGAq9uQwnr3S8kHpyFkbcGMfPg2CwI7m1GQ
	s1c5iPYajFjhe0zgy0OlmdmsELmyCLA=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 19/19] events: export bind_evtchn()
Date: Wed,  2 Jul 2025 10:12:54 +0200
Message-ID: <20250702081254.14383-20-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250702081254.14383-1-jgross@suse.com>
References: <20250702081254.14383-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Flag: NO
X-Spam-Score: -2.80
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:mid,suse.com:email];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Level: 

Export the bind_evtchn() function, as it will be needed for
reactivating events after kexec().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 events.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/events.c b/events.c
index 9f3dbf05..a9c1ccac 100644
--- a/events.c
+++ b/events.c
@@ -98,6 +98,7 @@ evtchn_port_t bind_evtchn(evtchn_port_t port, evtchn_handler_t handler,
 
 	return port;
 }
+EXPORT_SYMBOL(bind_evtchn);
 
 void unbind_evtchn(evtchn_port_t port )
 {
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:21:32 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:21:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030552.1404291 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsii-0003fZ-HL; Wed, 02 Jul 2025 08:21:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030552.1404291; Wed, 02 Jul 2025 08:21:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsii-0003fN-EO; Wed, 02 Jul 2025 08:21:32 +0000
Received: by outflank-mailman (input) for mailman id 1030552;
 Wed, 02 Jul 2025 08:21:30 +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 <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsbx-00082Y-8a
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:14:33 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9576136d-571c-11f0-a313-13f23c93f187;
 Wed, 02 Jul 2025 10:14:32 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 7ED902117F;
 Wed,  2 Jul 2025 08:14:32 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 5243213A24;
 Wed,  2 Jul 2025 08:14:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id CtF3EmjqZGh/SQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:14:32 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9576136d-571c-11f0-a313-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444072; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=54mI4K8Jcav8/UHRZBznVBm2r964lgKK2S2ajy90lfI=;
	b=fQ91/Tq1HHqJAZXlitD6NTxWGKPPuAPEEk9yW0rDf+nuEHweE0EAuAGuC2V8HRZf5WAWV5
	M/xczjTIe2iIXLlinC61i/f0wPUGimKtMh1+pL9vglLC81m712y4AJmAA2HDolJufqlyuL
	MYs/6LkebIWR+huYNvzaP6iVw1m+yJM=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b="fQ91/Tq1"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444072; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=54mI4K8Jcav8/UHRZBznVBm2r964lgKK2S2ajy90lfI=;
	b=fQ91/Tq1HHqJAZXlitD6NTxWGKPPuAPEEk9yW0rDf+nuEHweE0EAuAGuC2V8HRZf5WAWV5
	M/xczjTIe2iIXLlinC61i/f0wPUGimKtMh1+pL9vglLC81m712y4AJmAA2HDolJufqlyuL
	MYs/6LkebIWR+huYNvzaP6iVw1m+yJM=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 17/19] gnttab: add function to obtain memory address from grantref
Date: Wed,  2 Jul 2025 10:12:52 +0200
Message-ID: <20250702081254.14383-18-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250702081254.14383-1-jgross@suse.com>
References: <20250702081254.14383-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:dkim,suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from,2a07:de40:b281:106:10:150:64:167:received];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_TRACE(0.00)[suse.com:+]
X-Spam-Level: 
X-Spam-Flag: NO
X-Rspamd-Queue-Id: 7ED902117F
X-Rspamd-Action: no action
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Score: -3.01

Add a new function gnttab_get_addr() to obtain a memory pointer for a
given grant reference.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 gnttab.c         | 10 ++++++++++
 include/gnttab.h |  1 +
 2 files changed, 11 insertions(+)

diff --git a/gnttab.c b/gnttab.c
index 6bac0905..52d6792a 100644
--- a/gnttab.c
+++ b/gnttab.c
@@ -149,6 +149,16 @@ gnttab_end_transfer(grant_ref_t ref)
 }
 EXPORT_SYMBOL(gnttab_end_transfer);
 
+void *gnttab_get_addr(grant_ref_t ref)
+{
+    BUG_ON(ref >= NR_GRANT_ENTRIES || ref < NR_RESERVED_ENTRIES);
+
+    if ( !gnttab_table[ref].flags )
+        return NULL;
+
+    return mfn_to_virt(gnttab_table[ref].frame);
+}
+
 static const char * const gnttabop_error_msgs[] = GNTTABOP_error_msgs;
 
 const char *
diff --git a/include/gnttab.h b/include/gnttab.h
index 108c4425..46e72a36 100644
--- a/include/gnttab.h
+++ b/include/gnttab.h
@@ -9,6 +9,7 @@ grant_ref_t gnttab_grant_access(domid_t domid, unsigned long frame,
 grant_ref_t gnttab_grant_transfer(domid_t domid, unsigned long pfn);
 unsigned long gnttab_end_transfer(grant_ref_t gref);
 int gnttab_end_access(grant_ref_t ref);
+void *gnttab_get_addr(grant_ref_t ref);
 const char *gnttabop_error(int16_t status);
 void fini_gnttab(void);
 void suspend_gnttab(void);
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:21:33 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:21:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030556.1404299 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsij-0003lb-9N; Wed, 02 Jul 2025 08:21:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030556.1404299; Wed, 02 Jul 2025 08:21:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsii-0003kN-Vy; Wed, 02 Jul 2025 08:21:32 +0000
Received: by outflank-mailman (input) for mailman id 1030556;
 Wed, 02 Jul 2025 08:21:31 +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 <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsb4-00082Y-2Y
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:13:38 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 74464130-571c-11f0-a313-13f23c93f187;
 Wed, 02 Jul 2025 10:13:37 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id D310421175;
 Wed,  2 Jul 2025 08:13:36 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 9F72A13A24;
 Wed,  2 Jul 2025 08:13:36 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id KH5hJTDqZGg3SQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:13:36 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74464130-571c-11f0-a313-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444016; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=tdGpyRgE6zFBkEZAGFiUxZVsQXRgwUjyVMbYAPLusAo=;
	b=WaR0MKyG0M0KAo1/03X7Z9/YBAj/liSQUxDFbcAcLRMtvm/Lpy9u8RY2tEgZsywKHVtM6u
	qEx8bKBeikJiQ4tkl65SALgmqw2ZqMiwm/eet8fap3dPd8pmHMfiN4dvTVU9dI01mU8FmF
	IV5yO4o5Fwd9K+4+ZgYX0kzkwVqDN/M=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444016; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=tdGpyRgE6zFBkEZAGFiUxZVsQXRgwUjyVMbYAPLusAo=;
	b=WaR0MKyG0M0KAo1/03X7Z9/YBAj/liSQUxDFbcAcLRMtvm/Lpy9u8RY2tEgZsywKHVtM6u
	qEx8bKBeikJiQ4tkl65SALgmqw2ZqMiwm/eet8fap3dPd8pmHMfiN4dvTVU9dI01mU8FmF
	IV5yO4o5Fwd9K+4+ZgYX0kzkwVqDN/M=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 07/19] kexec: fix physical addresses in start info data
Date: Wed,  2 Jul 2025 10:12:42 +0200
Message-ID: <20250702081254.14383-8-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250702081254.14383-1-jgross@suse.com>
References: <20250702081254.14383-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:email,suse.com:mid];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Level: 
X-Spam-Flag: NO
X-Spam-Score: -2.80

The physical addresses in struct hvm_start_info are pointing to the
memory where the data is being built instead of the location where it
will finally be moved to.

Fix that.

Fixes: b7994b6409a4 ("mini-os: kexec: build parameters for new kernel")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/kexec.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kexec.c b/arch/x86/kexec.c
index fc58473e..d84df42c 100644
--- a/arch/x86/kexec.c
+++ b/arch/x86/kexec.c
@@ -233,9 +233,9 @@ int kexec_get_entry(const char *cmdline)
     memset(info, 0, sizeof(*info));
     info->magic = XEN_HVM_START_MAGIC_VALUE;
     info->version = 1;
-    info->cmdline_paddr = kexec_param_mem + sizeof(*info) +
+    info->cmdline_paddr = kexec_param_loc + sizeof(*info) +
                           e820_entries * sizeof(struct hvm_memmap_table_entry);
-    info->memmap_paddr = kexec_param_mem + sizeof(*info);
+    info->memmap_paddr = kexec_param_loc + sizeof(*info);
     info->memmap_entries = e820_entries;
 
     mmap = (struct hvm_memmap_table_entry *)(info + 1);
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:21:53 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:21:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030592.1404370 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsj2-0007AV-L6; Wed, 02 Jul 2025 08:21:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030592.1404370; Wed, 02 Jul 2025 08:21:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsj2-0007AD-HI; Wed, 02 Jul 2025 08:21:52 +0000
Received: by outflank-mailman (input) for mailman id 1030592;
 Wed, 02 Jul 2025 08:21:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsbh-00082X-GL
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:14:17 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8b70509e-571c-11f0-b894-0df219b8e170;
 Wed, 02 Jul 2025 10:14:16 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id B39E61F454;
 Wed,  2 Jul 2025 08:14:15 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 8A7AD13A24;
 Wed,  2 Jul 2025 08:14:15 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id pKZMIFfqZGhsSQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:14:15 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b70509e-571c-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444055; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=AClNjBUa8IKDahSUwbZj7GWAX64ZZsn1WmMAweYfVPU=;
	b=WbXtKzGHGA0ajhZ8IOQHOWZWrliegkzhZIi4aU0iHuZkDLvsdla5zr9l5DwwWxZ82clPJ1
	pSIRaKP+KAYUVZLXx9k57w7vDRGqxJLNPCnr23Rj3pDXI/xiJgTCyWYVWryLrvi5Orz17r
	GcN150F9qeLiwB0oyUyoa5RzK3nr6xo=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444055; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=AClNjBUa8IKDahSUwbZj7GWAX64ZZsn1WmMAweYfVPU=;
	b=WbXtKzGHGA0ajhZ8IOQHOWZWrliegkzhZIi4aU0iHuZkDLvsdla5zr9l5DwwWxZ82clPJ1
	pSIRaKP+KAYUVZLXx9k57w7vDRGqxJLNPCnr23Rj3pDXI/xiJgTCyWYVWryLrvi5Orz17r
	GcN150F9qeLiwB0oyUyoa5RzK3nr6xo=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 14/19] 9pfs: store bepath in struct struct dev_9pfs
Date: Wed,  2 Jul 2025 10:12:49 +0200
Message-ID: <20250702081254.14383-15-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250702081254.14383-1-jgross@suse.com>
References: <20250702081254.14383-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Flag: NO
X-Spam-Score: -2.80
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:mid,suse.com:email];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Level: 

Use struct dev_9pfs for storing the backend path of the device state
in order to avoid code duplication in init_9pfront() and
shutdown_9pfront().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 9pfront.c | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/9pfront.c b/9pfront.c
index 895426d1..2bfc49b1 100644
--- a/9pfront.c
+++ b/9pfront.c
@@ -25,6 +25,7 @@ struct dev_9pfs {
     char nodename[20];
     unsigned int dom;
     char *backend;
+    char bepath[64];
 
     char *tag;
     const char *mnt;
@@ -1103,7 +1104,6 @@ void *init_9pfront(unsigned int id, const char *mnt)
     char *reason = "";
     xenbus_transaction_t xbt;
     int retry = 1;
-    char bepath[64] = { 0 };
     XenbusState state;
     unsigned int i;
     void *addr;
@@ -1137,11 +1137,12 @@ void *init_9pfront(unsigned int id, const char *mnt)
     if ( msg )
         goto err;
 
-    snprintf(bepath, sizeof(bepath), "%s/state", dev->backend);
-    free(xenbus_watch_path_token(XBT_NIL, bepath, bepath, &dev->events));
-    state = xenbus_read_integer(bepath);
+    snprintf(dev->bepath, sizeof(dev->bepath), "%s/state", dev->backend);
+    free(xenbus_watch_path_token(XBT_NIL, dev->bepath, dev->bepath,
+                                 &dev->events));
+    state = xenbus_read_integer(dev->bepath);
     while ( msg == NULL && state < XenbusStateInitWait )
-        msg = xenbus_wait_for_state_change(bepath, &state, &dev->events);
+        msg = xenbus_wait_for_state_change(dev->bepath, &state, &dev->events);
     if ( msg || state != XenbusStateInitWait )
     {
         reason = "illegal backend state";
@@ -1228,9 +1229,9 @@ void *init_9pfront(unsigned int id, const char *mnt)
         free(xenbus_transaction_end(xbt, 0, &retry));
     }
 
-    state = xenbus_read_integer(bepath);
+    state = xenbus_read_integer(dev->bepath);
     while ( msg == NULL && state < XenbusStateConnected )
-        msg = xenbus_wait_for_state_change(bepath, &state, &dev->events);
+        msg = xenbus_wait_for_state_change(dev->bepath, &state, &dev->events);
     if ( msg || state != XenbusStateConnected )
     {
         reason = "illegal backend state";
@@ -1263,8 +1264,6 @@ void *init_9pfront(unsigned int id, const char *mnt)
     free(xenbus_transaction_end(xbt, 1, &retry));
 
  err:
-    if ( bepath[0] )
-        free(xenbus_unwatch_path_token(XBT_NIL, bepath, bepath));
     if ( msg )
         printk("9pfsfront add %u failed, error %s accessing Xenstore\n",
                id, msg);
@@ -1279,22 +1278,20 @@ EXPORT_SYMBOL(init_9pfront);
 void shutdown_9pfront(void *dev)
 {
     struct dev_9pfs *dev9p = dev;
-    char bepath[64];
     XenbusState state;
     char *msg;
     char *reason = "";
 
     umount(dev9p->mnt);
-    snprintf(bepath, sizeof(bepath), "%s/state", dev9p->backend);
 
     msg = xenbus_printf(XBT_NIL, dev9p->nodename, "state", "%u",
                         XenbusStateClosing);
     if ( msg )
         goto err;
 
-    state = xenbus_read_integer(bepath);
+    state = xenbus_read_integer(dev9p->bepath);
     while ( msg == NULL && state < XenbusStateClosing)
-        msg = xenbus_wait_for_state_change(bepath, &state, &dev9p->events);
+        msg = xenbus_wait_for_state_change(dev9p->bepath, &state, &dev9p->events);
     if ( msg || state != XenbusStateClosing )
     {
         reason = "illegal backend state";
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Wed Jul 02 08:21:58 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 02 Jul 2025 08:21:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1030598.1404382 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsj8-0007pw-20; Wed, 02 Jul 2025 08:21:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1030598.1404382; Wed, 02 Jul 2025 08:21:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uWsj7-0007pZ-Ty; Wed, 02 Jul 2025 08:21:57 +0000
Received: by outflank-mailman (input) for mailman id 1030598;
 Wed, 02 Jul 2025 08:21:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KFiP=ZP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uWsbs-00082X-L0
 for minios-devel@lists.xenproject.org; Wed, 02 Jul 2025 08:14:28 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 921f6439-571c-11f0-b894-0df219b8e170;
 Wed, 02 Jul 2025 10:14:27 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id DA91E1F445;
 Wed,  2 Jul 2025 08:14:26 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id B1AB813A24;
 Wed,  2 Jul 2025 08:14:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id OcHtKWLqZGh5SQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 02 Jul 2025 08:14:26 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 921f6439-571c-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444066; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=zDtKgh+ZY1/kdJFUAdITx2mhsJQDxIfukWhnUYKt9Xs=;
	b=E9DWZ6Na0viwWiCWPwEvvGIAMRSQpkp9uWBmswocEggnZaHHU0DJICmY4fc/xo8wyVo5hS
	aeybllRqaGHgyXQRMEha9KuwX4F58BjCjSQkbp95iW+A4l7huTXTxERt5Yomy5FEITz5J8
	SNJPtsk+IwWk2YMdLIt2z9f380jlCPQ=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=E9DWZ6Na
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751444066; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=zDtKgh+ZY1/kdJFUAdITx2mhsJQDxIfukWhnUYKt9Xs=;
	b=E9DWZ6Na0viwWiCWPwEvvGIAMRSQpkp9uWBmswocEggnZaHHU0DJICmY4fc/xo8wyVo5hS
	aeybllRqaGHgyXQRMEha9KuwX4F58BjCjSQkbp95iW+A4l7huTXTxERt5Yomy5FEITz5J8
	SNJPtsk+IwWk2YMdLIt2z9f380jlCPQ=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 16/19] gnttab: remove gnttab_alloc_and_grant() function
Date: Wed,  2 Jul 2025 10:12:51 +0200
Message-ID: <20250702081254.14383-17-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250702081254.14383-1-jgross@suse.com>
References: <20250702081254.14383-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:dkim,suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from,2a07:de40:b281:106:10:150:64:167:received];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_TRACE(0.00)[suse.com:+]
X-Spam-Level: 
X-Spam-Flag: NO
X-Rspamd-Queue-Id: DA91E1F445
X-Rspamd-Action: no action
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Score: -3.01

The last user of gnttab_alloc_and_grant() is gone.

Remove gnttab_alloc_and_grant() as it is doing more harm than good.
It is hard coded to only grant access for dom0, which is not really
clear from looking at the function name. It would be possible to add
a domid parameter, but given its now 0 users, there doesn't seem to be
a real demand for that function.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 gnttab.c         | 13 -------------
 include/gnttab.h |  1 -
 2 files changed, 14 deletions(-)

diff --git a/gnttab.c b/gnttab.c
index 5b04ab01..6bac0905 100644
--- a/gnttab.c
+++ b/gnttab.c
@@ -149,19 +149,6 @@ gnttab_end_transfer(grant_ref_t ref)
 }
 EXPORT_SYMBOL(gnttab_end_transfer);
 
-grant_ref_t
-gnttab_alloc_and_grant(void **map)
-{
-    unsigned long mfn;
-    grant_ref_t gref;
-
-    *map = (void *)alloc_page();
-    mfn = virt_to_mfn(*map);
-    gref = gnttab_grant_access(0, mfn, 0);
-    return gref;
-}
-EXPORT_SYMBOL(gnttab_alloc_and_grant);
-
 static const char * const gnttabop_error_msgs[] = GNTTABOP_error_msgs;
 
 const char *
diff --git a/include/gnttab.h b/include/gnttab.h
index 974cb89d..108c4425 100644
--- a/include/gnttab.h
+++ b/include/gnttab.h
@@ -4,7 +4,6 @@
 #include <xen/grant_table.h>
 
 void init_gnttab(void);
-grant_ref_t gnttab_alloc_and_grant(void **map);
 grant_ref_t gnttab_grant_access(domid_t domid, unsigned long frame,
 				int readonly);
 grant_ref_t gnttab_grant_transfer(domid_t domid, unsigned long pfn);
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 08 06:37:46 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2025 06:37:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1035969.1408417 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZ1xZ-0002t3-AE; Tue, 08 Jul 2025 06:37:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1035969.1408417; Tue, 08 Jul 2025 06:37:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZ1xZ-0002sK-56; Tue, 08 Jul 2025 06:37:45 +0000
Received: by outflank-mailman (input) for mailman id 1035969;
 Tue, 08 Jul 2025 06:37:43 +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 <SRS0=lAOS=ZV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uZ1xX-0002pb-IR
 for minios-devel@lists.xenproject.org; Tue, 08 Jul 2025 06:37:43 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0c21786b-5bc6-11f0-a316-13f23c93f187;
 Tue, 08 Jul 2025 08:37:42 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 6070621163;
 Tue,  8 Jul 2025 06:37:40 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 2B79513A68;
 Tue,  8 Jul 2025 06:37:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id 77AgCbS8bGg6NAAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 08 Jul 2025 06:37:40 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c21786b-5bc6-11f0-a316-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751956660; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=7cZ7nybzTpaKQKTLfaqiH+YahQsHBpiZj2w8QWGidzY=;
	b=pMRJqxu6BNCKsbDABIxiRUucT7i4TbVT0WN2u70cVeOEyGtdjLUCD94zmW9jnkkFcudF6i
	oHDq1jjlfNONcLaPNvgdlsZ4Z79pFDkTWxFIrvLeXJZvpov6U5dlw6CGjYA2DovYE1WNti
	L1cUCq3KBFh3OV1LWdc9VRkAj+MCSEk=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751956660; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=7cZ7nybzTpaKQKTLfaqiH+YahQsHBpiZj2w8QWGidzY=;
	b=pMRJqxu6BNCKsbDABIxiRUucT7i4TbVT0WN2u70cVeOEyGtdjLUCD94zmW9jnkkFcudF6i
	oHDq1jjlfNONcLaPNvgdlsZ4Z79pFDkTWxFIrvLeXJZvpov6U5dlw6CGjYA2DovYE1WNti
	L1cUCq3KBFh3OV1LWdc9VRkAj+MCSEk=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 0/2] x86: don't use a memory page for mapping the shared info page
Date: Tue,  8 Jul 2025 08:37:36 +0200
Message-ID: <20250708063738.18994-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:mid];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Level: 
X-Spam-Score: -2.80

This is a small add-on series after the live-update series sent a week
ago.

I realized that having the shared info page in the normal RAM area is
a bad idea when considering kexec, as the new kernel might want it at
a different location.

So this series is moving the shared info page away from the RAM areas,
resulting in a net win of one memory page.

Juergen Gross (2):
  mm: provide a way to do very early page table allocations
  x86: don't use a memory page for mapping the shared info page

 arch/x86/mm.c     | 23 +++++++++++++++--------
 arch/x86/setup.c  | 15 ++++++++-------
 arch/x86/x86_32.S |  7 +------
 arch/x86/x86_64.S |  7 +------
 hypervisor.c      | 15 +++++++++++----
 5 files changed, 36 insertions(+), 31 deletions(-)

-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 08 06:37:47 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2025 06:37:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1035970.1408424 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZ1xb-00035e-ED; Tue, 08 Jul 2025 06:37:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1035970.1408424; Tue, 08 Jul 2025 06:37:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZ1xb-00035Z-BS; Tue, 08 Jul 2025 06:37:47 +0000
Received: by outflank-mailman (input) for mailman id 1035970;
 Tue, 08 Jul 2025 06:37:46 +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 <SRS0=lAOS=ZV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uZ1xa-0002pb-Ro
 for minios-devel@lists.xenproject.org; Tue, 08 Jul 2025 06:37:46 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0ef1f743-5bc6-11f0-a316-13f23c93f187;
 Tue, 08 Jul 2025 08:37:46 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id E83BF1F393;
 Tue,  8 Jul 2025 06:37:45 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id BE0FC13A68;
 Tue,  8 Jul 2025 06:37:45 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id h6/+LLm8bGhGNAAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 08 Jul 2025 06:37:45 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ef1f743-5bc6-11f0-a316-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751956665; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=XaZCtOmxWZ4bchm6r7N9WhOaU6PIDyHDuampVATjIrE=;
	b=oFFrplB2fUkdVy4vsi4s+FPh2TnplrEOFA2H7Xm22aXDq3IXING/fmexWuQnJw0ujRfqbe
	x/I9nHofkS6McLMoey0hueleuGXaLrZaGDZxO46N38tAE/FgJmJZm+9yZdqeoikQ7PLcE4
	5ENvIvR5bi80Rp+rOUXUkiwTVV+25eg=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1751956665; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=XaZCtOmxWZ4bchm6r7N9WhOaU6PIDyHDuampVATjIrE=;
	b=oFFrplB2fUkdVy4vsi4s+FPh2TnplrEOFA2H7Xm22aXDq3IXING/fmexWuQnJw0ujRfqbe
	x/I9nHofkS6McLMoey0hueleuGXaLrZaGDZxO46N38tAE/FgJmJZm+9yZdqeoikQ7PLcE4
	5ENvIvR5bi80Rp+rOUXUkiwTVV+25eg=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 1/2] mm: provide a way to do very early page table allocations
Date: Tue,  8 Jul 2025 08:37:37 +0200
Message-ID: <20250708063738.18994-2-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250708063738.18994-1-jgross@suse.com>
References: <20250708063738.18994-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-6.80 / 50.00];
	REPLY(-4.00)[];
	BAYES_HAM(-3.00)[99.99%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_HAS_DN(0.00)[];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	RCPT_COUNT_THREE(0.00)[4];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:email,suse.com:mid];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Score: -6.80

Add a small pool of statically allocated memory pages to be handed out
for very early page table allocations.

This will make it possible to do virtual allocations e.g. for mapping
the shared info page.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/mm.c | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/arch/x86/mm.c b/arch/x86/mm.c
index bdff38fd..3f5c7ea7 100644
--- a/arch/x86/mm.c
+++ b/arch/x86/mm.c
@@ -640,12 +640,17 @@ void change_readonly(bool readonly)
  * return a valid PTE for a given virtual address. If PTE does not exist,
  * allocate page-table pages.
  */
+#define N_PTS 4
+static char early_pt[PAGE_SIZE * N_PTS] __attribute__((aligned(PAGE_SIZE)));
+static unsigned long n_early_pt = N_PTS;
+
 static int need_pgt_func(unsigned long va, unsigned int lvl, bool is_leaf,
                          pgentry_t *pte, void *par)
 {
     pgentry_t **result = par;
     unsigned long pt_mfn;
     unsigned long pt_pfn;
+    unsigned long pt_addr;
     unsigned int idx;
 
     if ( !is_leaf )
@@ -664,7 +669,16 @@ static int need_pgt_func(unsigned long va, unsigned int lvl, bool is_leaf,
     }
 
     pt_mfn = virt_to_mfn(pte);
-    pt_pfn = virt_to_pfn(alloc_page());
+    if ( n_early_pt )
+    {
+        n_early_pt--;
+        pt_addr = (unsigned long)&early_pt[n_early_pt * PAGE_SIZE];
+    }
+    else
+    {
+        pt_addr = alloc_page();
+    }
+    pt_pfn = virt_to_pfn(pt_addr);
     if ( !pt_pfn )
         return -1;
     idx = idx_from_va_lvl(va, lvl);
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 08 06:37:53 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2025 06:37:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1035972.1408439 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZ1xh-0003Pk-NP; Tue, 08 Jul 2025 06:37:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1035972.1408439; Tue, 08 Jul 2025 06:37:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZ1xh-0003Pd-KM; Tue, 08 Jul 2025 06:37:53 +0000
Received: by outflank-mailman (input) for mailman id 1035972;
 Tue, 08 Jul 2025 06:37:52 +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 <SRS0=lAOS=ZV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uZ1xg-0002pb-CR
 for minios-devel@lists.xenproject.org; Tue, 08 Jul 2025 06:37:52 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1237e5a9-5bc6-11f0-a316-13f23c93f187;
 Tue, 08 Jul 2025 08:37:51 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 7B81021167;
 Tue,  8 Jul 2025 06:37:51 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 52BED13A68;
 Tue,  8 Jul 2025 06:37:51 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id /ITUEr+8bGhPNAAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 08 Jul 2025 06:37:51 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1237e5a9-5bc6-11f0-a316-13f23c93f187
Authentication-Results: smtp-out1.suse.de;
	none
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH 2/2] x86: don't use a memory page for mapping the shared info page
Date: Tue,  8 Jul 2025 08:37:38 +0200
Message-ID: <20250708063738.18994-3-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250708063738.18994-1-jgross@suse.com>
References: <20250708063738.18994-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Pre-Result: action=no action;
	module=replies;
	Message is reply to one we originated
X-Rspamd-Action: no action
X-Spam-Flag: NO
X-Spam-Level: 
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Spamd-Result: default: False [-4.00 / 50.00];
	REPLY(-4.00)[]
X-Rspamd-Queue-Id: 7B81021167
X-Rspamd-Pre-Result: action=no action;
	module=replies;
	Message is reply to one we originated
X-Spam-Score: -4.00

There is no need to use a populated memory page for mapping the shared
info page at that location. Just use an allocated virtual address for
the shared info page. For PVH allocate an unused pfn.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/mm.c     |  7 -------
 arch/x86/setup.c  | 15 ++++++++-------
 arch/x86/x86_32.S |  7 +------
 arch/x86/x86_64.S |  7 +------
 hypervisor.c      | 15 +++++++++++----
 5 files changed, 21 insertions(+), 30 deletions(-)

diff --git a/arch/x86/mm.c b/arch/x86/mm.c
index 3f5c7ea7..78d614a6 100644
--- a/arch/x86/mm.c
+++ b/arch/x86/mm.c
@@ -497,7 +497,6 @@ static void build_pagetable(unsigned long *start_pfn, unsigned long *max_pfn)
 /*
  * Mark portion of the address space read only.
  */
-extern struct shared_info shared_info;
 
 struct change_readonly_par {
     unsigned long etext;
@@ -519,12 +518,6 @@ static int change_readonly_func(unsigned long va, unsigned int lvl,
     if ( va + (1UL << ptdata[lvl].shift) > ro->etext )
         return 1;
 
-    if ( va == (unsigned long)&shared_info )
-    {
-        printk("skipped %lx\n", va);
-        return 0;
-    }
-
     newval = ro->readonly ? (*pte & ~_PAGE_RW) : (*pte | _PAGE_RW);
 
 #ifdef CONFIG_PARAVIRT
diff --git a/arch/x86/setup.c b/arch/x86/setup.c
index 299ff8c7..8fd55c51 100644
--- a/arch/x86/setup.c
+++ b/arch/x86/setup.c
@@ -47,8 +47,6 @@ shared_info_t *HYPERVISOR_shared_info;
  */
 char stack[2*STACK_SIZE];
 
-extern char shared_info[PAGE_SIZE];
-
 static inline void fpu_init(void) {
 	asm volatile("fninit");
 }
@@ -76,18 +74,21 @@ static void set_info_ptr(start_info_t *ptr)
 
 #define hpc_init()
 
+static unsigned long shared_info_va;
+
 shared_info_t *map_shared_info(void)
 {
     int rc;
-    unsigned long pa = start_info_ptr->shared_info;
 
-    if ( (rc = HYPERVISOR_update_va_mapping((unsigned long)shared_info,
-                                            __pte(pa | 7), UVMF_INVLPG)) )
+    if ( !shared_info_va )
+        shared_info_va = alloc_virt_kernel(1);
+    rc = map_frame_rw(shared_info_va, PHYS_PFN(start_info_ptr->shared_info));
+    if ( rc )
     {
         printk("Failed to map shared_info!! rc=%d\n", rc);
         do_exit();
     }
-    return (shared_info_t *)shared_info;
+    return (shared_info_t *)shared_info_va;
 }
 
 void unmap_shared_info(void)
@@ -95,7 +96,7 @@ void unmap_shared_info(void)
     int rc;
     pte_t nullpte = { };
 
-    if ( (rc = HYPERVISOR_update_va_mapping((unsigned long)shared_info,
+    if ( (rc = HYPERVISOR_update_va_mapping(shared_info_va,
                                             nullpte, UVMF_INVLPG)) )
     {
         printk("Failed to unmap shared_info page!! rc=%d\n", rc);
diff --git a/arch/x86/x86_32.S b/arch/x86/x86_32.S
index 3de00277..5d891164 100644
--- a/arch/x86/x86_32.S
+++ b/arch/x86/x86_32.S
@@ -36,13 +36,8 @@ _start:
 stack_start:
 	.long stack+(2*__STACK_SIZE), __KERNEL_SS
 
-.globl shared_info, hypercall_page
-        /* Unpleasant -- the PTE that maps this page is actually overwritten */
-        /* to map the real shared-info page! :-)                             */
         .align __PAGE_SIZE
-shared_info:
-        .fill __PAGE_SIZE,1,0
-
+.globl hypercall_page
 hypercall_page:
         .fill __PAGE_SIZE,1,0
 
diff --git a/arch/x86/x86_64.S b/arch/x86/x86_64.S
index 7529c02e..09b93e39 100644
--- a/arch/x86/x86_64.S
+++ b/arch/x86/x86_64.S
@@ -33,13 +33,8 @@ _start:
 stack_start:
         .quad stack+(2*__STACK_SIZE)
 
-.globl shared_info, hypercall_page
-        /* Unpleasant -- the PTE that maps this page is actually overwritten */
-        /* to map the real shared-info page! :-)                             */
         .align __PAGE_SIZE
-shared_info:
-        .fill __PAGE_SIZE,1,0
-
+.globl hypercall_page
 hypercall_page:
         .fill __PAGE_SIZE,1,0
 
diff --git a/hypervisor.c b/hypervisor.c
index 6476d658..519a4680 100644
--- a/hypervisor.c
+++ b/hypervisor.c
@@ -27,8 +27,10 @@
 
 #include <mini-os/os.h>
 #include <mini-os/lib.h>
+#include <mini-os/e820.h>
 #include <mini-os/hypervisor.h>
 #include <mini-os/events.h>
+#include <mini-os/mm.h>
 #include <xen/memory.h>
 
 EXPORT_SYMBOL(hypercall_page);
@@ -37,7 +39,8 @@ EXPORT_SYMBOL(hypercall_page);
     ((sh)->evtchn_pending[idx] & ~(sh)->evtchn_mask[idx])
 
 #ifndef CONFIG_PARAVIRT
-extern shared_info_t shared_info;
+static unsigned long shinfo_pfn;
+static unsigned long shinfo_va;
 
 int hvm_get_parameter(int idx, uint64_t *value)
 {
@@ -69,14 +72,16 @@ shared_info_t *map_shared_info(void)
 {
     struct xen_add_to_physmap xatp;
 
+    shinfo_pfn = e820_get_reserved_pfns(1);
     xatp.domid = DOMID_SELF;
     xatp.idx = 0;
     xatp.space = XENMAPSPACE_shared_info;
-    xatp.gpfn = virt_to_pfn(&shared_info);
+    xatp.gpfn = shinfo_pfn;
     if ( HYPERVISOR_memory_op(XENMEM_add_to_physmap, &xatp) != 0 )
         BUG();
+    shinfo_va = map_frame_virt(shinfo_pfn);
 
-    return &shared_info;
+    return (shared_info_t *)shinfo_va;
 }
 
 void unmap_shared_info(void)
@@ -84,9 +89,11 @@ void unmap_shared_info(void)
     struct xen_remove_from_physmap xrtp;
 
     xrtp.domid = DOMID_SELF;
-    xrtp.gpfn = virt_to_pfn(&shared_info);
+    xrtp.gpfn = shinfo_pfn;
     if ( HYPERVISOR_memory_op(XENMEM_remove_from_physmap, &xrtp) != 0 )
         BUG();
+    unmap_frames(shinfo_va, 1);
+    e820_put_reserved_pfns(shinfo_pfn, 1);
 }
 #endif
 
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 08 21:25:36 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2025 21:25:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1037285.1409928 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZFoi-0003qn-Nj; Tue, 08 Jul 2025 21:25:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1037285.1409928; Tue, 08 Jul 2025 21:25:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZFoi-0003qg-Kq; Tue, 08 Jul 2025 21:25:32 +0000
Received: by outflank-mailman (input) for mailman id 1037285;
 Tue, 08 Jul 2025 21:25:31 +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
 <SRS0=qd/v=ZV=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1uZFoh-0003qV-BX
 for minios-devel@lists.xenproject.org; Tue, 08 Jul 2025 21:25:31 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20602.outbound.protection.outlook.com
 [2a01:111:f403:2418::602])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 10406ead-5c42-11f0-a317-13f23c93f187;
 Tue, 08 Jul 2025 23:25:29 +0200 (CEST)
Received: from PH0PR07CA0063.namprd07.prod.outlook.com (2603:10b6:510:f::8) by
 DM4PR12MB6448.namprd12.prod.outlook.com (2603:10b6:8:8a::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8901.26; Tue, 8 Jul 2025 21:25:22 +0000
Received: from CY4PEPF0000EE38.namprd03.prod.outlook.com
 (2603:10b6:510:f:cafe::98) by PH0PR07CA0063.outlook.office365.com
 (2603:10b6:510:f::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.21 via Frontend Transport; Tue,
 8 Jul 2025 21:25:22 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EE38.mail.protection.outlook.com (10.167.242.10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8901.15 via Frontend Transport; Tue, 8 Jul 2025 21:25:22 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 8 Jul
 2025 16:25:21 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 8 Jul 2025 16:25:21 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10406ead-5c42-11f0-a317-13f23c93f187
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qob8fz/q3txBa29nlCUBI2t9eexdHXuza5SS0O5HAnUTJGpH2pT7iZ9z844qyo0Ksx/LNzKciJW/EoHdcD32NSmhSovUmF/A1OLBvusMb0evJTVKJAhsKwj3tJcJJEcLtrOjq09tVQERZ6Sf1WgOBWzoQQLNGbKYblVK7CpHFE/uj00K5D1PxwKouEk6J29z622GxIebT69JPjFCsLoBjuGKHATZMbtPO5GuzEdhg6DQDZwmndrGxTfTIM+JfrcEVAWEfy6um86JEGfCVvwF6J7WNNvy4GylWz7TOM9KxfVVdNT4oGXRP5w/YtHWJ2UxFYcR9K/iidgQG8lozj6C+Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Fb1kqx5rUCJb1ZS+RZdt8tIxRlT37cKG7j5JGmxq4E8=;
 b=lLA4klX+lXieVWP8CRhel+sGZmz9V3ErEIqbDBRZlJNWapR8XjytumRoba57I7AJXSelUUsQj4hCwy/Yp8+CugVqUfzYDGZUgrz9m2gW0HCI+a1tIk5pELmRHh/7jesy4TbRv3NCR//bhHCmc285ur3g/TO5zX9ykWkFVhLUUaMumFREvgRAC8JBlbmcD/tlqMOMat87U79rFDfUi8amgZOS/iphsgQKjyUrfd4d1cHA+zYqU3JICOsVw4rFDQLQfq6Q399pMYG+IOLxC39y6eqdRwyemV3/1dSYDwfc/n2FQSDklzMOMLCjF/pmbIpgADYP3CZsnYFzc82Ek+uV5A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Fb1kqx5rUCJb1ZS+RZdt8tIxRlT37cKG7j5JGmxq4E8=;
 b=DfxDb21EM/VOuiLbaJd3X0NXT3YB9wM2S6gP4E82Xgs4HU5jogFOcM4sSHV7KPFhxnsIFRaw7iHTysLpP6Pe/AtrA4+rpJKYisr/ebY5mYXmtHNhUYFH3LzVqYAKKlbZedwl2DxwV1aMdBaGQNwbLq+KcaORbnN9A6wjQMcEAos=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <39479269-3bcb-4a68-85e2-37abf79478ba@amd.com>
Date: Tue, 8 Jul 2025 17:08:14 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 01/19] setup: add global pointer for struct
 hvm_start_info
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-2-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250702081254.14383-2-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE38:EE_|DM4PR12MB6448:EE_
X-MS-Office365-Filtering-Correlation-Id: 8c09eb86-27d7-4b5b-86c4-08ddbe65f254
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZzFkVVVMTW05ZGRPY0xCVHJBQngrOHVmSVZINlVDNzdRU2FSeVdtdi9VRHF4?=
 =?utf-8?B?S3JwZDNUNjB3ZUJrVTI5QllzQU9xUzY3UU1HVFQ2a1AwRGJiWDdEUFQzTGhY?=
 =?utf-8?B?aVVxMnRSU3lWNUpSRStGeXNyZWF0ZzY4WUNqUVJIV21xWHl1dW50UGlJSm1w?=
 =?utf-8?B?c0gyM1BMRlk4TWh2TklldGNGK3RrOWRrMUVIZEt6SG5sT1ZkYXFaKzJLNDNy?=
 =?utf-8?B?ZnNIbTBjaEEzVnpqZS9iYVY3Yytla2tMbWp4cmptYUY3MEN3Y3RFcCtLRXo2?=
 =?utf-8?B?NFAwNm80WkI2eHhiZDAxU1g2V1llWStmR3phdVUyNWhOb3hsOEN3dmhDdHk0?=
 =?utf-8?B?K2lLMU1uVndZdnFCbzA0em4vZG5SeUV1MTlWdXk4ZGlVcGtkNy9pamtSQXB2?=
 =?utf-8?B?dzI2VEJaeGRzNm01K2RZb25qeGE5dllpZkhNRmpFenM5V0IvUWNYTUVrRUpG?=
 =?utf-8?B?WTI4bkJtWkFLUTZnM3kveGRjdGgydmRPZnd5R1VBRHpaTFMwQ0dvU0dKMVUx?=
 =?utf-8?B?UVoraFNUR3I5NTRaNEJ0RndaSTNnb04vUEsvZGVMNFZ4ZjRzQWRMeWF0MFEz?=
 =?utf-8?B?YVdTWVhzUWRnMTFFMk8yMVlXK2FQL0NxaDZTN0Z1NjhYUkVVbmpLSkZYVURD?=
 =?utf-8?B?V1Q3ZURyaFYzRHhLOXpEQVZhY0trOVhGekRKSi9ZRFJNVXh0NVA3VDZwTEZY?=
 =?utf-8?B?Nys4Y3ZZamVGL2Y0MFR6b3dWdjR6YndaRzB2QUpYN25PTGN3SXE2Tmc3R0xa?=
 =?utf-8?B?b215QjZsdE1jRXZ2aDI2SzJyRTVISlYyOVZYRXg0Vm90WTJJT2hpRDlzRlJS?=
 =?utf-8?B?UUlCWHFZZjVrc3A1bzlwL3UwK1JVK2FuRkp6RW1RSlhlcit3dHBjNUMycUo4?=
 =?utf-8?B?SlBCc3FjVFZXOFJRZHQ1UENNZ3lWN1daVVpXdU1wdkx2T1VwTmlJTnVJZ0hz?=
 =?utf-8?B?WVVEWWZadmt0d2NVRHY3NVdncmdndmNXbXoyYVEwUDFicHQ1YVRwVlEvdVR3?=
 =?utf-8?B?YndJOUFpUFB4N1dxVWhMVzdDRzUzSzNGeDVRdWxpSkp4VWN6MTd1Nm4xVE9R?=
 =?utf-8?B?elZlaGk1VFVrcjczeUxCWk1qQ1JXQm5pamlQQzJWalhDZEJRYndHeWFjNVE3?=
 =?utf-8?B?ZlFyOEVRSGVndlpSUmZWSUFXeENoTGhVSmFBRE9CMkhjQlJkTTJtSkJGSlBW?=
 =?utf-8?B?L0JhTXIxWmFWcER2Y0I0dUZ4TWw3Qk9ydVhPZXhvL04zY2dTUUgrbXRiYzkw?=
 =?utf-8?B?VmdwTWlKMVBQMk9FZE8xMFFCS1Jvek9JUHBZeGxLa0xlbUlzaityMnNhQi9R?=
 =?utf-8?B?TmRnWE9YVGlSY0dMMy9Ld2l2QTd4RE12RGFYZHN2OTdpYWw3YjdaaEpha3d1?=
 =?utf-8?B?QnNjUHYrVTk2M2hOOVVUcFg3bzZFNVhiUzcxRFlpZGY3LzJpSTY0UzByeitr?=
 =?utf-8?B?SDhjWFgxUEpJdHhoSmlGb3Q2M0xMcnlYV1VCN2lhYU9uWWh0eTdub0d6MFk4?=
 =?utf-8?B?UnFrRHRyZjNqYXZKMTdwckNrM1J0am9TVElBeE9uYmR6M0IyZzNpYitmZThn?=
 =?utf-8?B?aE9BL3RzMDZQQjJ1Z3NlZ0Fnek1EaDZXLzVpcm9UMW94RVlRcy9pSmRiSzRU?=
 =?utf-8?B?LzZaSzZLS2UyN0grakViNjRFR2NDUnVURFBlbjBhM25lMFRpcTg2QkNTa05P?=
 =?utf-8?B?MTIrdWhTTmlnaWZDbXk5TlNxOHkvcWE0YmdTb2ttbXZ3VmFXZ2QvRlJTVStl?=
 =?utf-8?B?OG1rYWJqaGZXY3dNV3EwWnROWjNIYjJCSW03ajBzelhaUytwaG4wSi81Zi9J?=
 =?utf-8?B?eW04WDhyVmJraTBqRHl4bjcrUlk5LzdnWml5dzJiRzJ6Qm5Pa0ZKMGtrTWVO?=
 =?utf-8?B?N29OMXAyUytUSTJSOVpWd1hnVVZZbmdsK2ZzZjc0d0RJYWJoaGd3OURZZDEw?=
 =?utf-8?B?SWZ4T25MaUx1ZWV6cTlsYlczcXZiWXJlb3hGVS9DMFB6d2NFWnE2K0k2ZnFD?=
 =?utf-8?B?SElvTlY0UWE3OVJEbGp6Q2laZkJXVWJCZlVoMHJ6WVMxd29sclJhV3FLcXQv?=
 =?utf-8?Q?WHZHCk?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2025 21:25:22.2189
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8c09eb86-27d7-4b5b-86c4-08ddbe65f254
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000EE38.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6448

On 2025-07-02 04:12, Juergen Gross wrote:
> Similar to start_info_ptr for PV provide hvm_start_info_ptr for PVH.
> 
> Add a generic function to set the pointer.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From minios-devel-bounces@lists.xenproject.org Tue Jul 08 21:25:48 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2025 21:25:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1037289.1409943 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZFox-0004D5-W6; Tue, 08 Jul 2025 21:25:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1037289.1409943; Tue, 08 Jul 2025 21:25:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZFox-0004Cy-TI; Tue, 08 Jul 2025 21:25:47 +0000
Received: by outflank-mailman (input) for mailman id 1037289;
 Tue, 08 Jul 2025 21:25:46 +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
 <SRS0=qd/v=ZV=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1uZFow-0003qV-In
 for minios-devel@lists.xenproject.org; Tue, 08 Jul 2025 21:25:46 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20614.outbound.protection.outlook.com
 [2a01:111:f403:2405::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1b98cf57-5c42-11f0-a317-13f23c93f187;
 Tue, 08 Jul 2025 23:25:46 +0200 (CEST)
Received: from PH8P221CA0001.NAMP221.PROD.OUTLOOK.COM (2603:10b6:510:2d8::16)
 by MN2PR12MB4405.namprd12.prod.outlook.com (2603:10b6:208:26d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8880.33; Tue, 8 Jul
 2025 21:25:42 +0000
Received: from CY4PEPF0000EE3F.namprd03.prod.outlook.com
 (2603:10b6:510:2d8:cafe::8e) by PH8P221CA0001.outlook.office365.com
 (2603:10b6:510:2d8::16) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.21 via Frontend Transport; Tue,
 8 Jul 2025 21:25:41 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EE3F.mail.protection.outlook.com (10.167.242.17) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8901.15 via Frontend Transport; Tue, 8 Jul 2025 21:25:41 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 8 Jul
 2025 16:25:39 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 8 Jul 2025 16:25:39 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b98cf57-5c42-11f0-a317-13f23c93f187
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mJtdKRW5nnZnExRzmBoZ23TncvnHm0z+MWYwWQhkl0wn5XV5nSU+0RGu8TOEqy/kOba2vHIsfPxzEneuFYxklChy/4pGbS3+nEitI4eaO0BD1ZlmhSPGbHA0SX4dyXLZfFe8STUYkd1bVS+w2uWhkAugmr0vVexAWUXo4cGrGBY7u/wZyfSwjWCRIeC126gHlzEWO1Im84w9j99aK3jCRK+6gtAYnRyPhALyMCmRRBcPvlGj416eLJH3HC0z1UipRrNB2DgZCH9iqCtc16oMB4TaDejPxFWwz4HTW6M2/VzAdhVP6g2AdvROG/NC88TyNwPa5/Kf6WFbrP1NuwVyYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wwGSqZutmjy2qhGUlGohAnImQVwRXeFkWU30d36YqEg=;
 b=hPYf2fRtPMAZ2g24MYLtR4Ca3W6h80/cZuEexZSis0ryVBvJgvfru1dZenJnB1IZLwYTsocU+kiY0bL1owHpjR1W+axl96TeDi2FcAqClHE8kSaSJ5QEAg0eG2I6CqYqvAkwP2sB6Xu0XrNtlfqJ0sPUJbEt3wyksVyHAvd/Hr92a2cosH93nBlOeEBxO77PrMnu5mLhTMFsFnhMrWHuWQDAL0rrVgubHbAdKBDFM/EC/55Hy3zIlEdelcmorX2vSvL9mUlfiXAR1IBVj3e+TnQkWkLlmWpYAFv+PCqbSAilWivF80mpU4HjUa4ZYd157vL/RUuIqQa2kV/3q+AaLg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wwGSqZutmjy2qhGUlGohAnImQVwRXeFkWU30d36YqEg=;
 b=US9NmvibASJi3ojuYNyDyROspJ2vmAMQpBCOWc4jDvBNJq1r/l09T2dNwczgDkXmmHhWZIvaI/+ZG6LbOkV+QXTnDAZnU0Q1KjGbFKOHQH33SIpV4R/JVGmlTKrtBGVfktr39q48pdDjWcxTOyRifLwdqK1yWbaIz0FrJ6miYMo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <d92ebe6d-8bc0-42b4-9f09-c01199886d30@amd.com>
Date: Tue, 8 Jul 2025 17:08:27 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 02/19] mini-os: kexec: add O_CLOEXEC support
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-3-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250702081254.14383-3-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3F:EE_|MN2PR12MB4405:EE_
X-MS-Office365-Filtering-Correlation-Id: 0089f6fc-f7f9-40ed-e0c4-08ddbe65fdc5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|36860700013|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?L0RRZi9BZVNqcVFtOFc0YXJTTXVua2lkbk9IWktZME1sSllhUk51WkdFZW5V?=
 =?utf-8?B?eHpNZHRPWUlSS0NxWmRxemxuVm9JQjFOcWcrRGtoWU9yRHNZb0RSTnZ0eHlQ?=
 =?utf-8?B?T3RiU0tKVWhrMFlLV3ZUTzNkL1BQREwxeERrSjVRWmswN2MrWXpqZHFXT3Mv?=
 =?utf-8?B?TGVaRnpFSTc1VGdhU21JMXBnSVdJMWgzSzZwZlV4NTcwSVFXRCtBMGdwZTYv?=
 =?utf-8?B?cTNYRlZHTG5jUWNXcGZkRnpyb3dQb2ZpUkNDRVovNGxtZ3d4Wlo4d01mYkZ0?=
 =?utf-8?B?KzVXZW1SZjdSdXhydU15aEh6SjZzVlN6TlNXMFlQakswSmxDZHRLdTA5Vjlo?=
 =?utf-8?B?bWI5ZXV2ZHZLRmRlUHV4bVRFVEhQQVN4R0oyZHRZbmgzek1MQ21GRy96T1Az?=
 =?utf-8?B?Wnk1bGlybWpiM3dZbVUweHZqMFBIVWhHcUM0WmJZYzlhWDh6RTFLa211ZjNH?=
 =?utf-8?B?NnJOaTZEMFdoUDZ0b01sTS9lU2JIeVZIWWwydlk4OENzZTlEeWJSbzNFbkpN?=
 =?utf-8?B?SlltSXNQdVpLMzd6QjFQTE1qYmVjMEk1bGZHNWVVN2hPS0dPWXNVMXlWeWF2?=
 =?utf-8?B?MGVsem9XZ055SFdaL3FKaXQzQTFLSmVJSXo4bkZGcXN6RG02Y3dDakU4Nndw?=
 =?utf-8?B?TUNuTHVhakNMaHdrRHNLakhnN0dlUVNxbEtWN2xDNURvdHNDTFhwa3M4c3gz?=
 =?utf-8?B?VzRCcTZVVXFGNGxab1oxS3VRWW5tYW1vcGNqS0hmWnJCeVl3TnJlbkM0elhE?=
 =?utf-8?B?YkNjd0xZSldRREZHUm9XUXlSQUJYMWszYThxOEpzVUFjWVpnTzhQSzlZeHU0?=
 =?utf-8?B?cDBVTGdoUjNtVDlGUmF0cnVnKzROa0YvRGNiTmFaWHY3b2ZMTDZRcTdvVlpL?=
 =?utf-8?B?M0tyck9RNFh1WWxkemtWYmF0M2hUMWgvblpGb201aVVkd3BKbVJQZ09zaytr?=
 =?utf-8?B?YXBVdmREclZuTHplZGxISHpacXR3ZTVRWG1sclFiTUZER1gwZ0J1MVJkU1U5?=
 =?utf-8?B?UzRaNzRDZDhpcnovOWFtbC9tNXBXZkZpcFcwc25JM05NRUdNOHVoSWNMVG9U?=
 =?utf-8?B?OEU4ZTZQR0ZIQ2lXLzhyY09hRUFpd2ROemRTc0pGSnJKald2d3ZXNHBBTHc5?=
 =?utf-8?B?QTJkbHRJcGZiM0NxalZyaVVJTjVTVWR1bUZ3VU1MRCtXTENDdUxMYUcwem4v?=
 =?utf-8?B?LzZVbzZ6VGpqb0VKNlJyYUczNXN1b0thTm9yYXQvdTZCUHRaMG0wMVpBRkRB?=
 =?utf-8?B?bHdtamRJbC8xbHdWZ2haRCthMjZIZkI0ZVpack1Yc1Y4bCtZRG41Y0dRc25Z?=
 =?utf-8?B?ZXdsd2gxK1UrdStYdEUrUzVXUzZHOHQ2VVR5RUV0U0dIQkx5dGk3NUlFdW55?=
 =?utf-8?B?SExFMXZSempvTlR5ZFBQbEhxSWFDWFRES1hrdlNFMEtqb003U3A4QXBYSXFa?=
 =?utf-8?B?cHJlNEw1RGd2dzlqOXdRbjBsU0ZyNnEyRytZWnBxY1BzdGNQeVp4M2ljRTVt?=
 =?utf-8?B?aTdJNnlYOTdCQ2NrM2IyN3NMTW5FbnlQdFpBNWk0WGRVTW5rMjY3S0h0Y0FL?=
 =?utf-8?B?bnIzWndNV3ZDdVE4SklmTUFhNmJzV25OT1FrN052dktLMURuQ0wyWDRPSXBG?=
 =?utf-8?B?czd5RU5vdXRxRzZHTXRnbDRkUkF3Z0lLMGtCb08wU1RtR2ZzeDg5QzcrbXF2?=
 =?utf-8?B?SzM4M05tTzBJM3RaMWdzcDk1bEpzZVo4bnlLQ3l2bnQyR0dWM1NRRTkyM2VJ?=
 =?utf-8?B?WFlaaVJBaFlTUC9jMnZMSXZOTlRNL0JJNTh1WHFrVjlxcmdEOENRVi9pc2RT?=
 =?utf-8?B?cjNPNmVsY1NGLy9OUm9wd1l6Z08rMDZXTW0rOS9iNGU1ZVB5UG5scCtBUmdG?=
 =?utf-8?B?VkovVmZXL1BFTzJPbThJUDQxeWkxTFl5WkxBM0tNdWwvbFVjLzF3aEc1T3ZX?=
 =?utf-8?B?dzU4ZWw1ZjNVMVh5U0tZUlJXd25WZEVkVGtDSy9UQUgwSE9URlkxd1U4MFZS?=
 =?utf-8?B?MFNhT0xMVTcxQm02NkhuVDBSWFp0YmR1WnU5ZndxWUhFalNBZEw4aUdGQ0Q1?=
 =?utf-8?Q?owGrCC?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(376014)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2025 21:25:41.4175
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0089f6fc-f7f9-40ed-e0c4-08ddbe65fdc5
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000EE3F.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4405

On 2025-07-02 04:12, Juergen Gross wrote:
> Define O_CLOEXEC as a non-zero value and add a kexec callback to cycle
> over all open files to close them in case O_CLOEXEC was specified when
> opening the file.
> 
> This requires the addition of a cloexec boolean in struct file.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From minios-devel-bounces@lists.xenproject.org Tue Jul 08 21:26:00 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2025 21:26:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1037297.1409963 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZFpA-0004hH-L1; Tue, 08 Jul 2025 21:26:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1037297.1409963; Tue, 08 Jul 2025 21:26:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZFpA-0004gi-Dw; Tue, 08 Jul 2025 21:26:00 +0000
Received: by outflank-mailman (input) for mailman id 1037297;
 Tue, 08 Jul 2025 21:25:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qd/v=ZV=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1uZFp9-00049I-Rj
 for minios-devel@lists.xenproject.org; Tue, 08 Jul 2025 21:25:59 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on2061f.outbound.protection.outlook.com
 [2a01:111:f403:2408::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f4e381c-5c42-11f0-b894-0df219b8e170;
 Tue, 08 Jul 2025 23:25:53 +0200 (CEST)
Received: from BN9PR03CA0619.namprd03.prod.outlook.com (2603:10b6:408:106::24)
 by SJ2PR12MB8928.namprd12.prod.outlook.com (2603:10b6:a03:53e::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.29; Tue, 8 Jul
 2025 21:25:48 +0000
Received: from MN1PEPF0000F0E5.namprd04.prod.outlook.com
 (2603:10b6:408:106:cafe::1c) by BN9PR03CA0619.outlook.office365.com
 (2603:10b6:408:106::24) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.21 via Frontend Transport; Tue,
 8 Jul 2025 21:25:47 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 MN1PEPF0000F0E5.mail.protection.outlook.com (10.167.242.43) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8901.15 via Frontend Transport; Tue, 8 Jul 2025 21:25:47 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 8 Jul
 2025 16:25:47 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 8 Jul
 2025 16:25:47 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 8 Jul 2025 16:25:46 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f4e381c-5c42-11f0-b894-0df219b8e170
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=aJCZ2nRz6s6sBd2jC/M2Yj/Vkb3FNKeADkVY26xYIz/CjXgXogMKfNW/0v+JTCAFOMqSxn9WZffy5UZiD3vGvwxpC7FSG/3t0a6GR34/YGv2GI1MTesJ8rWywSyGORIUn73VywUVEWlbXuJDYPtOznrSpjxzwwgPglUP4jmoaHMmJ0WNqZEgs7tX5T4Qb4AU10RV0hR5FXwDBQFyUVT5/mGj6N01Br6evfJdM39uejym+oW51O+blFBvpWxZofyzVWN3ibljQ5WVfxikLGH/X22ft54tT9Tdy1cb77hC6p3t3VVEOPhLmpGKllRNhSZxOYtrZufZO+Smkg/QbmvGLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PPMeWul5rUf3T2TMz3BXWb4oFvA1Z6J41DkUd04ojQk=;
 b=lnRGcbBWDAyyxlZQTR9EBIEGUzlqXDibZE+XWNGYsypgtPksBTaXy2M3TLeNKoKYMne2x2onYznoOpZSTSZOc8r8WdMZIqZRqbZ8kC7rR5oU+Uxl6aMwAlpWmUrE5uLOh3VapI6BeZTMGu/zfSkVEx1TizhzwQRTqiKABtTGERNziJezLM6NZ6PvOdav2tkLSxtSPsx9pPAgMqld79cRCSYAoncnfSQoRxhXMzjlfhQj1fjgsd6q5QiUiBqpGpauKnRg6Uu1Z6iQaH4UYK3B1PxKoVxBlGobkFGyFmeHOM/USaIwiKdioFnIqgx7DUYAqVqOZqOgJNg33R3PS/AJwg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PPMeWul5rUf3T2TMz3BXWb4oFvA1Z6J41DkUd04ojQk=;
 b=FHCZepdZhxwqJ44B2MQRICuhI3IXAywgy/Py1g9PC022f+U9VnfH1uj084tHYRBEO1LRKqVFSyV7oCXSHrntNe0rpVJZXPGDx1e5YXj+YK7JstHh76lRhxwdvJ6wEN8aUW23BV+Ki5PM/fxmLgyBDTpasECzvhWTwZQWc4AdCo4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <ba8cfe99-979a-4f57-9b9f-e9b0ebc34653@amd.com>
Date: Tue, 8 Jul 2025 17:08:39 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 03/19] mini-os: grants: support populated grant
 table at boot
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-4-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250702081254.14383-4-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000F0E5:EE_|SJ2PR12MB8928:EE_
X-MS-Office365-Filtering-Correlation-Id: e3323a55-cad3-4318-8ec8-08ddbe66018a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?aStQLy9jMUkxTUFQb0tzaVd1QUMyOFRnSWZpOTF3MlJMQ0dQR1hlYmJZdGNs?=
 =?utf-8?B?b0IzNEhqY1JVN29kN0h0N090aXZqSHA3SnFSQ1VDaG9SMW9hWnowQnkrWVlm?=
 =?utf-8?B?alBqdGhYajZuWjR3MnB3T3d0UTd6YTViT0xMcko5dEpHUE0xa0psTlJNcW5K?=
 =?utf-8?B?OGs0NXluNGF5alo0OExWSG9ZQmVJMy9wZUFETWJhWnJkRFZPOFFWZlNzY1lo?=
 =?utf-8?B?LzJDS25UYWJZUzhWU1R1b055Nmc1MDNhRmh0T2xpVmV1eHM0OTdDQVpLNDd6?=
 =?utf-8?B?c3NEUlUwVEtzcjlFLzFKUUg1TWM1N0ljUTI3NTZmMGVOSU13clQrOEYyWjNU?=
 =?utf-8?B?ZDlqTWsvdkZtQzJ3YUZIVU5mcVJCMHE3OVlmOEpFcGZjeVg3TGpNSEZwZjNV?=
 =?utf-8?B?RXpPaHppaERDQzBMZFlMSU5vYXpndFpGTXd4aWpaN3czNEYrOER0d0ZWTCtU?=
 =?utf-8?B?a3NFcXFhcTh6Rm9IUzhlSE1yL3psYU5kckppKzlNd0o5eWdmYlFQU04vU2x2?=
 =?utf-8?B?ZXJuVmNxLytkQzdvMjBvZS81cDg4SnlkUnRpZXJBdzIrcVE0K25HdlJxWTRX?=
 =?utf-8?B?Ky9SdnBwRmVoUlNSbWxMYksyMFVEbGIrd3ZxU2lTaWFHcXFteDlpMU9XakxX?=
 =?utf-8?B?UDJCL0wxdTJuS3Rabnlic2pUelhJUlZuNUN2aE55aHVQcmU5a0dRS2NwdzdQ?=
 =?utf-8?B?L3p1V2FXV01sSk1PSzhxWWFVdU5MaEpFS2p4Q2RHeWd3L3dyRHYvRUNLNVdH?=
 =?utf-8?B?TVlYUU9hRkNwOUdYS2VPa3BiaXRsQ3BUSEJPM2YxNTRVVGxyMW1POWlSQ2dU?=
 =?utf-8?B?VDltRU9lczVOZm1vc2d1K1B6cjBrQ3UvMGJwbWFYVjB6YVM1eE5NTUF5TkNY?=
 =?utf-8?B?MG9rUHVLVGxXU3ZhZm9aWUdBckRVY3pucndhbHJEWFZZTXZHc21HK1NuT0R2?=
 =?utf-8?B?MGFkbTgyUlh6R0t4WFU1eldWRVB3d2g0bmt6czkxVUMyMmdibXJXV1cvYnB1?=
 =?utf-8?B?NWwzYjYxa0R1dzZ1cnpYOHE0YmhEYVExWXZOZWRhbkFKbng5TFlQRVdtYVFm?=
 =?utf-8?B?STdCbmdrcWxRVS85T3JwNTAwcVA1bFIrMGh0dTdMTW03bVc1UUV6RS8vT0lS?=
 =?utf-8?B?aGQ5aTE1WG9UTVZtOEVrcmxNZ2RRR1FHL204RzI0eGl0ZDFyc0ZGekFZdThS?=
 =?utf-8?B?c1BPWVYrL2NXSHJtcng2VHRYUExGQkVpd05Ga1JDRG8wZGRxMExqTnBtcnJm?=
 =?utf-8?B?dGwvcE1XVlBUQXRoUDZGOW1mQ1ZYRVlIYW1WUFVGS0hMVXVxY3U1eC9ObHl0?=
 =?utf-8?B?ZURlcGlRaDBGOHY5OHNIMytXb2RmYmZHZk54OFk0QnAvdU5qUDUwcFFpaHM2?=
 =?utf-8?B?MXY4T0ZOOVV6N3ROMVRWODZYMDBLcVdiZmJrdnphTkhiKzZpU1k0bUlyeDhT?=
 =?utf-8?B?bXZXOTF1M3RuSjdpMkhWcWE3RXRZTCsyMDhUZUhUNTNyeUdMcDhnd0Y5RUNw?=
 =?utf-8?B?c0ZQQnd5TFY3ZkEwZHpiWVZkUmFMdXVPVjZkUGQxS3dlWkV3NnhhVXdaYnBk?=
 =?utf-8?B?bkRvZHBzcUExVDhOTk55T1N3NHlrOWxWYTl6eW41UnBHQUpuSU1WdURIeExw?=
 =?utf-8?B?ZE0xcC9HakFucFpvMnl1ZmtNcFcxQ1doa0dDR1pUUjlyaGFQS1JyQnZ6bzlJ?=
 =?utf-8?B?MkxLbEkrV05vUXBTM2YwY1BzWXc3eWVROEo4SWljTzVLdkIwZFdZQ1c2dkxW?=
 =?utf-8?B?N0dPRVNpOE96ZWtvVWpBU0ZINUpBbHl6T01EaXQ2V1RzanZmYlQzQVRpckty?=
 =?utf-8?B?QVkvejZkOUxRdExPTkNlamRReXpOQi9vWWtvdExQelVnbHFudUR1TTJFUnNM?=
 =?utf-8?B?Z2dBNlZFakkwQ2sveVFKSmNVVHp2djgwcDY0NUpEM3l5SzJiVi9VV2tPZ3FQ?=
 =?utf-8?B?VlhCeGYxNXljOFZmd2dwYmtRRGVpUUFBckFmcnpvNmlBQllwQ3pjUVF5dGZG?=
 =?utf-8?B?Z0syZWMzOCt5aXI4TkhOK2toYkF3MnlpTmF4UDlibGdKYVhJUTlaUlVVbmdz?=
 =?utf-8?Q?j6q/G3?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2025 21:25:47.7832
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e3323a55-cad3-4318-8ec8-08ddbe66018a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MN1PEPF0000F0E5.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8928

On 2025-07-02 04:12, Juergen Gross wrote:
> When kexec-ing into a new kernel, the grant table might still have
> active grants. Support that by not adding populated grant entries to
> the list of free grant entries.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From minios-devel-bounces@lists.xenproject.org Tue Jul 08 21:30:49 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2025 21:30:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1037321.1409970 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZFto-0006i3-Sb; Tue, 08 Jul 2025 21:30:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1037321.1409970; Tue, 08 Jul 2025 21:30:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZFto-0006hw-Py; Tue, 08 Jul 2025 21:30:48 +0000
Received: by outflank-mailman (input) for mailman id 1037321;
 Tue, 08 Jul 2025 21:30:47 +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
 <SRS0=qd/v=ZV=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1uZFtn-0006hl-PE
 for minios-devel@lists.xenproject.org; Tue, 08 Jul 2025 21:30:47 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20610.outbound.protection.outlook.com
 [2a01:111:f403:2409::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ce88b806-5c42-11f0-a317-13f23c93f187;
 Tue, 08 Jul 2025 23:30:46 +0200 (CEST)
Received: from CH2PR05CA0057.namprd05.prod.outlook.com (2603:10b6:610:38::34)
 by DM4PR12MB5724.namprd12.prod.outlook.com (2603:10b6:8:5f::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8901.26; Tue, 8 Jul 2025 21:30:40 +0000
Received: from CH2PEPF000000A0.namprd02.prod.outlook.com
 (2603:10b6:610:38:cafe::10) by CH2PR05CA0057.outlook.office365.com
 (2603:10b6:610:38::34) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.20 via Frontend Transport; Tue,
 8 Jul 2025 21:30:40 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH2PEPF000000A0.mail.protection.outlook.com (10.167.244.26) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8901.15 via Frontend Transport; Tue, 8 Jul 2025 21:30:40 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 8 Jul
 2025 16:30:40 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 8 Jul 2025 16:30:39 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce88b806-5c42-11f0-a317-13f23c93f187
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=c1iIzUp8GA3RDDGBuphGnws082HWGZvL34xDrRxPh08mj74HWaJj00uWrGtm4xI9ptykG+yB3UKSaCAr9WIRe5S3iT02WjM84EuDoyzAMHXedxS+Q2x0+F+XfKJQgaonRi6yO3B/06+EdB5lWNqCRbDCFTDLQpRs69SOxahyAIdnSQDpuLnxfyDrnbpR8R5SKrLJiEMPP62jik9xRBqlvAQ9Cfw3Cm2fnnuycBO7ZjiVy7hOlHY6yorDD/tIh+R8eZol1yAOIPwl2Djt4WeP0INi50/f6Ij6OdZDXINwTOzfe/yFMqBYHwX2cnL+3J6dGhrljhoqJxW2uWf4jHvpdw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fNDiOJi8mF1Yhz0y3wYTNAu0CNutPqlWLF45cqUnlKc=;
 b=OvNbaphoMTjQAB6yzr8+p5PuYpoGAPeqcFa0WjLcxHJ7lubb+g4EsGn0PPvS8FfSTlKTy4yQnOa3Qwwvi4Tef684nkXpKAvmA1BVz8XABUNR1gbLwt5ee8vK8qGc9JunGFn2AaUkdkOXGt4xw30Kc2xUkmNDC/OFL+92Z22o6xTLzuy6iWsVISp8bGWhlLtyZbhLfo1YAoGATbBwqLpSJ26Ly1i0NCz8+FSRrptjJpz+JSrJMQU6S85dCUtHUqQG8mI3XrafUWtSSFmYLeq2p5ydc8KOe0KvuVvh7OM/XKuaK0G7D6TwGP0uPp5wMM10mMFiEbBRwOqI1ED5bmAuUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fNDiOJi8mF1Yhz0y3wYTNAu0CNutPqlWLF45cqUnlKc=;
 b=xqX6CJ+vNO7EFCvsMg7Hxu6hSiaE6x5OX5Wvz83ctTiBlcXJsyP03LKzY8QJFJxUY9DOfrgrwL07aWmFl3OLEjKVH6vy6oXrxH6jipi8t+ogn8MmJkCAjdmYBpI6hIh0I4jzgoQN8QFbJvMpZSpeAGm22ra+G+dbo1DlSC/1JFU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <a758ab54-3d4f-4185-a49d-2cac8a21381a@amd.com>
Date: Tue, 8 Jul 2025 17:13:32 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 04/19] time: unbind VIRQ_TIMER across kexec
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-5-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250702081254.14383-5-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH2PEPF000000A0:EE_|DM4PR12MB5724:EE_
X-MS-Office365-Filtering-Correlation-Id: 9cf81768-a41c-467c-32e8-08ddbe66b032
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|376014|82310400026|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?NmdBUHJXN0ZiM2pONXZUQzV1cnR1UlBlRlBpakFjeTMrL2gyRUlQTnNTdE1F?=
 =?utf-8?B?eiszR0RzdFhESmVkK3VFQ0ZteENmY1J3dUU3aWxyNFVOcjBSNWZKV0htMUVM?=
 =?utf-8?B?SmpXb2R1SVFqM2JJOFRacW5yOC9FY0RFSVZtYm8yaklHZ290Q3hyYUZZQWhi?=
 =?utf-8?B?dE1SYWpQRGtsMHFxanYzWjU1aWFkL1pBMHUzT1RwNUoxc0NDa3ZOcFdpOTFO?=
 =?utf-8?B?QUJyNW93aUtaVU9QdVYvVGVHLysveUNkQmxXYXVBd1Y5OTJhaTU0V2JTSllk?=
 =?utf-8?B?a29pTHNFTjZORHcvSW9landuZ1pESTIxc0l2NElES0x1V2JqUUFEMXd5Szlv?=
 =?utf-8?B?akMwd1dCOWpEQ0RqTWg1eW4xalVxOTNSZDExdlNuZWlFQjVHSW1sOXBGWFA2?=
 =?utf-8?B?ZUpFUlkvemgxUjhKOEpPMEVMU3dEZWNxT2pGYytjMGVuZEFBMFB1SnNBNjgr?=
 =?utf-8?B?VUZPTDhpSXFZRVNkS0dWWEJ4TEpCTko0ZXQ4Qld3ZEdUdDNWVEd4dUJFOWRl?=
 =?utf-8?B?TnZod0N2a0poRXV2dFZGczZIOUVxSHZVMDJDMGVsVjRaMXYwMHJhMmZCdFF0?=
 =?utf-8?B?Zjg2YjFBU055QzhiMTNKc0dyWE9yUEZ0TmJYZW5PcHR3V1E3WXBXbUJ0RzJM?=
 =?utf-8?B?Tm85QXQwQW1uNlRudzhlT2dGRGJMcU1PTjl1TGFQcittSWR3VGw2ajZhTnRP?=
 =?utf-8?B?UGFtL2h0WE1WczQzaVpsWjdRLy9tOTBZMDRiN0xFZ2MySVRPZkZ1M2tIVUtS?=
 =?utf-8?B?dmZhZ0o3SDRWWElPZTZzeHZnbXJGUDQ2eUsweEVQVkorR1QwRTI2empzZytn?=
 =?utf-8?B?NjZ0YWM3NGZlbitJM1NYS1Byc1dGY1hjNUhwbEIraEtWTGw0NWhNRlVOc3l6?=
 =?utf-8?B?TlM0eGVhR051bThYMnZmb2VDUHh4THc1Qy9LYktNOW13amZ4RUdFNDlXU2Y4?=
 =?utf-8?B?S3FaWUpxQXJIVkNoemZhNWRKV3N2bHlFWWJVdUVzbmhtU2Vsa3FhNEpid1hn?=
 =?utf-8?B?bFNVamlkYUx3Tm0xSXd6d3YveGdCTHZFdFNVbkhhN2hxeUdzSnJDb0U2RnlV?=
 =?utf-8?B?ZWNyN3ZPY0NGMkdMZEZnQ1BId0N5enpPNWMwTlZoUVFmRVpnbGNqUnhGU2pU?=
 =?utf-8?B?ZUYyV1VSLy96NG9zeUFralVpWnQ3aWpvaStmRXhJajQ1aUtUK0RpVG5leFNi?=
 =?utf-8?B?Q0xLRHhGRTlmc3BUZkFBR1JHMU9BaVpKNlRMK01ibzBEVG85cUpVSVpLV2kv?=
 =?utf-8?B?a2dqWkp3NUJWYTVpemFVVERPaGdpNUgxNkwxMzZveVdyQUhNVklUZXNRZmdj?=
 =?utf-8?B?ZnY0czdRUkFmRzlpeEM1ajBDY2hqT2U2cm9kcnc2RW5lVDUyY1hQNXdOdkk4?=
 =?utf-8?B?amF1RmVuUnN5UjhuYjMvK2oyUTR1emdkSEd6SCs0S29LbDJWSEw4Y1k4QXpp?=
 =?utf-8?B?NUFRalRDMzNmM2RVcWNBMlZtMFJzOS95MlBzMGp1YlRSa1F6djVUWEcxd0Fx?=
 =?utf-8?B?N1Y4QmZIcytaUDYwaGhHTk4rV1ZCeFV3dThkc3JhS0dTNDh0UWluNGZvMDMy?=
 =?utf-8?B?czhUdzZtcHNwaVQ1bkFwZjNVZXZKOXJ6ZXRmb1RkRVBLSTJJOGovU3lDbUJa?=
 =?utf-8?B?M2I5a1VYMEY4emJJaTNBUFM4REpDaEZ6QUsyeXJxemVYaVdsYTY5WTFnQXUy?=
 =?utf-8?B?UnpnenNpY1Y3VVdyMm96THVnOWg2N0hLc0g2ZytwSVdEZWRnNkRveWZGSUdk?=
 =?utf-8?B?L3dlSGF4TUt6a0FQUHlkUGdqYXJDUVgxQkhWVFl2ckpOdVhWWFp3VFZlQXRG?=
 =?utf-8?B?RmFRVG12M3RwSGxGRldYTmxwUDllOE1mZnY4WDBHYzFvS0ZDK01xRjBVdzds?=
 =?utf-8?B?ckNOblRuRWpkck1RTlNvMDVmNjNHYlFjVTVMeDBrazdLY0JMWHNBanZUOUJq?=
 =?utf-8?B?WEVaNXVHYzQzL2Q3cWQ1TFgrWHp1MFhQYU5TVjMvQXJhU2QrdGV4Q25VbkFx?=
 =?utf-8?B?dW5WSTlDRjJSeHBIU0gvY3NnRSt5M091d0MzaWhkdTRZY0U5Kyt2aWpadzN0?=
 =?utf-8?Q?gRjnAh?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2025 21:30:40.7955
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9cf81768-a41c-467c-32e8-08ddbe66b032
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH2PEPF000000A0.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5724

On 2025-07-02 04:12, Juergen Gross wrote:
> Deactivate the VIRQ_TIMER event when doing kexec() in order to be
> able to set it up again in the new kernel.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From minios-devel-bounces@lists.xenproject.org Tue Jul 08 21:30:56 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2025 21:30:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1037325.1409985 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZFtw-00072q-Bi; Tue, 08 Jul 2025 21:30:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1037325.1409985; Tue, 08 Jul 2025 21:30:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZFtw-00072f-8h; Tue, 08 Jul 2025 21:30:56 +0000
Received: by outflank-mailman (input) for mailman id 1037325;
 Tue, 08 Jul 2025 21:30:55 +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
 <SRS0=qd/v=ZV=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1uZFtv-0006hl-3c
 for minios-devel@lists.xenproject.org; Tue, 08 Jul 2025 21:30:55 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20613.outbound.protection.outlook.com
 [2a01:111:f403:2405::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d3af7171-5c42-11f0-a317-13f23c93f187;
 Tue, 08 Jul 2025 23:30:53 +0200 (CEST)
Received: from BY3PR05CA0039.namprd05.prod.outlook.com (2603:10b6:a03:39b::14)
 by DS7PR12MB5981.namprd12.prod.outlook.com (2603:10b6:8:7c::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.24; Tue, 8 Jul
 2025 21:30:50 +0000
Received: from SA2PEPF000015CD.namprd03.prod.outlook.com
 (2603:10b6:a03:39b:cafe::46) by BY3PR05CA0039.outlook.office365.com
 (2603:10b6:a03:39b::14) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.21 via Frontend Transport; Tue,
 8 Jul 2025 21:30:49 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF000015CD.mail.protection.outlook.com (10.167.241.203) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8901.15 via Frontend Transport; Tue, 8 Jul 2025 21:30:49 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 8 Jul
 2025 16:30:49 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 8 Jul 2025 16:30:48 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3af7171-5c42-11f0-a317-13f23c93f187
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=oOSIyM35oSsQQt9oJccaGvJfv37mhf6e2aaynLAe204Y+L/FwPfGs3Wpc10K+ZdTPBzZEfACemadZRyicx5XzPYlgeu5r2eM+hNNTTWjpeS8QvM9E9zF0JqW5H1L/mGxCsT13LpHgvxvod10B888A1bAw601Lya5EYdNvgpefItJjAgIHo7iNvGlRFWOWednBYFkF06RN5/129eQ9nWWHfqt8YdxO2p2cl/XiIHKsp/6sMEYXCIKR1mnq1a1zjgPdZ9sdIpqFU3sEbAxgcujUAlLpQqg2/JiPdln1agyQGRMWfnIHlVWS3hY2Mq8xLMr2a+xiJ0+mQlIneL4E2wm+g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FMa7ECTARDmd5L6zJ25fi4TG9HI3uZHFcYJ2ncVq27U=;
 b=qLeTGuN5/mz1CBR1ccobyO5Ufl5W5esFc6audyYg5jaDcIzHUevL2i6rDXbiSmsXyd7wpCJBZXYGoNRQ2rvhTm9+3837966qh855PzDAkG95eOIyM+hQMaCybRShGv9jcdZ0tGfVHi5Y+HMktS4t38wvcBMpublyX0LEdFpMey8uc09bV2paO/nuMcpxmEqBU8sji0dsWs2IiSLQIhY5CjIvtl1o3U6h3qXJPtz6z3KQlwLktSPk4W8Gqsifoz4u1k85I23q42rRdDKIwAiW/L71mSs1UjIFkJviClbt4Lfl9fjsi3Iq6JLv8dXD/boZlxm/gXdp25on+GQSow4EjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FMa7ECTARDmd5L6zJ25fi4TG9HI3uZHFcYJ2ncVq27U=;
 b=0iarbuhqg5jj7hzFgTxiRIgO89yrL8tqBQ1NBQSlr0g/TeI5VZ4rP2G76inB9HEgNuC7hEpGqMIcuuAqy4U1iQqsStYGHdXpnyGW0Nhe9BVs9YZqILznkKWoA3eDavteAfsOw3xO4s2NkSoNtYY0qXw0jWYjWMcNIS9GcFG5cHg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <771d2175-f7ce-41b4-91b5-d5eee131cf6e@amd.com>
Date: Tue, 8 Jul 2025 17:13:41 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 05/19] mm: refactor init_page_allocator()
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-6-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250702081254.14383-6-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CD:EE_|DS7PR12MB5981:EE_
X-MS-Office365-Filtering-Correlation-Id: c48515f8-f074-4861-5c84-08ddbe66b587
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZVNKMkUzemtxY3R4dGkvaGdIS3JGMnI1U3Y2SG0yVkhwVTdjc0lxVWEvYThO?=
 =?utf-8?B?YnkvcDN5b2hxV0RtMTcxRzFuWEhtSWFGeXluTDVHOHc5YW1OTXl0c3hyRnNp?=
 =?utf-8?B?b2lVdUI3OEtUOTJyWTlwY1ErWXV1Z0IyMmFwSVF5cHZtZE1JNVg1dThmNk1n?=
 =?utf-8?B?WDdkZWYvOERORGIvZzVqcFBoYk04eGJsbXh3a0ZhbnRyMjh2Sit4UG1pMkFS?=
 =?utf-8?B?ZUpzbEd4S0VuT0FKS292bFU1cEpLNzEzT2d4VUZ0RWNSeTBUTStyQ0xKYlFL?=
 =?utf-8?B?enR3aWRoL050VXhDSFVhdjFMZVUxdkwyVWoyUkloZWxJZUpyWFVlUlk1U1FB?=
 =?utf-8?B?Qm94SVJ3UzJoTldINGRoUUJydzRUeHhFNTF5ek9PSzhHRWtXbGNna2Y4M0hP?=
 =?utf-8?B?RkJLaXdqTEMwVWFDazVlbnc0Y0owZmk5cmpWZDF2UUdoUGlzYmw5ekovTnhG?=
 =?utf-8?B?dlJuRGRXV1poNGV5NTJvL0kwRVZqU1drbXBMNW12eDdSZDM1cnJFNUVwYlZI?=
 =?utf-8?B?ZXlyN2NLLzBaQW96WkgxS3RGMUZ3UWMvTzVJK01jbFVyYUNOTGo2MHZGNHR4?=
 =?utf-8?B?MVNSMndDWC9HWUxuUXJyU0JoSWRDNnEvWmM5NE5NRzJuWG8yUFEwUGtyVnU1?=
 =?utf-8?B?U3BUc01OVTc5bXlyUWFzYzJvUFIxRXFRZXlTSE9CZHdtNXRGMFNYTzVvaWpR?=
 =?utf-8?B?b09XR0ZtSFFaMHYyMFZwbXdMM0ErUTVrVHRVOHNyd1lNaDdlazdaeWlNL2Rt?=
 =?utf-8?B?Z3hxU0YrN1pIVHVnNHdPb3djY0cwS1g0MFM0Y3lxdnNaWHpxbklKYlFzN2FM?=
 =?utf-8?B?TGVoc0JIMnFubkwrRm01eE9JRG11a1dYV2tqVkF4V1UyQzNEczA4SGgyUlAz?=
 =?utf-8?B?cS9KVkUreGFpVkoxUWFBSWlGYmx1UWNjeklNS01jbFU4SWdrMUZVbVRVQ1Q1?=
 =?utf-8?B?SlNsTnZ1NHIzaDZsbEZZT0o3Y0dPd01WTUwyTkluMFRGY25vaGZxRkYvMVFx?=
 =?utf-8?B?dHJYT29Ud0o0NW5Ocjg5LzBKYnlqUkt3QU92UzgvOXE4K3kxRURrbFh0b1Fr?=
 =?utf-8?B?SVlJVjl2Ukd0QXBtcjhlT1dsSTVxK1kyQWNOOXFtdVNzSjN6dU5oekpvbEtv?=
 =?utf-8?B?YXIxdHU0MFJSL1lTSDV0Y1dEcUlHWjdaWkdSeVlZRis2YlpkN05Ia2xJWnZL?=
 =?utf-8?B?MEF2QkpJSzQ3amlNU0I1S2hpMU5UalR0NzQvTS95a1BhbzN1V0tQWFFvTE1v?=
 =?utf-8?B?SHpSdWlNRit0ZCs1cjVmTmRwWnlLTTJpZGs2R1AyMnJwWERPdG0wbllzcGpQ?=
 =?utf-8?B?a0JjWkRzWkFPejBqT2hKd2pyU2VrcjNzWFVTQ3I2RVpLM2NvR3lwNWxjSXBo?=
 =?utf-8?B?Uyt4VDgyc2xvTXZhbEt3cjlraTJhWXg1MUJEZDE4TXc3RXoyVzFyTjZBamUx?=
 =?utf-8?B?ZkN3MDdpK3cxWkxNNisxQ2RPaDlWYzVybjJtazBiNTQxbHcwYktwT1JxcWdo?=
 =?utf-8?B?ejVCNEhNYjlIbWY4dVZ6N25XTGNCVUFuaFZtMXBxblNmV2NpK1ZmWVh4U0NE?=
 =?utf-8?B?QkpwbnBkNWh4cVhpWHRiUVEzcjNJNjZPRHFkbUgvbUExSWowSERtMFFUL3ZH?=
 =?utf-8?B?TVpzWU5OSU9QSlpSZ2x6NEdvdSt1K0doN3QyTjVLZlE0eWhacmhEZHVOYmxH?=
 =?utf-8?B?MU54Mm1LNW44ckhrQkwzWVZNcStTaC9GcjVwbERUVkhIMk9DUXQxUmJNbnV1?=
 =?utf-8?B?bG5WTUJXcEl6bFkzZm1zaEs1NnVIVGdkMVR5WXJrOUF3SXBiZ0ExbU9TbVRl?=
 =?utf-8?B?R3VRTS9KOGw0ZDZ1TTcxYTY2NUJSVmlrMVlUMXJjcVpSMXJXMkw5dU1LMmZF?=
 =?utf-8?B?NHBudUV3eEtCdHltaExNN1hnUVFTNVRJRUJpcFBZSEgxUkhXUHhreDdLQ0Q3?=
 =?utf-8?B?aDJFQ0JWQ3F3OHByN0ZIdGJGZG5nQXhZeFpuS1k5Nm1mK3pKQ3BkeS8vNy84?=
 =?utf-8?B?TmdscnFveDIxZTB1OFdDMHBnN3Bkc3NLUlVqN21Gc1lRTkZ2VXZ4Mzc0dlcw?=
 =?utf-8?Q?2/9yPh?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2025 21:30:49.6812
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c48515f8-f074-4861-5c84-08ddbe66b587
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF000015CD.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5981

On 2025-07-02 04:12, Juergen Gross wrote:
> Split init_page_allocator() into three functions in order to prepare
> for sparing some memory from being added to the buddy allocator.
> 
> Use a function pointer for selecting the function used for handling a
> memory range, as this will be needed by a future patch. For the same
> reason make iterate_memory_range() globally visible.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From minios-devel-bounces@lists.xenproject.org Tue Jul 08 21:31:08 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2025 21:31:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1037334.1410004 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZFu7-0007cF-V3; Tue, 08 Jul 2025 21:31:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1037334.1410004; Tue, 08 Jul 2025 21:31:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZFu7-0007ao-R2; Tue, 08 Jul 2025 21:31:07 +0000
Received: by outflank-mailman (input) for mailman id 1037334;
 Tue, 08 Jul 2025 21:31:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qd/v=ZV=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1uZFu6-0007OX-3Z
 for minios-devel@lists.xenproject.org; Tue, 08 Jul 2025 21:31:06 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20622.outbound.protection.outlook.com
 [2a01:111:f403:200a::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d9084b2c-5c42-11f0-b894-0df219b8e170;
 Tue, 08 Jul 2025 23:31:03 +0200 (CEST)
Received: from DM5PR08CA0054.namprd08.prod.outlook.com (2603:10b6:4:60::43) by
 DS7PR12MB8347.namprd12.prod.outlook.com (2603:10b6:8:e5::19) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8901.27; Tue, 8 Jul 2025 21:30:59 +0000
Received: from CY4PEPF0000EDD5.namprd03.prod.outlook.com
 (2603:10b6:4:60:cafe::7e) by DM5PR08CA0054.outlook.office365.com
 (2603:10b6:4:60::43) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.21 via Frontend Transport; Tue,
 8 Jul 2025 21:30:59 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EDD5.mail.protection.outlook.com (10.167.241.201) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8901.15 via Frontend Transport; Tue, 8 Jul 2025 21:30:58 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 8 Jul
 2025 16:30:56 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 8 Jul 2025 16:30:56 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d9084b2c-5c42-11f0-b894-0df219b8e170
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=MYCFCUNYQN4/d7fWP2CKTkHXzfJk9qcoHTtWlVyHMhkKsgHh7jTE4LzB4GVtWV4Wkq2wZ/Uvvi7JxgiDzL9pWEtN9KgKvp9IyKQvOrLyjhicpjegzqVXkkCjONNhC8y8bhCOt4/PFe+aTYn8jGe9N11WI0XmD98HVCflyATL436s3ezInTMt77OqfGaNaxWNjUPMf7iAdzasTQNMNvPg7QmuE7pjGSJg27qb3Oo3hnMrMwWgA6rdIogIzAYAbQJTG5Jvzt9WeJW/2tKObpdnSVSp1a9/mT0BZ7SntO/sKQng0PcrE70Xs1enihu7R9JRMcqLeTQESfUZwpg5Euz1gA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JhrM9xyZkxXtlA3D2N1Ki8GEgNtjIzZuNnU8e8f2vkg=;
 b=CNC2HXl1etVyesPMsm6lxIVDtkAJbdkzoG7H8b9RkpgOtMn0PbhzI7ErEbe5sOSVXl4sQ77b9Crje9682pq/WxoK9ENdYqrS7KLlgC58xAJmYxgmIMGNW0oOHA/x5ZJaakxAYyRT3p89/COr4hSKhH4+gCfwdhbSL4Ptbh/m7H6giRhGr+RB5BN1btlHidirHNENEL9dSjCZd2veh0am5ygQaoyKGLbf+09aJTIawIgwLGePAWFq2/SrbSv1lJl8NO4U3PrQEqP13Gvekqvar9uZJLiGQ9Vqe2RLvQGgJbi9rJAFIUN1qCZdzM0ClrMmroK+Z2npqgoL9u6tfWcY9A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JhrM9xyZkxXtlA3D2N1Ki8GEgNtjIzZuNnU8e8f2vkg=;
 b=JfZU8mgsHWOXhq6eMDrMeXN6/HhshLiaydir4Q5kyjw0wXDUtXDHFf7AZCy+AItsgIDOHgxzYdSbdaZ3kokBs8ygjOJeGtVrco0G+KmANQcpMNZpCp8+GLV+c+iH6nKTnoIetmGvD4c6wkQdM8zbXpRIbCEhoNbnoFxHKrxUUig=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <6f05b130-53c7-4276-9276-a4e8ff681dc4@amd.com>
Date: Tue, 8 Jul 2025 17:13:48 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 06/19] mm: don't add module pages to free memory
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-7-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250702081254.14383-7-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD5:EE_|DS7PR12MB8347:EE_
X-MS-Office365-Filtering-Correlation-Id: 9ddd5972-ea40-43bb-eb9f-08ddbe66bad2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ckkvclNDQWZ1NzhBOUFsbDlOdjAyZGZXeFZ2K2UwV2Y5MjdSQXVBb2I5MjMr?=
 =?utf-8?B?ek54Q0s3WnhZTkVtamIzL2JqZ1VnbmRndldFQ1RuRjd0UGZSb052Wk1KcU1k?=
 =?utf-8?B?ODBaNXE2bXhQbnN5V1ZCZnAxUFRUdHBsVnBqdlRtU1pqemxvc2dIWUNoTlpY?=
 =?utf-8?B?S0dPcGp0aXlnN0NxQ2FISzBFZ0UrbE9jMVVPeHNEa0loK095Sjd6TGJRYzh5?=
 =?utf-8?B?cWdLam9adll1UThTUHlZWUd0bEh6Lzl3SU13UFhSRnJiRlg3bW41VWtKcG4r?=
 =?utf-8?B?M3VTVUZhYVR4N0laYmxidE9vTjVBejFIMWpFYU13R0d2NE1vd1lCWnN4S0Mz?=
 =?utf-8?B?VVFYdVZobWN6Wi9MT0xLL2NTckdMMGk0UzR1ejRzUm1kY3RkL1pGaVpJdCtI?=
 =?utf-8?B?Q1Z0N3Y3eEJ5cVg0WHViaGt4cDFTN0J1alVQNDY3ZE9JdlZ6VzhDVGxzOXIy?=
 =?utf-8?B?ZVJDQnFVUCt2bVVUdUV1RDkrbVhiM1pVc29VSUFweG5iYkRCMWVQdHkwOEpL?=
 =?utf-8?B?Sys2clJLQVBuNU5qczhSNHhzY2U2OVJsdHg5Nll0WnAyV2VoeVdOWVA0c3Nr?=
 =?utf-8?B?N0JEaXBCZTRFaWxHSi9DT1V0VXBRRENsWFBwVFJNbmJYVTI0ME9LY0RjTkdH?=
 =?utf-8?B?MFFtTjB4bGpuOUYwWGFJbHcvMDNnT0hxS1U1MGJYdTNJR3BnaVVmb2ZQRC9u?=
 =?utf-8?B?RmZxWnlmdExRSldvWndyYlZWazZiQjVkVzQxM3FpRFZCelhJdVVPYzFpTVFQ?=
 =?utf-8?B?T1IzTzI4YnpsN01EdWRQa0gzYng2LytvOGwxRFNlL0pkOGVOQmNTcEIwVisx?=
 =?utf-8?B?em4vTnE0ajduc0ZSdjhCQi9wbVFVaFlTL0xFaUdVOUJrY3VRaWhVdmYrVEhM?=
 =?utf-8?B?UTBZN3U3T2xFTVVHdGd1Rm5mMFhjNCtueWIrdjU5K05Kd291Y1o3VksyNUVi?=
 =?utf-8?B?YnJnVkZWV1pZQUNMY1grT1ZubWFKekFudmdGNlMrQXZrZ3QyckEwSTlINWlv?=
 =?utf-8?B?Q0lDVGJmTHRqOW1TR1RKRVR3cCs3Rk8ySGFLM0J3Tm5MNmRBS2kxd1NwOGV1?=
 =?utf-8?B?MVAxaG5BUyttTkh4cnBZd250R3FZSGZCM1gwNEc2cTY3VHV2Zy9wSys4TE9n?=
 =?utf-8?B?TVk1a0lXSWEzS2FpQjJ0bGJweGRMSys2UHZBQWRLOU80YWpwUzE1ang4dXJT?=
 =?utf-8?B?dUw0dCt2WnNka1B6cTN4RGtkcEU2WXJON09uK29sVUJYUWtXZ1g2T0t5Ym02?=
 =?utf-8?B?VVhRbHNCNTVLV01JaWFVK29iK0tCem1aL1l2b1p0VVBHQW9Xd1BGV2hWR0Nt?=
 =?utf-8?B?MkRibFZiWXI2WTlFbFhRYWNpTThjSmdqV0JtOXFqdkR1TVNCdFd4OGlNZ3NY?=
 =?utf-8?B?TEJXZ0o0TkxrT0R1bFM0YU5nbkV5ZVJNdjQ3WXdnaHVFWDNCUW11a3FDNnU2?=
 =?utf-8?B?aDk1SS8wMWE0UEJVVmUrb3QrbkQ4S1VVVFIxMURMbHVSZ2lldG1kSkU2c09i?=
 =?utf-8?B?bG00TjFtKytNSGZmWTd4dnViZlQrSjhxcmV4YWFjTXp0Zi9BbzJycVpkVSt3?=
 =?utf-8?B?TjVSVHE1Vjh2cVF1cnBOd0tLdzNrQkZ3RHNFeVhpaFF2WUR2WTZRMVVTRHFY?=
 =?utf-8?B?WFVGSlhPWFozemZBbjFMNkFpSUhHdVlsZTZmS3RUd3FPMzZadkowNmRMNWtL?=
 =?utf-8?B?UlZjZWFTSUg5QWZ2QXZ1dVkrdnZCLytsbThBUnlMQlFVaWZqTUlTYlNEQ0F6?=
 =?utf-8?B?dEE5MGE2R2FJMmRBNnNic0dZajdwWWNnODVZUnRFUnRON3hERjUwNiswRXhM?=
 =?utf-8?B?MWFrS09rekJYNnJHUXk1d25PNTE5ZlNvbnJoTkU3Z2hwZ0xJTElIWmNkYlJP?=
 =?utf-8?B?b3NGa2g2dFVqSlZUOGw5QSthL1kvQkFRVms5THV3blN0eDV0NVl6bmpLVy9C?=
 =?utf-8?B?MkZOcW0yd3EzZytFenMrMThOS1libDliVElybGlFVFNSMklzY3c4ZWN1alVQ?=
 =?utf-8?B?Mzdrc2ZUbitubGxoOEEvTlJzZi84NlBJcHh2RTZnNHhaNG8vRkJrd3F6TEhC?=
 =?utf-8?Q?iy/Rux?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2025 21:30:58.5911
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9ddd5972-ea40-43bb-eb9f-08ddbe66bad2
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000EDD5.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8347

On 2025-07-02 04:12, Juergen Gross wrote:
> When initializing the memory allocator, don't add memory pages of
> modules and the initial boot info structure to the free memory.
> 
> This is relevant only when running in PVH mode, as in PV mode only
> memory above the initial page tables is added to free memory, and the
> module and start_info pages are below the page tables.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>   arch/x86/mm.c | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++
>   include/mm.h  |  1 +
>   mm.c          | 21 +++++++++++++-
>   3 files changed, 101 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/x86/mm.c b/arch/x86/mm.c
> index 26ede6f4..7c3c83be 100644
> --- a/arch/x86/mm.c
> +++ b/arch/x86/mm.c
> @@ -78,6 +78,10 @@ void arch_mm_preinit(void *p)
>       last_free_pfn = si->nr_pages;
>       balloon_set_nr_pages(last_free_pfn, last_free_pfn);
>   }
> +
> +void check_memory_range(unsigned long *from, unsigned long *to)
> +{
> +}
>   #else
>   #include <mini-os/desc.h>
>   user_desc gdt[NR_GDT_ENTRIES] =
> @@ -125,6 +129,78 @@ void arch_mm_preinit(void *p)
>       last_free_pfn = e820_get_maxpfn(pages);
>       balloon_set_nr_pages(pages, last_free_pfn);
>   }
> +
> +static void check_memory_range_conflict(unsigned long *from, unsigned long *to,
> +                                        unsigned long chk, unsigned long sz)
> +{
> +    unsigned long chk_end = chk + sz;
> +
> +    if ( *to <= chk || *from >= chk_end )
> +        return;
> +
> +    if ( chk <= *from )
> +        *from = (chk_end >= *to) ? *to : chk_end;
> +    else
> +        *to = chk;
> +}
> +
> +/* Reserved memory ranges not added to free memory. */
> +#define MAX_RSV_RANGES  1
> +static struct {
> +    unsigned long start;
> +    unsigned long size;
> +} reserved_range[MAX_RSV_RANGES];
> +
> +void check_memory_range(unsigned long *from, unsigned long *to)
> +{
> +    unsigned int m;
> +    struct hvm_modlist_entry *mod;
> +
> +    for ( m = 0; m < MAX_RSV_RANGES && reserved_range[m].size; m++ )
> +        check_memory_range_conflict(from, to, reserved_range[m].start,
> +                                    reserved_range[m].size);
> +
> +    mod = (struct hvm_modlist_entry *)(unsigned long)
> +          hvm_start_info_ptr->modlist_paddr;
> +    for ( m = 0; m < hvm_start_info_ptr->nr_modules; m++ )
> +        check_memory_range_conflict(from, to, mod[m].paddr, mod[m].size);
> +}
> +
> +#define max(a, b) ((a) < (b) ? (b) : (a))
> +
> +static void pvh_reserve_start_info(unsigned long *start_pfn)
> +{
> +    unsigned long end = 0;
> +    unsigned long start = (unsigned long)hvm_start_info_ptr;
> +    unsigned long end_pfn;
> +    unsigned int m;
> +    struct hvm_modlist_entry *mod;
> +    char *cmdline;
> +
> +    mod = (void *)(unsigned long)hvm_start_info_ptr->modlist_paddr;
> +
> +    end = max(end, start + sizeof(struct hvm_start_info));
> +    end = max(end, hvm_start_info_ptr->modlist_paddr +
> +              hvm_start_info_ptr->nr_modules *
> +              sizeof(struct hvm_modlist_entry));
> +    for ( m = 0; m < hvm_start_info_ptr->nr_modules; m++ )
> +    {
> +        cmdline = (char *)(unsigned long)mod[m].cmdline_paddr;
> +        if ( cmdline )
> +            end = max(end, (unsigned long)cmdline + strlen(cmdline) + 1);
> +    }
> +    cmdline = (char *)(unsigned long)hvm_start_info_ptr->cmdline_paddr;
> +    if ( cmdline )
> +        end = max(end, (unsigned long)cmdline + strlen(cmdline) + 1);
> +    if ( hvm_start_info_ptr->version >= 1 )
> +        end = max(end, hvm_start_info_ptr->memmap_paddr +
> +                  hvm_start_info_ptr->memmap_entries *
> +                  sizeof(struct hvm_memmap_table_entry));
> +
> +    end_pfn = PFN_UP(end);
> +    if ( end_pfn > *start_pfn )
> +        *start_pfn = end_pfn;
> +}
>   #endif
>   
>   static const struct {
> @@ -888,6 +964,10 @@ void arch_init_mm(unsigned long* start_pfn_p, unsigned long* max_pfn_p)
>       if ( max_pfn >= MAX_MEM_SIZE / PAGE_SIZE )
>           max_pfn = MAX_MEM_SIZE / PAGE_SIZE - 1;
>   
> +#ifndef CONFIG_PARAVIRT
> +    pvh_reserve_start_info(&start_pfn);
> +#endif
> +
>       printk("  start_pfn: %lx\n", start_pfn);
>       printk("    max_pfn: %lx\n", max_pfn);
>   
> diff --git a/include/mm.h b/include/mm.h
> index 1dc89ddb..995e9862 100644
> --- a/include/mm.h
> +++ b/include/mm.h
> @@ -74,6 +74,7 @@ static __inline__ int get_order(unsigned long size)
>   
>   void arch_init_demand_mapping_area(void);
>   void arch_init_mm(unsigned long* start_pfn_p, unsigned long* max_pfn_p);
> +void check_memory_range(unsigned long *from, unsigned long *to);
>   
>   unsigned long allocate_ondemand(unsigned long n, unsigned long alignment);
>   /* map f[i*stride]+i*increment for i in 0..n-1, aligned on alignment pages */
> diff --git a/mm.c b/mm.c
> index 858dc108..8c41d2f2 100644
> --- a/mm.c
> +++ b/mm.c
> @@ -185,6 +185,25 @@ static void add_memory_range(unsigned long r_min, unsigned long r_max)
>       }
>   }
>   
> +static void consider_memory_range(unsigned long r_min, unsigned long r_max,
> +                                  void (*func)(unsigned long, unsigned long))
> +{
> +    unsigned long from = r_min;
> +    unsigned long to = r_max;
> +
> +    while ( true )
> +    {
> +        check_memory_range(&from, &to);
> +        if ( from == to )
> +            return;
> +
> +        func(from, to);
> +
> +        from = to;
> +        to = r_max;
> +    }
> +}
> +
>   void iterate_memory_range(unsigned long min, unsigned long max,
>                             void (*func)(unsigned long, unsigned long))
>   {
> @@ -207,7 +226,7 @@ void iterate_memory_range(unsigned long min, unsigned long max,
>           if ( r_max > max )
>               r_max = max;
>   
> -        func(r_min, r_max);
> +        consider_memory_range(r_min, r_max, func);
>       }
>   }
>   



From minios-devel-bounces@lists.xenproject.org Tue Jul 08 21:31:18 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2025 21:31:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1037347.1410017 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZFuI-0008Eq-GV; Tue, 08 Jul 2025 21:31:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1037347.1410017; Tue, 08 Jul 2025 21:31:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZFuI-0008Dd-BV; Tue, 08 Jul 2025 21:31:18 +0000
Received: by outflank-mailman (input) for mailman id 1037347;
 Tue, 08 Jul 2025 21:31:17 +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
 <SRS0=qd/v=ZV=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1uZFuG-0006hl-Ve
 for minios-devel@lists.xenproject.org; Tue, 08 Jul 2025 21:31:16 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20628.outbound.protection.outlook.com
 [2a01:111:f403:2009::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dfeef1fb-5c42-11f0-a317-13f23c93f187;
 Tue, 08 Jul 2025 23:31:15 +0200 (CEST)
Received: from DS7PR03CA0320.namprd03.prod.outlook.com (2603:10b6:8:2b::15) by
 CH1PPFC8B3B7859.namprd12.prod.outlook.com (2603:10b6:61f:fc00::622)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8678.27; Tue, 8 Jul
 2025 21:31:11 +0000
Received: from CY4PEPF0000EDD2.namprd03.prod.outlook.com
 (2603:10b6:8:2b:cafe::e5) by DS7PR03CA0320.outlook.office365.com
 (2603:10b6:8:2b::15) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.21 via Frontend Transport; Tue,
 8 Jul 2025 21:31:11 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EDD2.mail.protection.outlook.com (10.167.241.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8901.15 via Frontend Transport; Tue, 8 Jul 2025 21:31:11 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 8 Jul
 2025 16:31:10 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 8 Jul
 2025 16:31:10 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 8 Jul 2025 16:31:09 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dfeef1fb-5c42-11f0-a317-13f23c93f187
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=C22oqjsEaKf7CGkEnGG0uJexAA3qfqZ7JeCwwKYkw0++S3Oac4zCONMFQS5ohQZ7aMpieW/brfr9WXXq0aE/SND1P00o73nB5zem6Gq2k37/+Gr4/6jk/5LXMb583sS1Zn5f31ukSxQF4XeTbHAjRsfbqMxYI5gkCAyfqSfEWny4J9bm94O7kZDfrklAmSBCuht8Nl+3B+wSXuH24hVec6P+wrgBCYdyCP5VvKUS30ocQxNtXfJ5YOkeSEbBxItMB+1QAv4ZttvBkP7Tis/Z9rUcCPDmX6MylCSteH7GP+GIBqqKMeeZvKnyowvAKzeX6bPokpUEFeayfP9ernH8KQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jhngEDgbrB/8gGUD5Iz+zChPA8uXe2n06pB1XDHR4d4=;
 b=WSEQwVIwGWUjHtfY8OTOviazgz4wmnx4/AzADtIfzftmrh0eAf3nfypdxHb2Hz1zQaYuYxzN8WrDvcHg5bX1u5VUbGMVcdXHZ+4927OLYlbAELwGZLYDnctCQ0zcyDpTfDSyrFl2EN0/m4B8Hy+S64TKlqCAAia9WBRJHREVq7TYK1haguQ/bXyxR73G4S7UL3mgzOmtzZJtkuZRbPcnFOjj+UB5wH5YCiF2exJYnreXdwVk4sYW+5yRFxZEnVfjUb+n8w1Y8F5GKJ5F13Pk8GmeQrBslWIiDbBzkokcMmKJihbcIYwAzHvZlzv6e6enZQzfqqeZURGso3m9V2In2A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jhngEDgbrB/8gGUD5Iz+zChPA8uXe2n06pB1XDHR4d4=;
 b=nJqojC+S0pDMzTodpc7eTfIiT3NC5WDHgkiEG7ePgWR85CLZs2JzEJRsimWaU6dvnv5Yd7nfD99Pnv/hsyQE7fQM8P3t3YSE+BthN6n05Cs8PhjHzEmvmtjPQuJZ/T4ZRMEQgjEDntKtxyJWhDUKC0oWlpMBMyE95pHnYkyG90E=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <625cb0cd-771b-4ea2-87ee-5ead311b1c00@amd.com>
Date: Tue, 8 Jul 2025 17:14:02 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 07/19] kexec: fix physical addresses in start info
 data
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-8-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250702081254.14383-8-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD2:EE_|CH1PPFC8B3B7859:EE_
X-MS-Office365-Filtering-Correlation-Id: 47dbcf20-8cbd-4f88-2918-08ddbe66c25b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Z1VxQTF3dlJnOUt6bHI4ZTdzcCsrNzJUQVB0M1FGd2prZSswVTZvYndQUU1r?=
 =?utf-8?B?YWFHSHVZMDF1SXE0aUZ6Y24zR3hCNGRaT3JzWlMvTmh5Wi81K3pqaloyd1RC?=
 =?utf-8?B?VG5waFUzbVEwdHdYc21lam93OHRCWmVMWkxoNVlOOG9oODArQ3Z4aFhXWGJq?=
 =?utf-8?B?MUZvRlB6SnYyQ2tRMlRnRG9ocDFlemQ1MWRENm5UT3Q5Mzk2YnAzbjRQckpG?=
 =?utf-8?B?RS9TdHBHODJaOGh1U0oxd2dFV0hWeHlmL0JrVmdNckFWV0wyVzI0YThvSENk?=
 =?utf-8?B?NG53N1J3VDQyQVp2dHFKdGdRaThtZWtUVFhCWXdwcjBnYUZWbmVUMURIRG1V?=
 =?utf-8?B?bUdORkx4ZzZiRGl4YWRSbkZzVnNSelRVdWQvdlV6dFdvZDlic0xvRjdQRHo2?=
 =?utf-8?B?TXphTU9kRGV3b3lWekFFcGlXK3ZpRlZ1QnFGWXRPZGVvY0xXZkliaE1GcUFL?=
 =?utf-8?B?UEZ6eWpiNlFWckZqRk1Zc2NSWEF0Wkh0SWhPbWk4bFZWZHUyYkVLM1k3cDFK?=
 =?utf-8?B?aFVsczB3SktKdUp2d2dwOElnbU5lWVk2ZmRuaVNQTTc5RG5Ib0dFV1dwbXBa?=
 =?utf-8?B?Z3duSEFqaXhudGs3UzBhMG9QcUhEZi8wRlQrUFNsRUlMcjRRd3U3S3VhQjNP?=
 =?utf-8?B?bjJpY0RobHFLNXlrMTZuYjV0bjZCbXgwU1JKTkdVTTI2RUtUL0MybDFjbnRa?=
 =?utf-8?B?V2VnRlJhWjFQelpHc1FIcG1nckx4NVdtSGs1MXZUTTZvdEdUK3F4NEwya3hO?=
 =?utf-8?B?S044aFdVY1gxRERSWXlWdlkwbmNkM2J2WEZWWG8vTTI3Y09TSnU5a3cvNTl4?=
 =?utf-8?B?WUNZL08xcjkwWERaaDRXczRnS04zUFlqdVVDeFRQUmxNTGRmS0swU09UUFdp?=
 =?utf-8?B?N3F4ZHNmZWtEWWZyc3lEcm5CdGdUd2N4TTA3WmZEbllnSmdIdkROdDJjU3pz?=
 =?utf-8?B?WHAyK3ZvV25lZUsvaisvVFR2NEtYVEY5NFhGK2g0bjhlOWJmWGlveEJXdzZt?=
 =?utf-8?B?RzVTaGpuRUoydWwwcHZqSXUxVkxVUGRoSU9MemZrMWRtRFo2MVhBbWlXOTBy?=
 =?utf-8?B?N3VUY1d6YlRob1JROU1TVk1oOUdtWnoyNG9zajk0a0hNMi80NEE5SE45NWN0?=
 =?utf-8?B?cFEza3JZcllvOU9NeXJyblFrNzljSXVHL0c4L1NaMHV6eW1jaEtyRGNUWVlL?=
 =?utf-8?B?T1R2K0h2MHZDbkRGR2MzQlVidUk0ZnV0dFBhUUJYMWVuNTNRL0J4enFpZSty?=
 =?utf-8?B?di9sRHJOMWNIWWo1RFRtbjJoN3J2K3J2UG1qakdhZnVHUWozU3ZCajM1UENS?=
 =?utf-8?B?Y3J5SVEvUzQ4QjdaN1NxMFJlMFRvYU16L09rV01NcUJZSUNXbkdjRUtMSWxS?=
 =?utf-8?B?ei9KUlNQUTNjUWZmUHZrSER5RS93WG5CSHgxbi9SRTEyU2MvOE9UcGZtalF5?=
 =?utf-8?B?L29vL0psdWNySXBWR3c3bysvdko1czVNM0tNcVgzMitlS2RQa2U2dGFCNU1Z?=
 =?utf-8?B?aE94WmhkdFMvSm9ZN0lqZWZScC9ML2lEVVdXMVczK00rU0U3cDNNU2JoN1Nk?=
 =?utf-8?B?b2NjQUNMK28rMm84Z0dJTUl2alAxbVBUY3hLbzcxVE1pL1IveUpTbW1oTXZ2?=
 =?utf-8?B?ZmwxOWFmMktzZ3VRUVNJY1dGOEFYbXVIK1VMMGE3T0oyRlV1dWEvREJSQ2JV?=
 =?utf-8?B?UHlZbXNtdW5zSk1VRWwzbHFBeEtqSkpWZFQweXJURjc0SEpXN0NMOGExZ1Zo?=
 =?utf-8?B?T3padTlJMjI1T25RVlNnQXg3M2tUYUF2K2dMRWJlWWpBZkFpV2pkTGlEcWtH?=
 =?utf-8?B?eDcxR2tQUEU4TGtJTjYzeENybVRTd1pDUHE2b29rbHJFOWJoUDdQckx5R2pZ?=
 =?utf-8?B?SjU1dmNzZFVJSzNRaFdRSGF2WEU0OUhoSmxlSk50RW5NWDE4OERGSnJRczRw?=
 =?utf-8?B?YjVWS2JDb0ZRdVhZdTRJL2FEODJtb0h1UHFCVDNBSThMVnA0bldLMlM0bnlv?=
 =?utf-8?B?MlRiejdsbnZ0b3pEaWhtQWNyQzNsdnhlZEQ2MHoyeHNXbzBKWU1IYjdVNGZH?=
 =?utf-8?Q?frh4w4?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2025 21:31:11.2290
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 47dbcf20-8cbd-4f88-2918-08ddbe66c25b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000EDD2.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH1PPFC8B3B7859

On 2025-07-02 04:12, Juergen Gross wrote:
> The physical addresses in struct hvm_start_info are pointing to the
> memory where the data is being built instead of the location where it
> will finally be moved to.
> 
> Fix that.
> 
> Fixes: b7994b6409a4 ("mini-os: kexec: build parameters for new kernel")
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From minios-devel-bounces@lists.xenproject.org Tue Jul 08 21:41:13 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2025 21:41:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1037380.1410036 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZG3s-0002RN-CY; Tue, 08 Jul 2025 21:41:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1037380.1410036; Tue, 08 Jul 2025 21:41:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZG3s-0002RG-9q; Tue, 08 Jul 2025 21:41:12 +0000
Received: by outflank-mailman (input) for mailman id 1037380;
 Tue, 08 Jul 2025 21:41:11 +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
 <SRS0=qd/v=ZV=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1uZFv3-0006hl-CA
 for minios-devel@lists.xenproject.org; Tue, 08 Jul 2025 21:32:05 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20612.outbound.protection.outlook.com
 [2a01:111:f403:2418::612])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd7cc1b3-5c42-11f0-a317-13f23c93f187;
 Tue, 08 Jul 2025 23:32:04 +0200 (CEST)
Received: from BN0PR04CA0161.namprd04.prod.outlook.com (2603:10b6:408:eb::16)
 by DS0PR12MB9038.namprd12.prod.outlook.com (2603:10b6:8:f2::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.27; Tue, 8 Jul
 2025 21:32:01 +0000
Received: from BL02EPF0001A102.namprd05.prod.outlook.com
 (2603:10b6:408:eb:cafe::35) by BN0PR04CA0161.outlook.office365.com
 (2603:10b6:408:eb::16) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.27 via Frontend Transport; Tue,
 8 Jul 2025 21:32:01 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF0001A102.mail.protection.outlook.com (10.167.241.134) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8901.15 via Frontend Transport; Tue, 8 Jul 2025 21:32:01 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 8 Jul
 2025 16:32:00 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 8 Jul 2025 16:31:59 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd7cc1b3-5c42-11f0-a317-13f23c93f187
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mlaWPyXY6xiPb0yKh/HXPC2S3SB4gCWbFSy2MXZp7EmRuvZTh56xSiX/FtWEOzRPBBpC3tobKv5km/aMMqU6aOzbZ/HQlp+W2N/Yw2oSZpDGVCavHsZ9zF9lsi2KZ+SyfIv0nWI/ON7hU6tsk5utP0Ov2cRRB+tz37gTEzCsyzYuOX56MhHbJ80ACl16ifC7Ix4ZYs5ydXyUITcw4PbeILK0odFeNehKfb3UiUfXfkWMbMGE16qSSbTPt46MUXAuKvFuNABjcorpEnt4jf1MPUMakYMRtKl6hLxc902K+h5H9pxfNyNrCotL5ztTREJTXED413VefXFO6CRib/c/dQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mbmJPp+fuhXAPyS7o+C1hFxdZ62A0iAL7FtMyuBSruo=;
 b=qILMEOfetZObEY55zIvYw64jpG8Wib5OHl+w+79NRLduUvyFNCvTVHEbiVHKbDZu23+ohN/e11nQFVSwhxS9SmGzMhWk7RF7Aco6yAOWe4IDo7v6vwS5g4pPtRiCX3vMIMahmnMjCPWStFSHlnlXYmQft+GIxF2ZmAlslmdsMJiW51JNapDEaFbXGupwlOAENJp/pdeSlvw+RgxGvdnP9Xdam2LOPMb+kwv9QIVHczllsn2n/+tCLUMmF1UKpsSIKonc100YLaciVcGhJGK58mXPtXjOaD1984YShJs/swVyLXi7Bw/iom9fJOEBjXTQgTUG73blJ7vdO/ByK/M5vQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mbmJPp+fuhXAPyS7o+C1hFxdZ62A0iAL7FtMyuBSruo=;
 b=u8SN4qE+r86epFDKg4hV+3wKabSHWQF/RdpBThQQZyHlreOTNaJAVQB3BqbzIlZTD2PSC8JErwh9JiulakCL1/PMfVLDqqmL8BmHcUHSlw3e2+GkNx9QDXk6NDY53hqwSKd+H9FJGKEJy+SFLcJTVmNLLoanD3kP1gx5IPqCyPw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <513ef9f8-bb20-42e9-be85-0065e67d76f8@amd.com>
Date: Tue, 8 Jul 2025 17:14:47 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 09/19] kexec: restructure building the start info
 data
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-10-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250702081254.14383-10-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A102:EE_|DS0PR12MB9038:EE_
X-MS-Office365-Filtering-Correlation-Id: 45ea5dc9-0bf9-44df-dfcf-08ddbe66e045
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?R2IyazEvQWFFb2FBeXRrK2VEaG9pbVFOYVVLZS9uMzl4QzY2VVJZKzlhWjU0?=
 =?utf-8?B?b2MydkxYMWN0dlZvWWthelE3cGJpK0JqV3NBczVncFFETXRPNkdVSmxFdHZv?=
 =?utf-8?B?Z2dTVUVVVXpIWjVUZnVTWEJlYkY4dnVJRHd4a2lMdXdLL0JIYkZDbUNkRGhG?=
 =?utf-8?B?MXR1c1I5d1JXY3c3OUtFU2ZGL1JJNGs0cWgwZTZsZ2Q3VURwZXBwS0FQRitt?=
 =?utf-8?B?ZUxGMTQ1YmIwNWNBaWZwOVZPN0EwUDQ2MEF6MkUydjZ3WDVjU056T1p5Y1Uy?=
 =?utf-8?B?SHJyYTNuVTZXMytJK2dTeUVjWklDOFhGSlNGekk0SlI4RHFRL1pyMFR3d0dT?=
 =?utf-8?B?bVp4MTloLzFVVXNud0hRS25mQktNQzN2Qkd0bUtVMDBHaTRkcCtGcVk2VnVW?=
 =?utf-8?B?cVJtZWd6STkyNXYyTmZYY0RxYnlhajg5N0wyYU1GUjNWWVBWUXdxTHdLSlBr?=
 =?utf-8?B?TGFkd0xiKzJqejFjQTc1c1N3V3hpV1pVd29DVkZFU25RT0xRZnlIRnRwclVN?=
 =?utf-8?B?c1IzS2V1emZMdTBGZVJVMFFTR2oyUmc0dG55aXRSbnlESGprRFYxRW01QzRG?=
 =?utf-8?B?bHkySVB1c1l1cmVuK2ZjaUhCVlJ0OHRiWUV0VmE4M3E2eWJiOXBVWDlxUDgz?=
 =?utf-8?B?cUFMNWVKdlJRTlVrZnZnQzU0ZE05T0wzRFJwSkM4a2VJSG5QbUt2ZTAyUUFr?=
 =?utf-8?B?YlBFb0lIOGkxR3YzZVJCbFBoQS9mZ0RteThXQy9TWVJqSHl5YkVFUDBVQVdi?=
 =?utf-8?B?dmI0RlNaRmxHZmVlYmg5N1Q1OGx4T1hlWGRoT3lYQ2QrYXVHM1oyOFRmS2lW?=
 =?utf-8?B?RndESWovNGxJYWZyK0JCTFBzR08xVHJGQWc3WGVsenNzM0VuNjFBZnBpeklm?=
 =?utf-8?B?UHc1OUpBTkE3U1BMWG9UYWxxbStaeGw0eHVzczZ6WjNUVmpqcGN2K3o2MDJz?=
 =?utf-8?B?YlltT2ROQWJ6MERyenpJMjk3MzcyYVVuSklrSWJ6TjBTbWlsYnR1YmxTNWUv?=
 =?utf-8?B?RjNxS2trWE00eTh5SHlSeWNOUmVmNlhiRG03STJ0bm5Rc3RPZlI5U015MHdU?=
 =?utf-8?B?Uk85TmRUVFBPeERtNDg3ZUxBY21aNTdRdjFXNytVYlA3bnZKd250WUk3YnUz?=
 =?utf-8?B?ZldJdG55OHlJMVF6eVNWNW1MOS9YTGgwSmFMMFNzTlM4dVhpRWhTY0hOSUEz?=
 =?utf-8?B?MW1qZjJaUXNRREYrSFN2VmFjV1UvQ052UWpIY1BqR2hZNVhhWkYvQTIwRWRF?=
 =?utf-8?B?YzJ1OE1GSEowVnJNQVdVVlFUT1JzZkxlOElXalFnWk9ZWGkvVU5CdEI1OWFt?=
 =?utf-8?B?V3FwcEsyRzF1d2RCelZkTFZ1SzdLc3JkYkZkdTJ6VkQ4L3QydW5vRXVwMnpl?=
 =?utf-8?B?VExxWFJMVzdNdzR2VlIvYnlNNWp3YlRIQ2RxbXdRL203aVhsZHZMcmFWaDMx?=
 =?utf-8?B?Y0lpUHdObzJWTEZCWTFjandtbC9POWt1WklFcFdKTGVMRFY3Zlk4amRPa29r?=
 =?utf-8?B?WlJUZXBUZkd6WlpXV0o0OTc3UFZ0VjdUcWc1end1MThrWFBCTzNlVTgvOGNT?=
 =?utf-8?B?Q0haU25HVGgzZEpoWXBaUkdlRnVtTkswOEpmWGFrQUtNRG4wQit0bS9Bb05o?=
 =?utf-8?B?V1JyUHJSNHgrbSt5YXY0bUhlT243TUtNNXdPaUFFTGoxRlFQVEhkVVdXRExk?=
 =?utf-8?B?TjBzNWw0azRrbW9Da2dhendYNjFoRkI0RlFqMWkyU0pEM2hZYkh0QnlRL2to?=
 =?utf-8?B?TzZFT3hhSk1TcGF2RWxhWVFBNUdWRlUvK3hLL0V2VEx3VkF6bWNGc0Y3OXZn?=
 =?utf-8?B?K1Q5RHFkQXhCK0VMNG5DclFEZTJQZ3dIbUloVndxRjVaRDc2ODhRa3o5RGJ6?=
 =?utf-8?B?MzhMY3lJZEdtemZ5MGNkVTRjMjZwa2o1cnRwdFZpNjg1Wm9RdFBPckUwUXI2?=
 =?utf-8?B?ajNOMXBtTHB0QzYwblYrRDNYSU4wUzFqcmYweU5nTmZaenNibXYwZEVITkhh?=
 =?utf-8?B?cjZuKys1Q2QrV3NITHpFM0xnaXM3VDlZMlJucFI5Vnh2cFNHZjFjUmlMOFF0?=
 =?utf-8?Q?HRFSl4?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2025 21:32:01.4654
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 45ea5dc9-0bf9-44df-dfcf-08ddbe66e045
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0001A102.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB9038

On 2025-07-02 04:12, Juergen Gross wrote:
> Instead of setting most of the struct hvm_start_info fields first and
> then building the leaf data, restructure kexec_get_entry() by
> using an opaque "next" pointer where the next leaf data will be stored
> and handle that leaf data together with the associated hvm_start_info
> fields.
> 
> This will make it easier to add new data items without having to
> rewrite large portions of the function.
> 
> Signed-off-by: Juergen Gross<jgross@suse.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From minios-devel-bounces@lists.xenproject.org Tue Jul 08 21:41:33 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2025 21:41:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1037388.1410050 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZG4D-0002rU-Lv; Tue, 08 Jul 2025 21:41:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1037388.1410050; Tue, 08 Jul 2025 21:41:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZG4D-0002rN-Ij; Tue, 08 Jul 2025 21:41:33 +0000
Received: by outflank-mailman (input) for mailman id 1037388;
 Tue, 08 Jul 2025 21:41:32 +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
 <SRS0=qd/v=ZV=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1uZFur-0006hl-6j
 for minios-devel@lists.xenproject.org; Tue, 08 Jul 2025 21:31:53 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2061f.outbound.protection.outlook.com
 [2a01:111:f403:2406::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f5e91b60-5c42-11f0-a317-13f23c93f187;
 Tue, 08 Jul 2025 23:31:52 +0200 (CEST)
Received: from SN7P222CA0004.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:124::18)
 by SJ0PR12MB6832.namprd12.prod.outlook.com (2603:10b6:a03:47e::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.27; Tue, 8 Jul
 2025 21:31:48 +0000
Received: from SA2PEPF000015CA.namprd03.prod.outlook.com
 (2603:10b6:806:124:cafe::9b) by SN7P222CA0004.outlook.office365.com
 (2603:10b6:806:124::18) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.27 via Frontend Transport; Tue,
 8 Jul 2025 21:31:46 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF000015CA.mail.protection.outlook.com (10.167.241.200) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8901.15 via Frontend Transport; Tue, 8 Jul 2025 21:31:46 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 8 Jul
 2025 16:31:45 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 8 Jul
 2025 16:31:45 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 8 Jul 2025 16:31:44 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f5e91b60-5c42-11f0-a317-13f23c93f187
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=fk65MYOMeNx/S3F5yiupCOufauHMylUsxryeiqene7EAt6SwLF2r9deq9/oq2N85OC3PZw9n5a9kVXULNYj9zgrK6+FuwneJWwNMqTypru/uvOif9f6Ay3Al4WSFQ2yPnOY8qVJIt9AxR4rqxJIDVSfEX0ipUUe815J9FSbRaO/pQNSMQz4Mf2OYCZY5eOC3PwWmxajy2QxRElcLDUM4ZP5r4fwFpFfkY0hMbJqAFY9EPWJbrmCH5RZXtCnq1/07WXUarR8Hz1mv8YIiilBK/FobsNQJ/3MX8pIz+7I15U4JnXOoFhn2creD3SMC470yuCgo7jrzf3shHcntMquq8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nDpEFlCoXVD7ENnADuKDW8nwDvpTX/4/kG//QGY/Szo=;
 b=oa1SlA1cPokJqGEp4kCeyF6eI5q02kCpKWUvwiGikiO4kN18Mkh567jjt2VY30E25TvGhhFXJvA88av6pUfvXxlkawzh3oII+2EW6O95/4Ew2j296F5MKB8Rp/D4pmvAyNzqsJTJPaVJcycXniXFgWymsBX6mEoDg6B4pvhv6lZAqv6nLcMArWVUNL9Dn9X8sQUW7YG9i5KaeQJ6iYm+AILo5qgRIb/vopUB+bNfgwUhxZz5JKxwO29X1oXWyqs/wEvT7kUeA5YdiAb6A1W4F2vzAzAk/PUkSRVYd0oM4P/RmheOFEwCxuZ00OPmi4sZmxlxcS/6D5ivjj3nv/Jnmg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nDpEFlCoXVD7ENnADuKDW8nwDvpTX/4/kG//QGY/Szo=;
 b=IdL9hwYbFRvHvuf7dc3NIzJoeKAS39O4TEx8IZWHy+hZywqAFds1cwAW7eV44xE7QJx+v+1jYECTO6yWBqhRrrufdkMWNmRiqK5I7FYs9XbO0smEfeU3d6Z1vrNz+7wW4OsQ5ue/hLsDJp1hliPmU+nrfP4j25NuWr4TDAfH6dY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <fe9ea209-6a41-4448-b171-bfa7e639989d@amd.com>
Date: Tue, 8 Jul 2025 17:14:37 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 06/19] mm: don't add module pages to free memory
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-7-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250702081254.14383-7-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CA:EE_|SJ0PR12MB6832:EE_
X-MS-Office365-Filtering-Correlation-Id: aca3e5d7-813a-416a-7078-08ddbe66d74d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|82310400026|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RVRUb2RCQXNicnpQdHpWS0VNaGJPSTg4NHNGdzZCazNQMThrQ2pFbGt2eEZz?=
 =?utf-8?B?R2pjWHZVMlFuTThNVUx3RkdsNE5VWUNuV0I2cFkrNHVwK1ZBWlpXQkFQdDQw?=
 =?utf-8?B?blpBaTNzYm01T21IejdiQ1FHQysrVEdRTmhKaERSaGlxM2lrblpZNkhlWnNw?=
 =?utf-8?B?VUx4TmxYclZqaWQvTDYxbWtML25IRXRQa1lHK1l1TTloWXk3UjNGTGJMWUJW?=
 =?utf-8?B?eGhuRDFBZzZRZkY4KzlVWjBtRUZsYzVjdlBUYms4ZERHdTluTjFiODVDTk9h?=
 =?utf-8?B?UUI5VVJyYnVnN1JveVRpeWhZTmJva1hDckh2amhwVHRhY3ZYRFh5eFhJSGFh?=
 =?utf-8?B?aFdkYWJ2T1RjRzVvL2pabS9SOHZyT1Q4MzVqM1c3YmNBSHFxZDgxMXN1L3Ex?=
 =?utf-8?B?NVgyTUhoa25vOUV0S1JTd2RGeGgzc1gweFp0OEpBQU4zaXlPTUpIcWtXZjNH?=
 =?utf-8?B?SUhZVlhiZkRaSmZSU0NRMnNCUHoyOS9ndUI5R1ZNajhuSlN0d0gyTlI5RVpZ?=
 =?utf-8?B?RmtTZE5hSjhPZDhOdEFKcjJtcmYzcEVKSW5WK21SaEJmazV3NS9ZZXhQQzlh?=
 =?utf-8?B?Y3FCcHJEOWZCY1I2TmtIaUc2NzVicFV5QkZoMWdxSnBnQytWL2FVQWdiR0JZ?=
 =?utf-8?B?N2EwNXhSbUl3b0tRWmtXNzBxeXNEdjJ6ZERnT3c3aEY3VmRuZDZrTkJHR2lQ?=
 =?utf-8?B?K3pteGxtRGphRkxycDBScE1QMGpKR21MVHFYT3pVbVNLUmxUQnMrRlYvM1hx?=
 =?utf-8?B?eDNxUWdXVXBtU3BzNEltNUtUcG5JMFkwMTBlanB3d1JsRHlRTTMzaWo0OURV?=
 =?utf-8?B?MkNiTzZwZTZPbUVObnRLdERRRnVTZXY0OGhjYmc3UEJIaXlQL2dYc0tDOFZB?=
 =?utf-8?B?aUg5ckNJRHFYQTdrS3lIT1ZKWHRsSncxbzhGTWhaVHdmeDQ2QkR5Qnp4SEw5?=
 =?utf-8?B?RnZCRVNsRzZMakZOM0JCUkF5bnJTM1lsd0ZFSVVhakt4WSs3WmZiRDA4ZVR6?=
 =?utf-8?B?Wk5qOC9GZzI4TGRRd3RhTVNmM2xmZ2ZObGFqdmRMMWFJdlA5azVIK1NyRGZa?=
 =?utf-8?B?SGdORXh2VFR6VzZNdGhUUWw0aU5VTmlrVDR3SUdUQ2wvNlpTcWh2TVYwYTZV?=
 =?utf-8?B?QWRaTG55QWZHVXJ5YkRRQVMxcWVjMlZWYyt2OXozdFRGUkpoRUR3MjJpa2Jp?=
 =?utf-8?B?WENZaE9FbCtYUFlBY2V6QVY5WjZtNDNDaDEvZU5LNTFBTW9rT3MxT2habnN6?=
 =?utf-8?B?SGIzUFBLQlpCblZTSjdPckUwOEx4a1ZEQysxNkZkMmxtM1Vnb2NqZHJnV2tD?=
 =?utf-8?B?RnRueElEYTFSVTdQMXFtNStVNG1GZkIwOWFmR2dEbVBMNFcrcVF1NVkxbWEx?=
 =?utf-8?B?S1VDVHlCZHVOVGhMZjBWUzdETXR3OHRnQnhDTjNiMElBbWh2Ri81eStEMm5h?=
 =?utf-8?B?TFRSdnVMcURBa09jcGxMVkJ3b3VZc1F6RTk4am90V0lFV1Yzdm1EdGhlOEdJ?=
 =?utf-8?B?Tml1WThSS0ZjV1NlUEwvcEJBUllzL0djcnJ5T3RDYnR5eFlNR1QydzhjS1Bz?=
 =?utf-8?B?RkpxSmlRa2lLaTZtSEVHTEZReUNnNDBuNnZTUFRhSVBtbUN6T1RIME9RcmFX?=
 =?utf-8?B?dEVUWDc5QzRXSmdDc0E3L1Q5VndnRUo5OFByYVk0Z3dkWTNiR3pHQ0ExNFF2?=
 =?utf-8?B?MkZQVEZiZFVHZ0twNDBEYkhWbHg5RzJKSHpCbWVjcUZ0a1g3cld4VlhSZmFo?=
 =?utf-8?B?YTNkWXA0NURENi8xdmRPQjc1R0dyWEU2UVI0SXpaVDlwUnBHOEZtTjc3QXR6?=
 =?utf-8?B?YmdmN25OYXdVbjYvaTNTVU5zTFpTSU5tLzdudkxodGVUMW1XTUJacDNqVGJV?=
 =?utf-8?B?Q1p4ejUrbTYyZmhpaGhSTW5La243ME9rZFJtelFka2h4M01BMmgvdlN2Y045?=
 =?utf-8?B?NWVTOWI4MjRLV1hhOHZ2QUc0RTVVV2U5YUZydVZNSHVsQU81UnVuekpDK0Vw?=
 =?utf-8?B?eFFleHgrajRlUGJaTG9LRVdHempXVTRzN01iQlVyd3V0cWd5M0kzRGJQM3Vl?=
 =?utf-8?Q?EYzLTP?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(82310400026)(376014)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2025 21:31:46.3954
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: aca3e5d7-813a-416a-7078-08ddbe66d74d
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF000015CA.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6832

On 2025-07-02 04:12, Juergen Gross wrote:
> When initializing the memory allocator, don't add memory pages of
> modules and the initial boot info structure to the free memory.
> 
> This is relevant only when running in PVH mode, as in PV mode only
> memory above the initial page tables is added to free memory, and the
> module and start_info pages are below the page tables.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
>
> +/* Reserved memory ranges not added to free memory. */
> +#define MAX_RSV_RANGES  1
> +static struct {
> +    unsigned long start;
> +    unsigned long size;
> +} reserved_range[MAX_RSV_RANGES];
> +
> +void check_memory_range(unsigned long *from, unsigned long *to)
> +{
> +    unsigned int m;
> +    struct hvm_modlist_entry *mod;
> +
> +    for ( m = 0; m < MAX_RSV_RANGES && reserved_range[m].size; m++ )
> +        check_memory_range_conflict(from, to, reserved_range[m].start,
> +                                    reserved_range[m].size);

reserved_range[] isn't updated, so this is dead code.  I guess that is 
fine for now.
> +
> +    mod = (struct hvm_modlist_entry *)(unsigned long)
> +          hvm_start_info_ptr->modlist_paddr;
> +    for ( m = 0; m < hvm_start_info_ptr->nr_modules; m++ )
> +        check_memory_range_conflict(from, to, mod[m].paddr, mod[m].size);
> +}
> +

>   
>   static const struct {
> @@ -888,6 +964,10 @@ void arch_init_mm(unsigned long* start_pfn_p, unsigned long* max_pfn_p)
>       if ( max_pfn >= MAX_MEM_SIZE / PAGE_SIZE )
>           max_pfn = MAX_MEM_SIZE / PAGE_SIZE - 1;
>   
> +#ifndef CONFIG_PARAVIRT
> +    pvh_reserve_start_info(&start_pfn);
> +#endif

Maybe this ifdef can be removed and arch_mm_preinit() can call 
pvh_reserve_start_info() and update first_free_pfn (which is assigned to 
start_pfn)?

Regards,
Jason


From minios-devel-bounces@lists.xenproject.org Tue Jul 08 21:41:33 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2025 21:41:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1037390.1410053 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZG4D-0002rn-OK; Tue, 08 Jul 2025 21:41:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1037390.1410053; Tue, 08 Jul 2025 21:41:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZG4D-0002rb-KE; Tue, 08 Jul 2025 21:41:33 +0000
Received: by outflank-mailman (input) for mailman id 1037390;
 Tue, 08 Jul 2025 21:41:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qd/v=ZV=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1uZFuU-0007OX-Nc
 for minios-devel@lists.xenproject.org; Tue, 08 Jul 2025 21:31:30 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2062b.outbound.protection.outlook.com
 [2a01:111:f403:2416::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e70ab064-5c42-11f0-b894-0df219b8e170;
 Tue, 08 Jul 2025 23:31:27 +0200 (CEST)
Received: from MW4PR03CA0065.namprd03.prod.outlook.com (2603:10b6:303:b6::10)
 by MN6PR12MB8544.namprd12.prod.outlook.com (2603:10b6:208:47f::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8880.16; Tue, 8 Jul
 2025 21:31:20 +0000
Received: from SA2PEPF000015C7.namprd03.prod.outlook.com
 (2603:10b6:303:b6:cafe::e9) by MW4PR03CA0065.outlook.office365.com
 (2603:10b6:303:b6::10) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8901.26 via Frontend Transport; Tue,
 8 Jul 2025 21:31:19 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF000015C7.mail.protection.outlook.com (10.167.241.197) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8901.15 via Frontend Transport; Tue, 8 Jul 2025 21:31:18 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 8 Jul
 2025 16:31:18 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 8 Jul
 2025 16:31:17 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 8 Jul 2025 16:31:17 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e70ab064-5c42-11f0-b894-0df219b8e170
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=SpA23pOrE0b7VRqMmBTEdSAFh3rr76pYBst52EoZMpDIES26CUc0wHn5DfonYTXe1GBRsweE4ncdv6d+VMwcOG3KpaJstQ+KUi9Ycct+zjcnyRfjyPzbTLEjkq3vHYLeNeFNYpvTiMDlxTONBpMsxBoad6eB60zEzrlqG0l8h+2h7zBQhSkmN+I4oDP0GEjNUGhMtKdS8DFRQM7s2PDqF/Jw1JXI2QEeUsBnfCVQLNSNyV9eoxY1MQDEtjZpMJadCwqA5e85DVDs3nyxdSrE8nAq3bhjZzF0RohSkIVsKANU9K21wqWXAUfRaQGqZwvyhPEQoBpv+PbnITpq4f2umw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=apP++kaO3lDa0Iv6b2qLuBRntp0Si4dYDZEtcW+qpc0=;
 b=tz19f71Sqntx88z74Z25NZ+r18D2csIEqaNv4MqNh2NTorqX9ZlvCGIshu6k9iSqClsrsbTcMeANoaqUmUKOfRU3a+T05wl4D3O3D0v3iVflSCGflG2EPD8bRtMdm/MO7sfbT7EJRCP+Nu6e0tqlHmulpUEQoyeoQjnmqGnIw3oTRJpi+UtY8StKfb3aAJyebXYj8JCb0h1t1G9hYfv9NBf6mjNJUsdJG1HTCxefQVjGLDzr6zN1tjIJH28X4PEuWRbEXUL6cZKkNPXU62KjFBE8AAAaewsyK7e/JlnHiMj8qNtq6OSmZNQusvhNz8uI53KYI1o3Y3U8kZup2GVitQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=apP++kaO3lDa0Iv6b2qLuBRntp0Si4dYDZEtcW+qpc0=;
 b=YsCpkhNcKW+MN9sE7h7JVHGJpKdiqQiS3x9I237C15GJRs0Yn861jKhxvLhLOkz4msFXUIM2gMs70h/7OIQ7FAj3vF340KnfXfXe/6F3Z+pqDrwEuDZ926pmmZqyhV45JvRI8GDwuaQTqo528N4P6H8c3sWgxUJex301YViYvhI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <41abf7c9-9d71-4c29-90cf-c19863d6b789@amd.com>
Date: Tue, 8 Jul 2025 17:14:10 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 08/19] e820: don't count lapic page as initially
 reserved
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-9-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250702081254.14383-9-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015C7:EE_|MN6PR12MB8544:EE_
X-MS-Office365-Filtering-Correlation-Id: d42a24bb-e267-4430-2b3c-08ddbe66c6e5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZEFIcHZGaDdlU1BnVVFuc25zS2hRQktlYmhSVndBUUk3cllHWXdBVWMrZDQz?=
 =?utf-8?B?OGtPTUJnVWxnUWFmQ1VETVVSdmJpRi9UbDVnUU4vYUdCYW1PdVRMNVE1aGlN?=
 =?utf-8?B?WXFpMUYvbmM3cDN1STJhM1FpTHcxWmtLaHNLaG5tRUVpdXpkYlZLeXJaRFVh?=
 =?utf-8?B?LzVwRUV2bTdGOVFOMGZFeWxYZXdhUEZSOFlIQTh0dHdNOVY0dFlDLzZHcEdn?=
 =?utf-8?B?d3BBMnloeXVuSGdEZVRyVHl0N1QyeDhKbmw4MC90SkdtUkppUHo1d1luQVFz?=
 =?utf-8?B?TVJ2cS9MdVllK0NqRWpMMGkyR3hGR0VWOVhsNFUvSXFvM3hOTzB3WnpnUzhh?=
 =?utf-8?B?dkJnRG4zUWlTQVRzMGNuWCt3N1lwYkFpRlBwSnU1OWhiVzdzR0hLa2gxV0dS?=
 =?utf-8?B?ZjVGck1GK2JQZ0RaS0t0eHJiYjI3RTBtZ1pLUnI5VW13K3hNR0hGZjM3RmdP?=
 =?utf-8?B?OGhDRnV5c2JmN2h1cVVMK3pUNWI1ZjF1WXhPSktJb1dOV2c4VGZVK0FpeWcw?=
 =?utf-8?B?Mk96eU80MmNtKzYvQnRONzNUU2VXZ250R2x6eWVoR0h0YkV5S0t4Mm5xNXZs?=
 =?utf-8?B?V3Q3S2JMMGxRbUJlMUthRVU0ZGxMTEc1M012Sjd5YnluUzcrZkpEZUd0NlQ4?=
 =?utf-8?B?SnRQQU8yVlc2VHRwM1Fxdzd4Uy94UmFCbmtlMTBsVFJCRVdPM0hFZzJLdDhC?=
 =?utf-8?B?bTBwVE9iaHk4WU5URjJKTk83MVoreFlURG91Mlh1SXZpR2dVeThDeDAxUHBC?=
 =?utf-8?B?NEFZYTJyY01DdmdXNElpd1owRUNPeUJPRUFvditzamdvQ2I5V2ZnNVpKd3o4?=
 =?utf-8?B?NVM0LzAzMjZDS1E2dXZtbDArSnNlcndlQlUzOWtKKy9VY01zbjEyZjcrSFBt?=
 =?utf-8?B?NHBDUVRqRzBUbkNGTWJEeGlHRXBJRktXMlJUMXpVbkRxZzdiTTFMQm1MN3Ri?=
 =?utf-8?B?ZFU4UkUyaEIyeUJWUmdiNHZ0dFE1VXBLdm9vOW4vcjFOYk5rMm1ZTnFTdW02?=
 =?utf-8?B?WEpXcVFCMDJNSWh4aG9jbTExdms4TWQzc1pUb2R6L3RUSkpIT1d2WE5jemtn?=
 =?utf-8?B?aXpzaUtiVTE2K1V6ekUvQXJOU3R6cDIwNWw0dU5TWHpDaEJaSkpqejhRdlF2?=
 =?utf-8?B?QnhSY0krSXl3T2E2MDNFSFBSTUJzcmEyMGRXTjZWTk5kdUkyc2Z0MnZmMkEy?=
 =?utf-8?B?L3IySCtlVEZ4OVlGSUs2bEhmd3gwUlhiWEI0dWpBU2NQMGlLMXkxMStyeGUx?=
 =?utf-8?B?MFNJYW5ZSzdlY0Y5cWVaZ2ZITVd6Q1YxZExoVkFHZTZScFZ2NnQ2L3NxS1gv?=
 =?utf-8?B?N0RyS0JtWXp2RWppLy9iSEVWREJtTmVZTjgrUmozSXdROHlsZ3hNdWdjdTNY?=
 =?utf-8?B?MGNWdVpieUZKTiszMFVDRHoyKzU4VjdDUVNnS1RqOXVSM2luSU9rS29qWFla?=
 =?utf-8?B?cVVYTnhzM2FGd0hienZKSHVxVDRlcmJ1L0dpT3lDQVBSc1lGcWlpSkQ4cm9X?=
 =?utf-8?B?WWNTb3ZnajA0NUNyWGtPdzh6K1lOZmFzT3UyOXlONG45T3RRUm0xOFdacHBi?=
 =?utf-8?B?UGxaS1lYeXdIcGtHa3BuL2VkdHQ3b2MwUDI3L0gyeW9sY09YZkdnVXk1L0JF?=
 =?utf-8?B?RGhHc2xmTCtOUmxxM1NXMm5XOTgzd0s5NnFLWk1nb0xpZG9NbE14RnNoSHpH?=
 =?utf-8?B?Y1ZBQlF3Ryswbkh0MFRTRnFoWHdzS0FGbXVWWm5OWGNZbm8zbGV2RXg5em5m?=
 =?utf-8?B?dXJjMFFtTGZINmtRWmNTLzVzNXMyMG1oSnd1cDVDaDMza3FRcENPOE5qUVFH?=
 =?utf-8?B?RmdVcGQ2VXhmcFd1UzFpN204R0trdlNQNGhlczUrb05QSC9pS01VVUc2QWhr?=
 =?utf-8?B?NS9nZ0tPaStzdDRmdmM2NmNoQjdEQ280YWRydUNTUWF3ZFJiMkduVDVQQkpj?=
 =?utf-8?B?dWpZSXp2M3duclJPbGdoZlZkcDdqUU1LUVZKZkVQb1RzY2ozUU9GVTk0SEc4?=
 =?utf-8?B?Mi8vZzZFYStWRjZQK2syNG00TFRleDJWODlFYUtOWnRwaitjOFBVYlU4OE1a?=
 =?utf-8?Q?0bRntJ?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2025 21:31:18.8131
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d42a24bb-e267-4430-2b3c-08ddbe66c6e5
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF000015C7.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR12MB8544

On 2025-07-02 04:12, Juergen Gross wrote:
> The number of pages marked initially as reserved in the memory map
> are counted to be allocated, as they are normally populated by Xen
> tools for e.g. xenbus and console ring pages.
> 
> This is wrong in case the lapic page is marked as reserved in the
> memory map, as there is never memory allocated for a lapic.
> 
> So when finding the lapic page to be marked as reserved, don't add
> it to the number of reserved pages.
> 
> Fixes: 9b87429d2864 ("mini-os: fix number of pages for PVH")
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>



From minios-devel-bounces@lists.xenproject.org Tue Jul 08 21:48:57 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jul 2025 21:48:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1037423.1410079 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZGBM-0004Ib-Nh; Tue, 08 Jul 2025 21:48:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1037423.1410079; Tue, 08 Jul 2025 21:48:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZGBM-0004IU-KP; Tue, 08 Jul 2025 21:48:56 +0000
Received: by outflank-mailman (input) for mailman id 1037423;
 Tue, 08 Jul 2025 21:48:54 +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
 <SRS0=qd/v=ZV=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1uZGBK-00044p-R1
 for minios-devel@lists.xenproject.org; Tue, 08 Jul 2025 21:48:54 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20616.outbound.protection.outlook.com
 [2a01:111:f403:2413::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 564bb0d5-5c45-11f0-a317-13f23c93f187;
 Tue, 08 Jul 2025 23:48:52 +0200 (CEST)
Received: from BY3PR10CA0026.namprd10.prod.outlook.com (2603:10b6:a03:255::31)
 by IA1PR12MB6649.namprd12.prod.outlook.com (2603:10b6:208:3a2::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.26; Tue, 8 Jul
 2025 21:48:48 +0000
Received: from CY4PEPF0000E9D0.namprd03.prod.outlook.com
 (2603:10b6:a03:255:cafe::8e) by BY3PR10CA0026.outlook.office365.com
 (2603:10b6:a03:255::31) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.21 via Frontend Transport; Tue,
 8 Jul 2025 21:48:47 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9D0.mail.protection.outlook.com (10.167.241.135) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8901.15 via Frontend Transport; Tue, 8 Jul 2025 21:48:47 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 8 Jul
 2025 16:48:46 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 8 Jul
 2025 16:48:46 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 8 Jul 2025 16:48:46 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 564bb0d5-5c45-11f0-a317-13f23c93f187
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=eJFIjPJfNRRYnlqeIBv6Fy5RrgMGxtYTmlHnM9dD8aBW8OaZ+NgchMFBKCfe26rrncS78o5CYIeozNz1Xq5t/AhOpF/rIcXLhCfe+uXWlc6McEMgnSaM+YqSyrBHIpWXBsv3HhitDdklUDk9O0dpLrH6oMLG9v3r8Yx1a/RMFCAHehkPCVxWu/o2p01GlmIj9zoz/KwN1n98OCepIPkh2guxCUZk7+XewLXl3bJYNB8/5IAksAobmfUjgR8d8q1HHeYIwBhuybqoJvu+bamDaazEPNftf9RcqiJcHFILmbezCcyxsxvterfmXuPxFEPfk6HncsIInTczwN5vChDHWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+VTuvi/1iVG24eOeiUxjBhbanE8EmZdneHeCPHZ28Nc=;
 b=K/pgwV+zFP8u+19YuUUqnuBVdqt4BmRQmp+1OgmduwteKIw8dUo7bPu5rQkInSsb6BpjG3UJsnivwqn83p916Lcp3YR52WddaZJ/DHS+tXn0rtKiW3M6J2Lw87xkUeursgAyTWp3QiQ/CiuuRbQrQEwNk+qnwzF+6oVTdWyv5/6ZuqqeNIvfVycZPK6HhzG4bl/+qFk77ziA7SH5zJd0rHdJrUPkgZIGzU4cNY8LlA3vaupDtNnwie5Q2lmLj1aCo45IGjxjItLRqp/jknl53qNgfIrGUI5d1Zg3JtzvFVf4iJZ4nOpioqfbCPJWhtbuxc0FKmCK/To8MBkLvK7w7A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+VTuvi/1iVG24eOeiUxjBhbanE8EmZdneHeCPHZ28Nc=;
 b=JaKf7uLGSa0xLUGxAmL9V1jU4AtZiZJhLZjgg9D3m2LXkpfxv79ILt2D+87p4IwqEJ5R12BBhzFz1c2/Ltyxfmr4EpuwfmzpX99Qjid4pN+PP1lPCt+HrifG89kQG/guVYsdZX6ZY88sFGkJB9HwYTYG2wqFPN6VqhuI1+7ppSc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <4defdb32-8897-4c4f-a105-15744e470b19@amd.com>
Date: Tue, 8 Jul 2025 17:31:38 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 10/19] e820: use special type for software
 reserved memory
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-11-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250702081254.14383-11-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D0:EE_|IA1PR12MB6649:EE_
X-MS-Office365-Filtering-Correlation-Id: 0920a6ca-fdf2-467b-9b09-08ddbe6937f6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?WWRjUVQzUEkrOFUwNFYrVXpkOEtXeS9yU3hPZFB6Ym9hejZEM3R1VHZzTmp3?=
 =?utf-8?B?VVBGK05udHpIcFJBdGxBSldueWxtbDdFZ2R2VGdmSkpHUWdlVEZPSW5zUTl5?=
 =?utf-8?B?QWIrSnIrVGI2T1BRWUd6SU1WZDB6T3hHbWxEYkYzdGpmajJJSXc5V1A1T0Ju?=
 =?utf-8?B?VTZRbjR6UnRRV2xud2ZJLzRSWkhGTCswSWlvOVFyTTZiNThjeStVK3NveE42?=
 =?utf-8?B?aEdiOHV6b1NWRFdMa2ZmQ1lIdlUrZkpKbWYyV2Noa0EwSGV3SHVmUmIxNGZM?=
 =?utf-8?B?cHpCMk9yWnp0enBpcmc5T29uQUNDYjh6eE5tMHE0aFVHTDVWTHRXajVEN3dZ?=
 =?utf-8?B?QUNzUG40RVZrcGZpaGRQdEZDTlRyc2Fpd0ZaZXZPYUlzemE2Wk1oeG5qbTFB?=
 =?utf-8?B?anJxNERmeWdzSkpGc0ZKUWlMK3RyeDYvTkh5a3QrYXNTUnowa3Q1VUxYN2h1?=
 =?utf-8?B?TGVWK2I0OXpJa2d3SlA5dzlwMEhJektpUURXRUFEL0ZRWHJoMjJCUysvN3Bx?=
 =?utf-8?B?ZHM5SkpaL01mNXRWaEtrclliWTB4SXVoU0xwMzJ1d2pLKzdUMHhxbmNVRnpP?=
 =?utf-8?B?Y0k2VldZakVjTVBMRXJoa3Y5cHdkR2k5OEpJcXY3NFExNis1SnEyYm8zRUNy?=
 =?utf-8?B?SmkwT3VtblVmNXRUWDMveHE5clBNcjJGSGpNZ3lOcys1VFdrc1RncjJ3aWc0?=
 =?utf-8?B?eGRlODkySkFIVFhqZG53K0xmQkl4VXN3dTVtZDhpZFVaOXIrWkdvRGVsMGtT?=
 =?utf-8?B?OU1ld2JPM0pxWmlzTDFsd3JDc3Z0eXlaZWdCM1dKQ0JvaUtkT0UzYmZXN1Fl?=
 =?utf-8?B?Y3lEMit0ck0rcTlSRlFlaFZRZ1VjeGRUVlhkOXVsNkt0dVZmaGhMK3BQU1hU?=
 =?utf-8?B?QTlPYm02R3c3MVdqNVdUUktJWkdGL05VWldKMmxHempDZDdhNGp3VUlmeklx?=
 =?utf-8?B?cVNYOHJ4Sm8xQjQvTVZYZ09rMTdYTDlxdzV6UXlMemlYRTV5NkJNam5mZU5a?=
 =?utf-8?B?aEQzQUVUVmJKM3I4T0lMVnIwYUFjaWh3N3pRbURHV0hZcy84clMzcGI3RXhJ?=
 =?utf-8?B?NVFTTUt5Q0FBMmt0Uzc4K2JqeTFzdGY2eWpCVG1UMllNR2RFYXdUa3NDbzhQ?=
 =?utf-8?B?ZW9ITk03cTFZTFFWOERSYkgvd0F5YWVjb1dCUWZIc2ZON2szczdqZVdBaTJM?=
 =?utf-8?B?ZjN3QnBVcTNqbE5kNmxwNENUeUJCOEwyajU2UFlDUFVlT2xSSTRoUWN5ckFq?=
 =?utf-8?B?UXBkRTF1L3FQMWtMdXVacElKbkc1NHFtU0o4YUZ2enBwc3NtbmZ0VXlFK3V2?=
 =?utf-8?B?VjBlT1ZEUVE3Q0Nsb1h5MkdZY2VmVFY3ZU1jVk9DeFYwckJtbkJ0WURlL0la?=
 =?utf-8?B?aUJ6bjgyanBBZ0ZraFE3ZDVQd2JpblBxN2x6TWd5Tyt2MEVEcWhuQ291L0Rj?=
 =?utf-8?B?OFNJeVZoMEU3cmFhNy9tdHNZcnhMVE5WeE4vM3g0a3VZa0N1NEN4anZYdWQr?=
 =?utf-8?B?NWVrR1dWYWtodjNhd2dmeTFVeU5VUzZpUnJnU0FZUnJhTE5jRTFJdksxWmY2?=
 =?utf-8?B?dmYrRHhnRzdkeS84RTN5cUF6di9UcTYwL0o2Zys1Y0xGN1praFhpZjB3Zkpn?=
 =?utf-8?B?d0hueHFFRitiVWlzV1JrRmRoZTNSZWdSSGlFamZrT2ZPZVFrVG84WXBpdmRR?=
 =?utf-8?B?WFNRQVoxbk5VcDlYWVhkUG0xd0hTdEl4N3N6NWxhR1VSOG11TUlWdG1qL2sr?=
 =?utf-8?B?Y2NrdDY4aHcyZSsyRDlTcFhTWXZqYjdXRjlFdzRIcm5mdjZwWnYrMFg1NjBv?=
 =?utf-8?B?blhmT0RLVGdIbWFpSzB5UFRESTEvYXNTZzc2ZWZIVHZKWmRLQ0xDTjIzMTVl?=
 =?utf-8?B?M09rbk4yd2ZSUnE5TWhvRGVYaEt1SlJMQlIrSkVuMWprd08zSGFnSzZuTDc2?=
 =?utf-8?B?eEloRUt3U1lWcmF4WEtJK3JNQXhsdk80QmZjYjNMWUZwQlhFaU5RenFCemcy?=
 =?utf-8?B?aHZQV1Ixc0p3QlZPL0c2L3FTNVByOUpJRFVlclVWUWRwMlkwU20zUmdlTmZP?=
 =?utf-8?Q?9U7EMC?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2025 21:48:47.5357
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0920a6ca-fdf2-467b-9b09-08ddbe6937f6
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000E9D0.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6649

On 2025-07-02 04:12, Juergen Gross wrote:
> For memory areas used to map foreign domain memory Mini-OS is using
> the type E820_RESERVED in the memory map today. This is causing
> problems with kexec, as the new kernel should not see those areas in
> the memory map. Unfortunately the sequence of actions for calculating
> the size of the memory map and the removal of those reserved areas
> can't easily be adjusted to do the removal first, so another way must
> be used to avoid passing those reserved areas to the new kernel.
> 
> Instead of using the type E820_RESERVED, which might be used for other
> pages as well, just use a new type. Areas with that new type can
> easily be filtered out when building the memory map for the new
> kernel.
> 
> Introduce the type E820_TYPE_SOFT_RESERVED with the same value as the
> Linux kernel is using for the same purpose.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From minios-devel-bounces@lists.xenproject.org Wed Jul 09 12:39:05 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2025 12:39:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1038101.1410608 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZU4l-0000Ii-Ad; Wed, 09 Jul 2025 12:39:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1038101.1410608; Wed, 09 Jul 2025 12:39:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZU4l-0000Ib-7r; Wed, 09 Jul 2025 12:39:03 +0000
Received: by outflank-mailman (input) for mailman id 1038101;
 Wed, 09 Jul 2025 12:39:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Cq+0=ZW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uZU4j-0000IQ-RT
 for minios-devel@lists.xenproject.org; Wed, 09 Jul 2025 12:39:01 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id afd4f815-5cc1-11f0-b894-0df219b8e170;
 Wed, 09 Jul 2025 14:38:59 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-60cc11b34f6so1575953a12.0
 for <minios-devel@lists.xenproject.org>; Wed, 09 Jul 2025 05:38:59 -0700 (PDT)
Received: from ?IPV6:2003:e5:8709:f00:6357:915b:11f9:6d20?
 (p200300e587090f006357915b11f96d20.dip0.t-ipconnect.de.
 [2003:e5:8709:f00:6357:915b:11f9:6d20])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ae3f66d91cdsm1080206266b.22.2025.07.09.05.38.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 09 Jul 2025 05:38:58 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: afd4f815-5cc1-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1752064739; x=1752669539; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=TGxMYjPXVLd9yWj4ywG7G2GfeS9ZZHzY4MnW/FCc7rI=;
        b=MmctkQIi9ZVHv/lcsGK0R4Ej2YnpkkSgpFjcYdeLUsI13JE2BB5OaTxD8XdQiiX0vd
         YDF7CyH/p33IglwobhBcbWXu6Nn+TDeGpOl/ljQ+7oWOCWBBE6XtidZ6Gf3PcvhR0gpn
         nFSnn/nzUQsK/xnHrmq8/0gTHLxLxZBjGpr8pMolSGNCoTxuPisD7YP28i0kITEfdSR2
         9mW3fFtZslhGsBhqdWQ+naFMUn5RD3cnJQcE/69vq68qwW2qNxq435zHHFuhve8BjVOn
         W6o+sZjuNMBifeQIfUwCXmOlgZA5G+RbMz9ZVsZy+n6sElKkbK3jKMorOBGyygxMX++c
         /iUA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1752064739; x=1752669539;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=TGxMYjPXVLd9yWj4ywG7G2GfeS9ZZHzY4MnW/FCc7rI=;
        b=uVNp3EsyRyCMW63iCa0HCW7VEzjynjvrvhSOaW5JcPG/8HB4HIAB4buAa//0seDr8C
         gEAXjofC6vGF+AVlRi2FuF2KjezzqNj+cHFJW0zVS5xLwe2MIpTRZgOfHzYmljYIjMMJ
         mLNDGRQKNHI44b0jLp0GolpUtnku0u3lk+oDlHJwuNAaxGczK8IUJ0XW+QDTOALJTFCY
         MAHp1A8ykgBzlKyLyAGGu2udCaRBmNRloSLk+OzmnR6AR2odmAnJ2+GW08YPOadwdt8b
         b6ZUAefnAvHkOkIDO57R6lMUAjAvAuhvFFJNKoDDBjxQ6LYArUvIKIAqLNHRM6CINe0i
         +RXQ==
X-Forwarded-Encrypted: i=1; AJvYcCUYYhMG6PohiPMXCfOHSipCT50I6+LAM00Zzo+iLiZLSpMuVNWgspQjR5lxLsTt9kMj0ABw7MdaXG6AZv8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwVYrEr99z5iF3Ymf/UliP2e91o9SMMsK0jPybea02oiVRL7ii5
	pdZ9cdaTWxz+PM+jsNLNtPTgWLG7WpYpuEbpJOzjZLXW+WXcZEA/IbQpAbjySFzloCM=
X-Gm-Gg: ASbGnct3Mggwc0abAFFPjtwEPVHVIZmQ1wqJI8PODx4HoOAiwQ7iCCrKYCCZUG/xP2e
	3+e3G1cgUMK9g4NjQZ63cx3GSwGeHXbOpFxXBbho+X/mWBI+SnmaAHQsXBsMAiZMtS/yocN8kMi
	hOWDdffUc/qlZz2x4RqtGVmW3pb8oKL9jJxSZwJM4q+AlqQ8Ep80rFYxxpLWpf/+v6FwQ565gCg
	YJdKDoCrwH+uXHPPwslcD5wXSGvboy7AE4/My6KktTeDQHNQ+UoqUKmObJ+7XL64iFAYbJ8i9qL
	PdzAzWsN+paWLhi8LhaYeGf8fcMbOjAIc9JBnCuYNLfdnz/+sqRqduANAy4glbTJUXBzrAPEmSc
	81uZ0bk0HiBjsEZeOngtN55zPyU/joXPxnJfV02yX4LUaZVlfijFmks/yghe1SpCsJ8B5zNLNFV
	9QHvccERL2
X-Google-Smtp-Source: AGHT+IE60OnlrCRyimbXylqOwKiounBKwIeg4tgjUs6H/nSDRczhqhg9ueQM5LFTe1d9webo9zaugw==
X-Received: by 2002:a17:907:1c93:b0:adb:2f9b:e16f with SMTP id a640c23a62f3a-ae6d1400ab3mr257259666b.16.1752064739033;
        Wed, 09 Jul 2025 05:38:59 -0700 (PDT)
Message-ID: <d7aac7a8-5fe4-4384-9356-3acce2e2959a@suse.com>
Date: Wed, 9 Jul 2025 14:38:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 06/19] mm: don't add module pages to free memory
To: Jason Andryuk <jason.andryuk@amd.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-7-jgross@suse.com>
 <fe9ea209-6a41-4448-b171-bfa7e639989d@amd.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <fe9ea209-6a41-4448-b171-bfa7e639989d@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------qKIgX27ZuyYmM0rFYb1chl0U"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------qKIgX27ZuyYmM0rFYb1chl0U
Content-Type: multipart/mixed; boundary="------------ATUUifIYBnFkglr50i1XVHcg";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jason Andryuk <jason.andryuk@amd.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org
Message-ID: <d7aac7a8-5fe4-4384-9356-3acce2e2959a@suse.com>
Subject: Re: [MINI-OS PATCH 06/19] mm: don't add module pages to free memory
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-7-jgross@suse.com>
 <fe9ea209-6a41-4448-b171-bfa7e639989d@amd.com>
In-Reply-To: <fe9ea209-6a41-4448-b171-bfa7e639989d@amd.com>

--------------ATUUifIYBnFkglr50i1XVHcg
Content-Type: multipart/mixed; boundary="------------fxNu4lbztAUFEZDamof2nVuJ"

--------------fxNu4lbztAUFEZDamof2nVuJ
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDguMDcuMjUgMjM6MTQsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIDIwMjUtMDct
MDIgMDQ6MTIsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBXaGVuIGluaXRpYWxpemluZyB0
aGUgbWVtb3J5IGFsbG9jYXRvciwgZG9uJ3QgYWRkIG1lbW9yeSBwYWdlcyBvZg0KPj4gbW9k
dWxlcyBhbmQgdGhlIGluaXRpYWwgYm9vdCBpbmZvIHN0cnVjdHVyZSB0byB0aGUgZnJlZSBt
ZW1vcnkuDQo+Pg0KPj4gVGhpcyBpcyByZWxldmFudCBvbmx5IHdoZW4gcnVubmluZyBpbiBQ
VkggbW9kZSwgYXMgaW4gUFYgbW9kZSBvbmx5DQo+PiBtZW1vcnkgYWJvdmUgdGhlIGluaXRp
YWwgcGFnZSB0YWJsZXMgaXMgYWRkZWQgdG8gZnJlZSBtZW1vcnksIGFuZCB0aGUNCj4+IG1v
ZHVsZSBhbmQgc3RhcnRfaW5mbyBwYWdlcyBhcmUgYmVsb3cgdGhlIHBhZ2UgdGFibGVzLg0K
Pj4NCj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4N
Cj4+DQo+PiArLyogUmVzZXJ2ZWQgbWVtb3J5IHJhbmdlcyBub3QgYWRkZWQgdG8gZnJlZSBt
ZW1vcnkuICovDQo+PiArI2RlZmluZSBNQVhfUlNWX1JBTkdFU8KgIDENCj4+ICtzdGF0aWMg
c3RydWN0IHsNCj4+ICvCoMKgwqAgdW5zaWduZWQgbG9uZyBzdGFydDsNCj4+ICvCoMKgwqAg
dW5zaWduZWQgbG9uZyBzaXplOw0KPj4gK30gcmVzZXJ2ZWRfcmFuZ2VbTUFYX1JTVl9SQU5H
RVNdOw0KPj4gKw0KPj4gK3ZvaWQgY2hlY2tfbWVtb3J5X3JhbmdlKHVuc2lnbmVkIGxvbmcg
KmZyb20sIHVuc2lnbmVkIGxvbmcgKnRvKQ0KPj4gK3sNCj4+ICvCoMKgwqAgdW5zaWduZWQg
aW50IG07DQo+PiArwqDCoMKgIHN0cnVjdCBodm1fbW9kbGlzdF9lbnRyeSAqbW9kOw0KPj4g
Kw0KPj4gK8KgwqDCoCBmb3IgKCBtID0gMDsgbSA8IE1BWF9SU1ZfUkFOR0VTICYmIHJlc2Vy
dmVkX3JhbmdlW21dLnNpemU7IG0rKyApDQo+PiArwqDCoMKgwqDCoMKgwqAgY2hlY2tfbWVt
b3J5X3JhbmdlX2NvbmZsaWN0KGZyb20sIHRvLCByZXNlcnZlZF9yYW5nZVttXS5zdGFydCwN
Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlc2VydmVkX3JhbmdlW21dLnNpemUpOw0KPiANCj4g
cmVzZXJ2ZWRfcmFuZ2VbXSBpc24ndCB1cGRhdGVkLCBzbyB0aGlzIGlzIGRlYWQgY29kZS7C
oCBJIGd1ZXNzIHRoYXQgaXMgZmluZSBmb3IgDQo+IG5vdy4NCg0KSSB0aG91Z2h0IHNvLCB5
ZXMuIEl0IGZlbHQgbW9yZSBuYXR1cmFsIHRvIGFkZCBpdCBpbiB0aGlzIHBhdGNoLg0KDQo+
PiArDQo+PiArwqDCoMKgIG1vZCA9IChzdHJ1Y3QgaHZtX21vZGxpc3RfZW50cnkgKikodW5z
aWduZWQgbG9uZykNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqAgaHZtX3N0YXJ0X2luZm9fcHRy
LT5tb2RsaXN0X3BhZGRyOw0KPj4gK8KgwqDCoCBmb3IgKCBtID0gMDsgbSA8IGh2bV9zdGFy
dF9pbmZvX3B0ci0+bnJfbW9kdWxlczsgbSsrICkNCj4+ICvCoMKgwqDCoMKgwqDCoCBjaGVj
a19tZW1vcnlfcmFuZ2VfY29uZmxpY3QoZnJvbSwgdG8sIG1vZFttXS5wYWRkciwgbW9kW21d
LnNpemUpOw0KPj4gK30NCj4+ICsNCj4gDQo+PiDCoCBzdGF0aWMgY29uc3Qgc3RydWN0IHsN
Cj4+IEBAIC04ODgsNiArOTY0LDEwIEBAIHZvaWQgYXJjaF9pbml0X21tKHVuc2lnbmVkIGxv
bmcqIHN0YXJ0X3Bmbl9wLCB1bnNpZ25lZCANCj4+IGxvbmcqIG1heF9wZm5fcCkNCj4+IMKg
wqDCoMKgwqAgaWYgKCBtYXhfcGZuID49IE1BWF9NRU1fU0laRSAvIFBBR0VfU0laRSApDQo+
PiDCoMKgwqDCoMKgwqDCoMKgwqAgbWF4X3BmbiA9IE1BWF9NRU1fU0laRSAvIFBBR0VfU0la
RSAtIDE7DQo+PiArI2lmbmRlZiBDT05GSUdfUEFSQVZJUlQNCj4+ICvCoMKgwqAgcHZoX3Jl
c2VydmVfc3RhcnRfaW5mbygmc3RhcnRfcGZuKTsNCj4+ICsjZW5kaWYNCj4gDQo+IE1heWJl
IHRoaXMgaWZkZWYgY2FuIGJlIHJlbW92ZWQgYW5kIGFyY2hfbW1fcHJlaW5pdCgpIGNhbiBj
YWxsIA0KPiBwdmhfcmVzZXJ2ZV9zdGFydF9pbmZvKCkgYW5kIHVwZGF0ZSBmaXJzdF9mcmVl
X3BmbiAod2hpY2ggaXMgYXNzaWduZWQgdG8gDQo+IHN0YXJ0X3Bmbik/DQoNClllcywgdGhh
dCBzaG91bGQgYmUgcG9zc2libGUuDQoNClRoYW5rcyBmb3IgdGhlIGlkZWEsIEknbGwgbW9k
aWZ5IHRoZSBwYXRjaC4NCg0KDQpKdWVyZ2VuDQo=
--------------fxNu4lbztAUFEZDamof2nVuJ
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------fxNu4lbztAUFEZDamof2nVuJ--

--------------ATUUifIYBnFkglr50i1XVHcg--

--------------qKIgX27ZuyYmM0rFYb1chl0U
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmhuYuEFAwAAAAAACgkQsN6d1ii/Ey9e
hQgAi96vwkgRrHDwYrHU6SdxKaBwE2i3WQH6hwMDGTDio1tSzfLoOkxcJ8P9RnP0S52/kVM5cVKZ
HBLtofuXsM8cfeP7D86EA96ZdHNkM3XAHW05qAAhsIbp2o6gleabSWR1So9XGzBBdxmSHgxl9OVn
zSedhBACw8GeQuzgT0HYzQN1ibjZyyGunwLnUlRUKddkSb5DeLl5S5xhHORsIOkKNCWFHiqLJG51
7fTPZQ7Nn9ahh3zWZlTaFhPtY+rouVa2MjG52i8YjvXD+Y6E9FII3wPXgdRLyEGvXLE7OD56Z+9x
sfqylUEKXbZHAsfDAVtinIFOloKvA40Gb3fenXHR6g==
=/4rt
-----END PGP SIGNATURE-----

--------------qKIgX27ZuyYmM0rFYb1chl0U--


From minios-devel-bounces@lists.xenproject.org Wed Jul 09 14:26:32 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 09 Jul 2025 14:26:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1038293.1410786 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZVkk-00053M-LF; Wed, 09 Jul 2025 14:26:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1038293.1410786; Wed, 09 Jul 2025 14:26:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uZVkk-00053F-I8; Wed, 09 Jul 2025 14:26:30 +0000
Received: by outflank-mailman (input) for mailman id 1038293;
 Wed, 09 Jul 2025 14:26:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Cq+0=ZW=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uZVkj-000533-CP
 for minios-devel@lists.xenproject.org; Wed, 09 Jul 2025 14:26:29 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b2ea0b2e-5cd0-11f0-b894-0df219b8e170;
 Wed, 09 Jul 2025 16:26:27 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 3B6C12118A;
 Wed,  9 Jul 2025 14:26:26 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 14DCD136DC;
 Wed,  9 Jul 2025 14:26:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id 4vsiAxJ8bmgkbgAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 09 Jul 2025 14:26:26 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2ea0b2e-5cd0-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752071186; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=5HihxnSeK67U1sYQP1iV7L3ftnIJFwLzJNVk6ZP0s2U=;
	b=mVDGUDVfND6OveLyZEAJd1tjX9RrgHr7WTMCs6V5u/AyRfG7lxI1BkTKOs+zlxWWhakV8l
	VcCpmFDyauHcZSOm4xn77PBIVmT321pbPb373LHayS6M7/nGZJ5OYnwFAdu6eP87Z1UOdb
	m8bfdXtOOb1HtvMJEqbbexrs3AV/Hhc=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752071186; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=5HihxnSeK67U1sYQP1iV7L3ftnIJFwLzJNVk6ZP0s2U=;
	b=mVDGUDVfND6OveLyZEAJd1tjX9RrgHr7WTMCs6V5u/AyRfG7lxI1BkTKOs+zlxWWhakV8l
	VcCpmFDyauHcZSOm4xn77PBIVmT321pbPb373LHayS6M7/nGZJ5OYnwFAdu6eP87Z1UOdb
	m8bfdXtOOb1HtvMJEqbbexrs3AV/Hhc=
Message-ID: <de4f038f-e399-4fff-956b-9be1b8f5ef44@suse.com>
Date: Wed, 9 Jul 2025 16:26:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 12/19] mini-os: kexec: add support for handing
 over some memory across kexec
To: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-13-jgross@suse.com>
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20250702081254.14383-13-jgross@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ws0MxE6bDzF8XA47iK4fV4BY"
X-Spam-Level: 
X-Spamd-Result: default: False [-5.20 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.20)[-0.993];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MIME_BASE64_TEXT(0.10)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:email,suse.com:mid];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	RCVD_TLS_ALL(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_THREE(0.00)[3];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	TO_DN_NONE(0.00)[];
	HAS_ATTACHMENT(0.00)[]
X-Spam-Flag: NO
X-Spam-Score: -5.20

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ws0MxE6bDzF8XA47iK4fV4BY
Content-Type: multipart/mixed; boundary="------------KQiv8MBP00L464vXtTUFTFX7";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org
Message-ID: <de4f038f-e399-4fff-956b-9be1b8f5ef44@suse.com>
Subject: Re: [MINI-OS PATCH 12/19] mini-os: kexec: add support for handing
 over some memory across kexec
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-13-jgross@suse.com>
In-Reply-To: <20250702081254.14383-13-jgross@suse.com>

--------------KQiv8MBP00L464vXtTUFTFX7
Content-Type: multipart/mixed; boundary="------------9G6djNTP63TpIW0j3GWsQ5NI"

--------------9G6djNTP63TpIW0j3GWsQ5NI
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDIuMDcuMjUgMTA6MTIsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+IEVzcGVjaWFsbHkg
Zm9yIHN1cHBvcnQgb2YgWGVuc3RvcmUtc3R1YmRvbSBsaXZlIHVwZGF0ZSBzb21lIG1lbW9y
eSBtdXN0DQo+IGJlIGhhbmRlZCBvdmVyIHRvIHRoZSBuZXcga2VybmVsIHdpdGhvdXQgbW92
aW5nIGl0IGFyb3VuZDogYXMgdGhlDQo+IDlwZnMgZGV2aWNlIHVzZWQgZm9yIHN0b3Jpbmcg
YW5kIHJldHJpZXZpbmcgdGhlIHN0YXRlIG9mIFhlbnN0b3JlDQo+IG5lZWRzIHRvIGJlIGtl
cHQgb3BlcmF0aW9uYWwgYWNyb3NzIGtleGVjIChpdCBjYW4ndCBiZSByZW9wZW5lZCBkdWUg
dG8NCj4gWGVuc3RvcmUgbm90IGJlaW5nIGF2YWlsYWJsZSB3aXRob3V0IGFjY2VzcyB0byB0
aGUgZGV2aWNlKSwgdGhlIHJpbmcNCj4gcGFnZXMgbmVlZCB0byBiZSBhY2Nlc3NpYmxlIHZp
YSBhY3RpdmUgZ3JhbnRzIGJ5IHRoZSBiYWNrZW5kIGFsbCB0aGUNCj4gdGltZS4NCj4gDQo+
IEFkZCB0aGUgYmFzaWMgc3VwcG9ydCBmb3IgdGhhdCBieSByZXNlcnZpbmcgYSBwcmUtZGVm
aW5lZCBudW1iZXIgb2YNCj4gbWVtb3J5IHBhZ2VzIGF0IHRoZSB0b3Agb2YgdGhlIG1lbW9y
eS4gVGhpcyBtZW1vcnkgYXJlYSB3aWxsIGJlDQo+IGhhbmRlZCBvdmVyIHRvIHRoZSBuZXcg
a2VybmVsIHZpYSBzcGVjaWZ5aW5nIGl0IGFzIGEgbW9kdWxlIGluDQo+IHN0cnVjdCBodm1f
c3RhcnRfaW5mby4NCj4gDQo+IFRoZSBjb250ZW50cyBvZiB0aGUgbWVtb3J5IGFyZWEgYXJl
IGRlc2NyaWJlZCB2aWEgYSBnZW5lcmljIHRhYmxlIG9mDQo+IGNvbnRlbnRzIGluIHRoZSBs
YXN0IHBhZ2Ugb2YgdGhlIG1lbW9yeS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4g
R3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4gLS0tDQo+ICAgQ29uZmlnLm1rICAgICAgICAg
ICAgIHwgIDIgKysNCj4gICBhcmNoL3g4Ni9rZXhlYy5jICAgICAgfCA3NyArKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ICAgYXJjaC94ODYvbW0uYyAg
ICAgICAgIHwgMTggKysrKysrKysrKw0KPiAgIGFyY2gveDg2L3NldHVwLmMgICAgICB8IDI4
ICsrKysrKysrKysrKysrKysNCj4gICBpbmNsdWRlL2tlcm5lbC5oICAgICAgfCAgMSArDQo+
ICAgaW5jbHVkZS9rZXhlYy5oICAgICAgIHwgNDUgKysrKysrKysrKysrKysrKysrKysrKysr
Kw0KPiAgIGluY2x1ZGUveDg2L2FyY2hfbW0uaCB8ICAxICsNCj4gICBrZXhlYy5jICAgICAg
ICAgICAgICAgfCAgMyArKw0KPiAgIG1tLmMgICAgICAgICAgICAgICAgICB8ICA2ICsrKysN
Cj4gICA5IGZpbGVzIGNoYW5nZWQsIDE4MSBpbnNlcnRpb25zKCspDQo+IA0KPiBkaWZmIC0t
Z2l0IGEvQ29uZmlnLm1rIGIvQ29uZmlnLm1rDQo+IGluZGV4IGI5Njc1ZTYxLi4wZTRlODZk
OCAxMDA2NDQNCj4gLS0tIGEvQ29uZmlnLm1rDQo+ICsrKyBiL0NvbmZpZy5taw0KPiBAQCAt
MjIwLDYgKzIyMCw4IEBAIENPTkZJRy0kKGx3aXApICs9IENPTkZJR19MV0lQDQo+ICAgJChm
b3JlYWNoIGksJChDT05GSUcteSksJChldmFsICQoaSkgPz0geSkpDQo+ICAgJChmb3JlYWNo
IGksJChDT05GSUctbiksJChldmFsICQoaSkgPz0gbikpDQo+ICAgDQo+ICtDT05GSUctdmFs
LSQoQ09ORklHX0tFWEVDKSArPSBDT05GSUdfS0VYRUNfTU9EVUxFX1BBR0VTDQo+ICsNCj4g
ICAkKGZvcmVhY2ggaSwkKENPTkZJRy12YWwteSksJChldmFsICQoaSkgPz0gMCkpDQo+ICAg
DQo+ICAgQ09ORklHLXggKz0gQ09ORklHX0xJQlhTDQo+IGRpZmYgLS1naXQgYS9hcmNoL3g4
Ni9rZXhlYy5jIGIvYXJjaC94ODYva2V4ZWMuYw0KPiBpbmRleCA4MDRlN2I2ZC4uN2ZiOTg0
NzMgMTAwNjQ0DQo+IC0tLSBhL2FyY2gveDg2L2tleGVjLmMNCj4gKysrIGIvYXJjaC94ODYv
a2V4ZWMuYw0KPiBAQCAtMjAxLDEwICsyMDEsNzMgQEAgc3RhdGljIHVuc2lnbmVkIGxvbmcg
a2V4ZWNfcGFyYW1fbG9jOw0KPiAgIHN0YXRpYyB1bnNpZ25lZCBpbnQga2V4ZWNfcGFyYW1f
c2l6ZTsNCj4gICBzdGF0aWMgdW5zaWduZWQgbG9uZyBrZXhlY19wYXJhbV9tZW07DQo+ICAg
DQo+ICtzdGF0aWMgc3RydWN0IGtleGVjX21vZHVsZSAqa2V4ZWNfY2hlY2tfbW9kdWxlKHZv
aWQpDQo+ICt7DQo+ICsgICAgdW5zaWduZWQgbG9uZyBtb2Rfc2l6ZTsNCj4gKyAgICB1bnNp
Z25lZCBsb25nIG1vZDsNCj4gKyAgICBzdHJ1Y3Qga2V4ZWNfbW9kdWxlICptb2R1bGVfcHRy
Ow0KPiArDQo+ICsgICAgbW9kID0gZ2V0X21vZHVsZSgmbW9kX3NpemUpOw0KPiArICAgIGlm
ICggIW1vZCApDQo+ICsgICAgICAgIHJldHVybiBOVUxMOw0KPiArICAgIC8qIFNpemUgbXVz
dCBiZSBhIG11bHRpcGxlIG9mIFBBR0VfU0laRS4gKi8NCj4gKyAgICBpZiAoIG1vZF9zaXpl
ICYgflBBR0VfTUFTSyApDQo+ICsgICAgICAgIHJldHVybiBOVUxMOw0KPiArDQo+ICsgICAg
LyogS3hlYyBtb2R1bGUgZGVzY3JpcHRpb24gaXMgYXQgc3RhcnQgb2YgdGhlIGxhc3QgcGFn
ZSBvZiB0aGUgbW9kdWxlLiAqLw0KPiArICAgIG1vZHVsZV9wdHIgPSAodm9pZCAqKShtb2Qg
KyBtb2Rfc2l6ZSAtICh1bnNpZ25lZCBsb25nKVBBR0VfU0laRSk7DQo+ICsNCj4gKyAgICAv
KiBDaGVjayBleWUgY2F0Y2hlci4gKi8NCj4gKyAgICBpZiAoIG1lbWNtcChtb2R1bGVfcHRy
LT5leWVfY2F0Y2hlciwgS0VYRUNNT0RfRVlFQ0FUQ0hFUiwNCj4gKyAgICAgICAgICAgICAg
ICBzaXplb2YobW9kdWxlX3B0ci0+ZXllX2NhdGNoZXIpKSApDQo+ICsgICAgICAgIHJldHVy
biBOVUxMOw0KPiArICAgIGlmICggbW9kdWxlX3B0ci0+bl9wYWdlcyAhPSAobW9kX3NpemUg
Pj4gUEFHRV9TSElGVCkgLSAxICkNCj4gKyAgICAgICAgcmV0dXJuIE5VTEw7DQoNClRoZXJl
IGlzIG1pc3Npbmc6DQoNCisgICAga2V4ZWNfbW9kX3N0YXJ0ID0gbW9kOw0KDQpPdGhlcndp
c2UgYSBzZWNvbmQgbGl2ZSB1cGRhdGUgd29uJ3Qgd29yay4NCg0KSSdsbCB3YWl0IGZvciBt
b3JlIGZlZWRiYWNrIGJlZm9yZSBzZW5kaW5nIG91dCBWMi4NCg0KDQpKdWVyZ2VuDQo=
--------------9G6djNTP63TpIW0j3GWsQ5NI
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------9G6djNTP63TpIW0j3GWsQ5NI--

--------------KQiv8MBP00L464vXtTUFTFX7--

--------------ws0MxE6bDzF8XA47iK4fV4BY
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmhufBEFAwAAAAAACgkQsN6d1ii/Ey9v
Rgf9HfVtoWfMCsCKRbLZUZl9nfKmUUXMjnlHWS/DCR4avXDVi/dtvAwoE+D8DUIorgGSXO/tXlVb
vcKXOWCY4rjMWto2Y2cKM64A2ETMVqwiTW0GPBrC/54sHJ5UyOEYdomZw/kZdyevQ7gn1JuAsbjL
Kz/GqGWu+8Q+cqO2eAVV/1kySk0sfcaBtfd4BVxbRh0cjZ6CNcYuHJ16rKuRcIrKqYv0sbg/4Q7Y
Wmw0GyLnaHV39ekNhs9hXkS/DbqcQFTqlLQ5NCL34hMMi6ZQ7uOrlCvayUx4GDD/hTmQivFNvqGe
zhZGUK44fnM9Pv8jIcKSTYy+9bhgEnu3rf+hRyF7vw==
=cQC7
-----END PGP SIGNATURE-----

--------------ws0MxE6bDzF8XA47iK4fV4BY--


From minios-devel-bounces@lists.xenproject.org Fri Jul 11 00:36:55 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 11 Jul 2025 00:36:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1040032.1411503 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ua1ky-0005Qz-U8; Fri, 11 Jul 2025 00:36:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1040032.1411503; Fri, 11 Jul 2025 00:36:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ua1ky-0005Qs-RE; Fri, 11 Jul 2025 00:36:52 +0000
Received: by outflank-mailman (input) for mailman id 1040032;
 Fri, 11 Jul 2025 00:36:51 +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
 <SRS0=KwYO=ZY=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1ua1kx-0005Qh-GQ
 for minios-devel@lists.xenproject.org; Fri, 11 Jul 2025 00:36:51 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20606.outbound.protection.outlook.com
 [2a01:111:f403:240a::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2045c74c-5def-11f0-a318-13f23c93f187;
 Fri, 11 Jul 2025 02:36:49 +0200 (CEST)
Received: from MN2PR10CA0030.namprd10.prod.outlook.com (2603:10b6:208:120::43)
 by MN2PR12MB4437.namprd12.prod.outlook.com (2603:10b6:208:26f::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.29; Fri, 11 Jul
 2025 00:36:42 +0000
Received: from BN1PEPF00004689.namprd05.prod.outlook.com
 (2603:10b6:208:120:cafe::40) by MN2PR10CA0030.outlook.office365.com
 (2603:10b6:208:120::43) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.25 via Frontend Transport; Fri,
 11 Jul 2025 00:36:42 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF00004689.mail.protection.outlook.com (10.167.243.134) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8922.22 via Frontend Transport; Fri, 11 Jul 2025 00:36:42 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 10 Jul
 2025 19:36:41 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 10 Jul
 2025 19:36:41 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 10 Jul 2025 19:36:41 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2045c74c-5def-11f0-a318-13f23c93f187
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=gAJ3tdtnJHx7+YBLXu7Yc9tX9XiazvJXT3FUbk47j9oFlaFxyXp/XW2e4K6KaxQ3co4YiA/ZCY+pP6PIvl6tC0R3S3pUen6GcyPVoGNdcbswxJywraLq7gu0PxiBY7qnC+S9nph/Pe+YnuSu2zig6aRkXc3DIJekfzMHPzaBTsUksxfH5/N+hVEhTdMJIHec8vWvXuIoW+p/pAADwjMrs29BNvoYDcpl5CuUV2zFdwo6KmWIEuOjU0hf4ePgzbwfqGtbrbTsMejZnqa438ukQv6THGw5JyU6WBEjBPpzVKUzKUnqcUtPVA5y1iOg764H6NJ/AyFLMN5FOU7LMNlOOA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Mu8HczdrIOu4FRdPm2mPE+j0YN4Icvri6gDA0ab8h0c=;
 b=t2BvLkyJESoUiRBJ2G1/WC7ouwIlZ/8kdcTLjpsqIBYMp825OwE7BHXTgFbSlZGY7B1x1ElKuaDveY4rkCnuIxQiG/gPBfzGynoFD6V4xmvO4imTCrCyrDwGVyAMN8nNlSut9r1Nqa8Wn36m//BhU1ontyZ5Zf02WVYlqnp2XvSgFRthBzQ7klLvtsU0Em0vp6uNjpMbrBLyTuxaYF3KSmqR5XI0J564RYK0HwZ9+yj8BmmN/AS6Db//zte69RaXCU9ylIP4hbBfAhXLvszH54zgCEOre8cjK1V2kEueS1bpJ3ncK+9XtgjCpmasYpJ3pXcubAr9jrext7SQA0hSaA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Mu8HczdrIOu4FRdPm2mPE+j0YN4Icvri6gDA0ab8h0c=;
 b=TiOeczqpPW9D1aw0GDjcaVmdMemnNubu2FdLfSl9eSTpY3YkH0PR+BaljmX5/lWSIgu39c+v0p/cW0NkvoLkDPGaZiYWwybRSIdxrJMlRSUnyRpMW9Xfm9Gn+KoERgTdcpZNZlAQPDYQ/z9FntmK7c0vEklNNRvKunzEV7cXyCE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <cbb2c96d-c4da-4360-9f74-0dbfe3448747@amd.com>
Date: Thu, 10 Jul 2025 19:21:18 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 12/19] mini-os: kexec: add support for handing
 over some memory across kexec
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-13-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250702081254.14383-13-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00004689:EE_|MN2PR12MB4437:EE_
X-MS-Office365-Filtering-Correlation-Id: d9ca76cd-bfde-4501-8700-08ddc01301b6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|376014|82310400026|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?aVVIMHFUT3ZXRmlsd2V0OUl1NXhVTzRwSW9RYTROYWRLcnZuSXNxUFMrQysv?=
 =?utf-8?B?ZjNlNEk0MTZQQzh4VnFoZUdlU2h2dDUraXcxanBRWXpKSlJCY0FGblEzYjl0?=
 =?utf-8?B?TlZtQWZzVWRtVmwzRjZZWXRrVVhkczE2RXhBT1QzbGtuQ1pJSFVGdlZtRVk0?=
 =?utf-8?B?aW92L1lQMS93WmtmUEc0S1kra2VnWldRV0RtVzZXbGJhOHdpRGx1NFVQS1Yr?=
 =?utf-8?B?NGFiRTJUNXpPR1F2TmtzbXFqczM0SnY0cWNNMWYrcDVLbDI3RTN3alRnU1ZC?=
 =?utf-8?B?MStvbjEwL3lOalFLd3VpUzZkU0dmcGN3Tk5saTMvNTFaVGp1Yncvdnh1RG8y?=
 =?utf-8?B?Vmd2ZVNnY3ZwdWNUTjQ0TXNhc0UwUTh1VWtjV3cxMVZnMmJlU2JMR2h3QS9Q?=
 =?utf-8?B?N09vZFc4QjdLcDIySmFhMStyam55OWc0Y1Z1Kzl2N0pYOFNDaU9FaGJVUVlO?=
 =?utf-8?B?MmZCMFdVaVlyRUNqWWFVb3VsV2NhaENUNlNGdENoKytSNjN4ZEJiTlBtWGtu?=
 =?utf-8?B?SlVSVjR3U2V4ZGZYZWltY2NYeHNvWURYK2VtVFJndXNzVDZjWXhzZndTSEhK?=
 =?utf-8?B?Y0EydFVGWHExQ2lXNTZENlhGZFRuNUQ4WWNxM3lyc2tJQXg4Umg5aXJ5NDAw?=
 =?utf-8?B?Nldjczc4VU42Uzd1L2FRdXRiNFBUNHBnemF5N0hETEE1a2VDZG5kQ3h5ekZQ?=
 =?utf-8?B?TnRocTlHK3IzTHdDaWI5ZTc4YlJJc20wb2N5cVRLWmFEdlJRenRRYTR4SmJW?=
 =?utf-8?B?aktTSmZObEQ5VFdTaVdXQnhBWTJRWXNNL0pvclF6U1lkazJoeHdsMFZjaTRM?=
 =?utf-8?B?U04wdi9oUkRTNXNTTW13K1IxakJjMDR1L0lJa2cyWE5taC9JQkhwa2dPL2xu?=
 =?utf-8?B?Vkh2RnlFUDBDTFJGZXZLMDlxdXhma3M4RCtaL0NlV0VkZVRNZ3pSYUxMdUV2?=
 =?utf-8?B?aTFDdytXOW95bUR3Y2dnZ0dxZDNCUWQyV1Q4TlRlMTB4aGUzSHVxR0VzUE0y?=
 =?utf-8?B?THRZZHlwM0lhOGgrUFovbDZxQ1ppSXBaUWsxNHllZ2ZHeG5PQUxDRXYrVHU4?=
 =?utf-8?B?RXBJb2lIeGluaXoyWkpLc3ROV3JoeElydTNycG9TdUVlRzV0cUlReWdEUFUr?=
 =?utf-8?B?QzZlQldXWllQVVVocXJEdGMxRkZGbkhYL0JKcWxIZFVKMGsyV0VEUDhhTlk1?=
 =?utf-8?B?MnVhcW51cXV1NmRCV1FMSzZqdEl5a1BhTVNQZi84VFlhdVpTdmtiVnQ1d1Bv?=
 =?utf-8?B?ajdldldmSTZULzloKzBOZDc5dmVsdHRweVJMVWNScWw4TFRDMTR5R1dHYUF5?=
 =?utf-8?B?b0ZZd29Ud1p3Y3RJM2UzSUlsc3VUajJRdTBaS20yLzRzV3BjWkJWRW5PN3NK?=
 =?utf-8?B?aGxYUnZnQUdHMWdtYmh3RHdWUXk3WnFwL1h2azZianFqVkZ0dlc0NTQ5azd3?=
 =?utf-8?B?VWhMUzk2amlJQmp0OXR1WlhZRmhzQkFmd0FBdHY4cHg2VDJQQjZtVlU4Ly8r?=
 =?utf-8?B?TVkvVE5xRHh6bHVScXZzTnVGVlJhZjVXamtqYlhqa1M1djdjSXNNKzVqbHJn?=
 =?utf-8?B?L2lnc2x3UWFCSTdKUGQvbzF4UTJJS0RFL0Z0ZWpHek8vY0Y0UGdXajZXcmxk?=
 =?utf-8?B?VUhXbmVESXhkQUg0UUxVMXdxc3JjT2hlRWd6eDRyWitua240VG1ucWpBT0oz?=
 =?utf-8?B?VzZuWWVWNUZpT3FNVklnQ1dtTFBjQW1JcnE0MlUwRzVlVUdmS1FNaEFJV2V2?=
 =?utf-8?B?b05oSUJ6WTJTWkI1YTA3SWFwcGpOZ3c1dzV3TGVuWVJkMEt0SUswb2Rkek5a?=
 =?utf-8?B?cmlTOUwrQ1lQbGN1RmwydUpka1R2LzRyQjZUTFIwRHIxL0EzUUJra0llcjk2?=
 =?utf-8?B?TWdudmkxVXgxUFhGaFJRN0F1NmlOdkNKNUJoQlhNcCtaQXJhNGdQc2lpdDIz?=
 =?utf-8?B?TzVxZHhNQWcyUVZBSFBzdmZPVmN5SUVQYVF1L3FiRUNxVVZJZ2ZXc09nY2RM?=
 =?utf-8?B?L3g5S09DNkFMRGF4M0VWUitBQVh4dWhyMkhheld4VXJROEFmMkhWdHVJbkt4?=
 =?utf-8?Q?A8TsNM?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jul 2025 00:36:42.1694
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d9ca76cd-bfde-4501-8700-08ddc01301b6
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00004689.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4437

On 2025-07-02 04:12, Juergen Gross wrote:
> Especially for support of Xenstore-stubdom live update some memory must
> be handed over to the new kernel without moving it around: as the
> 9pfs device used for storing and retrieving the state of Xenstore
> needs to be kept operational across kexec (it can't be reopened due to
> Xenstore not being available without access to the device), the ring
> pages need to be accessible via active grants by the backend all the
> time.
> 
> Add the basic support for that by reserving a pre-defined number of
> memory pages at the top of the memory. This memory area will be
> handed over to the new kernel via specifying it as a module in
> struct hvm_start_info.
> 
> The contents of the memory area are described via a generic table of
> contents in the last page of the memory.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>   Config.mk             |  2 ++
>   arch/x86/kexec.c      | 77 +++++++++++++++++++++++++++++++++++++++++++
>   arch/x86/mm.c         | 18 ++++++++++
>   arch/x86/setup.c      | 28 ++++++++++++++++
>   include/kernel.h      |  1 +
>   include/kexec.h       | 45 +++++++++++++++++++++++++
>   include/x86/arch_mm.h |  1 +
>   kexec.c               |  3 ++
>   mm.c                  |  6 ++++
>   9 files changed, 181 insertions(+)
> 
> diff --git a/Config.mk b/Config.mk
> index b9675e61..0e4e86d8 100644
> --- a/Config.mk
> +++ b/Config.mk
> @@ -220,6 +220,8 @@ CONFIG-$(lwip) += CONFIG_LWIP
>   $(foreach i,$(CONFIG-y),$(eval $(i) ?= y))
>   $(foreach i,$(CONFIG-n),$(eval $(i) ?= n))
>   
> +CONFIG-val-$(CONFIG_KEXEC) += CONFIG_KEXEC_MODULE_PAGES
> +

I don't know Makefiles well enough to review the preceding patch.  This 
doesn't seem to be used?

>   $(foreach i,$(CONFIG-val-y),$(eval $(i) ?= 0))
>   
>   CONFIG-x += CONFIG_LIBXS
> diff --git a/arch/x86/kexec.c b/arch/x86/kexec.c
> index 804e7b6d..7fb98473 100644
> --- a/arch/x86/kexec.c
> +++ b/arch/x86/kexec.c
> @@ -201,10 +201,73 @@ static unsigned long kexec_param_loc;
>   static unsigned int kexec_param_size;
>   static unsigned long kexec_param_mem;
>   
> +static struct kexec_module *kexec_check_module(void)
> +{
> +    unsigned long mod_size;
> +    unsigned long mod;
> +    struct kexec_module *module_ptr;
> +
> +    mod = get_module(&mod_size);
> +    if ( !mod )
> +        return NULL;
> +    /* Size must be a multiple of PAGE_SIZE. */
> +    if ( mod_size & ~PAGE_MASK )
> +        return NULL;
> +
> +    /* Kxec module description is at start of the last page of the module. */

Kexec

> +    module_ptr = (void *)(mod + mod_size - (unsigned long)PAGE_SIZE);
> +
> +    /* Check eye catcher. */
> +    if ( memcmp(module_ptr->eye_catcher, KEXECMOD_EYECATCHER,
> +                sizeof(module_ptr->eye_catcher)) )
> +        return NULL;
> +    if ( module_ptr->n_pages != (mod_size >> PAGE_SHIFT) - 1 )
> +        return NULL;
> +
> +    return module_ptr;
> +}

> +#define min(a, b) ((a) < (b) ? (a) : (b))
> +void kexec_module(unsigned long start_pfn, unsigned long max_pfn)
> +{
> +    /* Reuse already existing kexec module. */
> +    mod_ptr = kexec_check_module();
> +    if ( !mod_ptr && CONFIG_KEXEC_MODULE_PAGES )

What if CONFIG_KEXEC_MODULE_PAGES changes between the old and the new 
stubdom?

> +    {
> +        max_pfn = min(max_pfn, PHYS_PFN(0xffffffff));
> +
> +        iterate_memory_range(PFN_PHYS(start_pfn), PFN_PHYS(max_pfn),
> +                             get_mod_addr);
> +        BUG_ON(!kexec_mod_start);
> +
> +        mod_ptr = (void *)(kexec_mod_start +
> +                           ((CONFIG_KEXEC_MODULE_PAGES - 1) << PAGE_SHIFT));
> +        memset(mod_ptr, 0, PAGE_SIZE);
> +        memcpy(mod_ptr->eye_catcher, KEXECMOD_EYECATCHER,
> +               sizeof(mod_ptr->eye_catcher));
> +        mod_ptr->n_pages = CONFIG_KEXEC_MODULE_PAGES - 1;
> +        memset(mod_ptr->pg2rec, KEXECMOD_PG_FREE, mod_ptr->n_pages);

I was wondering about a BUILD_BUG_ON for CONFIG_KEXEC_MODULE_PAGES 
versus some limit but I can't think of one.
> +        mod_ptr->recs_off = sizeof(struct kexec_module) +
> +                            CONFIG_KEXEC_MODULE_PAGES + (mod_ptr->n_pages & 1);

mod_ptr->n_pages & 1 is to ensure 16bit alignment?

mod_ptr->n_pages = CONFIG_KEXEC_MODULE_PAGES - 1, and pg2rec is n_pages, 
so using CONFIG_KEXEC_MODULE_PAGES makes this off by 1?

> +
> +        set_reserved_range(kexec_mod_start, (unsigned long)mod_ptr + PAGE_SIZE);
> +    }
> +}
> +

> @@ -252,6 +316,19 @@ int kexec_get_entry(const char *cmdline)
>       info->memmap_entries = mmap - (struct hvm_memmap_table_entry *)next;
>       next = mmap;
>   
> +    if ( mod_ptr )
> +    {
> +        mod = next;
> +        memset(mod, 0, sizeof(*mod));
> +        info->nr_modules = 1;
> +        info->modlist_paddr = kexec_param_loc +

Looking at this again, I wonder if kexec_param_loc would be better named 
_pa or _paddr.

> +                              (unsigned long)next - kexec_param_mem;
> +        mod->paddr = kexec_mod_start;
> +        mod->size = PFN_PHYS(mod_ptr->n_pages + 1);
> +        mod->cmdline_paddr = 0;
> +        next = mod + 1;
> +    }
> +
>       info->cmdline_paddr = kexec_param_loc + (unsigned long)next - kexec_param_mem;
>       strcpy(next, cmdline);
>   


> diff --git a/include/kexec.h b/include/kexec.h
> index b89c3000..0200005f 100644
> --- a/include/kexec.h
> +++ b/include/kexec.h
> @@ -2,6 +2,48 @@
>   #define _KEXEC_H
>   #include <mini-os/elf.h>
>   
> +/*
> + * Kexec module used to hand over memory across kexec().
> + *
> + * This is an ABI which should be modified only in a compatible way.
> + * struct kexec_module is located at the start of the last page of the module.

Why is kexec_module, which seems like a header, placed in the last page?

> + *
> + * The module can contain data/pages of multiple users. Each user has an own
> + * record which layout is depending on the user. Records are linked via a table
> + * of record offsets.
> + *
> + * All admin data (struct kexec_module, record offset table and records) must
> + * fit into the last page of the module.
> + */
> +struct kexec_module {
> +    uint8_t eye_catcher[8];
> +#define KEXECMOD_EYECATCHER "KexecMem"
> +    uint16_t n_pages;       /* Number of allocatable pages in the module.    */
> +    uint16_t n_records;     /* Size of record table (max. 255).              */
> +#define KEXECMOD_REC_MAX    255
> +    uint16_t recs_off;      /* Offset to record table from start of page.    */
> +                            /* The record table is an array of               */
> +                            /* struct kexec_module_rec.                      */
> +    uint8_t pg2rec[];       /* One entry per allocatable module page, value  */
> +                            /* is record number (starting from 0) associated */
> +                            /* with it. Free pages have value 255.           */

This reads like it is 1 page per record...

> +#define KEXECMOD_PG_FREE    255
> +};
> +
> +struct kexec_module_rec {
> +    uint16_t offset;        /* Offset to record from start of page.          */

... but then why would you need an offset?  How do you identify which 
"page" or do you mean from the start of the module?

> +    uint8_t type;           /* Type of record.                               */
> +#define KEXECMOD_REC_NONE   0
> +    uint8_t size;           /* Size of record.                               */
> +};
> +
> +#ifndef CONFIG_KEXEC_MODULE_PAGES
> +#define CONFIG_KEXEC_MODULE_PAGES 0
> +#endif
> +
> +extern unsigned long kexec_mod_start;
> +extern struct kexec_module *mod_ptr;
> +
>   /* One element of kexec actions (last element must have action KEXEC_CALL): */
>   struct kexec_action {
>       enum {

> diff --git a/kexec.c b/kexec.c
> index 2607c819..ded29882 100644
> --- a/kexec.c
> +++ b/kexec.c
> @@ -250,3 +250,6 @@ int kexec_add_action(int action, void *dest, void *src, unsigned int len)
>   
>       return 0;
>   }
> +
> +unsigned long kexec_mod_start;
> +struct kexec_module *mod_ptr;

Personally, I find it a little unusual to add variables at the end of 
the file.  But it's fine and you don't have to change it.

Regards,
Jason


From minios-devel-bounces@lists.xenproject.org Fri Jul 11 06:24:52 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 11 Jul 2025 06:24:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1040498.1411927 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ua7Bi-00030A-Py; Fri, 11 Jul 2025 06:24:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1040498.1411927; Fri, 11 Jul 2025 06:24:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ua7Bi-000303-Mm; Fri, 11 Jul 2025 06:24:50 +0000
Received: by outflank-mailman (input) for mailman id 1040498;
 Fri, 11 Jul 2025 06:24:49 +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 <SRS0=Yw5d=ZY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ua7Bh-0002m5-37
 for minios-devel@lists.xenproject.org; Fri, 11 Jul 2025 06:24:49 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd7202ed-5e1f-11f0-a318-13f23c93f187;
 Fri, 11 Jul 2025 08:24:46 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3a54700a46eso1111421f8f.1
 for <minios-devel@lists.xenproject.org>; Thu, 10 Jul 2025 23:24:46 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-74eb9f4b16fsm3970209b3a.120.2025.07.10.23.24.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 10 Jul 2025 23:24:45 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd7202ed-5e1f-11f0-a318-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1752215086; x=1752819886; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=nzt2XbScEuaa70g7MbhiFbO5RvGnL/d+D9V5h448sGQ=;
        b=ZJTFVnul4prcs+kFhcJgxWMy6Bb8Lls2bmLujBYbVwLySXk3ulj6ICB/bUQYRlRm31
         bFSgYI3Q9sJuiw0X53V2waPvvEri/LlC4u/35vfpEUIk/SIj8vgZ5cuNNNNQqFMfi4v5
         5navtRsP7YjS8AFFB5oWyo2XLOzDxqIAJ09sMflYKODWKX+82/xjROKh7wAYruSoi/Uy
         +3qSDDtK94Hg6H+g8Ums/V7dPlHPykRFLgR1Mzpq8dPjH0KVJ+nEUL/tZhT/BLj5U42d
         K14mUcPhT65qA29gkCqwWM0EVvMM4vaEmokhjaZDSoyqh4Eiem97zMARMRPk+x3xOtBX
         FJaA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1752215086; x=1752819886;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nzt2XbScEuaa70g7MbhiFbO5RvGnL/d+D9V5h448sGQ=;
        b=WxX2VSNC3lIhNbir/Y5w/xXzSN+HBjFdDVnDARQ8UBZXet+JDdNX1Dfipg113O65At
         /n9SGWBNcg2ux0y7QUYjG/WfSzhFCY469FuSYk8mlSXAqoNP+aPR1mHVNNeTobvxydUR
         zOKlpKjKWun7JWaTwZjJnT9U9trJ8Mpjp1rUE/LJ4zT/kf04V1DqGxe962w9R5wWSNM4
         1OioPqhD2UCjuZy+aPQyXwjaGzRR4nYFXhwtk3ownNrArNTlGEdkR0OiM+b5122eAAnc
         0jrNffxCI9gxn6MPxM1JHzRn2ZHRhpFy+tRHnpM//awZt+mjegcZgsoOieVtw1dqZ3CX
         ATJQ==
X-Forwarded-Encrypted: i=1; AJvYcCVkTncvZZC7vxF0Fo5dBivdnCRexTP3SWEYZse8lbW1mlpIYCnQa34sGFmJsddDVnQpERRB433a7WDqnyE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxb66tWHvgzJe/d5ykURFQLBr3ApMrh3KuBQDwWRdBpgG19OURA
	n4yPhj+5J3XoXzojm0hks7Hp3IDWaS9luxV55+a0TDl8Dzy6CDIiitb9ovbIYte5EQ==
X-Gm-Gg: ASbGncvbGO+7o6hVkuqBOgHPCkhvBYghvxSZbQF4S+RGwMUx6GqQ97/tJwZ+sGT/2dY
	ENA5rv637d6HAXOrBlk9YycgJaBPRbPcYDSN3y3qaKzYcflcUqxQhwcNKmIgPApAj0oRbt3D/j6
	hUGQQrCrfK/ZkBtKFPNUIfbAunwLzrQ7PUCrSjuMY31BWZabRH8/jyPoRycm8Cqghfewb1vvuwo
	RgMRMETKeU0sngN4X/ad0qDQa3tRBhrP0D4Lhbt+AhjtsHre9AFlsb5DvogjRHFoDXOSG316vFR
	6va6nRJ4QgUDKb/C+IqfxqmNRrRWmZnqxFvlrj77VWOyI9mO/ezae2SXLvQf+H6p2VBstJJUCd/
	y6hiES1k4TI1d2G+/UXA/+cU3vaAyWZ6Y0HdPMlNYe5ImCmlQjqSg7KcAfnlVIcjNHypNkxuZnD
	HP5TmSAPg=
X-Google-Smtp-Source: AGHT+IH2n5qqcUn772RmaVPwwwrq2lfKa3rxzcGBx/XVkGixQG3KSZKyti9WK0qkF1MMYUsXRzcPVg==
X-Received: by 2002:a05:6000:4412:b0:3a6:d145:e2cc with SMTP id ffacd0b85a97d-3b5f187e927mr1212451f8f.15.1752215085855;
        Thu, 10 Jul 2025 23:24:45 -0700 (PDT)
Message-ID: <6102acd3-b4c0-45a1-87d1-8f4888c662cd@suse.com>
Date: Fri, 11 Jul 2025 08:24:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 11/19] mini-os: config: add support for config
 items with numerical values
To: Juergen Gross <jgross@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-12-jgross@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20250702081254.14383-12-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.07.2025 10:12, Juergen Gross wrote:
> Add support for a Mini-OS config file containing config items with
> numerical values, e.g. CONFIG_FOO=7.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Albeit I'm puzzled by the use in the next patch. Besides me perhaps simply
not knowing where the new CONFIG_* would actually have its value set, I
wonder why, ...

> --- a/Config.mk
> +++ b/Config.mk
> @@ -178,6 +178,7 @@ endif
>  # CONFIG-y contains all items defaulting to "y"
>  # CONFIG-n contains all items defaulting to "n"
>  # CONFIG-x contains all items being calculated if not set explicitly
> +# CONFIG-val-y contains all items with numerical values, defaulting to 0
>  CONFIG-y += CONFIG_START_NETWORK
>  CONFIG-y += CONFIG_SPARSE_BSS
>  CONFIG-y += CONFIG_BLKFRONT
> @@ -219,6 +220,8 @@ CONFIG-$(lwip) += CONFIG_LWIP
>  $(foreach i,$(CONFIG-y),$(eval $(i) ?= y))
>  $(foreach i,$(CONFIG-n),$(eval $(i) ?= n))
>  
> +$(foreach i,$(CONFIG-val-y),$(eval $(i) ?= 0))

... with this and ...

> @@ -226,6 +229,7 @@ CONFIG-all := $(CONFIG-y) $(CONFIG-n) $(CONFIG-x)
>  
>  # Export config items as compiler directives
>  $(foreach i,$(CONFIG-all),$(eval DEFINES-$($(i)) += -D$(i)))
> +$(foreach i,$(CONFIG-val-y),$(eval DEFINES-y += -D$(i)=$($(i))))

... this, kexec.h still needs to have a fallback #define there.

Jan


From minios-devel-bounces@lists.xenproject.org Fri Jul 11 07:49:28 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 11 Jul 2025 07:49:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1040602.1412010 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ua8Vb-0002ed-87; Fri, 11 Jul 2025 07:49:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1040602.1412010; Fri, 11 Jul 2025 07:49:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ua8Vb-0002eW-52; Fri, 11 Jul 2025 07:49:27 +0000
Received: by outflank-mailman (input) for mailman id 1040602;
 Fri, 11 Jul 2025 07:49:25 +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 <SRS0=s7n+=ZY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ua8VZ-0002Pj-2Y
 for minios-devel@lists.xenproject.org; Fri, 11 Jul 2025 07:49:25 +0000
Received: from mail-wm1-x341.google.com (mail-wm1-x341.google.com
 [2a00:1450:4864:20::341])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8ebedb93-5e2b-11f0-a318-13f23c93f187;
 Fri, 11 Jul 2025 09:49:22 +0200 (CEST)
Received: by mail-wm1-x341.google.com with SMTP id
 5b1f17b1804b1-45363645a8eso12986955e9.1
 for <minios-devel@lists.xenproject.org>; Fri, 11 Jul 2025 00:49:22 -0700 (PDT)
Received: from ?IPV6:2003:e5:8709:f00:6357:915b:11f9:6d20?
 (p200300e587090f006357915b11f96d20.dip0.t-ipconnect.de.
 [2003:e5:8709:f00:6357:915b:11f9:6d20])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3b5e8bd17b7sm3795121f8f.11.2025.07.11.00.49.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 11 Jul 2025 00:49:20 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8ebedb93-5e2b-11f0-a318-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1752220161; x=1752824961; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=O9pK5RbvJxhmc6H7bB22cd0ncPJW5Ykr9dqbspGFJPU=;
        b=Oih966uzcJugeb3vHJDVDjCGEjDle3yeBuHlenW/KFWEEDBEtr2tCJaSCPPRY7pG4E
         ikEaJ85Iy+cwRvHi1fyRaFD2eejD7Msxz59oReOiq4JuwqdFtyVAvSycEyiO4aHiZLU+
         CTY3iDas2UWSb3ZtrKmor35Rqrn2nVMB7JIC3kE4b704H6iFjwHlGziXnIXyM/cetRrs
         SlCJYltPX772GroOXjsLZf53CjY/jPSFr4asox4ApJ6qpEYhp8wy8Ro+fAkZJkfby8fB
         sybnTd41nlK56V1why/3dMtVgTw5qI0ZXDr2s+sj8JGeDY+w6N26wfk68kinYIuaCwx1
         XoPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1752220161; x=1752824961;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=O9pK5RbvJxhmc6H7bB22cd0ncPJW5Ykr9dqbspGFJPU=;
        b=pUahpGwVrj4xYqjCrEQ36TN58zoXKcb0iY87ro8YBP1dXfiAobNEFhvCOUMBo+fDMg
         HTVccRmnPDOWvDc+ZeWKpKI9uK4G+EX7qNAnkdnPfjYV3WnTg+GXShzTOXm7P9d2GZge
         MbLsAtpPISNdMY93Mw1A7bs2RuCIAXdr9jIDRGE8JjEENi487MjjibaFcemNspyuI8Af
         j8RIjtz1TGso1HW1WsjzCEv+cjWzTWfOlcsO4cNXVruuQtHR2/utlYNGnfSHlgvddzGE
         bNLPlHT8rbiScrlztPR3LHpJaFD1Z9NTdFeJLSqIFi36CjA1LeP8U05vDOnoqt3J2bXw
         54Fg==
X-Forwarded-Encrypted: i=1; AJvYcCWLzz3PN4K3cRrY58wpzVRBY1zSpdBaTgAafdT2U65RY1HfLeHsNgfKKJcYFl/m0i5nL/tpIA6dKMGvewM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzUY8BvZGleZzHVEm7u6YbZQhx2TBf23MDA6Rn8mRsaeNnuTv0G
	8ngF46mt54fBPIsWwZLcVGd43Jp2sr3pqBmAYEA2DA5t+fGlmVnUEeeWfxEWn7RpQEQ=
X-Gm-Gg: ASbGncsu7UAOydYC6MTIz62uTFtH8JpJC2ULFQ4fK1YYgTFhIYpwFNwr7ZI+/pqMZrX
	403trugySCgZ/VsN8AJOyUKbyy0Qt34C3x7HGmow0Z0pjic4o45B7OvbhYTQXU+HNGQsNVREOcv
	b3O8FTmeUBlwYCG/pVycqYXHHUiq0fGEmYR7FTBNoOek7wWTKoW58Amqw2XZwC5XweCz3Oq8fq0
	Isi8wGHM3fpZ5G7lD5ymRMlteoK+5upKjTjwXG/3PzAR7+gStx+X7VM4RPWsU/1rNG67nCdEMdf
	pJiqS3xTUIph3hYi/vmOtsGXk+PAkvCOY2AHOMsxG7NHeiA3r9e48lrRLoLHNmisl/2AoZO2gaB
	fEu4P6WA/ace7ocoCVmEaHOmb32Zb9u6gIl1dnjULLJwd2EDonDz7FPPqUW3TgYyX4S/3NdhPDW
	bly3QN98R37yGy6DmH4fFApg40Eu5/gf/v47b4Yw6QGYF9
X-Google-Smtp-Source: AGHT+IHRUAv0lL8qNmKjVZes9/Poc4CzcDI69S301kfWCkB4jnKF/Xjpu/flNj5eysv95lm9/Y2ErA==
X-Received: by 2002:adf:ea45:0:b0:3a8:38b3:1aa1 with SMTP id ffacd0b85a97d-3b5f18cf218mr1773740f8f.27.1752220161356;
        Fri, 11 Jul 2025 00:49:21 -0700 (PDT)
Message-ID: <82e521d2-9886-4540-8e8c-7096fd34451e@suse.com>
Date: Fri, 11 Jul 2025 09:49:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 12/19] mini-os: kexec: add support for handing
 over some memory across kexec
To: Jason Andryuk <jason.andryuk@amd.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-13-jgross@suse.com>
 <cbb2c96d-c4da-4360-9f74-0dbfe3448747@amd.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <cbb2c96d-c4da-4360-9f74-0dbfe3448747@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------KXIO0V16XlYckqctoR0FCnRB"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------KXIO0V16XlYckqctoR0FCnRB
Content-Type: multipart/mixed; boundary="------------MElPxhYkBQJj0TSpqr0dYDpK";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jason Andryuk <jason.andryuk@amd.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org
Message-ID: <82e521d2-9886-4540-8e8c-7096fd34451e@suse.com>
Subject: Re: [MINI-OS PATCH 12/19] mini-os: kexec: add support for handing
 over some memory across kexec
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-13-jgross@suse.com>
 <cbb2c96d-c4da-4360-9f74-0dbfe3448747@amd.com>
In-Reply-To: <cbb2c96d-c4da-4360-9f74-0dbfe3448747@amd.com>

--------------MElPxhYkBQJj0TSpqr0dYDpK
Content-Type: multipart/mixed; boundary="------------Jobs6TyEbvY6vGz4N8MSVeSX"

--------------Jobs6TyEbvY6vGz4N8MSVeSX
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTEuMDcuMjUgMDE6MjEsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIDIwMjUtMDct
MDIgMDQ6MTIsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBFc3BlY2lhbGx5IGZvciBzdXBw
b3J0IG9mIFhlbnN0b3JlLXN0dWJkb20gbGl2ZSB1cGRhdGUgc29tZSBtZW1vcnkgbXVzdA0K
Pj4gYmUgaGFuZGVkIG92ZXIgdG8gdGhlIG5ldyBrZXJuZWwgd2l0aG91dCBtb3ZpbmcgaXQg
YXJvdW5kOiBhcyB0aGUNCj4+IDlwZnMgZGV2aWNlIHVzZWQgZm9yIHN0b3JpbmcgYW5kIHJl
dHJpZXZpbmcgdGhlIHN0YXRlIG9mIFhlbnN0b3JlDQo+PiBuZWVkcyB0byBiZSBrZXB0IG9w
ZXJhdGlvbmFsIGFjcm9zcyBrZXhlYyAoaXQgY2FuJ3QgYmUgcmVvcGVuZWQgZHVlIHRvDQo+
PiBYZW5zdG9yZSBub3QgYmVpbmcgYXZhaWxhYmxlIHdpdGhvdXQgYWNjZXNzIHRvIHRoZSBk
ZXZpY2UpLCB0aGUgcmluZw0KPj4gcGFnZXMgbmVlZCB0byBiZSBhY2Nlc3NpYmxlIHZpYSBh
Y3RpdmUgZ3JhbnRzIGJ5IHRoZSBiYWNrZW5kIGFsbCB0aGUNCj4+IHRpbWUuDQo+Pg0KPj4g
QWRkIHRoZSBiYXNpYyBzdXBwb3J0IGZvciB0aGF0IGJ5IHJlc2VydmluZyBhIHByZS1kZWZp
bmVkIG51bWJlciBvZg0KPj4gbWVtb3J5IHBhZ2VzIGF0IHRoZSB0b3Agb2YgdGhlIG1lbW9y
eS4gVGhpcyBtZW1vcnkgYXJlYSB3aWxsIGJlDQo+PiBoYW5kZWQgb3ZlciB0byB0aGUgbmV3
IGtlcm5lbCB2aWEgc3BlY2lmeWluZyBpdCBhcyBhIG1vZHVsZSBpbg0KPj4gc3RydWN0IGh2
bV9zdGFydF9pbmZvLg0KPj4NCj4+IFRoZSBjb250ZW50cyBvZiB0aGUgbWVtb3J5IGFyZWEg
YXJlIGRlc2NyaWJlZCB2aWEgYSBnZW5lcmljIHRhYmxlIG9mDQo+PiBjb250ZW50cyBpbiB0
aGUgbGFzdCBwYWdlIG9mIHRoZSBtZW1vcnkuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogSnVl
cmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPj4gLS0tDQo+PiDCoCBDb25maWcubWvC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIgKysNCj4+IMKgIGFyY2gveDg2L2tleGVj
LmPCoMKgwqDCoMKgIHwgNzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKw0KPj4gwqAgYXJjaC94ODYvbW0uY8KgwqDCoMKgwqDCoMKgwqAgfCAxOCArKysr
KysrKysrDQo+PiDCoCBhcmNoL3g4Ni9zZXR1cC5jwqDCoMKgwqDCoCB8IDI4ICsrKysrKysr
KysrKysrKysNCj4+IMKgIGluY2x1ZGUva2VybmVsLmjCoMKgwqDCoMKgIHzCoCAxICsNCj4+
IMKgIGluY2x1ZGUva2V4ZWMuaMKgwqDCoMKgwqDCoCB8IDQ1ICsrKysrKysrKysrKysrKysr
KysrKysrKysNCj4+IMKgIGluY2x1ZGUveDg2L2FyY2hfbW0uaCB8wqAgMSArDQo+PiDCoCBr
ZXhlYy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMyArKw0KPj4gwqAgbW0u
Y8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDYgKysrKw0KPj4gwqAg
OSBmaWxlcyBjaGFuZ2VkLCAxODEgaW5zZXJ0aW9ucygrKQ0KPj4NCj4+IGRpZmYgLS1naXQg
YS9Db25maWcubWsgYi9Db25maWcubWsNCj4+IGluZGV4IGI5Njc1ZTYxLi4wZTRlODZkOCAx
MDA2NDQNCj4+IC0tLSBhL0NvbmZpZy5taw0KPj4gKysrIGIvQ29uZmlnLm1rDQo+PiBAQCAt
MjIwLDYgKzIyMCw4IEBAIENPTkZJRy0kKGx3aXApICs9IENPTkZJR19MV0lQDQo+PiDCoCAk
KGZvcmVhY2ggaSwkKENPTkZJRy15KSwkKGV2YWwgJChpKSA/PSB5KSkNCj4+IMKgICQoZm9y
ZWFjaCBpLCQoQ09ORklHLW4pLCQoZXZhbCAkKGkpID89IG4pKQ0KPj4gK0NPTkZJRy12YWwt
JChDT05GSUdfS0VYRUMpICs9IENPTkZJR19LRVhFQ19NT0RVTEVfUEFHRVMNCj4+ICsNCj4g
DQo+IEkgZG9uJ3Qga25vdyBNYWtlZmlsZXMgd2VsbCBlbm91Z2ggdG8gcmV2aWV3IHRoZSBw
cmVjZWRpbmcgcGF0Y2guwqAgVGhpcyBkb2Vzbid0IA0KPiBzZWVtIHRvIGJlIHVzZWQ/DQoN
Ckl0IGlzLg0KDQo+IA0KPj4gwqAgJChmb3JlYWNoIGksJChDT05GSUctdmFsLXkpLCQoZXZh
bCAkKGkpID89IDApKQ0KPj4gwqAgQ09ORklHLXggKz0gQ09ORklHX0xJQlhTDQo+PiBkaWZm
IC0tZ2l0IGEvYXJjaC94ODYva2V4ZWMuYyBiL2FyY2gveDg2L2tleGVjLmMNCj4+IGluZGV4
IDgwNGU3YjZkLi43ZmI5ODQ3MyAxMDA2NDQNCj4+IC0tLSBhL2FyY2gveDg2L2tleGVjLmMN
Cj4+ICsrKyBiL2FyY2gveDg2L2tleGVjLmMNCj4+IEBAIC0yMDEsMTAgKzIwMSw3MyBAQCBz
dGF0aWMgdW5zaWduZWQgbG9uZyBrZXhlY19wYXJhbV9sb2M7DQo+PiDCoCBzdGF0aWMgdW5z
aWduZWQgaW50IGtleGVjX3BhcmFtX3NpemU7DQo+PiDCoCBzdGF0aWMgdW5zaWduZWQgbG9u
ZyBrZXhlY19wYXJhbV9tZW07DQo+PiArc3RhdGljIHN0cnVjdCBrZXhlY19tb2R1bGUgKmtl
eGVjX2NoZWNrX21vZHVsZSh2b2lkKQ0KPj4gK3sNCj4+ICvCoMKgwqAgdW5zaWduZWQgbG9u
ZyBtb2Rfc2l6ZTsNCj4+ICvCoMKgwqAgdW5zaWduZWQgbG9uZyBtb2Q7DQo+PiArwqDCoMKg
IHN0cnVjdCBrZXhlY19tb2R1bGUgKm1vZHVsZV9wdHI7DQo+PiArDQo+PiArwqDCoMKgIG1v
ZCA9IGdldF9tb2R1bGUoJm1vZF9zaXplKTsNCj4+ICvCoMKgwqAgaWYgKCAhbW9kICkNCj4+
ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gTlVMTDsNCj4+ICvCoMKgwqAgLyogU2l6ZSBtdXN0
IGJlIGEgbXVsdGlwbGUgb2YgUEFHRV9TSVpFLiAqLw0KPj4gK8KgwqDCoCBpZiAoIG1vZF9z
aXplICYgflBBR0VfTUFTSyApDQo+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIE5VTEw7DQo+
PiArDQo+PiArwqDCoMKgIC8qIEt4ZWMgbW9kdWxlIGRlc2NyaXB0aW9uIGlzIGF0IHN0YXJ0
IG9mIHRoZSBsYXN0IHBhZ2Ugb2YgdGhlIG1vZHVsZS4gKi8NCj4gDQo+IEtleGVjDQoNClll
cy4gU2VlbiBpdCBhbHJlYWR5Lg0KDQo+IA0KPj4gK8KgwqDCoCBtb2R1bGVfcHRyID0gKHZv
aWQgKikobW9kICsgbW9kX3NpemUgLSAodW5zaWduZWQgbG9uZylQQUdFX1NJWkUpOw0KPj4g
Kw0KPj4gK8KgwqDCoCAvKiBDaGVjayBleWUgY2F0Y2hlci4gKi8NCj4+ICvCoMKgwqAgaWYg
KCBtZW1jbXAobW9kdWxlX3B0ci0+ZXllX2NhdGNoZXIsIEtFWEVDTU9EX0VZRUNBVENIRVIs
DQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNpemVvZihtb2R1bGVfcHRy
LT5leWVfY2F0Y2hlcikpICkNCj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gTlVMTDsNCj4+
ICvCoMKgwqAgaWYgKCBtb2R1bGVfcHRyLT5uX3BhZ2VzICE9IChtb2Rfc2l6ZSA+PiBQQUdF
X1NISUZUKSAtIDEgKQ0KPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiBOVUxMOw0KPj4gKw0K
Pj4gK8KgwqDCoCByZXR1cm4gbW9kdWxlX3B0cjsNCj4+ICt9DQo+IA0KPj4gKyNkZWZpbmUg
bWluKGEsIGIpICgoYSkgPCAoYikgPyAoYSkgOiAoYikpDQo+PiArdm9pZCBrZXhlY19tb2R1
bGUodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgbWF4X3BmbikNCj4+
ICt7DQo+PiArwqDCoMKgIC8qIFJldXNlIGFscmVhZHkgZXhpc3Rpbmcga2V4ZWMgbW9kdWxl
LiAqLw0KPj4gK8KgwqDCoCBtb2RfcHRyID0ga2V4ZWNfY2hlY2tfbW9kdWxlKCk7DQo+PiAr
wqDCoMKgIGlmICggIW1vZF9wdHIgJiYgQ09ORklHX0tFWEVDX01PRFVMRV9QQUdFUyApDQo+
IA0KPiBXaGF0IGlmIENPTkZJR19LRVhFQ19NT0RVTEVfUEFHRVMgY2hhbmdlcyBiZXR3ZWVu
IHRoZSBvbGQgYW5kIHRoZSBuZXcgc3R1YmRvbT8NCg0KUmlnaHQgbm93IHRoaXMgd291bGRu
J3QgcmVhbGx5IG1hdHRlci4gVGhlIENPTkZJRyB2YWx1ZSBpcyB1c2VkDQpvbmx5IGZvciBz
aXppbmcgdGhlIG1vZHVsZSBpZiB3ZSBhcmUgbm90IHN0YXJ0ZWQgdmlhIGtleGVjKCkuDQoN
Cj4gDQo+PiArwqDCoMKgIHsNCj4+ICvCoMKgwqDCoMKgwqDCoCBtYXhfcGZuID0gbWluKG1h
eF9wZm4sIFBIWVNfUEZOKDB4ZmZmZmZmZmYpKTsNCj4+ICsNCj4+ICvCoMKgwqDCoMKgwqDC
oCBpdGVyYXRlX21lbW9yeV9yYW5nZShQRk5fUEhZUyhzdGFydF9wZm4pLCBQRk5fUEhZUyht
YXhfcGZuKSwNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCBnZXRfbW9kX2FkZHIpOw0KPj4gK8KgwqDCoMKgwqDCoMKgIEJV
R19PTigha2V4ZWNfbW9kX3N0YXJ0KTsNCj4+ICsNCj4+ICvCoMKgwqDCoMKgwqDCoCBtb2Rf
cHRyID0gKHZvaWQgKikoa2V4ZWNfbW9kX3N0YXJ0ICsNCj4+ICvCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgoQ09ORklHX0tFWEVDX01P
RFVMRV9QQUdFUyAtIDEpIDw8IFBBR0VfU0hJRlQpKTsNCj4+ICvCoMKgwqDCoMKgwqDCoCBt
ZW1zZXQobW9kX3B0ciwgMCwgUEFHRV9TSVpFKTsNCj4+ICvCoMKgwqDCoMKgwqDCoCBtZW1j
cHkobW9kX3B0ci0+ZXllX2NhdGNoZXIsIEtFWEVDTU9EX0VZRUNBVENIRVIsDQo+PiArwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzaXplb2YobW9kX3B0ci0+ZXllX2NhdGNoZXIp
KTsNCj4+ICvCoMKgwqDCoMKgwqDCoCBtb2RfcHRyLT5uX3BhZ2VzID0gQ09ORklHX0tFWEVD
X01PRFVMRV9QQUdFUyAtIDE7DQo+PiArwqDCoMKgwqDCoMKgwqAgbWVtc2V0KG1vZF9wdHIt
PnBnMnJlYywgS0VYRUNNT0RfUEdfRlJFRSwgbW9kX3B0ci0+bl9wYWdlcyk7DQo+IA0KPiBJ
IHdhcyB3b25kZXJpbmcgYWJvdXQgYSBCVUlMRF9CVUdfT04gZm9yIENPTkZJR19LRVhFQ19N
T0RVTEVfUEFHRVMgdmVyc3VzIHNvbWUgDQo+IGxpbWl0IGJ1dCBJIGNhbid0IHRoaW5rIG9m
IG9uZS4NCg0KSSBkb24ndCB0aGluayB3ZSBuZWVkIHRoYXQuIElmIHRoZSB2YWx1ZSBpcyB0
b28gaGlnaCwgaXQgd2lsbCBiZQ0KanVzdCBhIGJ1Zy4NCg0KPj4gK8KgwqDCoMKgwqDCoMKg
IG1vZF9wdHItPnJlY3Nfb2ZmID0gc2l6ZW9mKHN0cnVjdCBrZXhlY19tb2R1bGUpICsNCj4+
ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgQ09ORklHX0tFWEVDX01PRFVMRV9QQUdFUyArIChtb2RfcHRyLT5uX3BhZ2VzICYgMSk7
DQo+IA0KPiBtb2RfcHRyLT5uX3BhZ2VzICYgMSBpcyB0byBlbnN1cmUgMTZiaXQgYWxpZ25t
ZW50Pw0KPiANCj4gbW9kX3B0ci0+bl9wYWdlcyA9IENPTkZJR19LRVhFQ19NT0RVTEVfUEFH
RVMgLSAxLCBhbmQgcGcycmVjIGlzIG5fcGFnZXMsIHNvIA0KPiB1c2luZyBDT05GSUdfS0VY
RUNfTU9EVUxFX1BBR0VTIG1ha2VzIHRoaXMgb2ZmIGJ5IDE/DQoNClRoYW5rcyBmb3IgY2F0
Y2hpbmcgdGhpcy4gSSBmYWlsZWQgdG8gZml4IHRoYXQgd2hlbiBzd2l0Y2hpbmcgdG8NCiJt
b2RfcHRyLT5uX3BhZ2VzID0gQ09ORklHX0tFWEVDX01PRFVMRV9QQUdFUyAtIDEiIChpbml0
aWFsbHkgSSBkaWRuJ3QNCmhhdmUgdGhlICItIDEiLCBidXQgdGhpcyByZXF1aXJlZCB0b28g
bWFueSBjb3JyZWN0aW9ucyBieSAxIGF0IG90aGVyDQpwbGFjZXMpLg0KDQo+IA0KPj4gKw0K
Pj4gK8KgwqDCoMKgwqDCoMKgIHNldF9yZXNlcnZlZF9yYW5nZShrZXhlY19tb2Rfc3RhcnQs
ICh1bnNpZ25lZCBsb25nKW1vZF9wdHIgKyBQQUdFX1NJWkUpOw0KPj4gK8KgwqDCoCB9DQo+
PiArfQ0KPj4gKw0KPiANCj4+IEBAIC0yNTIsNiArMzE2LDE5IEBAIGludCBrZXhlY19nZXRf
ZW50cnkoY29uc3QgY2hhciAqY21kbGluZSkNCj4+IMKgwqDCoMKgwqAgaW5mby0+bWVtbWFw
X2VudHJpZXMgPSBtbWFwIC0gKHN0cnVjdCBodm1fbWVtbWFwX3RhYmxlX2VudHJ5ICopbmV4
dDsNCj4+IMKgwqDCoMKgwqAgbmV4dCA9IG1tYXA7DQo+PiArwqDCoMKgIGlmICggbW9kX3B0
ciApDQo+PiArwqDCoMKgIHsNCj4+ICvCoMKgwqDCoMKgwqDCoCBtb2QgPSBuZXh0Ow0KPj4g
K8KgwqDCoMKgwqDCoMKgIG1lbXNldChtb2QsIDAsIHNpemVvZigqbW9kKSk7DQo+PiArwqDC
oMKgwqDCoMKgwqAgaW5mby0+bnJfbW9kdWxlcyA9IDE7DQo+PiArwqDCoMKgwqDCoMKgwqAg
aW5mby0+bW9kbGlzdF9wYWRkciA9IGtleGVjX3BhcmFtX2xvYyArDQo+IA0KPiBMb29raW5n
IGF0IHRoaXMgYWdhaW4sIEkgd29uZGVyIGlmIGtleGVjX3BhcmFtX2xvYyB3b3VsZCBiZSBi
ZXR0ZXIgbmFtZWQgX3BhIG9yIA0KPiBfcGFkZHIuDQoNClllcywgZ29vZCBpZGVhLg0KDQo+
IA0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgKHVuc2lnbmVkIGxvbmcpbmV4dCAtIGtleGVjX3BhcmFtX21lbTsNCj4+
ICvCoMKgwqDCoMKgwqDCoCBtb2QtPnBhZGRyID0ga2V4ZWNfbW9kX3N0YXJ0Ow0KPj4gK8Kg
wqDCoMKgwqDCoMKgIG1vZC0+c2l6ZSA9IFBGTl9QSFlTKG1vZF9wdHItPm5fcGFnZXMgKyAx
KTsNCj4+ICvCoMKgwqDCoMKgwqDCoCBtb2QtPmNtZGxpbmVfcGFkZHIgPSAwOw0KPj4gK8Kg
wqDCoMKgwqDCoMKgIG5leHQgPSBtb2QgKyAxOw0KPj4gK8KgwqDCoCB9DQo+PiArDQo+PiDC
oMKgwqDCoMKgIGluZm8tPmNtZGxpbmVfcGFkZHIgPSBrZXhlY19wYXJhbV9sb2MgKyAodW5z
aWduZWQgbG9uZyluZXh0IC0gDQo+PiBrZXhlY19wYXJhbV9tZW07DQo+PiDCoMKgwqDCoMKg
IHN0cmNweShuZXh0LCBjbWRsaW5lKTsNCj4gDQo+IA0KPj4gZGlmZiAtLWdpdCBhL2luY2x1
ZGUva2V4ZWMuaCBiL2luY2x1ZGUva2V4ZWMuaA0KPj4gaW5kZXggYjg5YzMwMDAuLjAyMDAw
MDVmIDEwMDY0NA0KPj4gLS0tIGEvaW5jbHVkZS9rZXhlYy5oDQo+PiArKysgYi9pbmNsdWRl
L2tleGVjLmgNCj4+IEBAIC0yLDYgKzIsNDggQEANCj4+IMKgICNkZWZpbmUgX0tFWEVDX0gN
Cj4+IMKgICNpbmNsdWRlIDxtaW5pLW9zL2VsZi5oPg0KPj4gKy8qDQo+PiArICogS2V4ZWMg
bW9kdWxlIHVzZWQgdG8gaGFuZCBvdmVyIG1lbW9yeSBhY3Jvc3Mga2V4ZWMoKS4NCj4+ICsg
Kg0KPj4gKyAqIFRoaXMgaXMgYW4gQUJJIHdoaWNoIHNob3VsZCBiZSBtb2RpZmllZCBvbmx5
IGluIGEgY29tcGF0aWJsZSB3YXkuDQo+PiArICogc3RydWN0IGtleGVjX21vZHVsZSBpcyBs
b2NhdGVkIGF0IHRoZSBzdGFydCBvZiB0aGUgbGFzdCBwYWdlIG9mIHRoZSBtb2R1bGUuDQo+
IA0KPiBXaHkgaXMga2V4ZWNfbW9kdWxlLCB3aGljaCBzZWVtcyBsaWtlIGEgaGVhZGVyLCBw
bGFjZWQgaW4gdGhlIGxhc3QgcGFnZT8NCg0KSW4gY2FzZSB3ZSBldmVyIG5lZWQgdG8gZ3Jv
dyB0aGUgbW9kdWxlIChlLmcuIHdoZW4gYWRkaW5nIG5ldyBkYXRhDQp0byBpdCBhbmQgd2l0
aCB0aGF0IGhhdmluZyB0byBoYW5kbGUgZGlmZmVyZW50IENPTkZJR19LRVhFQ19NT0RVTEVf
UEFHRVMNCnZhbHVlcyBiZXR3ZWVuIG9sZCBhbmQgbmV3IGJ1aWxkKSwgaXQgd2lsbCBiZSBl
YXNpZXIsIGFzIHRoZSBtb2R1bGUgd2lsbA0Kbm9ybWFsbHkgYmUgbG9jYXRlZCBhdCB0aGUg
ZW5kIG9mIHRoZSB1c2FibGUgbWVtb3J5LCBzbyB3ZSB3b3VsZG4ndCBoYXZlDQp0byBtb3Zl
IHRoZSBzdHJ1Y3Qga2V4ZWNfbW9kdWxlIGFyb3VuZC4NCg0KPiANCj4+ICsgKg0KPj4gKyAq
IFRoZSBtb2R1bGUgY2FuIGNvbnRhaW4gZGF0YS9wYWdlcyBvZiBtdWx0aXBsZSB1c2Vycy4g
RWFjaCB1c2VyIGhhcyBhbiBvd24NCj4+ICsgKiByZWNvcmQgd2hpY2ggbGF5b3V0IGlzIGRl
cGVuZGluZyBvbiB0aGUgdXNlci4gUmVjb3JkcyBhcmUgbGlua2VkIHZpYSBhIHRhYmxlDQo+
PiArICogb2YgcmVjb3JkIG9mZnNldHMuDQo+PiArICoNCj4+ICsgKiBBbGwgYWRtaW4gZGF0
YSAoc3RydWN0IGtleGVjX21vZHVsZSwgcmVjb3JkIG9mZnNldCB0YWJsZSBhbmQgcmVjb3Jk
cykgbXVzdA0KPj4gKyAqIGZpdCBpbnRvIHRoZSBsYXN0IHBhZ2Ugb2YgdGhlIG1vZHVsZS4N
Cj4+ICsgKi8NCj4+ICtzdHJ1Y3Qga2V4ZWNfbW9kdWxlIHsNCj4+ICvCoMKgwqAgdWludDhf
dCBleWVfY2F0Y2hlcls4XTsNCj4+ICsjZGVmaW5lIEtFWEVDTU9EX0VZRUNBVENIRVIgIktl
eGVjTWVtIg0KPj4gK8KgwqDCoCB1aW50MTZfdCBuX3BhZ2VzO8KgwqDCoMKgwqDCoCAvKiBO
dW1iZXIgb2YgYWxsb2NhdGFibGUgcGFnZXMgaW4gdGhlIG1vZHVsZS7CoMKgwqAgKi8NCj4+
ICvCoMKgwqAgdWludDE2X3Qgbl9yZWNvcmRzO8KgwqDCoMKgIC8qIFNpemUgb2YgcmVjb3Jk
IHRhYmxlIChtYXguIDI1NSkuwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKi8NCj4+ICsj
ZGVmaW5lIEtFWEVDTU9EX1JFQ19NQVjCoMKgwqAgMjU1DQo+PiArwqDCoMKgIHVpbnQxNl90
IHJlY3Nfb2ZmO8KgwqDCoMKgwqAgLyogT2Zmc2V0IHRvIHJlY29yZCB0YWJsZSBmcm9tIHN0
YXJ0IG9mIHBhZ2UuwqDCoMKgICovDQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8qIFRoZSByZWNvcmQgdGFibGUgaXMgYW4g
YXJyYXkgb2bCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICovDQo+PiArwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8qIHN0cnVj
dCBrZXhlY19tb2R1bGVfcmVjLsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCAqLw0KPj4gK8KgwqDCoCB1aW50OF90IHBnMnJlY1tdO8KgwqDCoMKgwqDCoCAv
KiBPbmUgZW50cnkgcGVyIGFsbG9jYXRhYmxlIG1vZHVsZSBwYWdlLCB2YWx1ZcKgICovDQo+
PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIC8qIGlzIHJlY29yZCBudW1iZXIgKHN0YXJ0aW5nIGZyb20gMCkgYXNzb2NpYXRlZCAq
Lw0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCAvKiB3aXRoIGl0LiBGcmVlIHBhZ2VzIGhhdmUgdmFsdWUgMjU1LsKgwqDCoMKg
wqDCoMKgwqDCoMKgICovDQo+IA0KPiBUaGlzIHJlYWRzIGxpa2UgaXQgaXMgMSBwYWdlIHBl
ciByZWNvcmQuLi4NCg0KTm8sIHRoaXMgbWVhbnMgdGhhdCBlYWNoIHVzZWQgcGFnZSBpcyBh
c3NvY2lhdGVkIHdpdGggYSByZWNvcmQsIGJ1dA0KdGhlcmUgY2FuIGJlIFswIC4uLiBuX3Bh
Z2VzXSBhc3NvY2lhdGVkIHdpdGggZWFjaCByZWNvcmQuDQo+IA0KPj4gKyNkZWZpbmUgS0VY
RUNNT0RfUEdfRlJFRcKgwqDCoCAyNTUNCj4+ICt9Ow0KPj4gKw0KPj4gK3N0cnVjdCBrZXhl
Y19tb2R1bGVfcmVjIHsNCj4+ICvCoMKgwqAgdWludDE2X3Qgb2Zmc2V0O8KgwqDCoMKgwqDC
oMKgIC8qIE9mZnNldCB0byByZWNvcmQgZnJvbSBzdGFydCBvZiBwYWdlLsKgwqDCoMKgwqDC
oMKgwqDCoCAqLw0KPiANCj4gLi4uIGJ1dCB0aGVuIHdoeSB3b3VsZCB5b3UgbmVlZCBhbiBv
ZmZzZXQ/wqAgSG93IGRvIHlvdSBpZGVudGlmeSB3aGljaCAicGFnZSIgb3IgDQo+IGRvIHlv
dSBtZWFuIGZyb20gdGhlIHN0YXJ0IG9mIHRoZSBtb2R1bGU/DQoNClRoZSByZWNvcmQgaXRz
ZWxmIG5lZWRzIHRvIGNvbnRhaW4gdGhlIGRhdGEgZm9yIGZpbmRpbmcgdGhlIHBhZ2VzDQph
c3NvY2lhdGVkIHdpdGggaXQuIFNlZSBwYXRjaCAxOCBmb3IgdGhlIGRldGFpbHMgb2YgdGhl
IDlwZnMgcmVjb3JkDQphZGRlZCB0aGVyZS4NCg0KSXQgd2lsbCB1c2UgYWxsIDE3IGFsbG9j
YXRhYmxlIHBhZ2VzIGZyb20gdGhlIG1vZHVsZSAoMSBmb3IgdGhlIG1haW4NCjlwZnMgc2hh
cmVkIGludGVyZmFjZSBwYWdlIHBsdXMgMTYgZm9yIHRoZSBzaGFyZWQgcmluZ3MpLCB3aGls
ZSB0aGUNCnJlY29yZCBpdHNlbGYgd2lsbCBob2xkIHRoZSBncmFudCByZWZlcmVuY2Ugb2Yg
dGhlIDlwZnMgaW50ZXJmYWNlDQpwYWdlLCB3aGljaCBzZXJ2ZXMgYXMgdGhlIGtleSBmb3Ig
bG9jYXRpbmcgdGhlIHBhZ2UgaXRzZWxmIGFuZCB0aGUNCnJpbmcgcGFnZXMuDQoNCj4gDQo+
PiArwqDCoMKgIHVpbnQ4X3QgdHlwZTvCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKiBUeXBlIG9m
IHJlY29yZC7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgKi8NCj4+ICsjZGVmaW5lIEtFWEVDTU9EX1JFQ19OT05FwqDCoCAw
DQo+PiArwqDCoMKgIHVpbnQ4X3Qgc2l6ZTvCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKiBTaXpl
IG9mIHJlY29yZC7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgKi8NCj4+ICt9Ow0KPj4gKw0KPj4gKyNpZm5kZWYgQ09ORklH
X0tFWEVDX01PRFVMRV9QQUdFUw0KPj4gKyNkZWZpbmUgQ09ORklHX0tFWEVDX01PRFVMRV9Q
QUdFUyAwDQo+PiArI2VuZGlmDQo+PiArDQo+PiArZXh0ZXJuIHVuc2lnbmVkIGxvbmcga2V4
ZWNfbW9kX3N0YXJ0Ow0KPj4gK2V4dGVybiBzdHJ1Y3Qga2V4ZWNfbW9kdWxlICptb2RfcHRy
Ow0KPj4gKw0KPj4gwqAgLyogT25lIGVsZW1lbnQgb2Yga2V4ZWMgYWN0aW9ucyAobGFzdCBl
bGVtZW50IG11c3QgaGF2ZSBhY3Rpb24gS0VYRUNfQ0FMTCk6ICovDQo+PiDCoCBzdHJ1Y3Qg
a2V4ZWNfYWN0aW9uIHsNCj4+IMKgwqDCoMKgwqAgZW51bSB7DQo+IA0KPj4gZGlmZiAtLWdp
dCBhL2tleGVjLmMgYi9rZXhlYy5jDQo+PiBpbmRleCAyNjA3YzgxOS4uZGVkMjk4ODIgMTAw
NjQ0DQo+PiAtLS0gYS9rZXhlYy5jDQo+PiArKysgYi9rZXhlYy5jDQo+PiBAQCAtMjUwLDMg
KzI1MCw2IEBAIGludCBrZXhlY19hZGRfYWN0aW9uKGludCBhY3Rpb24sIHZvaWQgKmRlc3Qs
IHZvaWQgKnNyYywgDQo+PiB1bnNpZ25lZCBpbnQgbGVuKQ0KPj4gwqDCoMKgwqDCoCByZXR1
cm4gMDsNCj4+IMKgIH0NCj4+ICsNCj4+ICt1bnNpZ25lZCBsb25nIGtleGVjX21vZF9zdGFy
dDsNCj4+ICtzdHJ1Y3Qga2V4ZWNfbW9kdWxlICptb2RfcHRyOw0KPiANCj4gUGVyc29uYWxs
eSwgSSBmaW5kIGl0IGEgbGl0dGxlIHVudXN1YWwgdG8gYWRkIHZhcmlhYmxlcyBhdCB0aGUg
ZW5kIG9mIHRoZSBmaWxlLiAgDQo+IEJ1dCBpdCdzIGZpbmUgYW5kIHlvdSBkb24ndCBoYXZl
IHRvIGNoYW5nZSBpdC4NCg0KUGF0Y2ggMTMgd2lsbCBhZGQgdGhlIGNvbW1vbiBjb2RlIGJl
bG93IHRob3NlIGFkZGl0aW9ucy4gOi0pDQoNCg0KSnVlcmdlbg0K
--------------Jobs6TyEbvY6vGz4N8MSVeSX
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------Jobs6TyEbvY6vGz4N8MSVeSX--

--------------MElPxhYkBQJj0TSpqr0dYDpK--

--------------KXIO0V16XlYckqctoR0FCnRB
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmhwwgAFAwAAAAAACgkQsN6d1ii/Ey/7
lwgAnkf3CQzEPpt7/f3XAmyYQ/caJ1IXKdslSMHlg+Kbj4N6VQokKRHQaUqoxoAQTbKS/ztc+zzk
4G5p6tux8a7aMN/xuQggBm0Uvg8FJFuV49mRczDMMpu8UD80daiQXY1+Fp4OHKie8XVJu/WvHNra
Zz3eAMT6iTnC6lVUxrKRhRAC1+aJQJfWwVmQO6mT+X4QGPlB6F95F8tM9hY2XbKPcJKaBMKsYN7p
eu17IyhlIEImbagk2V/GRr4jaqMmLkbrfX2ISNbR0xu5YDdY2RhQY64rlMPExxPvPSE5nnocsvow
7z8Q/740LkIdSdOKW+lGGdPz+MyAqL2LfeMqvVdQ0g==
=Brv5
-----END PGP SIGNATURE-----

--------------KXIO0V16XlYckqctoR0FCnRB--


From minios-devel-bounces@lists.xenproject.org Fri Jul 11 07:56:43 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 11 Jul 2025 07:56:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1040616.1412021 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ua8cc-0004Y4-4v; Fri, 11 Jul 2025 07:56:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1040616.1412021; Fri, 11 Jul 2025 07:56:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ua8cc-0004Wq-0q; Fri, 11 Jul 2025 07:56:42 +0000
Received: by outflank-mailman (input) for mailman id 1040616;
 Fri, 11 Jul 2025 07:56:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s7n+=ZY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ua8cb-0004SH-FW
 for minios-devel@lists.xenproject.org; Fri, 11 Jul 2025 07:56:41 +0000
Received: from mail-ed1-x541.google.com (mail-ed1-x541.google.com
 [2a00:1450:4864:20::541])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 934bbe12-5e2c-11f0-b894-0df219b8e170;
 Fri, 11 Jul 2025 09:56:39 +0200 (CEST)
Received: by mail-ed1-x541.google.com with SMTP id
 4fb4d7f45d1cf-611f74c1837so217967a12.3
 for <minios-devel@lists.xenproject.org>; Fri, 11 Jul 2025 00:56:39 -0700 (PDT)
Received: from ?IPV6:2003:e5:8709:f00:6357:915b:11f9:6d20?
 (p200300e587090f006357915b11f96d20.dip0.t-ipconnect.de.
 [2003:e5:8709:f00:6357:915b:11f9:6d20])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ae6e7e9105csm255979066b.20.2025.07.11.00.56.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 11 Jul 2025 00:56:38 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 934bbe12-5e2c-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1752220599; x=1752825399; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=mnrxRntTreLBRjHTND7WQ70bJvT2gtDjkKw+0HUxyZQ=;
        b=CwQvgwuRWLiU7U8cBmLNLJ7wPcORhi3wR7KiKnH343iiDQ1VnegyhxQx/FG1QDqzIm
         Sg/OWkl//xFf5B0akEkokPLfTNYCIRb5cgwstip7J2aQeVzXZ8p5i9H+U/S/iPPxohoD
         43CRPkq8fvhOja3gu2N1r3rYouxILWu3AjrANC/cBAmWn1iowgdgirDgg1TlSIZ7vZG3
         BwVIsVleYNGG0cYQshag2FLVdBHD5+Ti/nLKyt9FFMHUej4Tb5CZ4PLp4f18LJIQd9/o
         ok+jLMwoVeFW6Zm1sUnoCqGu3KRSomxq5mJo+YPABejpTIoNtJ9UQQW+xKZIOoRhtv4X
         Asgg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1752220599; x=1752825399;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=mnrxRntTreLBRjHTND7WQ70bJvT2gtDjkKw+0HUxyZQ=;
        b=OJXsinxXNlvdpx6q+GCT5horAIwlzGqva4MD7E2n3QZkqJsoF/PvtAzOWLOKqb+876
         FJ+u1eYi0l81jQ8+d9wLIPeLFh8j9y+PMh+MIW3B67Whq70BedYpdr6RpjzP+IsrO9cb
         A+WIxR/DzS9XyEC0mcHk6sZXgxk7Pyc+8dMtJbPu/mWQO5ehRFNsLDFG6ahX06wMtKXl
         ZLYgHglamZhEExx3TMZrSqJ32A3PCe9tddhBUIOREGEzGlXBrFSqzBVoFUVqixsmCgD/
         j8tzoD3ngC/3J2Tu4Bas3Ua76k2Sw+S4OXaHLkEbD03W/5sfJt5Bdp2Hq1MQ9BKoK1+w
         PP+Q==
X-Forwarded-Encrypted: i=1; AJvYcCW+jxKzyxeMuO2QA6Cl+clgUviXpc04occqSoiThbf4olHknt84LLDtKZYO9isbJZlWqNgvX8dCN8ajkY4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz4qkPdWndVD7WjUkMWoez8rWTf2Vl+ZKu4JVxDdBw7dsasuqcr
	+EUwUKCYBEXZlDmzT1WSW9BiQQjMRmQTY1+P/VPoZWp1+j6uR/opVxKUsABC8w7szyA=
X-Gm-Gg: ASbGncv98hg+gnvuRMWLBoF595/Vco5lb+YIkKSSXFF82wONfSFLQ4C2gjkEhNrVm/q
	2slEjPuIJald03i46LKCQUBzKQ6A83HXyIJoG1r1b9jDKFP3Ph25cra/XBC3NXi31lYYqVuSbKm
	omJhCHfCEYuV5wO2B9a3YtA+uYSBgX8d/ZGEM+VFFeCoMCS293y8vQmmY8/Dz9WKDYiGC/Ir2Vz
	NnWGrpkluLTXxQNwVXOR4mdb3hS3hJq4S4gm6vBxm3pRcwCzvT6T4cmdQy4Rojca7RqLWteFvQb
	r0VOMZL1D509s9Qgb9feFM3MCZZmAPI0diZ+kp8jucaNV6UgGHha0XXdVdwcbhHKxQlAh8P9Mqq
	poCNDMpSEJBOh48cfRgkrhGuHnfDe/jNCq1GYSJi/Psl1kr6BTxK1xczPRyGBIbc/S2hsmhxj5X
	m1AFs2iZjHOWofahQk1kMC1NhrkS1mrOJEeIO4pv/gYKrz
X-Google-Smtp-Source: AGHT+IGbL5x18u+MxJHpvinMwljJhIi5FiekTbnSFLTJXCPQhxpgbasOGdVyX+YOFwWfHajqR73e8A==
X-Received: by 2002:a17:907:da17:b0:ae0:cc9c:b5e2 with SMTP id a640c23a62f3a-ae6fc1532eamr216979366b.48.1752220598647;
        Fri, 11 Jul 2025 00:56:38 -0700 (PDT)
Message-ID: <4f5c5d7f-2526-4f5a-b75d-8380770ee7c4@suse.com>
Date: Fri, 11 Jul 2025 09:56:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 11/19] mini-os: config: add support for config
 items with numerical values
To: Jan Beulich <jbeulich@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-12-jgross@suse.com>
 <6102acd3-b4c0-45a1-87d1-8f4888c662cd@suse.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <6102acd3-b4c0-45a1-87d1-8f4888c662cd@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------U0O0Czs40YRC0iw06hu20jza"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------U0O0Czs40YRC0iw06hu20jza
Content-Type: multipart/mixed; boundary="------------0cngMd1cpa6ZpB4rN5j1hhMk";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Message-ID: <4f5c5d7f-2526-4f5a-b75d-8380770ee7c4@suse.com>
Subject: Re: [MINI-OS PATCH 11/19] mini-os: config: add support for config
 items with numerical values
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-12-jgross@suse.com>
 <6102acd3-b4c0-45a1-87d1-8f4888c662cd@suse.com>
In-Reply-To: <6102acd3-b4c0-45a1-87d1-8f4888c662cd@suse.com>
Autocrypt-Gossip: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------0cngMd1cpa6ZpB4rN5j1hhMk
Content-Type: multipart/mixed; boundary="------------nn0dgDWBYJWhkPufkFzGMc1o"

--------------nn0dgDWBYJWhkPufkFzGMc1o
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTEuMDcuMjUgMDg6MjQsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwMi4wNy4yMDI1
IDEwOjEyLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gQWRkIHN1cHBvcnQgZm9yIGEgTWlu
aS1PUyBjb25maWcgZmlsZSBjb250YWluaW5nIGNvbmZpZyBpdGVtcyB3aXRoDQo+PiBudW1l
cmljYWwgdmFsdWVzLCBlLmcuIENPTkZJR19GT089Ny4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5
OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+IA0KPiBSZXZpZXdlZC1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiANCj4gQWxiZWl0IEknbSBwdXp6
bGVkIGJ5IHRoZSB1c2UgaW4gdGhlIG5leHQgcGF0Y2guIEJlc2lkZXMgbWUgcGVyaGFwcyBz
aW1wbHkNCj4gbm90IGtub3dpbmcgd2hlcmUgdGhlIG5ldyBDT05GSUdfKiB3b3VsZCBhY3R1
YWxseSBoYXZlIGl0cyB2YWx1ZSBzZXQsIEkNCj4gd29uZGVyIHdoeSwgLi4uDQo+IA0KPj4g
LS0tIGEvQ29uZmlnLm1rDQo+PiArKysgYi9Db25maWcubWsNCj4+IEBAIC0xNzgsNiArMTc4
LDcgQEAgZW5kaWYNCj4+ICAgIyBDT05GSUcteSBjb250YWlucyBhbGwgaXRlbXMgZGVmYXVs
dGluZyB0byAieSINCj4+ICAgIyBDT05GSUctbiBjb250YWlucyBhbGwgaXRlbXMgZGVmYXVs
dGluZyB0byAibiINCj4+ICAgIyBDT05GSUcteCBjb250YWlucyBhbGwgaXRlbXMgYmVpbmcg
Y2FsY3VsYXRlZCBpZiBub3Qgc2V0IGV4cGxpY2l0bHkNCj4+ICsjIENPTkZJRy12YWwteSBj
b250YWlucyBhbGwgaXRlbXMgd2l0aCBudW1lcmljYWwgdmFsdWVzLCBkZWZhdWx0aW5nIHRv
IDANCj4+ICAgQ09ORklHLXkgKz0gQ09ORklHX1NUQVJUX05FVFdPUksNCj4+ICAgQ09ORklH
LXkgKz0gQ09ORklHX1NQQVJTRV9CU1MNCj4+ICAgQ09ORklHLXkgKz0gQ09ORklHX0JMS0ZS
T05UDQo+PiBAQCAtMjE5LDYgKzIyMCw4IEBAIENPTkZJRy0kKGx3aXApICs9IENPTkZJR19M
V0lQDQo+PiAgICQoZm9yZWFjaCBpLCQoQ09ORklHLXkpLCQoZXZhbCAkKGkpID89IHkpKQ0K
Pj4gICAkKGZvcmVhY2ggaSwkKENPTkZJRy1uKSwkKGV2YWwgJChpKSA/PSBuKSkNCj4+ICAg
DQo+PiArJChmb3JlYWNoIGksJChDT05GSUctdmFsLXkpLCQoZXZhbCAkKGkpID89IDApKQ0K
PiANCj4gLi4uIHdpdGggdGhpcyBhbmQgLi4uDQo+IA0KPj4gQEAgLTIyNiw2ICsyMjksNyBA
QCBDT05GSUctYWxsIDo9ICQoQ09ORklHLXkpICQoQ09ORklHLW4pICQoQ09ORklHLXgpDQo+
PiAgIA0KPj4gICAjIEV4cG9ydCBjb25maWcgaXRlbXMgYXMgY29tcGlsZXIgZGlyZWN0aXZl
cw0KPj4gICAkKGZvcmVhY2ggaSwkKENPTkZJRy1hbGwpLCQoZXZhbCBERUZJTkVTLSQoJChp
KSkgKz0gLUQkKGkpKSkNCj4+ICskKGZvcmVhY2ggaSwkKENPTkZJRy12YWwteSksJChldmFs
IERFRklORVMteSArPSAtRCQoaSk9JCgkKGkpKSkpDQo+IA0KPiAuLi4gdGhpcywga2V4ZWMu
aCBzdGlsbCBuZWVkcyB0byBoYXZlIGEgZmFsbGJhY2sgI2RlZmluZSB0aGVyZS4NCg0KVGhh
bmtzIGZvciBjYXRjaGluZy4NCg0KSSBoYWQgYW4gaW50ZXJtZWRpYXRlIHZlcnNpb24gdXNp
bmcgQ09ORklHX0tFWEVDX01PRFVMRV9QQUdFUyBvdXRzaWRlDQprZXhlYy5jLCBidXQgbW92
ZWQgdGhlIHJlbGF0ZWQgY29kZSBsYXRlci4NCg0KSSdsbCByZW1vdmUgdGhlIGZhbGxiYWNr
Lg0KDQoNCkp1ZXJnZW4NCg==
--------------nn0dgDWBYJWhkPufkFzGMc1o
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------nn0dgDWBYJWhkPufkFzGMc1o--

--------------0cngMd1cpa6ZpB4rN5j1hhMk--

--------------U0O0Czs40YRC0iw06hu20jza
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmhww7UFAwAAAAAACgkQsN6d1ii/Ey8n
cAf7BmL1Jrm/ouS3nEi+N8jot9CbjeQj3sILxiO1ahn/qu9lAiO0N9p5ow7ltixWDOeNsGh1OFMB
nyCc2mVqDMIQBkhHhm2y+Du3fo4Hv5NQM5ojU0HkyA1kUCIQrwvpNfgalGvpWh4dM/D70is5royf
8ywJAfEui1H4M84gVOJWCuhqyYMZkZBSSzvz46Tvk2jmioZ36MLs0VVhXhtbCB7MgxDw31AGHyXU
UaPKNENoOF70CYyLMev43E5PnWiefoAi4NcGcYEZ/FzZR7Dx8wB7lNxz2UkBfdBgv/uIxTDeCczd
xWE8bfZ+Nt6F6QDlnVU8MnCDtL09JdF8Nlf/xZAw1w==
=7eN8
-----END PGP SIGNATURE-----

--------------U0O0Czs40YRC0iw06hu20jza--


From minios-devel-bounces@lists.xenproject.org Fri Jul 11 12:03:44 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 11 Jul 2025 12:03:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1040821.1412119 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uaCTc-00047V-Vm; Fri, 11 Jul 2025 12:03:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1040821.1412119; Fri, 11 Jul 2025 12:03:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uaCTc-00047O-Sz; Fri, 11 Jul 2025 12:03:40 +0000
Received: by outflank-mailman (input) for mailman id 1040821;
 Fri, 11 Jul 2025 12:03:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=s7n+=ZY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uaCTb-0003tm-Lo
 for minios-devel@lists.xenproject.org; Fri, 11 Jul 2025 12:03:39 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 13b7caf8-5e4f-11f0-b894-0df219b8e170;
 Fri, 11 Jul 2025 14:03:37 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id F3B4E1F38C;
 Fri, 11 Jul 2025 12:03:35 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id CB7AF1388B;
 Fri, 11 Jul 2025 12:03:35 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id D7dFMJf9cGiJIAAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 11 Jul 2025 12:03:35 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 13b7caf8-5e4f-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752235416; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=qnrnmP4GBV65UhqhO5BYhyi+ALFTJcryFgnMgTcHZS4=;
	b=EJi93OCV0bXb3JoYUvvXrPp3qf/iUNMMFkGJIIxwafu9KdsDbQUasmsojIJaSkeLNRxBhf
	9eYJe/Wz0qI51iAL0Vf+GQpu4QKNHRHjDE1E1cb+O/eaG7BJZhfhTqho/o90vH7mNPigsX
	RIMS0DUUJAxgfUQHkH54O0hoEWuuwsM=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=EJi93OCV
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752235416; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=qnrnmP4GBV65UhqhO5BYhyi+ALFTJcryFgnMgTcHZS4=;
	b=EJi93OCV0bXb3JoYUvvXrPp3qf/iUNMMFkGJIIxwafu9KdsDbQUasmsojIJaSkeLNRxBhf
	9eYJe/Wz0qI51iAL0Vf+GQpu4QKNHRHjDE1E1cb+O/eaG7BJZhfhTqho/o90vH7mNPigsX
	RIMS0DUUJAxgfUQHkH54O0hoEWuuwsM=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH] e820: fix e820_get_reserved_pfns() to reserve page aligned area
Date: Fri, 11 Jul 2025 14:03:33 +0200
Message-ID: <20250711120333.23745-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spam-Flag: NO
X-Rspamd-Queue-Id: F3B4E1F38C
X-Rspamd-Action: no action
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.com:dkim,suse.com:mid,suse.com:email];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	FROM_EQ_ENVFROM(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	RCVD_COUNT_TWO(0.00)[2];
	RCVD_TLS_ALL(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_TRACE(0.00)[suse.com:+]
X-Spam-Score: -3.01

e820_get_reserved_pfns() needs to make sure to reserve only page
aligned memory areas.

Fixes: a7d27a7332ba ("mini-os: add memory map service functions")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 e820.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/e820.c b/e820.c
index d8cfb1f4..1ffeaf00 100644
--- a/e820.c
+++ b/e820.c
@@ -365,7 +365,7 @@ unsigned long e820_get_reserved_pfns(int pages)
     unsigned long last = 0, needed = (long)pages << PAGE_SHIFT;
 
     for ( i = 0; i < e820_entries && e820_map[i].addr < last + needed; i++ )
-        last = e820_map[i].addr + e820_map[i].size;
+        last = round_pgup(e820_map[i].addr + e820_map[i].size);
 
     if ( i == 0 || e820_map[i - 1].type != E820_TYPE_SOFT_RESERVED )
         e820_insert_entry_at(i, last, needed, E820_TYPE_SOFT_RESERVED);
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Fri Jul 11 12:27:23 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 11 Jul 2025 12:27:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1040861.1412147 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uaCqY-0000L3-AB; Fri, 11 Jul 2025 12:27:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1040861.1412147; Fri, 11 Jul 2025 12:27:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uaCqY-0000JQ-7M; Fri, 11 Jul 2025 12:27:22 +0000
Received: by outflank-mailman (input) for mailman id 1040861;
 Fri, 11 Jul 2025 12:27:21 +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 <SRS0=Yw5d=ZY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1uaCqX-0000GN-Cd
 for minios-devel@lists.xenproject.org; Fri, 11 Jul 2025 12:27:21 +0000
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com
 [2a00:1450:4864:20::430])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 62a6ee0f-5e52-11f0-a318-13f23c93f187;
 Fri, 11 Jul 2025 14:27:18 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-3a531fcaa05so1153680f8f.3
 for <minios-devel@lists.xenproject.org>; Fri, 11 Jul 2025 05:27:18 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-b3bbe6f841csm4927885a12.57.2025.07.11.05.27.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 11 Jul 2025 05:27:17 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62a6ee0f-5e52-11f0-a318-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1752236838; x=1752841638; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=KPqwsWiw6HzydeQXNWFMclkEc0oILqtYNyvo4pL05AA=;
        b=SO4dY3ObZZMfP1CHO2KulxheBSrqH6rTiewHAjs+s9snEyBaf0LgvgdCC6pcMf/gKp
         X1qnxqx8NDZMlhZlzWg6HTu9j4fjJ4CsQxRkzAfL+Z1Wx/EAuN9aqD3O+1ChYXHeITHh
         ZUhRI4z6+YPerhGoCanpVUWB3CIDl+JeqZs/Dd9jCBIaNMIRoacQ1LSRUaY5cYhcHzFz
         tHiDw/TrgoqBSvJ/6DDXUXTjZOoqDG2CPF1s7nCQGgkpo5luBkdP7ipaIM76JOTPLMcZ
         AzaXHfBAszgYZlMUORGMyZr/5fMVV69mPONIMdDoTnWNejfREVX58jPdRSKKoyulvq/H
         9yKA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1752236838; x=1752841638;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KPqwsWiw6HzydeQXNWFMclkEc0oILqtYNyvo4pL05AA=;
        b=uSqBKT1q1LW7yS5TuFHKNiNqk4yvABTHt8m4BIzswVCcVtIDmM9iQtKZ/1vnqZwgSy
         o3eJsrMB9nfd5zDIZQxDKpSUI4t1sIZOnJ8DNpya5RqtL/HkRx7dgLbDYuEyFOm+uQkQ
         Q+kP1+qgl2/bhvPkezQ4hi1yPuXxXTFGdXp5jZ/InxL0Rnl+IyH3yIAkEoUyApCVOMe5
         ifAvuQJyPToF1RuBMHNDeB4mc82BFu7YTesftwvfzssDMx4LseYaTXxrLZIcaAhNxB06
         5D+uxpbpTgYHycvA7cBTHDk0C9tmbCu0iA61d2XnPprMnsXdZHwLYPktf/AkInufwOUn
         Rz7A==
X-Forwarded-Encrypted: i=1; AJvYcCXHdqefYclSuYKJYSR+QUOJKeuAoqZOs/HA6YxMlrwbpUk/k9PmC8YRFZyHj1T9N/H9g5Vx7noAscxL7Mw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz3XI5280zSvBdRw1WLOBEehNJzPVoB6FNFm72w+V8uJhThY1Ni
	arzY9UXMN2mT5R8XdskQgd2lDApmS3m6rtxvLPx3w8BbuO7SFXiU2Z1Eg8olhVEKyA==
X-Gm-Gg: ASbGncuOyTKqn1U5ykNeBiEl/T+E+x4AAFj3gb4E0EWm/d22BQkw68UGfzeRyfWkpX4
	CxCVNoQPtHzZh0P2sc46B1Xvoaq3yqPSN+bgAGDelHnIubqmTYL3ScNie2rhUEwFF1p4j67eJtl
	KI1/6wNf/oaryZy1T7ac0IBkgAtiEd6KOxq6Ymn8SUR2E5ZdPWgwXssUDqFaLf5W8Z1VsPArCOb
	U29J4xJIq+c+w0Evnq+JcwAY97YrII8RLMQ+lDt2o/Q9cPKBbo1exIf3BcSMS9lsE+0isolWbTZ
	G0uug6ul8ylIioRZIZkrg3NOwm0RSYtiV2VGLzQeD/0PaAErhW4JYnzTvH1lPXDRPwsyc5gQm+2
	x5wX4QePggje419KRIdFG7kL9UenTarSIiTDbia1vRI3CinoQZJoe9Bwks61eRwAu8aoRaWl6r8
	NIk+IB8kM=
X-Google-Smtp-Source: AGHT+IGsxJjsQst6x4AAnbmzOn6p8nxrCEnDje5plS4ih7B8IUe23Ye3NYpEPyWhbY7fT5jOGPKXpQ==
X-Received: by 2002:adf:b642:0:b0:3a4:c9d4:2fb2 with SMTP id ffacd0b85a97d-3b5f18eb8efmr2216472f8f.46.1752236837967;
        Fri, 11 Jul 2025 05:27:17 -0700 (PDT)
Message-ID: <9d98b6bd-e325-4cfb-b4b8-c6a5321e02c6@suse.com>
Date: Fri, 11 Jul 2025 14:27:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH] e820: fix e820_get_reserved_pfns() to reserve
 page aligned area
To: Juergen Gross <jgross@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
References: <20250711120333.23745-1-jgross@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20250711120333.23745-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.07.2025 14:03, Juergen Gross wrote:
> e820_get_reserved_pfns() needs to make sure to reserve only page
> aligned memory areas.
> 
> Fixes: a7d27a7332ba ("mini-os: add memory map service functions")
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From minios-devel-bounces@lists.xenproject.org Mon Jul 14 14:02:39 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2025 14:02:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1042861.1412934 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubJlO-00050h-Ah; Mon, 14 Jul 2025 14:02:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1042861.1412934; Mon, 14 Jul 2025 14:02:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubJlO-00050a-80; Mon, 14 Jul 2025 14:02:38 +0000
Received: by outflank-mailman (input) for mailman id 1042861;
 Mon, 14 Jul 2025 14:02:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=90OC=Z3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ubJlM-0004mc-P1
 for minios-devel@lists.xenproject.org; Mon, 14 Jul 2025 14:02:36 +0000
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com
 [2a00:1450:4864:20::430])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3087b698-60bb-11f0-b894-0df219b8e170;
 Mon, 14 Jul 2025 16:02:35 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-3a6d77b43c9so3891279f8f.3
 for <minios-devel@lists.xenproject.org>; Mon, 14 Jul 2025 07:02:33 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-74eb9f1c8c0sm10466312b3a.81.2025.07.14.07.02.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 14 Jul 2025 07:02:32 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3087b698-60bb-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1752501753; x=1753106553; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1Ccs8wECXUz32FlcPlC5VFNfUVXPf1jJucYnSmf0Z2I=;
        b=NrGFilLaUPFkXR5/MP+C5aqPeKnr9JdQxupamwElfV+6yFEOkeaT5fjnDdfP4IVqH+
         NtxPo/vPBn7TLamACDdGRrlfPtrdMqdn3FDoBxktjhpSnPsPAThbwvlPk+nRq043LTsA
         e+Fu4YxWmNhDIdr19O3r3Uyny0Kdpv0HGI4wfT3aIw1fOep3nZp5E84sYE5DtfMnBidK
         4TbLhl71PIqBsfLFX+DiWL7D53D3d/fmtOB+PH21LL0g4ErLmWCiiRpFqlStBT2+ZWXR
         9KBcOtgI3PXXHNvnJ1b2ybQlmkOlRAe8TpXTbVJgiwJRPEyzfhLyr+OJSfGExSctLKHX
         nQ6A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1752501753; x=1753106553;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1Ccs8wECXUz32FlcPlC5VFNfUVXPf1jJucYnSmf0Z2I=;
        b=N6exA758aObVtWqEpXMjDFctzldVcGn3DXI54sgRRHipS4cNx9qNj2t1JOeOj/+Zoq
         ou6Y7XuK2RF/aOMZ1bv2SpTE7/XY4nn7iM9FR+6srS2Ea1zfCGX38/v92NJcSvXH40QW
         5UjIp3w5FByWW/jeYFYV7LGjMsn+abjge13muxlE7GqfNg8G5LLyWSm8ySFRlxJWyVOr
         4xpdJpzE3bg0GnC/7RO/vH7CD7JQz/KpbDY0rVrIeujNJYIWob1oixb+tgEMakzxVRc8
         3YorPySeEBxO+g9M1yzkhcY9R7GVEyA+uxpsL0gf2Ca9yICL1NEfqdw0YoR5OEp7LCVU
         mDaQ==
X-Forwarded-Encrypted: i=1; AJvYcCXWwKfa+LR5F+pfV15Buh1wPqSrufjEkM1xRPcCkwhBzXOLDtd3IIRqsyRObV+NRH9EfwrKoVGtyD4kXdI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwOlpvkHXhIp8KjrQ4vhc6lAeZUEThrm4b+pvGcuKgquLUv48s7
	HDnveXyV8sqqyXBnWNdC/tuQV56F2zYaYsGhgUznY19SNU+CZNzcjmbYQNgn35FgMA==
X-Gm-Gg: ASbGncvyt6bhOtWObsMg0z7wWt7pCPCU4XlVZFpgPJSy37kRvpeWlX+/UpQ/8jfmG//
	rgztBtNxki/6UrasSgJ9aJH4eLlnAAtge1FBoD1sCmrsUNOZoEP40+nw8hRtO8rmyB4s9ZuKqrz
	w5A+m6uwLX3W/k5YOHxohG4tUHsPWg5NVGyM35un42nIkWOrGWnptZTJDhCnfHt0uJR7oK6qN6H
	lN1sMT4TRWeVeRYmEr8wehGRIsHMVX3WV/BgtM5kindajPKcmSRO1/Lziwp6TOBIjlGb+KMupLI
	Ck+GDa5y0NL4LZEQ6jIAUgpMENDFDUjUNaAkgg8LQNmgsbpx3Bw8L79XkNBB7sQzWdQUFgWz2Mw
	fincfYKd08jSDwf/qf/G4Wyk1Axof7cgXs1nWUA+D3mniAP+3sAMc+EmUmcCQ1N+UUjIGgP8DnS
	DigP0ObeSc+1Q9K7IzOQ==
X-Google-Smtp-Source: AGHT+IFdr1gDvmkYcfu5trrQBcGPWv4dSIPidDS11JoDjDilj2AsTmmSr4II8+p97dZul4Aujo/05g==
X-Received: by 2002:a05:6000:2d11:b0:3a4:fbaf:3f99 with SMTP id ffacd0b85a97d-3b5f188d7b8mr7998963f8f.13.1752501752840;
        Mon, 14 Jul 2025 07:02:32 -0700 (PDT)
Message-ID: <cccfa579-7fe9-400d-8ea6-7d6a8210e65d@suse.com>
Date: Mon, 14 Jul 2025 16:02:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH] e820: fix e820_get_reserved_pfns() to reserve
 page aligned area
To: Juergen Gross <jgross@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
References: <20250711120333.23745-1-jgross@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20250711120333.23745-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.07.2025 14:03, Juergen Gross wrote:
> e820_get_reserved_pfns() needs to make sure to reserve only page
> aligned memory areas.
> 
> Fixes: a7d27a7332ba ("mini-os: add memory map service functions")
> Signed-off-by: Juergen Gross <jgross@suse.com>

I've committed this, but ...

> --- a/e820.c
> +++ b/e820.c
> @@ -365,7 +365,7 @@ unsigned long e820_get_reserved_pfns(int pages)
>      unsigned long last = 0, needed = (long)pages << PAGE_SHIFT;
>  
>      for ( i = 0; i < e820_entries && e820_map[i].addr < last + needed; i++ )
> -        last = e820_map[i].addr + e820_map[i].size;
> +        last = round_pgup(e820_map[i].addr + e820_map[i].size);
>  
>      if ( i == 0 || e820_map[i - 1].type != E820_TYPE_SOFT_RESERVED )
>          e820_insert_entry_at(i, last, needed, E820_TYPE_SOFT_RESERVED);

... I had to resolve fuzz here: There's no E820_TYPE_SOFT_RESERVED in the
upstream tree, afaics. I just hope I didn't screw up ...

Jan


From minios-devel-bounces@lists.xenproject.org Mon Jul 14 14:08:27 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2025 14:08:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1042876.1412948 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubJr0-0005j0-VZ; Mon, 14 Jul 2025 14:08:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1042876.1412948; Mon, 14 Jul 2025 14:08:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubJr0-0005it-Sv; Mon, 14 Jul 2025 14:08:26 +0000
Received: by outflank-mailman (input) for mailman id 1042876;
 Mon, 14 Jul 2025 14:08:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qtq2=Z3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ubJqz-0005VE-5j
 for minios-devel@lists.xenproject.org; Mon, 14 Jul 2025 14:08:25 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 009d4ece-60bc-11f0-b894-0df219b8e170;
 Mon, 14 Jul 2025 16:08:23 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-451d3f72391so43143035e9.3
 for <minios-devel@lists.xenproject.org>; Mon, 14 Jul 2025 07:08:23 -0700 (PDT)
Received: from ?IPV6:2003:e5:8709:f00:6357:915b:11f9:6d20?
 (p200300e587090f006357915b11f96d20.dip0.t-ipconnect.de.
 [2003:e5:8709:f00:6357:915b:11f9:6d20])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-454d50fa9b4sm177292905e9.27.2025.07.14.07.08.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 14 Jul 2025 07:08:21 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 009d4ece-60bc-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1752502102; x=1753106902; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=QbA+OWgZ9xPZ5U6RZZcg7S4Cukk+36MgsP5KzKP8cUw=;
        b=aAePszSVGbmDS/pVD4ZcYyVmYQky7YThHnrVIrOw9wKLxXoFNxYkVYbmQqynQ6AnrJ
         hRy2CdSogf+s8eNdz8oSzkOdva2P4/wEthJMEKDuytZXh6Ju5tNgm+ie5uSxaQcc/2zp
         fLgBp+tbe3sMWKkH8iwTvIfbei48KKpf0FKzroISkl00yqmoTLp8CPMfgP/nNAHMYuP2
         7gGb8++feUdGYt0Ydy8y0RVAvr+eLp4mxgka47X21UFR8l7qd1o8GzMFRXTp/b8Q348U
         NDr1ec0oyH8EqS9dJRADduWmJ9D4qfu5GManvEuRQONlaeZ62NMHuzjG4hq5QKhWT/VG
         kLXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1752502102; x=1753106902;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=QbA+OWgZ9xPZ5U6RZZcg7S4Cukk+36MgsP5KzKP8cUw=;
        b=RnMhgRuo9nqG87n4F/G+LZtypnd4+ZpfWw8o3BoZUkjsdvtPrzc0Vxo5BLhK3JBbce
         x9qp5quWYpI2HY+pFtuVEXEtU0i6Mmb4vmfkBGwB4L6KJQapy9/XFkyRlR1DmYGufEDk
         EMjpXLYpJVIWc0bkZmlsdxdoF05wis2zjDk0z1EAUeP41crM6FQ8PPsGwrIYXFFHrtiW
         sJ3WPGsfWk+QfVlQ3asQS8ELklhBP1w5TXrnqNSv2q+Uxczdr+rfDyGhH2b4H8Nqcc61
         USQRpUam1ICckhcb7SQ2tnHLQyIUcWe4v9BQk6LrZc9Tk2gf+bXCrS2iRsaU1vIOoB9v
         zX0A==
X-Forwarded-Encrypted: i=1; AJvYcCVTJG7D5n23JZqdRwcdkUjpIrB7kgRARbZsXRCTa4/l/D7r+DAZRA5ufD3WuRsZM/V82bLusOLvHpCjzBU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxuxMHfl1D6CVv5kZqrvuHnXkEXT5V74XZn3f/X/CjiRnT7KTCF
	qNY44C6R3RsuMPFI7KHmCfDD5uoTQD9pTHfWoZyW080Ze3Wjbq2WSxTURY7Mpgbg5FM=
X-Gm-Gg: ASbGncuO/hxPJSDQwrO+s5NgzSi0Ub+HDFU3cUicznb2b44uGKiD1Cd4knY2nt6KvK2
	KBWMmvH1zz7KRh95rqNoyXknztwi5GOmwZ/SJqv3zKrei/tP0dkH4NzAddZnfY45M+y4hLsWOQB
	misawrqrRmIGrsgZmagAiZFZ7FppVSPZ941TZCfX5tYnYU3isEEHvQZEJcp2f/bOmUE2Tfd7c+d
	N5URUVW+fTX5ZaNaBqQLap79h0fFcEfEXr14nGIcdncm1ODuWX255FLnkWhvOITCOiIlIrplNjx
	RFVxa3Qa2IKjtsZJWLmmS8/g3KcbJxZNaT7z4SuM6mJKf87KlANe0rlU+MpP1opLK5H2xcH645Z
	TgQoiMJ47DOeJJNhYS4PLOD7vwO/2IWYur+5wK8EmT7K6sWYqlKjk26YW7P39q8gZZ4jZwQlFN+
	KB0uE5fhf650GesZD2tFf8Wq8II4Kym8Fzgmwhj2cbZYwc
X-Google-Smtp-Source: AGHT+IHehcclOJSyKjiXfjUmQKgdKkl3LlW2LI+e+GZssL/Q8E/QAR5F9IeZJQ2e7rv0hFe2wSErjw==
X-Received: by 2002:a05:600c:c116:b0:453:2066:4a26 with SMTP id 5b1f17b1804b1-4557f0b6245mr108320825e9.16.1752502102255;
        Mon, 14 Jul 2025 07:08:22 -0700 (PDT)
Message-ID: <c982be4f-0f86-461a-a4cb-f8c930400736@suse.com>
Date: Mon, 14 Jul 2025 16:08:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH] e820: fix e820_get_reserved_pfns() to reserve
 page aligned area
To: Jan Beulich <jbeulich@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
References: <20250711120333.23745-1-jgross@suse.com>
 <cccfa579-7fe9-400d-8ea6-7d6a8210e65d@suse.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <cccfa579-7fe9-400d-8ea6-7d6a8210e65d@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------HkO1YO95APsia0p0jqivzp7j"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------HkO1YO95APsia0p0jqivzp7j
Content-Type: multipart/mixed; boundary="------------2QwfgLwV4YrCGKdxZZX6IeFb";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Message-ID: <c982be4f-0f86-461a-a4cb-f8c930400736@suse.com>
Subject: Re: [MINI-OS PATCH] e820: fix e820_get_reserved_pfns() to reserve
 page aligned area
References: <20250711120333.23745-1-jgross@suse.com>
 <cccfa579-7fe9-400d-8ea6-7d6a8210e65d@suse.com>
In-Reply-To: <cccfa579-7fe9-400d-8ea6-7d6a8210e65d@suse.com>
Autocrypt-Gossip: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------2QwfgLwV4YrCGKdxZZX6IeFb
Content-Type: multipart/mixed; boundary="------------X0cJd0QFIp5VO61sO02VDkoS"

--------------X0cJd0QFIp5VO61sO02VDkoS
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTQuMDcuMjUgMTY6MDIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxMS4wNy4yMDI1
IDE0OjAzLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gZTgyMF9nZXRfcmVzZXJ2ZWRfcGZu
cygpIG5lZWRzIHRvIG1ha2Ugc3VyZSB0byByZXNlcnZlIG9ubHkgcGFnZQ0KPj4gYWxpZ25l
ZCBtZW1vcnkgYXJlYXMuDQo+Pg0KPj4gRml4ZXM6IGE3ZDI3YTczMzJiYSAoIm1pbmktb3M6
IGFkZCBtZW1vcnkgbWFwIHNlcnZpY2UgZnVuY3Rpb25zIikNCj4+IFNpZ25lZC1vZmYtYnk6
IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4gDQo+IEkndmUgY29tbWl0dGVk
IHRoaXMsIGJ1dCAuLi4NCj4gDQo+PiAtLS0gYS9lODIwLmMNCj4+ICsrKyBiL2U4MjAuYw0K
Pj4gQEAgLTM2NSw3ICszNjUsNyBAQCB1bnNpZ25lZCBsb25nIGU4MjBfZ2V0X3Jlc2VydmVk
X3BmbnMoaW50IHBhZ2VzKQ0KPj4gICAgICAgdW5zaWduZWQgbG9uZyBsYXN0ID0gMCwgbmVl
ZGVkID0gKGxvbmcpcGFnZXMgPDwgUEFHRV9TSElGVDsNCj4+ICAgDQo+PiAgICAgICBmb3Ig
KCBpID0gMDsgaSA8IGU4MjBfZW50cmllcyAmJiBlODIwX21hcFtpXS5hZGRyIDwgbGFzdCAr
IG5lZWRlZDsgaSsrICkNCj4+IC0gICAgICAgIGxhc3QgPSBlODIwX21hcFtpXS5hZGRyICsg
ZTgyMF9tYXBbaV0uc2l6ZTsNCj4+ICsgICAgICAgIGxhc3QgPSByb3VuZF9wZ3VwKGU4MjBf
bWFwW2ldLmFkZHIgKyBlODIwX21hcFtpXS5zaXplKTsNCj4+ICAgDQo+PiAgICAgICBpZiAo
IGkgPT0gMCB8fCBlODIwX21hcFtpIC0gMV0udHlwZSAhPSBFODIwX1RZUEVfU09GVF9SRVNF
UlZFRCApDQo+PiAgICAgICAgICAgZTgyMF9pbnNlcnRfZW50cnlfYXQoaSwgbGFzdCwgbmVl
ZGVkLCBFODIwX1RZUEVfU09GVF9SRVNFUlZFRCk7DQo+IA0KPiAuLi4gSSBoYWQgdG8gcmVz
b2x2ZSBmdXp6IGhlcmU6IFRoZXJlJ3Mgbm8gRTgyMF9UWVBFX1NPRlRfUkVTRVJWRUQgaW4g
dGhlDQo+IHVwc3RyZWFtIHRyZWUsIGFmYWljcy4gSSBqdXN0IGhvcGUgSSBkaWRuJ3Qgc2Ny
ZXcgdXAgLi4uDQoNCk9oLCBJIGhhZCB0aGlzIG9uIHRvcCBvZiBteSBrZXhlYygpIHNlcmll
cy4gWW91ciBhZGFwdGlvbiBpcyBsb29raW5nIGZpbmUuDQoNCg0KSnVlcmdlbg0K
--------------X0cJd0QFIp5VO61sO02VDkoS
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------X0cJd0QFIp5VO61sO02VDkoS--

--------------2QwfgLwV4YrCGKdxZZX6IeFb--

--------------HkO1YO95APsia0p0jqivzp7j
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmh1D1QFAwAAAAAACgkQsN6d1ii/Ey/+
MwgAm5kOos2rkjsTqsigOdrYSLeHCv5C6MXr+K3qT8OrmPyOSwSXDhuYzVfjOcuaUoY8fm6FkcVS
xssP8IR0s0jSF0ZiMH2Or7bNyxnWAGJKzYyOO77VPhVlMTsqosEvIbsA9e2CUdFsutcZTmFX0Spw
6hbLBdjozuckYRG3xhEFQh1lPylAhRDYBW9SDVeHt479PSlOgj580A+lYb5ezsirKEjxn569aO2K
f1jT0wMlZa38T6+w6803+zpPji/zGuBUws+8cxRfdOG7PttxtCOwkeraSK7E7yTGzyPqlDDWJWky
myYwtJLVUivjgDP6CuH0bZ8pIauVfjwxFS58guw8ew==
=Lepg
-----END PGP SIGNATURE-----

--------------HkO1YO95APsia0p0jqivzp7j--


From minios-devel-bounces@lists.xenproject.org Mon Jul 14 21:33:18 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2025 21:33:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1043059.1413160 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubQnU-0005Nv-1n; Mon, 14 Jul 2025 21:33:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1043059.1413160; Mon, 14 Jul 2025 21:33:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubQnT-0005No-V0; Mon, 14 Jul 2025 21:33:15 +0000
Received: by outflank-mailman (input) for mailman id 1043059;
 Mon, 14 Jul 2025 21:33:15 +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
 <SRS0=jbYV=Z3=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1ubQnS-0005Nd-Rw
 for minios-devel@lists.xenproject.org; Mon, 14 Jul 2025 21:33:14 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20625.outbound.protection.outlook.com
 [2a01:111:f403:2412::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 233c69f5-60fa-11f0-a319-13f23c93f187;
 Mon, 14 Jul 2025 23:33:13 +0200 (CEST)
Received: from BN8PR15CA0020.namprd15.prod.outlook.com (2603:10b6:408:c0::33)
 by CH3PR12MB7500.namprd12.prod.outlook.com (2603:10b6:610:148::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8922.25; Mon, 14 Jul
 2025 21:33:07 +0000
Received: from BL6PEPF0001AB74.namprd02.prod.outlook.com
 (2603:10b6:408:c0:cafe::3c) by BN8PR15CA0020.outlook.office365.com
 (2603:10b6:408:c0::33) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.32 via Frontend Transport; Mon,
 14 Jul 2025 21:33:05 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB74.mail.protection.outlook.com (10.167.242.167) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8922.22 via Frontend Transport; Mon, 14 Jul 2025 21:33:05 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 14 Jul
 2025 16:33:05 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 14 Jul
 2025 16:33:04 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 14 Jul 2025 16:33:04 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 233c69f5-60fa-11f0-a319-13f23c93f187
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=pXakhrimfEv85iOW+YzeWLM9Ahc7ZGgaBYp+joP4DpkkEotEAJp9WQKv1EEZ+sWhuY2qu+GINKV/yKeLAZLpP+bwsyvpoPkucYYn5/NN1LdL2wmZ1jHU6GLmBQHqg2zJyfFk4LAuvd5w7EP9/eFks1KtqVBkMj7sMBMe/5b46qYsWZxHLlN44m3pw5pK7+GpKx9bTngE+bWZ0twuJMZ+YxMuRjw7vHv4xTRr2b+10unYop8CfL1Lga7ECelqnoh6UQS82arifLfc/A1gFOPloTvnEak1KXqXLjOJlsDlzH0ys6RnJirOtl1vixKX32M/wMpIaTmv40gLCRrzJnzVng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MTWkn6CBsnuAuhBy9uApDhjzDSIdMXWDUk9Fi4+i1nU=;
 b=MWCwQz5CzQcGRu6KOp6h/7dcP8AUIarnuqFVdggK6C57SzvlFhbUgWpniIJnQS8YbFNUQNsGqhcwe30FXjtvT9WrLIR/AKGiwBGcXn8mQoogdiQXXSCoSRHhXMlhoRff+rP25a25cFhic+M5SM+aPJ8DlgwsKUhsSkoCOFJRvs27C43JrFUXOXSgI9xW5hRPwaVnL5j8d7CjN5VopJfBba9s4ezl1hrYZvIvPczh6usRqj9mJrTpgky6LIviMAMNncw4Uxf45DqPlnFkAe6TyNuyWpF/legyZmPMcPO0ri7ZFqwk1zUnsZBfsUw8LShNvPhvIQRv+blp1i47Mm8r0w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MTWkn6CBsnuAuhBy9uApDhjzDSIdMXWDUk9Fi4+i1nU=;
 b=0bTEa5qTsyg5bLam0fchgq42G1hdtxVELmC/FLaaOrgYTUS2NneCZQS370O5ktfi/sqRTbWfqwbiy13DhRxvce8nwdSMz9hx6tGVgNSE59FJv6P8rBCuxxHY+SZG2WFprN3heRBcWCzOY6YpKGOjs3F/Y8Hmg+UiLkHFTX7FdDs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <000bcec6-09ad-4784-9c1c-a5acd2ee52bb@amd.com>
Date: Mon, 14 Jul 2025 17:22:26 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [MINI-OS PATCH 12/19] mini-os: kexec: add support for handing
 over some memory across kexec
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
	<minios-devel@lists.xenproject.org>, <xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-13-jgross@suse.com>
 <cbb2c96d-c4da-4360-9f74-0dbfe3448747@amd.com>
 <82e521d2-9886-4540-8e8c-7096fd34451e@suse.com>
Content-Language: en-US
In-Reply-To: <82e521d2-9886-4540-8e8c-7096fd34451e@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB74:EE_|CH3PR12MB7500:EE_
X-MS-Office365-Filtering-Correlation-Id: 81fb7e99-7ed9-49f8-1210-08ddc31e04ef
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|36860700013|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RXJnNy9FWldGZlNBRFltdXRWY25GVHgrVkxmSlQrczBJZ05GUUpzbkhDRFVr?=
 =?utf-8?B?Z3lhMlZ6R2I1Tk1PVmQ2UjFxZlJvclVLTmpIOG5hTkdvTGZLVHAydFlXWHMy?=
 =?utf-8?B?Sk1VdnZ4NEYvY0l4VkZJbDlmL0M2dVZ2NTJMTFAwWi9mYUQ4clNhRzduV3ZB?=
 =?utf-8?B?VmVJQ21xSVB2elZUSHcrakVQNlA3anZmUVhGUWNQZG9Ha2pqMVJNUlRTYjRt?=
 =?utf-8?B?QTdoc2pJMEsrRW5MYnFGWFIxNWRwaEhCd29aaHZYRWQrOWFpZ1J6czJqdXdT?=
 =?utf-8?B?WDhxYWI5anhlOE50RWgzdFU4Tll6TFp1ODFkeFc3bHBDRHhMRkg0anFWa1N0?=
 =?utf-8?B?RGR2bGtPdktSVHNJTFB6WWxYZTBHb3hYbEI0czdVM1EzRDZadS9hREQ0SFNo?=
 =?utf-8?B?Z1V5dUR5bjZ5TXZjN2hyMzREN0dCZFhVa3lXb0NsSUhpa01UeDZNRDRJQnVS?=
 =?utf-8?B?OXJXTzNaRG9seGdTNGhKYURyUGlBenBTT1A3MFduL2MwZmtabWVkYmdGOXZi?=
 =?utf-8?B?azkzelc3WVdTTHhKVStVNTNLcmc1SlFTUnhvZ010TzJ6ZVRHWTQyQnlTZXZE?=
 =?utf-8?B?ZlBrMUVWTUxoV2lFUDk4QlpvODFNMWlsYjl3eTY2KytRZ0xsbmVFUkFQLzZK?=
 =?utf-8?B?S0VVdElDaUcwRkpSMDVWQ0hyYjJ0Y3ZLdUdQYldKWFIvSXMrUWVxZ0d6RkpQ?=
 =?utf-8?B?QnRoTUJqRU1HNlhwUE1GdEh2cHc1Wk5CNitwb0t0dmw4aXZFNUV4Y0ROVFNU?=
 =?utf-8?B?OHc5M1dzSkcydFZkRVFBN3RnUmV4b1ZsNytxV3M2MnIxYlk4Nm1qZS9oT1R5?=
 =?utf-8?B?ZjV3dldEV0FyVXhiOENkTUJIbVJPQUlpaWF3ZW81dllSMGdEellkSWNhWjRX?=
 =?utf-8?B?RGdLSXQxdmdxVlFmRmdVY0R5OG81d2lqUnM3OXhIVTV6NzBWOWF6QzIwR2V0?=
 =?utf-8?B?Y3ZLRlJDc00wQ0lEQjJQc2pZWWNzMUtnQ24xNGhUc1Ywb1Y0eXRWL3VIbkxo?=
 =?utf-8?B?bEx2eEFxVHlZSGhDMmpxaWpGZUZPRGRqSUJYbmNHOFB6NG9EbU5FdUVvTG9S?=
 =?utf-8?B?RXM1b3VaU2NjOThsWHQ5elJxSHZTTFF5SHlNYmcraVh0R0NGblB1d0I1R3FE?=
 =?utf-8?B?cXh6NlJwZk5QOC9ybitYcnR0YXM5cHphcFZPTlZ6QjBnTWVUSGxwa01qT05O?=
 =?utf-8?B?dmlIQng5c2dpZmhESkFBUjd0b0lXeFBVZGREcXJiUVE3ZGV4UmFtc3A1Q242?=
 =?utf-8?B?NkF0RXRkS2xGTXEzN1hkWDV0eE9KclVCNm5Pc3c4VnVsVFBXVUJmT0tMUDNa?=
 =?utf-8?B?cC9VRndmT2tIc3FzNTgwRWxTWVJLbm1CbjZObm54SWdRQ0tMNkN4VVlQRG5B?=
 =?utf-8?B?elZPSStEM05mY2U3aFhMNDRaM2RNdHJtYkYvNWNCS3BNUXFyUC9vMDU5Q0dy?=
 =?utf-8?B?SWZGV05NZHJ3SjZUL2pZNCtNc0pselkrbExkVngyTU1ORnl0dGF2b1oycWNL?=
 =?utf-8?B?NUNSUm1IVEUxQ3phcFpSODJPTEhrR2JrZnd3ekJZamRINTRnRWJJQzYvRXZl?=
 =?utf-8?B?QWVuNE1jSnBQSk5XVHo0NFZYS1I1UGlkRmdtaEpOTGhYcjZNL0IwUzgvNFFP?=
 =?utf-8?B?MjVOZmlJNitYdW1IVlBpQzVRQU5lbWRCQnpuRjNRSzgwSG9XRk1zQ25jUEEw?=
 =?utf-8?B?OWhhemowWXZ6N1BaSmwzZGFsR0ZaR082MzZZa2tDN1hWTGFKUDE3K2U3ZGlZ?=
 =?utf-8?B?d0UxbnZKUTdXUkdZODJXMHByYWhUbTJmTGRhcEJrWUNQK0RySEFIVHRkRW4r?=
 =?utf-8?B?VllOQjBXUmZobFcxcjErdy9UZlVNZjcvQUkxLzFVR3VDclNxdFJLQk1JY2Zx?=
 =?utf-8?B?M0o4Z2V3RXZpcjJERmtmRXpsb3ovWjFvTGNYTytoaEMwTUphTGJrdWM5aFNp?=
 =?utf-8?B?dWxiaE5zbHpobnFiQWpLSTlJZFB2OVR3alBSQi9zK2lxU1VxRiszNWRkZ3pZ?=
 =?utf-8?B?S0VHWlR2R0E1d0l4Q0p4d3F0TU5pSlBDM1ZCWDB0aHhJRjByK0lIQzdjdXha?=
 =?utf-8?Q?oEceC0?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(376014)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2025 21:33:05.5256
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 81fb7e99-7ed9-49f8-1210-08ddc31e04ef
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF0001AB74.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7500

On 2025-07-11 03:49, Jürgen Groß wrote:
> On 11.07.25 01:21, Jason Andryuk wrote:
>> On 2025-07-02 04:12, Juergen Gross wrote:
>>> Especially for support of Xenstore-stubdom live update some memory must
>>> be handed over to the new kernel without moving it around: as the
>>> 9pfs device used for storing and retrieving the state of Xenstore
>>> needs to be kept operational across kexec (it can't be reopened due to
>>> Xenstore not being available without access to the device), the ring
>>> pages need to be accessible via active grants by the backend all the
>>> time.
>>>
>>> Add the basic support for that by reserving a pre-defined number of
>>> memory pages at the top of the memory. This memory area will be
>>> handed over to the new kernel via specifying it as a module in
>>> struct hvm_start_info.
>>>
>>> The contents of the memory area are described via a generic table of
>>> contents in the last page of the memory.
>>>
>>> Signed-off-by: Juergen Gross <jgross@suse.com>

>>> diff --git a/Config.mk b/Config.mk
>>> index b9675e61..0e4e86d8 100644
>>> --- a/Config.mk
>>> +++ b/Config.mk
>>> @@ -220,6 +220,8 @@ CONFIG-$(lwip) += CONFIG_LWIP
>>>   $(foreach i,$(CONFIG-y),$(eval $(i) ?= y))
>>>   $(foreach i,$(CONFIG-n),$(eval $(i) ?= n))
>>> +CONFIG-val-$(CONFIG_KEXEC) += CONFIG_KEXEC_MODULE_PAGES
>>> +
>>
>> I don't know Makefiles well enough to review the preceding patch.  
>> This doesn't seem to be used?
> 
> It is.

Oh, so setting CONFIG-val-y, through the Makefile magic, creates
-DCONFIG_KEXEC_MODULE_PAGES=$n

I said I didn't know Makefiles well :)

>>
>>>   $(foreach i,$(CONFIG-val-y),$(eval $(i) ?= 0))
>>>   CONFIG-x += CONFIG_LIBXS

>>> +    module_ptr = (void *)(mod + mod_size - (unsigned long)PAGE_SIZE);
>>> +
>>> +    /* Check eye catcher. */
>>> +    if ( memcmp(module_ptr->eye_catcher, KEXECMOD_EYECATCHER,
>>> +                sizeof(module_ptr->eye_catcher)) )
>>> +        return NULL;
>>> +    if ( module_ptr->n_pages != (mod_size >> PAGE_SHIFT) - 1 )
>>> +        return NULL;
>>> +
>>> +    return module_ptr;
>>> +}
>>
>>> +#define min(a, b) ((a) < (b) ? (a) : (b))
>>> +void kexec_module(unsigned long start_pfn, unsigned long max_pfn)
>>> +{
>>> +    /* Reuse already existing kexec module. */
>>> +    mod_ptr = kexec_check_module();
>>> +    if ( !mod_ptr && CONFIG_KEXEC_MODULE_PAGES )
>>
>> What if CONFIG_KEXEC_MODULE_PAGES changes between the old and the new 
>> stubdom?
> 
> Right now this wouldn't really matter. The CONFIG value is used
> only for sizing the module if we are not started via kexec().

When I wrote this I was thinking of:
A -- kexec --> B -- kexec --> C

A: CONFIG_KEXEC_MODULE_PAGES=4
B: CONFIG_KEXEC_MODULE_PAGES=6

When B is running, it has the 4 pages from A, but it expects 6 available 
for its use....

>>> diff --git a/include/kexec.h b/include/kexec.h
>>> index b89c3000..0200005f 100644
>>> --- a/include/kexec.h
>>> +++ b/include/kexec.h
>>> @@ -2,6 +2,48 @@
>>>   #define _KEXEC_H
>>>   #include <mini-os/elf.h>
>>> +/*
>>> + * Kexec module used to hand over memory across kexec().
>>> + *
>>> + * This is an ABI which should be modified only in a compatible way.
>>> + * struct kexec_module is located at the start of the last page of 
>>> the module.
>>
>> Why is kexec_module, which seems like a header, placed in the last page?
> 
> In case we ever need to grow the module (e.g. when adding new data
> to it and with that having to handle different CONFIG_KEXEC_MODULE_PAGES
> values between old and new build), it will be easier, as the module will
> normally be located at the end of the usable memory, so we wouldn't have
> to move the struct kexec_module around.

.. and this avoids that issue since the extra pages can be grabbed 
without moving struct kexec_module.

>>
>>> + *
>>> + * The module can contain data/pages of multiple users. Each user 
>>> has an own
>>> + * record which layout is depending on the user. Records are linked 
>>> via a table
>>> + * of record offsets.
>>> + *
>>> + * All admin data (struct kexec_module, record offset table and 
>>> records) must
>>> + * fit into the last page of the module.
>>> + */
>>> +struct kexec_module {
>>> +    uint8_t eye_catcher[8];
>>> +#define KEXECMOD_EYECATCHER "KexecMem"
>>> +    uint16_t n_pages;       /* Number of allocatable pages in the 
>>> module.    */
>>> +    uint16_t n_records;     /* Size of record table (max. 
>>> 255).              */
>>> +#define KEXECMOD_REC_MAX    255
>>> +    uint16_t recs_off;      /* Offset to record table from start of 
>>> page.    */
>>> +                            /* The record table is an array 
>>> of               */
>>> +                            /* struct 
>>> kexec_module_rec.                      */
>>> +    uint8_t pg2rec[];       /* One entry per allocatable module 
>>> page, value  */
>>> +                            /* is record number (starting from 0) 
>>> associated */
>>> +                            /* with it. Free pages have value 
>>> 255.           */
>>
>> This reads like it is 1 page per record...
> 
> No, this means that each used page is associated with a record, but
> there can be [0 ... n_pages] associated with each record.

Maybe:
"Mapping of module pages to associated module record.  Allocated pages 
are indicated by their record number (starting from 0).  Free pages have 
value 255."?

>>
>>> +#define KEXECMOD_PG_FREE    255
>>> +};
>>> +
>>> +struct kexec_module_rec {
>>> +    uint16_t offset;        /* Offset to record from start of 
>>> page.          */
>>
>> ... but then why would you need an offset?  How do you identify which 
>> "page" or do you mean from the start of the module?
> 
> The record itself needs to contain the data for finding the pages
> associated with it. See patch 18 for the details of the 9pfs record
> added there.
> 
> It will use all 17 allocatable pages from the module (1 for the main
> 9pfs shared interface page plus 16 for the shared rings), while the
> record itself will hold the grant reference of the 9pfs interface
> page, which serves as the key for locating the page itself and the
> ring pages.

I was missing the overall view.  I think I have it now from reading 
patch 13.

 From kexec_mod_start, we have:
(CONFIG_KEXEC_MODULE_PAGES - 1) pages (allocated as pages - referenced 
by pg2rec)
struct kexec_module *mod_ptr is the start of the final page.
pg2rec[n_pages]
struct kexec_module_rec mod_recs[n_records]
< extra data for each mod_recs found by .offset and .size >

I didn't realize the mod_recs were separate from their "extra data", and 
extra data took up the end of the.  If that's correct, I think it would 
be helpful to describe the overall layout.

Thanks,
Jason

>>
>>> +    uint8_t type;           /* Type of 
>>> record.                               */
>>> +#define KEXECMOD_REC_NONE   0
>>> +    uint8_t size;           /* Size of 
>>> record.                               */
>>> +};
>>> +
>>> +#ifndef CONFIG_KEXEC_MODULE_PAGES
>>> +#define CONFIG_KEXEC_MODULE_PAGES 0
>>> +#endif
>>> +
>>> +extern unsigned long kexec_mod_start;
>>> +extern struct kexec_module *mod_ptr;
>>> +
>>>   /* One element of kexec actions (last element must have action 
>>> KEXEC_CALL): */
>>>   struct kexec_action {
>>>       enum {
>>



From minios-devel-bounces@lists.xenproject.org Mon Jul 14 21:33:23 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2025 21:33:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1043063.1413180 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubQnb-0005hY-M8; Mon, 14 Jul 2025 21:33:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1043063.1413180; Mon, 14 Jul 2025 21:33:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubQnb-0005h4-Fg; Mon, 14 Jul 2025 21:33:23 +0000
Received: by outflank-mailman (input) for mailman id 1043063;
 Mon, 14 Jul 2025 21:33:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jbYV=Z3=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1ubQna-0005dt-BI
 for minios-devel@lists.xenproject.org; Mon, 14 Jul 2025 21:33:22 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20611.outbound.protection.outlook.com
 [2a01:111:f403:2414::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 279b66d2-60fa-11f0-b894-0df219b8e170;
 Mon, 14 Jul 2025 23:33:18 +0200 (CEST)
Received: from BN8PR15CA0024.namprd15.prod.outlook.com (2603:10b6:408:c0::37)
 by BN7PPFD6BF22047.namprd12.prod.outlook.com
 (2603:10b6:40f:fc02::6e4) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8835.26; Mon, 14 Jul
 2025 21:33:14 +0000
Received: from BL6PEPF0001AB74.namprd02.prod.outlook.com
 (2603:10b6:408:c0:cafe::40) by BN8PR15CA0024.outlook.office365.com
 (2603:10b6:408:c0::37) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.30 via Frontend Transport; Mon,
 14 Jul 2025 21:33:14 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB74.mail.protection.outlook.com (10.167.242.167) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8922.22 via Frontend Transport; Mon, 14 Jul 2025 21:33:14 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 14 Jul
 2025 16:33:14 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 14 Jul
 2025 16:33:13 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 14 Jul 2025 16:33:13 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 279b66d2-60fa-11f0-b894-0df219b8e170
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=KwXQlBIOa/lIDFYMvyqW+fM674AHsRfhUasVpXAGIOFmE1oV/vqCdUvRyesqzCAKkm0p5luKN4abMVHRVJlDIhKgb489xmWn0y4sgjiZqgAsKFHaOp9kGAj/66Fqh8tHRngvjESxq9zdg1pX/AI3pW6dtGOt4nXkqU45K6HmWnEGW7rk34SR/aYehChTeCbTb9HGpseEtmh7tNNWZQ7sxtppTTVyLpd44+89NZ4vSfU0ikBO83nrqgNBo6qZ1PfNYmeIxVCKKV9D7ajnwSsjtxshKiSfvjVcu9Qw29Nzvfmptf3+hdH4eiKi3ZZ0iU820Y3JBigi0rFaKgzC5pOl1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7Hl+725fzmhGWsxhaOWtjyHUO0NiIKAclwmlUj4/NbY=;
 b=q4YGvzklwObGSFbBjX6xw7p1dTRNYuGPBu0zDdIW4H4Ntz44weU5O6GlNjcjtI2RFiEml3/MS4s8C2JZz0wtt1Myg7zZuhstQ2QF7H8tctO/dKAdSmVPjoJSRs353PksomM2qteGnI7FZOxQ9CN1yQ7NaRevz8OvIjiteSYb98enol+azD3z7OJq52mRyPH3hIonLsBmBa0DkPKo4vYC6N4YPwTkK6yqgX+ohqkrx8mupv9sHdWhsubh7TY8ZRLsZ4TJogxCSlvxXeC+61xy3EHD6z2SNYWWZeUqhxT99qqIlDWDrrdWFo3R1sWJCwrmKS94qI28ONsQKg+r4dj+LQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7Hl+725fzmhGWsxhaOWtjyHUO0NiIKAclwmlUj4/NbY=;
 b=mTX+XUvOWIrrDn0TUIfAQJ6Mfp/4OVXNq+o9yUX9a5OzvjpHVthRFUTpksHewV8Ghdqv61DIU+rcT2c2wMFgQBklP+K+8xcdgCgUCpbl6MhbwNqcslwaTxOWeE7NVo6qlZ4gbhJNun2Nq5AEgJHtuX6LtWTrVaihBgTpUz5iZIk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <2bedbf0f-1263-484b-be92-a58a29166413@amd.com>
Date: Mon, 14 Jul 2025 17:22:35 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [MINI-OS PATCH 14/19] 9pfs: store bepath in struct struct
 dev_9pfs
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-15-jgross@suse.com>
Content-Language: en-US
In-Reply-To: <20250702081254.14383-15-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB74:EE_|BN7PPFD6BF22047:EE_
X-MS-Office365-Filtering-Correlation-Id: ca9b573c-ce06-4638-4165-08ddc31e0a1f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|376014|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VEtMSmlnQzYvaHQ1U3dGTmZZRzE1dEp3Yk9XZWhjTE9hdWxMR2pLR0VUSHN1?=
 =?utf-8?B?MlFuakxLZFJtMXAxVi9nMXV1ZEdON1o4dzlGNUMrWWFlU3d3eGlTYUYxOVgy?=
 =?utf-8?B?aHk0enlEVHFNc0hTRUtqT1gvNVRJWnBTbkNJV0YvOFIwT0J5cVY5cVRLUi85?=
 =?utf-8?B?WldmUk9DdEhMSTFLczh6UThYTlB3elo2YjJiUlM2cWUwODhUaU5zWjVBa3F1?=
 =?utf-8?B?ZG5Ga3Q2cHlWdDM5OGw3c3NIRFlTSHdjeDFMQmpibnNRUlZXK0JvVEJKalJ4?=
 =?utf-8?B?SFBWVVplSUNra1pSZk1KdGthQ2kwbHZCekNlbGxvMXRlODUyZGY4QnBBcmZX?=
 =?utf-8?B?YVBzUitBZ1IxVlpLNVgyMW00K2NSMGQ4MGpXWXVmVDJ4alRWcHZQVW5VV1dJ?=
 =?utf-8?B?ejBqQ0dyK040VTFGYklvRTlsVUFsN21HU0FFK0E4RDVZY0NYZFRkeS9xTTVJ?=
 =?utf-8?B?c2xLaFBkSVlVbUttQktsaVhCRXc4MElzSlVPODBHa0lHVENjUzVrcEt6aGtD?=
 =?utf-8?B?V1ptYTZ1RFhQTW5uaVhkYWFDR3Q4NEkyVU9NandYaVNJVU5iVXU3UFpHbEF3?=
 =?utf-8?B?Yk42MUVnOE9Mc3VoOFcvaFR4QTY3b0xlL1ppaE5rUGRSaG14b21ObUJUbko1?=
 =?utf-8?B?alVZYjA3Z1dFd0JOYklIby9IdmowSktQMkhqeHVUR0J6cnMyY1p0RlhoT09V?=
 =?utf-8?B?R3NpbzM0eHNPREIrOVMxR3kxV2xidjZJM0t4aXBjZ1g2RzQvQ2pINjZ3WnN4?=
 =?utf-8?B?Z0RzQkxwVUdFTlpPMUhKNmJxazBXZ2VHVm1JRkwvWUVoVDhJdk5sbUh1K3kw?=
 =?utf-8?B?cGliQlJUTTljYzh6QnVvZ2FCYldMUTN4anpiNDFGa25KeEhsSnFCYWM0TTZB?=
 =?utf-8?B?QUFwQkgxNnRVYUhQSjB3YXA3TWZ4V2x0dVJmY0M2ZjFHbDVnVDAxZDV4VjR6?=
 =?utf-8?B?RERoYjA5dUlSd0Eybmh2bklTUnZuMnEzbXBURGMzNU14WlNKSHd4WURCSjg5?=
 =?utf-8?B?NC8rQUxsdzl6V1B0dk5hWGxsZ2l5TkpjYk11bmVmNUI3enFvVWd5ZkxlT0xm?=
 =?utf-8?B?ZlY2S2cvd0pxSTB6MzdEZjVFUDZZU045VWpJRUxmSyt1VWVOdW1GOXd3dXpp?=
 =?utf-8?B?NG1TbnZnQkVMSWpDUmhvRlNQN3d4ZVljcFY4NE1rbWI4cW95Vnl4UHVncTlo?=
 =?utf-8?B?cjN1SzhxVG1TTFN3cXo2NGNpUkdaTlN2d0Z4N1Myc0RBaCtNVlp0QjY3cXhQ?=
 =?utf-8?B?bUZUZ0FidGY1YlB6aWcxWGdBYUZMNGpnRmpObDNsZHAyUlBaOUx3czZabTht?=
 =?utf-8?B?YUhQanV0Q2JVeHRsK3cvcFh6ZEtQaFVKNVh4T3FlTkl5RnNKY25rb2xlc0I4?=
 =?utf-8?B?VzhnOXhjSVpUTFB4c2RHb2VJRXFoUkl3aDQ5S1drMk0ycFVuMkZxQXRSYVRI?=
 =?utf-8?B?Zy8ycGhNYklpOFBpWllXcDZieHY5T2I4cmkvY1hrWUlZU0pvMThOZnZ6NlZQ?=
 =?utf-8?B?b0xGaWxQRUVUQ0VYRTlXQzdGZjJ2aVBKMzhJTkFOckxYWDVycDJ2Y1IrSVZQ?=
 =?utf-8?B?U3Y5UGdxRW85TS9ha1VWK0dJK0ZCMXFlRVFLTFVRS2s2ZVZ6Q212NUFTbnpL?=
 =?utf-8?B?OEl0ZHV2R1VEWEtNU0NtMS9lSEkvcjUzbzZRNTd4NEt3KzZocUNkb2pidU4v?=
 =?utf-8?B?ZUhidDllckJLNndHc3MzVEl3NDliV2RrcS9haDRQVVFjUGl6ajFNNlVtVDhW?=
 =?utf-8?B?SzlJZTZtb0M4eSttYktJOUFCbG1hOXNTTnpxMGRtQnFKRExwbGJXcDB4L1pT?=
 =?utf-8?B?N2FxT2MzQXRSWU1JOVdkeTBoSDI3TUZ4R1o0ejBrbmpFUUY3eFVXWTJTSW5n?=
 =?utf-8?B?MkVCaytmckI3cXBKa09QRWxqeUd2d2VER3JGL3JhNXN4ZHg3NWxSQUZmckl2?=
 =?utf-8?B?bWpXN1loU0tPMFhrVXpiTHRMUFlBV1pZVXhSZ1dUWUJaSE95N25IbWdkSDZK?=
 =?utf-8?B?VDhCWnEvNDZMMVNpZHVCcU5TcitrcVpwbUlraFVFNTVHYVhsbmxrUSszVjND?=
 =?utf-8?Q?Sf39LQ?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(376014)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2025 21:33:14.2287
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ca9b573c-ce06-4638-4165-08ddc31e0a1f
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF0001AB74.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PPFD6BF22047

On 2025-07-02 04:12, Juergen Gross wrote:
> Use struct dev_9pfs for storing the backend path of the device state
> in order to avoid code duplication in init_9pfront() and
> shutdown_9pfront().
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From minios-devel-bounces@lists.xenproject.org Mon Jul 14 21:33:41 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2025 21:33:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1043072.1413189 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubQnt-0006K8-RF; Mon, 14 Jul 2025 21:33:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1043072.1413189; Mon, 14 Jul 2025 21:33:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubQnt-0006Jy-NO; Mon, 14 Jul 2025 21:33:41 +0000
Received: by outflank-mailman (input) for mailman id 1043072;
 Mon, 14 Jul 2025 21:33:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jbYV=Z3=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1ubQns-0005dt-0H
 for minios-devel@lists.xenproject.org; Mon, 14 Jul 2025 21:33:40 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20623.outbound.protection.outlook.com
 [2a01:111:f403:200a::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 321021c5-60fa-11f0-b894-0df219b8e170;
 Mon, 14 Jul 2025 23:33:36 +0200 (CEST)
Received: from CH0P223CA0015.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:116::33)
 by DM6PR12MB4449.namprd12.prod.outlook.com (2603:10b6:5:2a5::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.28; Mon, 14 Jul
 2025 21:33:31 +0000
Received: from DS2PEPF00003448.namprd04.prod.outlook.com
 (2603:10b6:610:116:cafe::16) by CH0P223CA0015.outlook.office365.com
 (2603:10b6:610:116::33) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.33 via Frontend Transport; Mon,
 14 Jul 2025 21:33:31 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF00003448.mail.protection.outlook.com (10.167.17.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8922.22 via Frontend Transport; Mon, 14 Jul 2025 21:33:31 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 14 Jul
 2025 16:33:30 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 14 Jul 2025 16:33:30 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 321021c5-60fa-11f0-b894-0df219b8e170
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=aVinGYwmNgqnAsUDT6SPhxolcDRYXW7m+iB8w0nIPvuoInLYSwpgHCxAEY8Z60EJ53ABWXdIKttns3S93laCwGqAU6RqIowJFKptLr0w/VHlu07T9GnGgMaDjktm6ArNdx5B45ie0+QruQkiBvYExObFkcRL6cqpQxg8dTDxQ07OrTKXVpe4zOwbAgCZdvth37pwQfnqacX87hlFHmVEcR4PJvTKjWhw8d52gbZqGYIIRJDVmkb9Bdr2QhGU6q4hAbND9vV4+B7NnGGA6yWNxBleslvSMec5HZ9uM/0754pz5lfmLVAi6K8P8PBhijdBw0+ouFlwHHS7YEq3FIlvvw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2CleyZsMicTx94o79O5O4QUYFYDfCc1mHTEGqGwEo04=;
 b=pcWquQpdgQByvouhU6Ho3qFdIn4qB2qHtoAM8MQ9AU5Y+r64TZcwCugXf8komOhdFjWyUFPhEL8mjO58DiFvjgLeRM3MfUoPk6Y3GYmaVLofhvmla+rI0dogyvgzjthWrgZcAPYoeA9expZ0aE+tHhrPSjjW2PJ6c0cQjIgD5upj/XmaZYWSGXw0ftmC01r30+jPiRNAMIIrcQfmDJj45LYPC3sR0FQzihGH/SfaFr4WH+1c5blimYXpUae+/hQap4+IzyusstYYdXtaN7cbSnBBos0zCwBWfs8TwZ9RN/RGZhZbDc2czzFbYG9cpdXSilU7k+Tj9NRN+GbiOSSeIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2CleyZsMicTx94o79O5O4QUYFYDfCc1mHTEGqGwEo04=;
 b=XNRVEnD82vXTrrqNBFpKlfGiuFDflAxvIh14chU/7qKSfZ2XYK5I82lhiEV6is9JynwifzlvJeQ7SGeGF0AmHcHePtZaJ5LtidKNeY7hU9KXugrNOb7gNd7AKc9cMiDb7cTIDQYeR0f5uLuk5PEA/NPzpaoQNzKjAUC7ELEN/oc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <d4804d0e-49bd-423e-ac1e-866251d1a024@amd.com>
Date: Mon, 14 Jul 2025 17:22:52 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [MINI-OS PATCH 15/19] 9pfs: refactor init_9pfront()
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-16-jgross@suse.com>
Content-Language: en-US
In-Reply-To: <20250702081254.14383-16-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003448:EE_|DM6PR12MB4449:EE_
X-MS-Office365-Filtering-Correlation-Id: ee58331c-6751-4aaf-27de-08ddc31e1450
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700013|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?NG9KYWwwUklqSkJTR3hXaXVmNHdxbHRLNW10bit5Wm9oQjd5amxxZndLRUdq?=
 =?utf-8?B?TGpQK3V3aWJDRnJYTFZoRlFKenBTdFE1Y1U5eWR0ZThMZVAxM2NVbVZvMzdB?=
 =?utf-8?B?VzhxWTBCRjcwcGYwaklsM2QvbjdUcjlxZXROMlp1STcrS0YxYjd3dFVlNnRr?=
 =?utf-8?B?UUF0L2I2VENWcmpkanNsR2ZhdXpaL3RCT3E0VEgzUzNLUXR2Y0crd05jeUcr?=
 =?utf-8?B?M3VzSmlobjZkSUlVdEVxb0hPdi80Rk93UzZLMlFGdWdqSXJVaXQxOFdmWHRs?=
 =?utf-8?B?Q280bXoxUVA0dG9WSStqK3ZGOXFqczg4VHpQQmZwRUYzaXlPNFc0dGxQVjlQ?=
 =?utf-8?B?elN0SWRrRjBwR3dNWERzNk82VmFNQTFoeklZNTB6NGthTGl2QktTL1pvVkpa?=
 =?utf-8?B?V2d0MW5Ma2VoQkhCN3hPNmFrUHVCK2tDZkNTM3MxNHNvR3YwZzhmS3pwRXpn?=
 =?utf-8?B?b0ttTFY3OWI3YmlGZ2ZxalZoM3Fwb0Q5QjlnSTN5VkttUEh5RlpnN1lkbHhl?=
 =?utf-8?B?aUdReU5hR0hjUERJZHNOaHQ2ZzI0ejBUcm42cmJZRlZuWm1GQjVENVRmOHVF?=
 =?utf-8?B?Mm5INzZmQ2N1WXZaSUhDZ3VESGhYaEVFZmNGN2xnc1FRK0VjNS9NTXRrelgy?=
 =?utf-8?B?SU1FSFo0S2hadGF0dTl0eUVwUDNqaDFrKzhqaEpBd3FwVlNXaTJQK21mY0pu?=
 =?utf-8?B?Q0RXUjVZOCtXZlpUejdEVkFpcWd0SnZ5SWNDV09KWVRRQUxva1JQWGlvTzdP?=
 =?utf-8?B?eWdVRG83ZUlVemtTdWRycFl4aS8yWWNuZE1FWXdKNCs5dzdXZjRMWFE5cUpj?=
 =?utf-8?B?eHJ3cDYzQ0hiaDI4RitkdzNoMkdFcnZ1Rytwc2p6RHRZTjArR0lMcFN1eHlT?=
 =?utf-8?B?MU14dnV1Zk5QMDkrdTc5NXVxMzZINE02aEVYZ3N3VlhjOHNycGpVOXd1T2dV?=
 =?utf-8?B?QW44SHozc1U4U1RPeHJnaktRNDVYZGl4Z3hnN0F4MGM4RTl0ZnVDOVR2WXFJ?=
 =?utf-8?B?bjR5QjNsT2xwKzFOaUplTmZjeUVVcGwvTEZIbDF4RGZZUTIwdHZtNDF6Z3o0?=
 =?utf-8?B?SHd6Q05nN0IvQXczK3F5UW5yU2RROHhGSmRRKzROelBWUWtiN3lGOFp4cXpJ?=
 =?utf-8?B?aDQxbkM1K2k1RUwvZi83K05EbG0wcGphZnVJcXpuQ3hQb1JOZXJ6eHVMeUVx?=
 =?utf-8?B?dlV2OU53MTArempvTnNzU2d1MVhPakJCSzNLM0c4ZUxyS3NPNVl0c2dFcVFD?=
 =?utf-8?B?QitFeG5pb1dGOE9DS254dWJnMEFnSzRQSG9yaitrNnlueTd2aklkdlZYQndz?=
 =?utf-8?B?dXVhTjlJanhtWTNFMk1HTHkxc2dvdzA3Q3RuenVUZXBRaEtNMGlKSDE3SnMz?=
 =?utf-8?B?UndRek1kTVdQS096WmJIdkVPcms4eS8vYTF2aFNXbzRjVW5CcVJGWExPS3dM?=
 =?utf-8?B?QlNDUzdLSVdyeG1uWGVGQWpDT1VyU1pUVW9KSGVmT0dERUNKRGt1N2h6TmI2?=
 =?utf-8?B?YllOL2hhQXVyNG52TDFTQ0pOejBpaFhycGJtOVU2ZU0vYk1mc3ZYeDA4TW12?=
 =?utf-8?B?TE5LMmNaWHpQd0pNdnEwYmRCckQ1U09aNDVxNFpJR1JIZlFjVWlkR0U4RlMw?=
 =?utf-8?B?VWhFQWN5M1ZtcFREcWdXckF2VjJzMUh5ZnRFL2prdHg0YTVkdkFKT1gvTlo0?=
 =?utf-8?B?UlhuaFVVcHNJdndETmV1U3NYS3RRT09hbWtYVjVBSHMxWkRTQlkxeEtYek5q?=
 =?utf-8?B?MmVvMHIyL05weHNnNkU1SzQzR0h3OVYxTTNqYVJlNC9BTm1Hb1IybWFCeWJY?=
 =?utf-8?B?Skpkb000Tyt2ejFxMFhYV1dmUVZpMWFzeHI1S1NuVlg3cUtoYVJHWFhWQjY4?=
 =?utf-8?B?UndRZmx3cEJOdVJWMU5tRGxVZlhnaXROeEIwWjFURzVlbmxzVVllamppN0lR?=
 =?utf-8?B?OWhabElXREhETkpyNjNtbTRZK3QwTU92STRaSHQ1aFBDZzh0RkVUN3RVcGZm?=
 =?utf-8?B?bXdKdGFGeW5UZEttdVplbnhucHpFajZFNXFQem9VMGQxdXU5OGtoeVBOWm9X?=
 =?utf-8?Q?UN27Cl?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(36860700013)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2025 21:33:31.2896
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ee58331c-6751-4aaf-27de-08ddc31e1450
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF00003448.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4449

On 2025-07-02 04:12, Juergen Gross wrote:
> Move the Xenstore and backend interface related handling into a
> sub-function in order to prepare supporting reconnecting to an active
> 9pfs device after kexec.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

This includes the replacement of gnttab_alloc_and_grant() which should 
at least be mentioned in the commit message.  With that:

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From minios-devel-bounces@lists.xenproject.org Mon Jul 14 21:33:46 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2025 21:33:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1043081.1413203 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubQny-0006eZ-3x; Mon, 14 Jul 2025 21:33:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1043081.1413203; Mon, 14 Jul 2025 21:33:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubQny-0006eS-0h; Mon, 14 Jul 2025 21:33:46 +0000
Received: by outflank-mailman (input) for mailman id 1043081;
 Mon, 14 Jul 2025 21:33:45 +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
 <SRS0=jbYV=Z3=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1ubQnx-0005Nd-EQ
 for minios-devel@lists.xenproject.org; Mon, 14 Jul 2025 21:33:45 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20629.outbound.protection.outlook.com
 [2a01:111:f403:200a::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 36803724-60fa-11f0-a319-13f23c93f187;
 Mon, 14 Jul 2025 23:33:44 +0200 (CEST)
Received: from CH0P223CA0023.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:116::22)
 by LV8PR12MB9269.namprd12.prod.outlook.com (2603:10b6:408:1fe::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.35; Mon, 14 Jul
 2025 21:33:39 +0000
Received: from DS2PEPF00003448.namprd04.prod.outlook.com
 (2603:10b6:610:116:cafe::66) by CH0P223CA0023.outlook.office365.com
 (2603:10b6:610:116::22) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.33 via Frontend Transport; Mon,
 14 Jul 2025 21:33:39 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF00003448.mail.protection.outlook.com (10.167.17.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8922.22 via Frontend Transport; Mon, 14 Jul 2025 21:33:39 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 14 Jul
 2025 16:33:38 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 14 Jul
 2025 16:33:38 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 14 Jul 2025 16:33:37 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36803724-60fa-11f0-a319-13f23c93f187
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=VI92eU+SGkDS/YyxhbCybbxSqM4RZZ9pXgs1IXbLYCQr3HIiKtbGlaQEn8V0wfV7WljtXPB9Scezh30b+uzbSoBsa80olz5rMMCx5meq3LMfYvu4qX2Nr/2spx0QiNhRSu3Sg4++2KpYNWPjdA2hVCyola5zEnLSMc8Rmy2dR4aSBlWgixc+WDFD6e0HUjddF7LKKtFwP5MlnqaYz2Cri/aOWbngzCkKcNnn9YcsyiPNLUTlwXPScUIj5o3Qg9OzDC2b7fB42EtZPLGV2IhYCboaye6PYgUK3JHL9xdkKYbAc7kC7oQH4CmBJt/ZldRAeeE/PqaDAXX0Xgfg46wXeA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=W955Ck3xYowQDrCmixEU2D1RaMtBk5CPTRQB8CiVo2c=;
 b=qM+a3X474S8ALcpPu9GkXeRz2cuGfNgvAdJo+Bd54H1OZ5GgrISHXG4XDwQ1ChFBx1cyAtrBYGPZxALMVu1R8xF4b1wNfr0i06pAouLaXaS8ZF3hall2v/W/9y6reHNVITB2LXMoKtGoPR3T/QIcdI2e4+qHmeA7r/op40j3VLEF5ahGKwdUxgmOmtAxD4V2gJ6ds94A98JuSTwBJnlrBc+3/ckwylB/++AbkbXxGLwanBnsrGhCArhXAzA8gQvM8E4n7RMKBMuxpPdBRyHj+z6gbU349NxlWw/t/EnvQylEiGW9p7mNub8izboHkKbUv+WgvM/OanTEyx1NjDbJEg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=W955Ck3xYowQDrCmixEU2D1RaMtBk5CPTRQB8CiVo2c=;
 b=HXn0KqrpdjA5No8Z4dWwAhaIshxtp7OgKCsrVT8GjBVxgrd34pfa2i/3BQtW0Lrum5bEQ1yZ2fYGi2f1UtheFopo8lLrrGYQRoGu8ocaIZ9HXUjHhLGQXNpjCknqPxZtCb5W53l5fUjtF2Mo98xCJhwDfEVHTyfiGrSu76HYcGg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <d8f6cb65-b97c-476e-9894-f8028e675a14@amd.com>
Date: Mon, 14 Jul 2025 17:22:59 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [MINI-OS PATCH 16/19] gnttab: remove gnttab_alloc_and_grant()
 function
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-17-jgross@suse.com>
Content-Language: en-US
In-Reply-To: <20250702081254.14383-17-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003448:EE_|LV8PR12MB9269:EE_
X-MS-Office365-Filtering-Correlation-Id: 7aedd5af-62e4-4124-aa3f-08ddc31e1936
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|36860700013|82310400026|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?L3Q4KzZaaDVNZldiRUR0VnBXZm1HSVV3L3VIdncxd1VlZm5vdnMwS1AzOVdC?=
 =?utf-8?B?NkEwM2NZaUZsR1hhME43YlBDY1RkcXQ4NEN2QTVLUWNGTGVOVXRiRVM2SWIr?=
 =?utf-8?B?dlplSmRDWnpCNm9nSkYvQm15RDREeTZybFRqekdTMXh5NDEvL0FFZ0FWVUFV?=
 =?utf-8?B?T0NzSzJNWUQ0bm9la3I2UERZL0FWVzQvcDBGbXZhek9nR05jcXNVTmtzbDZp?=
 =?utf-8?B?RXltcmIxRHF3QjdscnFVZndMc2pSSDlSb3ZuNEhsOE1YNU42QndvS1RZbXYv?=
 =?utf-8?B?dmtjQ0p5U3RaNm9FNTNtUnZad0gyMVA2SjVsZHZRejNPa3gxYjdrTzFyTmVK?=
 =?utf-8?B?KzRZcmtKeUpIQzVKRjMrcldTN3Q0emNyZ1c2Nmprb1BzU2JqR0JReDM5RDlS?=
 =?utf-8?B?aVlxbHhzQ240bVEyeHFRdFUyR3VKQmFnWXVXOVlFTDZ6aHRjV0JjRDZNNzIz?=
 =?utf-8?B?Q0xkQ1VTWjhwa1BCUCtsQUJlWGJKYzhCWnFMNkdKdWo5T2Jmelc0Mmx5OVVZ?=
 =?utf-8?B?Kzlpcm93VnZwK0VFbS9KZTJoRmNjSTJDUk1DZDFVREZlSG9RdVUxZVZQUENl?=
 =?utf-8?B?OFF6T3VvU01iUTI3SnNORzBjN0V1YlpYdnRvcTlxb01XUXRHRW56cmo2dFA4?=
 =?utf-8?B?VElaVGpDQncwMUtIcWxGTGtTZlpFR0J4Mk5lRFc2cWxEK25hYXJNM2lNaEh1?=
 =?utf-8?B?cENBclFKM0xJc3BBTjRmSzYxYTNsQWQ4eVQ3T1ZBK0ZST3ZZd1E0RnFOYjBX?=
 =?utf-8?B?dWJ4QkZVUk4zS3NEaWpMVmtUSGV5MHJtNnVKNmtUdSt0RGNST3NzQlJ0OW0y?=
 =?utf-8?B?T094bUgvaE4zUloxNEV0aEhVVkRSc2hNaDZNWjFhcFlicWJSVTlMU1lWNEN2?=
 =?utf-8?B?TDE3MldWazRaQU5UMUhRUnluQkV5Wm1oeVBpbGxiNmFDaVEwUHFtdDFrZ0FM?=
 =?utf-8?B?VFlCSlJFOHk5blpJYWFsN09Od056Y2pXQzVhT2Z5UHFVT0t4bzJUcnJ3MHY1?=
 =?utf-8?B?dTBTUndCZE9CZlFFOU1WQWtDOWJNbHJnOURKZWhaREF5SysrekJVZURvZitU?=
 =?utf-8?B?OFdUVEJEeWU0Z1J4cnBYYU9LM2VUZk5qVHNnVmpHL21RM2xXNG9Hd0YrODNz?=
 =?utf-8?B?d0NsQmYzOS9RYW9oeCtUSE5CZkFSZ3ZsWnZZUTk2ZDdHeGEzWUVRZjVwc254?=
 =?utf-8?B?NkJyZTF4Rkk2bVhBZ0ZRSEdkQjlvZEpNek1naVRlWHViQlZFY0FtVys3MlVk?=
 =?utf-8?B?c1hHcTRSdXFNWDBsY041OVFaNmQ1OG5lODR6bnJ4c3NPeENSVEUyWmFDZlZX?=
 =?utf-8?B?MTM1dkxlRitUamQ4NkhsZWl2eW92M0d4M1h0TS91WGZwWUFFUnFESWRuMlBI?=
 =?utf-8?B?RW51NC9FcGRtYjBMb01Yc0k2RitEcER4cVdTcUMva0xtM25DU0JNbW4yU1RK?=
 =?utf-8?B?SklNYk1Cbk9OcjlUdUlnalFtTDdZaUw1dnJuM3VoOTE4WnhhaW9vbmlYWkgw?=
 =?utf-8?B?M1BqRjVLZk10QldFQW4zM1RjeGN0QTJjSHUyWlZnaE5La29YU1VWaTRRNS9n?=
 =?utf-8?B?VHFlbmFiWVBEdjI4bDZESkNBaDlHNC8xQ3lPYjBab1hUY2YyUGpBc2ZnUnNi?=
 =?utf-8?B?SVZHNlNFdjFHaUVCYWZJa3RwWWMvM3JCam9Oc1pGZk43bUdqbFFwTTRmZDdI?=
 =?utf-8?B?cXcrbVdFd2RFQ3h2dVVjWGNCNUdiQ0c3QTBXelN1RnkxTEtDT0hHRTZ0VWlO?=
 =?utf-8?B?d3ZlcUZnZnVKOWhEZUtjUGRubXFseUpKbWJybjgrUUxpSTVDMndaUUIvVngz?=
 =?utf-8?B?c3lvVW9iU0FRVnE2cTdxeVVHSEZZNHExREhqRllSUDM4NFVRU3pkczdrZE9Y?=
 =?utf-8?B?VHpEUVhUdG1ibTZvaUgxU0ZuY01JT1dkY1NBOEtTT3I3V3YwRlo2TmtrbmlW?=
 =?utf-8?B?Z3VZbmpZTSt2MnBIMUl0UFAvN0ZiRmFpM2hhd05PRFQ0TS9sYjBNV0kvM2do?=
 =?utf-8?B?c1h1dnpSUUdKREtrRG5hRWRYUloyZGpXZ3F3RU9QbVdzVmF0Z3lXZXl1QldM?=
 =?utf-8?Q?mWdv3H?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2025 21:33:39.5168
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7aedd5af-62e4-4124-aa3f-08ddc31e1936
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF00003448.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9269

On 2025-07-02 04:12, Juergen Gross wrote:
> The last user of gnttab_alloc_and_grant() is gone.
> 
> Remove gnttab_alloc_and_grant() as it is doing more harm than good.
> It is hard coded to only grant access for dom0, which is not really
> clear from looking at the function name. It would be possible to add
> a domid parameter, but given its now 0 users, there doesn't seem to be
> a real demand for that function.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From minios-devel-bounces@lists.xenproject.org Mon Jul 14 21:41:08 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2025 21:41:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1043112.1413236 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubQv6-0001EB-Df; Mon, 14 Jul 2025 21:41:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1043112.1413236; Mon, 14 Jul 2025 21:41:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubQv6-0001E4-Ay; Mon, 14 Jul 2025 21:41:08 +0000
Received: by outflank-mailman (input) for mailman id 1043112;
 Mon, 14 Jul 2025 21:41:06 +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
 <SRS0=jbYV=Z3=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1ubQoA-0005Nd-Ut
 for minios-devel@lists.xenproject.org; Mon, 14 Jul 2025 21:33:58 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20618.outbound.protection.outlook.com
 [2a01:111:f403:2417::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f8aac11-60fa-11f0-a319-13f23c93f187;
 Mon, 14 Jul 2025 23:33:58 +0200 (CEST)
Received: from DM6PR02CA0044.namprd02.prod.outlook.com (2603:10b6:5:177::21)
 by SA0PR12MB4351.namprd12.prod.outlook.com (2603:10b6:806:71::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.35; Mon, 14 Jul
 2025 21:33:53 +0000
Received: from DS2PEPF00003445.namprd04.prod.outlook.com
 (2603:10b6:5:177:cafe::ec) by DM6PR02CA0044.outlook.office365.com
 (2603:10b6:5:177::21) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.33 via Frontend Transport; Mon,
 14 Jul 2025 21:33:52 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF00003445.mail.protection.outlook.com (10.167.17.72) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8922.22 via Frontend Transport; Mon, 14 Jul 2025 21:33:52 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 14 Jul
 2025 16:33:51 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 14 Jul 2025 16:33:51 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f8aac11-60fa-11f0-a319-13f23c93f187
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=iPcIVCD1Rlcs7eR+/TENb4pZhCrY9jG63j6EoTKBSgW1VAXgD8IK1x9QIKQkCHlmKV6SCNoXtarjhM6qhZM1hBX/zvM5d3KgquLSvSAn2iIG14xKOSs2dwhmABdUntzt/WSX1kAd5MPyEGDDFBDxhOLze64sW1lkdv7BC/R4oquYDiGglQYX7QcAif9XUyLhqrpcx+Yf9sEvqzwvPgeVyDYNcrz6/Yu94zcE+md6kCjjKa2UOuujzEbDtDNVvpbzisKSxLppv8OcTn8lpvPDe5dIFAPgLgdxruIEa88etxrBeOepgM+Cv3pgdrAYV3fetJYfCu8j8NjNzlx58aMyFg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Fhb6jkA8a4GKeuPxLBtl8dfxDJjRrYC5eU7jrqxtD3g=;
 b=IX/T8o5R0FPbk7PaI6vojWIvogBfhCur7ClhiOZneIQQfbRnv/oGpSNjNSb2CseoUMfcYzUw/qt68b0zM0bpwtflyAu8nclEb4hLPjH3GN1ae5j4Flx1lCsrZiJryBoM7eFEO2brF8nyK+uNeR8Gg7S48Ypm2MYrvB4c92DIC6nycTXxMSGU1ycZJwF95jZe0iVLttCakPZ+1enyMQObZoirLqcstgukE86+fTZke1hiJY78CXsFfk/m0M46ehz5okX3b4DqgF0XPFHWveNobxXlugjcRfKxIqxdp6Nuh10fyWjQ+qkS/MNLbiwZXak2gryUSgZnmwUlGLOUvGViTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Fhb6jkA8a4GKeuPxLBtl8dfxDJjRrYC5eU7jrqxtD3g=;
 b=yuxu/GlJrF8sXTe1H1vGjAYwJEOkOArKTSSLI3GNyhZU+wen32Ww8RQ0dPkR21xJeffA0L7jNklSplm4ydAghxwMlFTd8MLDtVSm8GBJvvSK4lCONJ69ch+7XUN4ooJafLiZZ0s8Buai7vwYEiJK6wlmsPnEUy+UpnmfB0INMIU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <130ed882-13da-4413-a5af-829d5d30d091@amd.com>
Date: Mon, 14 Jul 2025 17:23:13 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [MINI-OS PATCH 17/19] gnttab: add function to obtain memory
 address from grantref
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-18-jgross@suse.com>
Content-Language: en-US
In-Reply-To: <20250702081254.14383-18-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003445:EE_|SA0PR12MB4351:EE_
X-MS-Office365-Filtering-Correlation-Id: f2381622-dd6d-4743-130a-08ddc31e20f9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cWJtcU5BSHZnUlNmak9JYVBLMjRCR2Z4Zkt4d3JYUVhxOStEVk4zRDJnc1Q5?=
 =?utf-8?B?RWtiOUNkMmtPRDNNaUVLUGp0OFRudWNwNFZXbExMdWtSaWxMUGs5L0VOdkll?=
 =?utf-8?B?R0tHUGk0MTZMdEtROFcyU2FtODRybVFuY3pTYm9JVnUwL0R4WjRXeitJQjlt?=
 =?utf-8?B?dE96bEdpU3p4OEliYzhnYlFkY21KOUx5UXdQdE5taEFIclQ2aE5pVnZXMlYv?=
 =?utf-8?B?T0pIUUpodFFrTlJ2a05DSVNFV3Y0TUUycTBrc3o4Yngyam5hbFlYK0w4b1ZM?=
 =?utf-8?B?ZFZJN05GTkk1ZVFBMmloUFhGRjZPeWFvMjl5cUFDdEFzaHVaK05PYTFHYVlw?=
 =?utf-8?B?Q2NObjF4MFJPSVcrSkkrcHlzOUVyKzdGVlFxRk5rMk1vK1RFejdYbHppSjFF?=
 =?utf-8?B?VFJMTllXUmdhVks1RGNpQjRjcU9JakpzeTdueC9vcVZnYjZEVjJDUC9uV1M4?=
 =?utf-8?B?ZDFXVWk3ZE1kUTAxT282TGNTZWxZS0ZxdlVGVktoSVR3WWcraFYvZ1JxSmNW?=
 =?utf-8?B?QnNLcitOVUZxZWJOT29MY3laU2Z6WmFaNjRnamNIRU9McEtDQktPclNnQ0hn?=
 =?utf-8?B?VkZNMnhFbXZsRFVrdnZXTWFIa1pFMTZUYndkUnl2NDJ6enROM2dCZVluaEE5?=
 =?utf-8?B?OTJDazdtOEVhc1c5MjlnS2F1MUM4TGpOSWhmVEMxWjVkVnk4N01ic0F2b1J4?=
 =?utf-8?B?ZjRJVnBMT1B6KytVL3pGemU1L3ZibkZTbFhYK1ZUMW5oeW0zVFpZSEJhYmIy?=
 =?utf-8?B?THhtdnBQUTZNMk9GdytHZXBTZmR5cFJ2SDhkTjQyeTV0Nmt6YTFOTXRyM0Vu?=
 =?utf-8?B?a1dCR0JaQ3MvNHk2VVNuQlhZYkhld2hJMmVURWlVZWxFMkdFeTFoTk8vMTVC?=
 =?utf-8?B?cXhOL2g5RjRIYjdKMVdMdDBuUzErTlJDMHlYQkI0b0t3Yi94TjRVZmNTZThR?=
 =?utf-8?B?R0t4Smd3bWNOQTJaMm5WakpGa0pOWDU4dmlvL3poekQvTGFQeXlRbHd2TnFr?=
 =?utf-8?B?NWtLbUpmcVZERGFUYThEKzJxZ3VzUXhza0J6VWtJRFBIaHN4SlljUnFiVmEx?=
 =?utf-8?B?L0k5V29FMEhER0dCQjRtWk1peVlkekdSVUtqSStiTE5GVzVTbXRlOTZaQUR0?=
 =?utf-8?B?aDFEVkdpSWV1VWJGc3ZkYWRKN3BTeDdjU1dKWnMyMGRWVXEvUTRMK3F5NzJV?=
 =?utf-8?B?MFA1anowUXptMkNWNTZMODNjOUJPdFlNK1l0YVFRaEhSMERYVEF5MkpQei9w?=
 =?utf-8?B?cXlZR3RqK3hZdFdpUkl0S0ZxbS9IOWloUXlIdWwzcVJPTXBQWTRyTTVjR1F5?=
 =?utf-8?B?OHVveXpJY09sTFV4MU0zdjd5K3pCMUpUSUFxRDFoOHBCSjhTZEk1TDRua3RF?=
 =?utf-8?B?eU50aGFNYk92cEZaMy9qYnJ6SFU4T2NTRnVUYWNLbUZpenc0Nnc2VDZYVVNB?=
 =?utf-8?B?ekZUSTNDbS90elFwN1ROejFzcnUrTXoyWHNxYnhCMm9RSWg5V0xXWU52Z0ZT?=
 =?utf-8?B?dTFTakI5U0lENXlEYzBVYmdWM2NSRnBUNnBRSFV2UmovbCtQK09mNnlMc2w0?=
 =?utf-8?B?K1FTKy9WYUN3QTJONURRUmVlKzJQL0NkVEkvenBsUndBZUpMWldSNXpIRWtO?=
 =?utf-8?B?aU9aVFZCVTdNVEFlSWNnZWxqR1RHSjN1c214cTZlWlZMSTN2ZFV5VzRKTnNv?=
 =?utf-8?B?ejkydTd5U3lDUWo4amFRS2RYYy8vRVJYRWFBaDNWZzk5VTZzenBmZzZiZE1w?=
 =?utf-8?B?YVRUMnV3RnRLWC9Rb2p3UnNMa0FLRkNRcnJPK2xxd1dhNEtzK3NNRkRCc3lm?=
 =?utf-8?B?NDRadHZUUU5YeUg4YnBqbmtadzRVNW1BVCt5TGNmYUZRZ0xQVTVaNlJBRnUr?=
 =?utf-8?B?QW1lOHFTMzBkNmhCeHhjWkdCY2FGZHdrNFNCUklNZzRJcEdIOWZNNFVtOURH?=
 =?utf-8?B?ZTRkQ2RrVDFvcHc0V0ExbzdySjN1TnR5RkUrdEx0c2YrVzY1aXBqdHBWVUZ5?=
 =?utf-8?B?ZktFSTFZRDhGVm01NGh0V0RYblAzK3crdWx0WkFqQ1ZNYVc0cGQ1ZDczZjlp?=
 =?utf-8?Q?LUjz17?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2025 21:33:52.5293
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f2381622-dd6d-4743-130a-08ddc31e20f9
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF00003445.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4351

On 2025-07-02 04:12, Juergen Gross wrote:
> Add a new function gnttab_get_addr() to obtain a memory pointer for a
> given grant reference.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Maybe you want to name it gnttab_get_vaddr() to be a little more 
explicit in its return value?  Either way:

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From minios-devel-bounces@lists.xenproject.org Mon Jul 14 21:41:08 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2025 21:41:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1043113.1413241 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubQv6-0001Ej-Hr; Mon, 14 Jul 2025 21:41:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1043113.1413241; Mon, 14 Jul 2025 21:41:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubQv6-0001EH-Cf; Mon, 14 Jul 2025 21:41:08 +0000
Received: by outflank-mailman (input) for mailman id 1043113;
 Mon, 14 Jul 2025 21:41:06 +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
 <SRS0=jbYV=Z3=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1ubQv4-0000uf-Se
 for minios-devel@lists.xenproject.org; Mon, 14 Jul 2025 21:41:06 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20610.outbound.protection.outlook.com
 [2a01:111:f403:2414::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c962765-60fb-11f0-a319-13f23c93f187;
 Mon, 14 Jul 2025 23:41:04 +0200 (CEST)
Received: from CH0PR04CA0114.namprd04.prod.outlook.com (2603:10b6:610:75::29)
 by SJ2PR12MB8954.namprd12.prod.outlook.com (2603:10b6:a03:541::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.25; Mon, 14 Jul
 2025 21:40:59 +0000
Received: from CH3PEPF00000014.namprd21.prod.outlook.com
 (2603:10b6:610:75:cafe::8b) by CH0PR04CA0114.outlook.office365.com
 (2603:10b6:610:75::29) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.33 via Frontend Transport; Mon,
 14 Jul 2025 21:40:58 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH3PEPF00000014.mail.protection.outlook.com (10.167.244.119) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8964.1 via Frontend Transport; Mon, 14 Jul 2025 21:40:57 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 14 Jul
 2025 16:40:57 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 14 Jul 2025 16:40:57 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c962765-60fb-11f0-a319-13f23c93f187
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=yxcCJ5+KCUtoCcPKt7h6jqaSQfQPbEu+oU2zlGNDZlGxzLS8qZZx2/Z6P9aj5YAvHh/YyvKRoJg9dVi5f9zXnHvLDUzewuZp45tv/VWP4L/IkKO4EYxlPoYgxj8tXc1Ao/EfP2uPXgpA0JzVCVRuly1zAv6Vrf/jal6Ct5floeXTYhiybgCBrQ5vMLf1x/8xxGL5w/754wXqRuxS3J+qX1MLIAceblgsbMYO5QZbiFqmIhuOzRcwMz65pExPmdype8xhuFvBm7X6mSGJomif6qbxFa9ncl4hBYkj+4Eip8Y4LYwqWSCmebZXK4hLE/dDXBUjHgutSAthTEfpEkNY9g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Hpa5HewUKS4ycwBF4vCUsfJrXeoaw0Fa5tw+Z2xmSLI=;
 b=nphIjADEKLKzSSjsl4KizX1C5ucJT2MEf81lYtSiFwN4b7m9bBdPdk++1V589fBBMAqbrxQccLn9a9LMMQ3v7ZK2IlhmLT2d5FG3oYKqf7L5VqDDziTbkflMcqfSgJHz4wEak3AlEtUXT8eQlYPDzibVsncJb5fmgJlGrc+iqFYvMCyYNGbjB5oTSrcKbtBoQbWMsheeT74MTsBwRFCbiFAVdUkB6FWKd529UJzACLiVrCY4KPRircZPeN8miQzP+cUo4vL2IBUxP6C4BXOd35J6u2htxXIaZOc64510RSb4NbsJkuDdWzG7Zd477IsAC8Kj1tjh0XuTUI1Nfa49qQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Hpa5HewUKS4ycwBF4vCUsfJrXeoaw0Fa5tw+Z2xmSLI=;
 b=zT3kacsp69gdjspubWz/MBS4H+6HDjPyXEJ3u0aiecoHpgGAOvyQ9P2q81iVMY/c99BwPrUqC+ieuc5ciELc+35ZRQzim6Y4fOY6qyDECotJ2LfzuSzdnT2PkhCut6S1G+ci7/yNrQQ73XyPsAVrnp//i76I+5z/wO4PvAEM8/s=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <63e68e44-d38f-4891-9f6f-bd771406ab34@amd.com>
Date: Mon, 14 Jul 2025 17:30:18 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [MINI-OS PATCH 18/19] 9pfs: add support to keep device opened
 across kexec
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-19-jgross@suse.com>
Content-Language: en-US
In-Reply-To: <20250702081254.14383-19-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH3PEPF00000014:EE_|SJ2PR12MB8954:EE_
X-MS-Office365-Filtering-Correlation-Id: 9afb4cb2-69c3-4f88-b741-08ddc31f1e83
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700013|1800799024|82310400026|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?S1MvQm5TQllVYjhWc0p0ZS9zNzdJa1MwZDN6MjNQbkZWL3UwUHFtcW1IbUYv?=
 =?utf-8?B?K29KTWlDajlPcnBhVUlCS3J2eGYyeFZWaVJlRmxkQ3VtK3h3UEx2WDhPcVJC?=
 =?utf-8?B?RkVyTDUvTXNycjNXK0MzbEJWVk9iK3Nlcy9VM0NkN2VqY2FlQlhTcW9PQyt3?=
 =?utf-8?B?UnJQWktCNi9rL095SFpYNWNXanJoeFF2T1pIUFlzclRIQlhUVWR4bFVWcmRC?=
 =?utf-8?B?djQrdmRhN0VxNUZRaGlOWWJVNHp0WHFEdnRkRWVRQ3g0dFhNK2tZc2JKZHJX?=
 =?utf-8?B?WHJOWkgyRWx3SFRVUGRVUXl2QWU5MW5xVG4rS2FQeWR4NG9qY1ZzVE9ZcFkx?=
 =?utf-8?B?N2JjSXZBalBOcmI3Y29SeUdjVi84bFVET0JCbEcwaFpNelhCc01PNmFNWVo1?=
 =?utf-8?B?ei9WamdwYTk2VDdFaE1rajlpblhhWGUwcjdnMW92TUVkNjVKcG5EU1cvYS8v?=
 =?utf-8?B?QUt6SXJwdFNZa1AxTkFwZmd1bGJpS1NwUUg4ZEJYZnF6dWZtbmtpWmRLQll6?=
 =?utf-8?B?a1Q3dmxpQnMyVnZFMVB0dnVaNXcxNlpCd0RUZ0RuaXl3dlphSWlzQVRXWEpS?=
 =?utf-8?B?Mml4UkZ0Q2s1a2pOUmRkbXhxQzNLYkx4Y1RaUi9tQkNIbThYSitmMnZubDNu?=
 =?utf-8?B?VHg4WC9EWDFyZ2wyWFlJYytNOUNuSzhKMnplQXNpQk9qUTQ2d3JmclUvZEx5?=
 =?utf-8?B?cGh4UW9NdFVGZTJ1bC8wTW5FOXE0ajVrNlNEL2NmSi9RMTV6Q1BmQWltMnIz?=
 =?utf-8?B?dXNsVFpXR0xpYUZGem05dVltUGRsK3V1TEVlaFBRVnRDdWRkOFdLUGxjQnNG?=
 =?utf-8?B?eHYwSjRnbnpSZUpuZ0R6YlpsdnBMQVlySmswcmJ5bVN6RjNBdnRRNUNXWHl6?=
 =?utf-8?B?VXQrSG13Ym1hV3FsandpMDlkMlVwdDNjaUFVd2FUeVZvb3ZnaDU5L0dPZW9C?=
 =?utf-8?B?VmRqRC9ZTEcyQnl0Y1VhT3ZVdE52ZTdXUmJFdHIzMFRhcTdMSlBiNWpGb1BN?=
 =?utf-8?B?RlBMaEU0Ymd2UVNibi9xZjNHK3gwOVh6QmtmLzQ2R0ZtZk5vcmhacGljRzF5?=
 =?utf-8?B?LzdYMjJNWFFTSHorZmFWSFAwQ3pYTGNkMFRaZDhPVWw5QnpKVE1iSDlMWC92?=
 =?utf-8?B?dFNnclJKVlI0VCtySUJDL09MdHdPK0NJb1h3RzluUTdJd3ZmK01mRllRR1B2?=
 =?utf-8?B?WS9uaENyTlViZEtvSkNmeGtCd3BXbGs1dHZsOFdyNEdNdjFHS0JhRXlUK2kw?=
 =?utf-8?B?Tkw4NldJZXZTeE5aU0lpUHZaTENCWkdpQ3dUMEVFUFc1dm1kMVBTS3JzOUdI?=
 =?utf-8?B?SGJsdk8rSmJ0c2JBNWZRdytsNkFRaTFScW44RE5SblFBTjZsUUpMQU92bCsw?=
 =?utf-8?B?aGFjamZIQmtteHhXcHVIdEhhRitEWnF5Nk44QkdxQ3gxOGcraDdqYWtmbWg0?=
 =?utf-8?B?VjJZNWZ5dFR5ZEtidDlCZVVQUlltN3N2ZVYvV3dsa0YzdTU3SnlEMVNYdFA2?=
 =?utf-8?B?aDZRVEdtRkFtcFVCVHFpOWE0eGU0amNVRWV0eGNSYmZ4TUFPLzhaVC9ud0J4?=
 =?utf-8?B?RDFwUWI5MFg2OXp1WTczSnFCZGlBd3RLS3dCREQ5T0FiNDVPVnVFRnhUZE9V?=
 =?utf-8?B?ZElDbVU2Ry9QNXJQU2F2NlcvZ2w4SjV5Y3JoNmNxcmpQQmxsTnl3N3hsNita?=
 =?utf-8?B?T295bEtXbFloM1IrSzdJQnlqVlVPczZxeHJZTVdmamtsck9BZjN0ajJGZkd6?=
 =?utf-8?B?SmN6TjV2OWtHYkZHbGR2OEhieUt2bmlncGtMTmpjQlFhOE04bHE3c2ZCMTkx?=
 =?utf-8?B?dnpSQzhZcDlpMW95enptbUw4eE01VGRPUlNMZytBV1pPNWVGc21Va1NSbG03?=
 =?utf-8?B?c3dmNFEwa3A2WjB2Z1hZaVhYbmhBTmY2MjdnWjVaVWYzR3RhUGRzLzF2WFBm?=
 =?utf-8?B?d1YvT3dudGtwaWk2R3ZabFU1ZkFKRENWUVlabkF4V3JOSmF0QkFlYVVUdFNu?=
 =?utf-8?B?eEU0SDE4Z091L294SHdsbkxqc1dFREh5ZnlKWWtYWnJvNHRYRDBUU294cks0?=
 =?utf-8?Q?K57ENj?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(1800799024)(82310400026)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2025 21:40:57.9200
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9afb4cb2-69c3-4f88-b741-08ddc31f1e83
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH3PEPF00000014.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8954

On 2025-07-02 04:12, Juergen Gross wrote:
> In order to support Xenstore-stubdom live update, the 9pfs device used
> to save and restore the Xenstore state needs to be kept open across
> kexec, as otherwise re-opening of the device using the new kernel
> would not work (this would require Xenstore to be active, which is
> obviously not possible before having read the saved state).
> 
> Add an alternative init function for a 9pfs device supporting to take
> the configuration from the kexec module instead of Xenstore. Add
> support for creating the device using the kexec module, too.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From minios-devel-bounces@lists.xenproject.org Mon Jul 14 21:42:39 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2025 21:42:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1043139.1413244 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubQwY-0001vF-Ln; Mon, 14 Jul 2025 21:42:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1043139.1413244; Mon, 14 Jul 2025 21:42:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubQwY-0001v8-JI; Mon, 14 Jul 2025 21:42:38 +0000
Received: by outflank-mailman (input) for mailman id 1043139;
 Mon, 14 Jul 2025 21:42:37 +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
 <SRS0=jbYV=Z3=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1ubQwX-0001uc-2V
 for minios-devel@lists.xenproject.org; Mon, 14 Jul 2025 21:42:37 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on2060d.outbound.protection.outlook.com
 [2a01:111:f403:2405::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 73ef11ad-60fb-11f0-a319-13f23c93f187;
 Mon, 14 Jul 2025 23:42:35 +0200 (CEST)
Received: from BN0PR07CA0005.namprd07.prod.outlook.com (2603:10b6:408:141::20)
 by MW3PR12MB4345.namprd12.prod.outlook.com (2603:10b6:303:59::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.24; Mon, 14 Jul
 2025 21:42:32 +0000
Received: from BL02EPF00029929.namprd02.prod.outlook.com
 (2603:10b6:408:141:cafe::bf) by BN0PR07CA0005.outlook.office365.com
 (2603:10b6:408:141::20) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.32 via Frontend Transport; Mon,
 14 Jul 2025 21:42:31 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF00029929.mail.protection.outlook.com (10.167.249.54) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8922.22 via Frontend Transport; Mon, 14 Jul 2025 21:42:31 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 14 Jul
 2025 16:42:31 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 14 Jul
 2025 16:42:31 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 14 Jul 2025 16:42:30 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 73ef11ad-60fb-11f0-a319-13f23c93f187
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=H5j9uU7epIH5ilftwd9f0NnTBqmscyE3a44orPT4HTyVzAxGW2CJvUT4FKSzaXsMBRiYo47qP3j0k0SiFsCJFunHikGLsnF844mcaqlCPWBE9vn97gdAkimUr8jTlJbiVtISjWJO5elYVj9lf6Eyi0njfJoZBVg+Dhw9YgJFv94xQ+f6DR1bPEpxrOuoL5rhb96nkwc74O4shMCXe/vz8R4j5qf8U/rEVb4N0cf14mfdz2kdOheVju6tB+WLu4TbkcOTvhFjzimeznIBJdNCCUzxc80XX5tYf/R5uvFr+5mRf8SauUnRMi5RrqUdeYEZWoPfSb27uQLzKtmsPG1NLA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OvU4exCx6/Z7NnbQCbrrsiL9pA5g/pC7F3iL0anFBRs=;
 b=kKYOPAE1l3zAt8ZfJDQHXlPm03n5rNuOCQMp7iFJRsHjLUhtCjP0AgrQpV4PNglwZ2IxAiBci9FOYI8LUz1zJZVCRXrs1Tw0Kc+oZlclxHWoM7w561VC2It1AL2lXy9BRCY0MaOvDGHODLcj7jNnyHI+psU9pRnkqFxW6O3WY8xKwuENmR8jRhe+RNDlM43QoSNQVyu1wQjno+FHPOiLaeweakAOjLuaXM08aq/HBKIYRv+PW7EsVaCmtdQ90W7TiNVqBnDVlXxr23CCGRXT/0KY+8SOwP51w8oWgdqOrWiS21AS7DbOKhEqWzvJNPL3yNOJY3l4wBhH+GHVL8Wfyg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OvU4exCx6/Z7NnbQCbrrsiL9pA5g/pC7F3iL0anFBRs=;
 b=JGPlINCZZN2AsMLEM6/SfJQ03ouPlhauISERSlymoOCXv1LgVvgxELMO840eDyHFAJDzy0f4h9rx9DLw7mooaIanf9Mv2P0WAi2YI9zSCzs3XprHe0V88srQDVclefECgqk2XftfE9gD38H3Ohsg91O46koNbXIt2eUuiTZp1LY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <1551b518-1062-43c0-9daa-cf1aeb8b8034@amd.com>
Date: Mon, 14 Jul 2025 17:31:51 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [MINI-OS PATCH 13/19] kexec: add support for allocating pages
 from kexec module memory
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-14-jgross@suse.com>
Content-Language: en-US
In-Reply-To: <20250702081254.14383-14-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF00029929:EE_|MW3PR12MB4345:EE_
X-MS-Office365-Filtering-Correlation-Id: 32b51d6e-bd96-4999-1b3c-08ddc31f563f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700013|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?azNodVMzdHgybzZZUVFmNWd1UGRoL0hCRHdxZk9TcGh2RGVzMXlBNGlQbHdo?=
 =?utf-8?B?bnAwbk1YSStCMFJuaGxvaGpoTXZlNG5aYWNDOG1wVWNXV09VK1NJeThWOTZ0?=
 =?utf-8?B?L2RtaEtSeHdvSEc4M0V3SzB3TUNDSEtFU2dkWkV0VGlrSUFoSU9YSzBIWmxJ?=
 =?utf-8?B?MjR1Mk9LN2dnbnR6MnJYc1dTdWVWZkJDZ2wvazIwRHQrVXJUQ2JVcDhsejJC?=
 =?utf-8?B?NEZIOStVcGREOXE0VkNaTVEzSFRiaUF0eGRFdDc1ZTJzbzJMZXdiaEFHam43?=
 =?utf-8?B?WEhkcGE3QzRtWjgyTWJZUVUraFkyYWxFTmV5TTY1U3hLOFFhRXI2QkUxb1U5?=
 =?utf-8?B?Q050TnVYeU8zakxIV0pKQ1lEQmhuU2llM3h1SEZQVjdidEVpc0M4akV6aXE2?=
 =?utf-8?B?Y1QrQkNWU1IvMkdFZEh4aHpxR3lCaGpQZkNicTlOWmpNZ2J1NURNSFdZdmt3?=
 =?utf-8?B?SzNXVWRoQU5WcVlWb0tlaTJMVy95UTJqQUN2OG9PV0tnWEhweUgxVjFEamt5?=
 =?utf-8?B?aXpIZHlmTElTL3JqNExCZEIrQTZMMW0rOVBPQytlVkpuamhhajJnOWV1aEN2?=
 =?utf-8?B?MXJhOXNVVjJUdnllOHNpNlZZcGpMVVRKcTQvZWtvU25IVE9Xd1ZGbGxUZHdv?=
 =?utf-8?B?WHdJVEZKUGo3VC9NY0dlOVlBVVpXVk5VZmFFdmhCZTluNFpVQk04WTJPVnQ1?=
 =?utf-8?B?T0phb0hYaDJCVXpwaGREZ3M4TUh0T1F0Qmo5T0QzUlpoU2E5Z2QvQVRGY1I5?=
 =?utf-8?B?OTZKbCtraVg1NWEvRHNZa1QwOGw3Uzh1UUErWTRkL29JZ0R2UU9Lc3R5aERB?=
 =?utf-8?B?MTBySkx3cDZOQVFraUZTUHBJcGx5em9qRHRsT1JHZjhtOTM1TkFkSXJLMmd4?=
 =?utf-8?B?dWdwSDEzcGJ0bk9acExKNGJlMU1WMHRJbjVPN1hpVmhabkE0OEFuR1NDQzR3?=
 =?utf-8?B?NzNIY0FNU3hRUFFERFR6V3owT2I0UHl5WDZkQ215M28wTG55U3Z1YkZtSW41?=
 =?utf-8?B?T3dKcEt1R3NYL3M3bDIxa1NHaU5lNzRaeFJKbEQwOEdCVStLZkxQZjlZUDBL?=
 =?utf-8?B?NFg3UzZBK2x3eDNaRUZHYlpXR2VwTFZ2QUdPNTZIa0JFeXo4cE0vNXJLVEUr?=
 =?utf-8?B?dkh3SVBZb1drY3kwenRmZjRPV0tlY3A5UzF1MUlmMjlQK3pWTEZ4cGpFY0J6?=
 =?utf-8?B?MmxQUGNWMDR0U1ZaempSdXJjRVdLdE0xQ3c3REJ5cXpPVEgvSVp3eEdwWGkz?=
 =?utf-8?B?SC9nUGxMSm9sNWVXNlpyK3BMRko3ZHQrQ3lmOUt6QzA0YlY0b2ZkSzBTeU85?=
 =?utf-8?B?bjMvWjA2WUQ2ckVWN3ZqQlBWQnFPN2oyd3pyS1VveW5aRmRKTzJDeDhRYWg4?=
 =?utf-8?B?d0FzSXpjUGtsd0dPaGZLY0ozWWxabUV5NWRSbnBDWHA5U0RGTm9BdGxEOVZB?=
 =?utf-8?B?NDZ3VVNnTEs0Si9SMU5ubU5JQkFUcU1LSE5CbjJsYjR3UVhYWG5VUFdoT2hR?=
 =?utf-8?B?aG9XNE9iUmovVWMyR0M3Rk0vT3Z6bEFwc1dsSGxnQnhNdER2cU1mWjJRWnMw?=
 =?utf-8?B?QnZuaXJveE1FdVpFVUxBWHZpR1ZTRUVuTGozNEJNZ1NwTmluWlY0RnQvMk9J?=
 =?utf-8?B?aFlIYmdvVDJsOG1CdVc0dDhuNjYyMktIZUEvb3BqOHBjODhtMmRQdjVSYWhC?=
 =?utf-8?B?blo2UVRSMzJReTVlMUlLWEZaeE5hMjNNbk50MDJRYnpVU3NNTmk4S3NmRXB4?=
 =?utf-8?B?R2dtOGFxK3NUTFFQVHNNZXJ0anMyS0I3NG5aYnhlZHp6UEJmTGtJV0Y5aGZE?=
 =?utf-8?B?YTMzblN2OTgwN0NyNmNUWk5UMEN0Sm96T3J3aEhQYkxFUVZsYXdJYndaOXBB?=
 =?utf-8?B?Y1M3M3Rncmg3NVVWalp2V3ltZXlYZU9JNDRFcUpZVnYwd3NPMU5oQmlnUmdL?=
 =?utf-8?B?MUlrdGdwQWttL2c4ZWFFdjlSWEJXSFcvakdGU1ltUFR4ZGdmeEc5NVV6Zytu?=
 =?utf-8?B?eDhSVGluNVgrbFpXcEJZVGpjV3R4YkVaZitDSTBRYjRSK2dDTmljTTZOZ0kv?=
 =?utf-8?Q?TRrbBZ?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(36860700013)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2025 21:42:31.4416
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 32b51d6e-bd96-4999-1b3c-08ddc31f563f
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF00029929.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4345

On 2025-07-02 04:12, Juergen Gross wrote:
> Add the needed functions for allocating and freeing memory pages of
> the kexec module.
> 
> As the pages are always related to a kexec module record, add the
> related utility functions, too. For now only support adding records
> and retrieving them.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From minios-devel-bounces@lists.xenproject.org Mon Jul 14 22:07:29 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jul 2025 22:07:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1043154.1413265 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubRKZ-0005oV-RT; Mon, 14 Jul 2025 22:07:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1043154.1413265; Mon, 14 Jul 2025 22:07:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubRKZ-0005nh-MY; Mon, 14 Jul 2025 22:07:27 +0000
Received: by outflank-mailman (input) for mailman id 1043154;
 Mon, 14 Jul 2025 22:07:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jbYV=Z3=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1ubRKY-0005lI-5s
 for minios-devel@lists.xenproject.org; Mon, 14 Jul 2025 22:07:26 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20615.outbound.protection.outlook.com
 [2a01:111:f403:2417::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e9568633-60fe-11f0-b894-0df219b8e170;
 Tue, 15 Jul 2025 00:07:21 +0200 (CEST)
Received: from CH0PR03CA0216.namprd03.prod.outlook.com (2603:10b6:610:e7::11)
 by LV2PR12MB5727.namprd12.prod.outlook.com (2603:10b6:408:17d::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.35; Mon, 14 Jul
 2025 22:07:16 +0000
Received: from CH3PEPF0000000B.namprd04.prod.outlook.com
 (2603:10b6:610:e7:cafe::20) by CH0PR03CA0216.outlook.office365.com
 (2603:10b6:610:e7::11) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8922.32 via Frontend Transport; Mon,
 14 Jul 2025 22:07:15 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH3PEPF0000000B.mail.protection.outlook.com (10.167.244.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8922.22 via Frontend Transport; Mon, 14 Jul 2025 22:07:15 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 14 Jul
 2025 17:07:15 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 14 Jul
 2025 17:07:15 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 14 Jul 2025 17:07:14 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e9568633-60fe-11f0-b894-0df219b8e170
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=IvEYJFGu9LQu2wtAqVP/WDRXZRnIJKc1PhlglfO/wNG/mq3BqmOLJF4Xs7NMHzQ5KPuVYdFLFqrkLL524pIIyvfaRro0BCoRijywXK4FiqslBorENA3U80EV7pFF0x3le7rgGnzA92X+IECIr1IOhqYLpzATrQLoIT6E4UQNCL7HrmLvYOPgytp3/BLQKk2sgkYnRwPoVz4O5/G6NLvKKU23q3f+a9fCdXEs/uvd5+b7DBCND1l4Cv4kNmYGUO1MDxhZuhitWfEpDSellJk5K3wUMBh6CTYP01WBFSZfA+Ptv6wCNwgezk6VTloi7BTgA0ctKG6Q41hUdl+qwqaYzw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nqLiV6ad14stBgQfKPeTwwZ9awimEWkq9MCA8lan5i4=;
 b=errWL/KHb9zrmW8XJrFew3+6EynegBK89HQDyuzuQjAUTwABKafQq/++UoGwImG17WR4i1ISIpCQlf3u4nroUA7VVWweuHDMIcju1b3uXwl3M+/d+xyg6njPZQED7cI4OU1U8rmVN8jz56MFe3tKRpoSVijR9Ik+jOkGMe+hFAyiutHMVRlrRiARJFLnlu4NYMYRHNOAfoHYYMldD40T2xkBM03PYHhjmJMPTxQkwf6tz285MSo4t3pH+xbCpE9MbFQVtJ6WuYgUFWjrTbE3Eh1Ee4WNsJLIevgUCnjQir+qwnjzWvvqFOZJ13gCviKzd7cc1LNOSN9dQNXcuUsazQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nqLiV6ad14stBgQfKPeTwwZ9awimEWkq9MCA8lan5i4=;
 b=ux9nD9HGJkkFsTUHCmHqGuI/YNSsRQRzdXSSSml7wH7jfwC14K0OGvwQq0gN+AuEGV+sqpQRN+ycbif7QTQKuVHBmE46iSFEGaxZd5GpfVi/EiK/w/ApBXUcS2bVn108Vcz2IhVfLbV4P3Dh2UouU5Jn12s1b/m++zQ073jm5m0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <c8a1f6e3-6fbb-4d5d-96f3-60f0c02e43a3@amd.com>
Date: Mon, 14 Jul 2025 17:56:36 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 19/19] events: export bind_evtchn()
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-20-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250702081254.14383-20-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH3PEPF0000000B:EE_|LV2PR12MB5727:EE_
X-MS-Office365-Filtering-Correlation-Id: c21a874f-450d-4d8b-7863-08ddc322cae6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|376014|82310400026|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?d0YzVUh6N1BGMDV3Y2toSWxXYXYvUWlFN2xXZ1hNNTFoNjdOTldoSmQxSXFM?=
 =?utf-8?B?a3dJZEdCYnZsbzNGd01nYkkxaTViWjcyOVhQODNIYlJraHQvVXZYODUrT083?=
 =?utf-8?B?cUczUjJwZEtQT1k4UHozWldVR3FIUnE4VHVITFJSUmQzSit6dlRSazQ0SEJE?=
 =?utf-8?B?WE82YXNJY3lIMXRob0NZWjZ0Q3N0dFdBdXlQTG04QjhMZjRYWitncVUxK0xY?=
 =?utf-8?B?NkRGNG5ubEIySlFkSURxSEtPS0ZkQldxSlo4WGJ3bFhySmM0L0svcFBiVmkw?=
 =?utf-8?B?WWE0cnQyMlJydXBIR0xlM1BzK2ZTbDVRSmd2bzhraVEva3YvblFrbEtzdjVW?=
 =?utf-8?B?WHNmRUpzSWpyaVliYUoyaFRSVjJIdlg3cnZUaTg2eEpqcmtMdG1pQWRBaXhs?=
 =?utf-8?B?VXdVZmtuRk1GM1RHV2VjZWFOOTVxNmNjNUNPUlZ6Nk50V0p3T08xMXhUMW9o?=
 =?utf-8?B?YWo3OUVvWThVT20zNUY4b29mUzJ5SzBzb0hFYjlLM2FBRmRPaXFwMDM0MVZJ?=
 =?utf-8?B?MC9GaUlBTU5rUXdKRHRDdVBoWG00UVdibXN2VU43U0VsdFNSVzZWd25LS3o2?=
 =?utf-8?B?WkFUYjJVZk43c0R0Z1lmMHloTERkYkhTNS9HTjM2ckgxUi8yeGUvY0FpRmVs?=
 =?utf-8?B?QlNKMHoxSWZxYnNQMTB2bmNSU3dWT3lYYzVuM1YxMm91aGN5aHI2L3cvbEJz?=
 =?utf-8?B?RnBQdUowdGlhVnB3Y3ZkZDFzZUZFNUJGZ0ZHZUV0WU01OXNBUUowR0tHK240?=
 =?utf-8?B?K0VFclZXWWVOZXE3WHdORGFPdFBsZ2I0cThsNXpQazhmb1lMVTE2U0pScXU0?=
 =?utf-8?B?ajhIMVhjRGl4dElEaDZBaFlidVF0RlYxZEFEZFlKV0NzYWYzYkVLK0VHQmpa?=
 =?utf-8?B?cXRvMmV3OG9iL0ZRcWFNWUxkcHE2UCtLQ1BLbVdYVjRiOTB4TlhtV3RQUUhG?=
 =?utf-8?B?SHdHYUF1ZjNQaVM4OGJST0dmd1BkNTlzNXFKdHBDbmZkUkVqZkVqQVQ2eTJI?=
 =?utf-8?B?ZnpRMFdNMmRWYUFtRUFqL2QwV296U0xwNWkzdmh5dTF3VWdGR3ZFSU4vUTh2?=
 =?utf-8?B?RnY5REZCM1k0ei94M0l5V1BBSzkvaEQrcGhIZnVQZEdHUzhYR3c3d2FvWkZK?=
 =?utf-8?B?VVU4cUdvUk5XLzFPY2E1TUp1UEU2amduQmlER01mbzcvTmh4Y3p0L3J4V1ZJ?=
 =?utf-8?B?MmRMTHVDK2xhZ0o0UWsvcWluT2lURFRZQWthVSs2Zkl1dE05ZkxCSXRKME1R?=
 =?utf-8?B?dXZrRHJLVTJubDR6MmF6WGJieGtiMGNJaVRUb0JPQmozVk90WlFjZzlNUG9B?=
 =?utf-8?B?QkNpVWZ3T3E2NEYzZUFMY0JDYXgrcTZtRkQzcC9LaEZZMmcyVzNEU2wvNmFQ?=
 =?utf-8?B?NmZnRHkvcUF2UDUzY1NjdklRcmRqbFgrTlhHM1dyYVZjNXl0R1VtZVpWMEg5?=
 =?utf-8?B?cmRKdjFpU1o1MllLWU9iK0pRTE05aDVIN1RpaUgvMVloUTAxWHFKdk5CQ1dU?=
 =?utf-8?B?VFEwaHNvbU9MNGVBU2ZVcjZjVzJtc1N0ZTR4SnM1V3pCN21DSEZGeitMRFRV?=
 =?utf-8?B?ODh4Y3pYTktlOE5rS0xTM1pibUJKVUkvNnBnSlZBZVEwYmpTOThMdEMycG82?=
 =?utf-8?B?SmtPY05iYlJYaUp6NkV2QkZFVHVCRktYaGxlWWFzcWh0NWFlSDBLdFhFV2Uz?=
 =?utf-8?B?ZHprOHBDTjl2NmFxdjBlT0I5cGNLVWxvYU9WNkgwRnBmNnRERWFRYVB4SXhS?=
 =?utf-8?B?eCtodVdOMUh1RTRqQlN4UFlhTjFnV3ZFeDA5TW5LcDMrQXJwVEpLTWxuTTE4?=
 =?utf-8?B?QmJnT3BJTzZDcjhWSVMxWWllem52MnovazZjbFhvQzMwc1UvZDQ5R0NEeTNK?=
 =?utf-8?B?T0w5WERuK0hNSCtSd1RhN3VWaHdyV0hFMEljUjRUMVE0TUZRQXQxSTJUMWVB?=
 =?utf-8?B?MkYrUDZMbjAxN2g3djlZci9pZ2JOTEZwMUovMTc0VmtDLzlRZUtZYTFnSXBm?=
 =?utf-8?B?bmxjcnhCV0RkeStKcnJnN005STFqMUpCSW5Ecm1OMmlOV29hVTNqNHNQVURB?=
 =?utf-8?Q?Rif9nt?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2025 22:07:15.6237
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c21a874f-450d-4d8b-7863-08ddc322cae6
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH3PEPF0000000B.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5727

On 2025-07-02 04:12, Juergen Gross wrote:
> Export the bind_evtchn() function, as it will be needed for
> reactivating events after kexec().
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From minios-devel-bounces@lists.xenproject.org Tue Jul 15 09:02:39 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2025 09:02:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1043886.1413929 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubbYb-0001r0-N9; Tue, 15 Jul 2025 09:02:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1043886.1413929; Tue, 15 Jul 2025 09:02:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubbYb-0001qt-KE; Tue, 15 Jul 2025 09:02:37 +0000
Received: by outflank-mailman (input) for mailman id 1043886;
 Tue, 15 Jul 2025 09:02:36 +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 <SRS0=7giJ=Z4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ubbYa-0001qh-0P
 for minios-devel@lists.xenproject.org; Tue, 15 Jul 2025 09:02:36 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 72aef3ce-615a-11f0-a319-13f23c93f187;
 Tue, 15 Jul 2025 11:02:35 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 348D521244;
 Tue, 15 Jul 2025 09:02:34 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id F210813306;
 Tue, 15 Jul 2025 09:02:33 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id FdZHOSkZdmgsXwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 15 Jul 2025 09:02:33 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72aef3ce-615a-11f0-a319-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752570154; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=C1grTt4IfEny7+WO/U9sRuzX1qYLnZUBF5/g0J/RCwI=;
	b=LHBo1rnIHzvCS7dbN5NPB4vwTPK4luF6BpFrqmv/lePLSOcEDQegvD4V9VMujATMl137Ex
	8DCaRu38SNyNSmfQnYY768tnjnwseS5lK3HPaI/BKGKiNtstNW7RkZjIxlOdKQ0pq3LbUL
	UaFgAkhQigGEB8iVMxq4at0Rnj5VX80=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=LHBo1rnI
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752570154; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=C1grTt4IfEny7+WO/U9sRuzX1qYLnZUBF5/g0J/RCwI=;
	b=LHBo1rnIHzvCS7dbN5NPB4vwTPK4luF6BpFrqmv/lePLSOcEDQegvD4V9VMujATMl137Ex
	8DCaRu38SNyNSmfQnYY768tnjnwseS5lK3HPaI/BKGKiNtstNW7RkZjIxlOdKQ0pq3LbUL
	UaFgAkhQigGEB8iVMxq4at0Rnj5VX80=
Message-ID: <8f39cb41-a02d-4b55-9846-87fa9f67f901@suse.com>
Date: Tue, 15 Jul 2025 11:02:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 12/19] mini-os: kexec: add support for handing
 over some memory across kexec
To: Jason Andryuk <jason.andryuk@amd.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-13-jgross@suse.com>
 <cbb2c96d-c4da-4360-9f74-0dbfe3448747@amd.com>
 <82e521d2-9886-4540-8e8c-7096fd34451e@suse.com>
 <000bcec6-09ad-4784-9c1c-a5acd2ee52bb@amd.com>
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <000bcec6-09ad-4784-9c1c-a5acd2ee52bb@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------VuIFDv8p1TkY2q3cjiogkx0X"
X-Spam-Level: 
X-Spam-Flag: NO
X-Rspamd-Queue-Id: 348D521244
X-Rspamd-Action: no action
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spamd-Result: default: False [-6.41 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	SIGNED_PGP(-2.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_BASE64_TEXT(0.10)[];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MX_GOOD(-0.01)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FROM_HAS_DN(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	HAS_ATTACHMENT(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.com:dkim,suse.com:mid,suse.com:email]
X-Spam-Score: -6.41

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------VuIFDv8p1TkY2q3cjiogkx0X
Content-Type: multipart/mixed; boundary="------------0ttz9XwLzz75lCOgCc3g3xdu";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jason.andryuk@amd.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org
Message-ID: <8f39cb41-a02d-4b55-9846-87fa9f67f901@suse.com>
Subject: Re: [MINI-OS PATCH 12/19] mini-os: kexec: add support for handing
 over some memory across kexec
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-13-jgross@suse.com>
 <cbb2c96d-c4da-4360-9f74-0dbfe3448747@amd.com>
 <82e521d2-9886-4540-8e8c-7096fd34451e@suse.com>
 <000bcec6-09ad-4784-9c1c-a5acd2ee52bb@amd.com>
In-Reply-To: <000bcec6-09ad-4784-9c1c-a5acd2ee52bb@amd.com>

--------------0ttz9XwLzz75lCOgCc3g3xdu
Content-Type: multipart/mixed; boundary="------------tno3Bow4pTmSNGkLbxdIU051"

--------------tno3Bow4pTmSNGkLbxdIU051
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTQuMDcuMjUgMjM6MjIsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIDIwMjUtMDct
MTEgMDM6NDksIErDvHJnZW4gR3Jvw58gd3JvdGU6DQo+PiBPbiAxMS4wNy4yNSAwMToyMSwg
SmFzb24gQW5kcnl1ayB3cm90ZToNCj4+PiBPbiAyMDI1LTA3LTAyIDA0OjEyLCBKdWVyZ2Vu
IEdyb3NzIHdyb3RlOg0KPj4+PiBFc3BlY2lhbGx5IGZvciBzdXBwb3J0IG9mIFhlbnN0b3Jl
LXN0dWJkb20gbGl2ZSB1cGRhdGUgc29tZSBtZW1vcnkgbXVzdA0KPj4+PiBiZSBoYW5kZWQg
b3ZlciB0byB0aGUgbmV3IGtlcm5lbCB3aXRob3V0IG1vdmluZyBpdCBhcm91bmQ6IGFzIHRo
ZQ0KPj4+PiA5cGZzIGRldmljZSB1c2VkIGZvciBzdG9yaW5nIGFuZCByZXRyaWV2aW5nIHRo
ZSBzdGF0ZSBvZiBYZW5zdG9yZQ0KPj4+PiBuZWVkcyB0byBiZSBrZXB0IG9wZXJhdGlvbmFs
IGFjcm9zcyBrZXhlYyAoaXQgY2FuJ3QgYmUgcmVvcGVuZWQgZHVlIHRvDQo+Pj4+IFhlbnN0
b3JlIG5vdCBiZWluZyBhdmFpbGFibGUgd2l0aG91dCBhY2Nlc3MgdG8gdGhlIGRldmljZSks
IHRoZSByaW5nDQo+Pj4+IHBhZ2VzIG5lZWQgdG8gYmUgYWNjZXNzaWJsZSB2aWEgYWN0aXZl
IGdyYW50cyBieSB0aGUgYmFja2VuZCBhbGwgdGhlDQo+Pj4+IHRpbWUuDQo+Pj4+DQo+Pj4+
IEFkZCB0aGUgYmFzaWMgc3VwcG9ydCBmb3IgdGhhdCBieSByZXNlcnZpbmcgYSBwcmUtZGVm
aW5lZCBudW1iZXIgb2YNCj4+Pj4gbWVtb3J5IHBhZ2VzIGF0IHRoZSB0b3Agb2YgdGhlIG1l
bW9yeS4gVGhpcyBtZW1vcnkgYXJlYSB3aWxsIGJlDQo+Pj4+IGhhbmRlZCBvdmVyIHRvIHRo
ZSBuZXcga2VybmVsIHZpYSBzcGVjaWZ5aW5nIGl0IGFzIGEgbW9kdWxlIGluDQo+Pj4+IHN0
cnVjdCBodm1fc3RhcnRfaW5mby4NCj4+Pj4NCj4+Pj4gVGhlIGNvbnRlbnRzIG9mIHRoZSBt
ZW1vcnkgYXJlYSBhcmUgZGVzY3JpYmVkIHZpYSBhIGdlbmVyaWMgdGFibGUgb2YNCj4+Pj4g
Y29udGVudHMgaW4gdGhlIGxhc3QgcGFnZSBvZiB0aGUgbWVtb3J5Lg0KPj4+Pg0KPj4+PiBT
aWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+IA0KPj4+
PiBkaWZmIC0tZ2l0IGEvQ29uZmlnLm1rIGIvQ29uZmlnLm1rDQo+Pj4+IGluZGV4IGI5Njc1
ZTYxLi4wZTRlODZkOCAxMDA2NDQNCj4+Pj4gLS0tIGEvQ29uZmlnLm1rDQo+Pj4+ICsrKyBi
L0NvbmZpZy5taw0KPj4+PiBAQCAtMjIwLDYgKzIyMCw4IEBAIENPTkZJRy0kKGx3aXApICs9
IENPTkZJR19MV0lQDQo+Pj4+IMKgICQoZm9yZWFjaCBpLCQoQ09ORklHLXkpLCQoZXZhbCAk
KGkpID89IHkpKQ0KPj4+PiDCoCAkKGZvcmVhY2ggaSwkKENPTkZJRy1uKSwkKGV2YWwgJChp
KSA/PSBuKSkNCj4+Pj4gK0NPTkZJRy12YWwtJChDT05GSUdfS0VYRUMpICs9IENPTkZJR19L
RVhFQ19NT0RVTEVfUEFHRVMNCj4+Pj4gKw0KPj4+DQo+Pj4gSSBkb24ndCBrbm93IE1ha2Vm
aWxlcyB3ZWxsIGVub3VnaCB0byByZXZpZXcgdGhlIHByZWNlZGluZyBwYXRjaC4gVGhpcyAN
Cj4+PiBkb2Vzbid0IHNlZW0gdG8gYmUgdXNlZD8NCj4+DQo+PiBJdCBpcy4NCj4gDQo+IE9o
LCBzbyBzZXR0aW5nIENPTkZJRy12YWwteSwgdGhyb3VnaCB0aGUgTWFrZWZpbGUgbWFnaWMs
IGNyZWF0ZXMNCj4gLURDT05GSUdfS0VYRUNfTU9EVUxFX1BBR0VTPSRuDQo+IA0KPiBJIHNh
aWQgSSBkaWRuJ3Qga25vdyBNYWtlZmlsZXMgd2VsbCA6KQ0KPiANCj4+Pg0KPj4+PiDCoCAk
KGZvcmVhY2ggaSwkKENPTkZJRy12YWwteSksJChldmFsICQoaSkgPz0gMCkpDQo+Pj4+IMKg
IENPTkZJRy14ICs9IENPTkZJR19MSUJYUw0KPiANCj4+Pj4gK8KgwqDCoCBtb2R1bGVfcHRy
ID0gKHZvaWQgKikobW9kICsgbW9kX3NpemUgLSAodW5zaWduZWQgbG9uZylQQUdFX1NJWkUp
Ow0KPj4+PiArDQo+Pj4+ICvCoMKgwqAgLyogQ2hlY2sgZXllIGNhdGNoZXIuICovDQo+Pj4+
ICvCoMKgwqAgaWYgKCBtZW1jbXAobW9kdWxlX3B0ci0+ZXllX2NhdGNoZXIsIEtFWEVDTU9E
X0VZRUNBVENIRVIsDQo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2l6
ZW9mKG1vZHVsZV9wdHItPmV5ZV9jYXRjaGVyKSkgKQ0KPj4+PiArwqDCoMKgwqDCoMKgwqAg
cmV0dXJuIE5VTEw7DQo+Pj4+ICvCoMKgwqAgaWYgKCBtb2R1bGVfcHRyLT5uX3BhZ2VzICE9
IChtb2Rfc2l6ZSA+PiBQQUdFX1NISUZUKSAtIDEgKQ0KPj4+PiArwqDCoMKgwqDCoMKgwqAg
cmV0dXJuIE5VTEw7DQo+Pj4+ICsNCj4+Pj4gK8KgwqDCoCByZXR1cm4gbW9kdWxlX3B0cjsN
Cj4+Pj4gK30NCj4+Pg0KPj4+PiArI2RlZmluZSBtaW4oYSwgYikgKChhKSA8IChiKSA/IChh
KSA6IChiKSkNCj4+Pj4gK3ZvaWQga2V4ZWNfbW9kdWxlKHVuc2lnbmVkIGxvbmcgc3RhcnRf
cGZuLCB1bnNpZ25lZCBsb25nIG1heF9wZm4pDQo+Pj4+ICt7DQo+Pj4+ICvCoMKgwqAgLyog
UmV1c2UgYWxyZWFkeSBleGlzdGluZyBrZXhlYyBtb2R1bGUuICovDQo+Pj4+ICvCoMKgwqAg
bW9kX3B0ciA9IGtleGVjX2NoZWNrX21vZHVsZSgpOw0KPj4+PiArwqDCoMKgIGlmICggIW1v
ZF9wdHIgJiYgQ09ORklHX0tFWEVDX01PRFVMRV9QQUdFUyApDQo+Pj4NCj4+PiBXaGF0IGlm
IENPTkZJR19LRVhFQ19NT0RVTEVfUEFHRVMgY2hhbmdlcyBiZXR3ZWVuIHRoZSBvbGQgYW5k
IHRoZSBuZXcgc3R1YmRvbT8NCj4+DQo+PiBSaWdodCBub3cgdGhpcyB3b3VsZG4ndCByZWFs
bHkgbWF0dGVyLiBUaGUgQ09ORklHIHZhbHVlIGlzIHVzZWQNCj4+IG9ubHkgZm9yIHNpemlu
ZyB0aGUgbW9kdWxlIGlmIHdlIGFyZSBub3Qgc3RhcnRlZCB2aWEga2V4ZWMoKS4NCj4gDQo+
IFdoZW4gSSB3cm90ZSB0aGlzIEkgd2FzIHRoaW5raW5nIG9mOg0KPiBBIC0tIGtleGVjIC0t
PiBCIC0tIGtleGVjIC0tPiBDDQo+IA0KPiBBOiBDT05GSUdfS0VYRUNfTU9EVUxFX1BBR0VT
PTQNCj4gQjogQ09ORklHX0tFWEVDX01PRFVMRV9QQUdFUz02DQo+IA0KPiBXaGVuIEIgaXMg
cnVubmluZywgaXQgaGFzIHRoZSA0IHBhZ2VzIGZyb20gQSwgYnV0IGl0IGV4cGVjdHMgNiBh
dmFpbGFibGUgZm9yIGl0cyANCj4gdXNlLi4uLg0KDQpEZXBlbmRzLi4uDQoNCkxvb2tpbmcg
YXQgdGhlIGZpcnN0IHVzZXIgKHhlbnN0b3JlLXN0dWJkb20pLCB0aGluZ3MgYXJlIGEgbGl0
dGxlIGJpdCBtb3JlDQpjb21wbGljYXRlZC4NCg0KQWxsIHRoZSBhbGxvY2F0ZWQgcGFnZXMg
KHNvIGV2ZXJ5dGhpbmcgYXBhcnQgZnJvbSB0aGUgbGFzdCBwYWdlIGNvbnRhaW5pbmcgdGhl
DQpyZWNvcmRzKSBhcmUgdXNlZCBmb3IgdGhlIDlwZnMgZGV2aWNlIHNoYXJlZCBwYWdlcy4g
VGhpcyBudW1iZXIgd2lsbCBvbmx5DQpjaGFuZ2UsIGlmIHRoZSByaW5nIGJ1ZmZlciBzaXpl
IGlzIGNoYW5nZWQgKGxldHMgc2tpcCB0aGUgY2FzZSB3aGVyZSBhbm90aGVyDQp1c2UgY2Fz
ZSBvZiBhIGtleGVjIG1vZHVsZSBwYWdlIGlzIGNvbWluZyB1cCkuIEFzIHRoZSBkZXZpY2Ug
aXMgYmVpbmcga2VwdCBvcGVuDQphY3Jvc3Mga2V4ZWMoKSwgdGhlIHNpemUgb2YgdGhlIHJp
bmcgYnVmZmVyIHdpbGwgYmUga2VwdCwgc28gdGhlcmUgaXMgbm8gcmVhc29uDQp0byB1c2Ug
bW9yZSBrZXhlYyBtb2R1bGUgcGFnZXMuIFRoaXMgaXMgd29ya2luZyBmaW5lLCBhcyBhbGwg
dGhlIHJlbGV2YW50DQpwYXJhbWV0ZXJzIG9mIHRoZSA5cGZzIGRldmljZSBhcmUgdGFrZW4g
ZnJvbSB0aGUga2V4ZWMgOXBmcyByZWNvcmQgb3IgdGhlDQpzaGFyZWQgcGFnZXMgdGhlbXNl
bHZlcyBhZnRlciBrZXhlYygpLCBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBidWlsdGluIGRlZmF1
bHRzLg0KDQpUaGlzIGNvdWxkIGNoYW5nZSBvbmx5LCBpZiB3ZSdkIGFkZCBzdXBwb3J0IHRv
IHJlY29ubmVjdCB0aGUgOXBmcyBkZXZpY2UgYWZ0ZXINCmtleGVjKCkgdXNpbmcgYSBkaWZm
ZXJlbnQgcmluZyBidWZmZXIgc2l6ZSAoYW5kL29yIG1heWJlIG11bHRpcGxlIHJpbmdzKS4g
SW4NCnRoaXMgY2FzZSB3ZSdkIG5lZWQgdG8gaW1wbGVtZW50IHRoZSBjYXBhYmlsaXR5IHRv
IHJlc2l6ZSB0aGUga2V4ZWMgbW9kdWxlLA0Kd2hpY2ggaXMgcG9zc2libGUgd2l0aCB0aGUg
Y3VycmVudCBkZXNpZ24sIGJ1dCBub3QgbmVlZGVkIHlldC4NCg0KPiANCj4+Pj4gZGlmZiAt
LWdpdCBhL2luY2x1ZGUva2V4ZWMuaCBiL2luY2x1ZGUva2V4ZWMuaA0KPj4+PiBpbmRleCBi
ODljMzAwMC4uMDIwMDAwNWYgMTAwNjQ0DQo+Pj4+IC0tLSBhL2luY2x1ZGUva2V4ZWMuaA0K
Pj4+PiArKysgYi9pbmNsdWRlL2tleGVjLmgNCj4+Pj4gQEAgLTIsNiArMiw0OCBAQA0KPj4+
PiDCoCAjZGVmaW5lIF9LRVhFQ19IDQo+Pj4+IMKgICNpbmNsdWRlIDxtaW5pLW9zL2VsZi5o
Pg0KPj4+PiArLyoNCj4+Pj4gKyAqIEtleGVjIG1vZHVsZSB1c2VkIHRvIGhhbmQgb3ZlciBt
ZW1vcnkgYWNyb3NzIGtleGVjKCkuDQo+Pj4+ICsgKg0KPj4+PiArICogVGhpcyBpcyBhbiBB
Qkkgd2hpY2ggc2hvdWxkIGJlIG1vZGlmaWVkIG9ubHkgaW4gYSBjb21wYXRpYmxlIHdheS4N
Cj4+Pj4gKyAqIHN0cnVjdCBrZXhlY19tb2R1bGUgaXMgbG9jYXRlZCBhdCB0aGUgc3RhcnQg
b2YgdGhlIGxhc3QgcGFnZSBvZiB0aGUgbW9kdWxlLg0KPj4+DQo+Pj4gV2h5IGlzIGtleGVj
X21vZHVsZSwgd2hpY2ggc2VlbXMgbGlrZSBhIGhlYWRlciwgcGxhY2VkIGluIHRoZSBsYXN0
IHBhZ2U/DQo+Pg0KPj4gSW4gY2FzZSB3ZSBldmVyIG5lZWQgdG8gZ3JvdyB0aGUgbW9kdWxl
IChlLmcuIHdoZW4gYWRkaW5nIG5ldyBkYXRhDQo+PiB0byBpdCBhbmQgd2l0aCB0aGF0IGhh
dmluZyB0byBoYW5kbGUgZGlmZmVyZW50IENPTkZJR19LRVhFQ19NT0RVTEVfUEFHRVMNCj4+
IHZhbHVlcyBiZXR3ZWVuIG9sZCBhbmQgbmV3IGJ1aWxkKSwgaXQgd2lsbCBiZSBlYXNpZXIs
IGFzIHRoZSBtb2R1bGUgd2lsbA0KPj4gbm9ybWFsbHkgYmUgbG9jYXRlZCBhdCB0aGUgZW5k
IG9mIHRoZSB1c2FibGUgbWVtb3J5LCBzbyB3ZSB3b3VsZG4ndCBoYXZlDQo+PiB0byBtb3Zl
IHRoZSBzdHJ1Y3Qga2V4ZWNfbW9kdWxlIGFyb3VuZC4NCj4gDQo+IC4uIGFuZCB0aGlzIGF2
b2lkcyB0aGF0IGlzc3VlIHNpbmNlIHRoZSBleHRyYSBwYWdlcyBjYW4gYmUgZ3JhYmJlZCB3
aXRob3V0IA0KPiBtb3Zpbmcgc3RydWN0IGtleGVjX21vZHVsZS4NCg0KUmlnaHQuDQoNCj4g
DQo+Pj4NCj4+Pj4gKyAqDQo+Pj4+ICsgKiBUaGUgbW9kdWxlIGNhbiBjb250YWluIGRhdGEv
cGFnZXMgb2YgbXVsdGlwbGUgdXNlcnMuIEVhY2ggdXNlciBoYXMgYW4gb3duDQo+Pj4+ICsg
KiByZWNvcmQgd2hpY2ggbGF5b3V0IGlzIGRlcGVuZGluZyBvbiB0aGUgdXNlci4gUmVjb3Jk
cyBhcmUgbGlua2VkIHZpYSBhIA0KPj4+PiB0YWJsZQ0KPj4+PiArICogb2YgcmVjb3JkIG9m
ZnNldHMuDQo+Pj4+ICsgKg0KPj4+PiArICogQWxsIGFkbWluIGRhdGEgKHN0cnVjdCBrZXhl
Y19tb2R1bGUsIHJlY29yZCBvZmZzZXQgdGFibGUgYW5kIHJlY29yZHMpIG11c3QNCj4+Pj4g
KyAqIGZpdCBpbnRvIHRoZSBsYXN0IHBhZ2Ugb2YgdGhlIG1vZHVsZS4NCj4+Pj4gKyAqLw0K
Pj4+PiArc3RydWN0IGtleGVjX21vZHVsZSB7DQo+Pj4+ICvCoMKgwqAgdWludDhfdCBleWVf
Y2F0Y2hlcls4XTsNCj4+Pj4gKyNkZWZpbmUgS0VYRUNNT0RfRVlFQ0FUQ0hFUiAiS2V4ZWNN
ZW0iDQo+Pj4+ICvCoMKgwqAgdWludDE2X3Qgbl9wYWdlczvCoMKgwqDCoMKgwqAgLyogTnVt
YmVyIG9mIGFsbG9jYXRhYmxlIHBhZ2VzIGluIHRoZSANCj4+Pj4gbW9kdWxlLsKgwqDCoCAq
Lw0KPj4+PiArwqDCoMKgIHVpbnQxNl90IG5fcmVjb3JkczvCoMKgwqDCoCAvKiBTaXplIG9m
IHJlY29yZCB0YWJsZSAobWF4LiANCj4+Pj4gMjU1KS7CoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCAqLw0KPj4+PiArI2RlZmluZSBLRVhFQ01PRF9SRUNfTUFYwqDCoMKgIDI1NQ0KPj4+
PiArwqDCoMKgIHVpbnQxNl90IHJlY3Nfb2ZmO8KgwqDCoMKgwqAgLyogT2Zmc2V0IHRvIHJl
Y29yZCB0YWJsZSBmcm9tIHN0YXJ0IG9mIA0KPj4+PiBwYWdlLsKgwqDCoCAqLw0KPj4+PiAr
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IC8qIFRoZSByZWNvcmQgdGFibGUgaXMgYW4gYXJyYXkgDQo+Pj4+IG9mwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCAqLw0KPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8qIHN0cnVjdCANCj4+Pj4ga2V4ZWNfbW9k
dWxlX3JlYy7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKi8N
Cj4+Pj4gK8KgwqDCoCB1aW50OF90IHBnMnJlY1tdO8KgwqDCoMKgwqDCoCAvKiBPbmUgZW50
cnkgcGVyIGFsbG9jYXRhYmxlIG1vZHVsZSBwYWdlLCANCj4+Pj4gdmFsdWXCoCAqLw0KPj4+
PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIC8qIGlzIHJlY29yZCBudW1iZXIgKHN0YXJ0aW5nIGZyb20gMCkgDQo+Pj4+IGFzc29j
aWF0ZWQgKi8NCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCAvKiB3aXRoIGl0LiBGcmVlIHBhZ2VzIGhhdmUgdmFsdWUgDQo+
Pj4+IDI1NS7CoMKgwqDCoMKgwqDCoMKgwqDCoCAqLw0KPj4+DQo+Pj4gVGhpcyByZWFkcyBs
aWtlIGl0IGlzIDEgcGFnZSBwZXIgcmVjb3JkLi4uDQo+Pg0KPj4gTm8sIHRoaXMgbWVhbnMg
dGhhdCBlYWNoIHVzZWQgcGFnZSBpcyBhc3NvY2lhdGVkIHdpdGggYSByZWNvcmQsIGJ1dA0K
Pj4gdGhlcmUgY2FuIGJlIFswIC4uLiBuX3BhZ2VzXSBhc3NvY2lhdGVkIHdpdGggZWFjaCBy
ZWNvcmQuDQo+IA0KPiBNYXliZToNCj4gIk1hcHBpbmcgb2YgbW9kdWxlIHBhZ2VzIHRvIGFz
c29jaWF0ZWQgbW9kdWxlIHJlY29yZC7CoCBBbGxvY2F0ZWQgcGFnZXMgYXJlIA0KPiBpbmRp
Y2F0ZWQgYnkgdGhlaXIgcmVjb3JkIG51bWJlciAoc3RhcnRpbmcgZnJvbSAwKS7CoCBGcmVl
IHBhZ2VzIGhhdmUgdmFsdWUgMjU1LiI/DQoNCkZpbmUgd2l0aCBtZS4NCg0KPiANCj4+Pg0K
Pj4+PiArI2RlZmluZSBLRVhFQ01PRF9QR19GUkVFwqDCoMKgIDI1NQ0KPj4+PiArfTsNCj4+
Pj4gKw0KPj4+PiArc3RydWN0IGtleGVjX21vZHVsZV9yZWMgew0KPj4+PiArwqDCoMKgIHVp
bnQxNl90IG9mZnNldDvCoMKgwqDCoMKgwqDCoCAvKiBPZmZzZXQgdG8gcmVjb3JkIGZyb20g
c3RhcnQgb2YgDQo+Pj4+IHBhZ2UuwqDCoMKgwqDCoMKgwqDCoMKgICovDQo+Pj4NCj4+PiAu
Li4gYnV0IHRoZW4gd2h5IHdvdWxkIHlvdSBuZWVkIGFuIG9mZnNldD/CoCBIb3cgZG8geW91
IGlkZW50aWZ5IHdoaWNoICJwYWdlIiANCj4+PiBvciBkbyB5b3UgbWVhbiBmcm9tIHRoZSBz
dGFydCBvZiB0aGUgbW9kdWxlPw0KPj4NCj4+IFRoZSByZWNvcmQgaXRzZWxmIG5lZWRzIHRv
IGNvbnRhaW4gdGhlIGRhdGEgZm9yIGZpbmRpbmcgdGhlIHBhZ2VzDQo+PiBhc3NvY2lhdGVk
IHdpdGggaXQuIFNlZSBwYXRjaCAxOCBmb3IgdGhlIGRldGFpbHMgb2YgdGhlIDlwZnMgcmVj
b3JkDQo+PiBhZGRlZCB0aGVyZS4NCj4+DQo+PiBJdCB3aWxsIHVzZSBhbGwgMTcgYWxsb2Nh
dGFibGUgcGFnZXMgZnJvbSB0aGUgbW9kdWxlICgxIGZvciB0aGUgbWFpbg0KPj4gOXBmcyBz
aGFyZWQgaW50ZXJmYWNlIHBhZ2UgcGx1cyAxNiBmb3IgdGhlIHNoYXJlZCByaW5ncyksIHdo
aWxlIHRoZQ0KPj4gcmVjb3JkIGl0c2VsZiB3aWxsIGhvbGQgdGhlIGdyYW50IHJlZmVyZW5j
ZSBvZiB0aGUgOXBmcyBpbnRlcmZhY2UNCj4+IHBhZ2UsIHdoaWNoIHNlcnZlcyBhcyB0aGUg
a2V5IGZvciBsb2NhdGluZyB0aGUgcGFnZSBpdHNlbGYgYW5kIHRoZQ0KPj4gcmluZyBwYWdl
cy4NCj4gDQo+IEkgd2FzIG1pc3NpbmcgdGhlIG92ZXJhbGwgdmlldy7CoCBJIHRoaW5rIEkg
aGF2ZSBpdCBub3cgZnJvbSByZWFkaW5nIHBhdGNoIDEzLg0KPiANCj4gIEZyb20ga2V4ZWNf
bW9kX3N0YXJ0LCB3ZSBoYXZlOg0KPiAoQ09ORklHX0tFWEVDX01PRFVMRV9QQUdFUyAtIDEp
IHBhZ2VzIChhbGxvY2F0ZWQgYXMgcGFnZXMgLSByZWZlcmVuY2VkIGJ5IHBnMnJlYykNCj4g
c3RydWN0IGtleGVjX21vZHVsZSAqbW9kX3B0ciBpcyB0aGUgc3RhcnQgb2YgdGhlIGZpbmFs
IHBhZ2UuDQo+IHBnMnJlY1tuX3BhZ2VzXQ0KPiBzdHJ1Y3Qga2V4ZWNfbW9kdWxlX3JlYyBt
b2RfcmVjc1tuX3JlY29yZHNdDQo+IDwgZXh0cmEgZGF0YSBmb3IgZWFjaCBtb2RfcmVjcyBm
b3VuZCBieSAub2Zmc2V0IGFuZCAuc2l6ZSA+DQo+IA0KPiBJIGRpZG4ndCByZWFsaXplIHRo
ZSBtb2RfcmVjcyB3ZXJlIHNlcGFyYXRlIGZyb20gdGhlaXIgImV4dHJhIGRhdGEiLCBhbmQg
ZXh0cmEgDQo+IGRhdGEgdG9vayB1cCB0aGUgZW5kIG9mIHRoZS7CoCBJZiB0aGF0J3MgY29y
cmVjdCwgSSB0aGluayBpdCB3b3VsZCBiZSBoZWxwZnVsIHRvIA0KPiBkZXNjcmliZSB0aGUg
b3ZlcmFsbCBsYXlvdXQuDQoNCkknbGwgY2hhbmdlIHRoZSBrZXhlYyBtb2R1bGUgZGVzY3Jp
cHRpb24gY29tbWVudC4NCg0KDQpKdWVyZ2VuDQo=
--------------tno3Bow4pTmSNGkLbxdIU051
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------tno3Bow4pTmSNGkLbxdIU051--

--------------0ttz9XwLzz75lCOgCc3g3xdu--

--------------VuIFDv8p1TkY2q3cjiogkx0X
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmh2GSkFAwAAAAAACgkQsN6d1ii/Ey9E
ywf+L6T1qifK0mFtET7dKE0xXIQc34JdFmd6BTecaaxsEtl2QSKpMXEcDifsyESkOpKLzLTTqqf7
UlG64Rle27s+jV/9Anli6/djienpNLvgo/Os6sYxamxUw8KHIvo3HTKGt7BvlUReT6NjtYZMf/Ml
h+8cZsVmWBLjiMXl5tfv/eomCI6ZTY+dAXMhf3avjOY9ZC/9jwVKNvjQDhHFyBIZ5x+AjzOIrGLZ
Di3Ab3PT9MOFsRpgDMu85RqrANK/ndVIJb7H2SxSn4MaxKmv41NaEkR6PD8zW2lco+ZNuba/fsPt
h924tL62Erqq3k21BwBtKN3BL2BLzvJ2h+AvdFUZ7Q==
=ORnd
-----END PGP SIGNATURE-----

--------------VuIFDv8p1TkY2q3cjiogkx0X--


From minios-devel-bounces@lists.xenproject.org Tue Jul 15 13:11:35 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2025 13:11:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1044050.1414103 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfRU-0002MF-Ma; Tue, 15 Jul 2025 13:11:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1044050.1414103; Tue, 15 Jul 2025 13:11:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfRU-0002M8-Jf; Tue, 15 Jul 2025 13:11:32 +0000
Received: by outflank-mailman (input) for mailman id 1044050;
 Tue, 15 Jul 2025 13:11:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7giJ=Z4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ubfRT-000281-BW
 for minios-devel@lists.xenproject.org; Tue, 15 Jul 2025 13:11:31 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 37d75f0d-617d-11f0-b894-0df219b8e170;
 Tue, 15 Jul 2025 15:11:28 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 157E2211B0;
 Tue, 15 Jul 2025 13:11:28 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id DF81413306;
 Tue, 15 Jul 2025 13:11:27 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id Pk0ONX9TdmghMQAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 15 Jul 2025 13:11:27 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 37d75f0d-617d-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752585088; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=IClWZr3kn/I/w9xaF9q5VTaB17swbIMzifC3Rd+fblc=;
	b=AoHT8RiR2sCW8sZ3CxlJbQ/tPu8Pt2oyvmUdQriTS4Uk+YT5UlyHoz9g80WTFFDQrWxip4
	wPooXUd2Xv7txNLjgHPdVXZPo8wa5NjpqSJof7P3aPNYiw131zIEXS+Xl2fTPFM6xaskW3
	qv6gZ23wAS/2Edf9JHF0WkRayTvcUEo=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752585088; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=IClWZr3kn/I/w9xaF9q5VTaB17swbIMzifC3Rd+fblc=;
	b=AoHT8RiR2sCW8sZ3CxlJbQ/tPu8Pt2oyvmUdQriTS4Uk+YT5UlyHoz9g80WTFFDQrWxip4
	wPooXUd2Xv7txNLjgHPdVXZPo8wa5NjpqSJof7P3aPNYiw131zIEXS+Xl2fTPFM6xaskW3
	qv6gZ23wAS/2Edf9JHF0WkRayTvcUEo=
Message-ID: <4764f627-8e3e-4daa-a146-4b103fb33a0e@suse.com>
Date: Tue, 15 Jul 2025 15:11:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 17/19] gnttab: add function to obtain memory
 address from grantref
To: Jason Andryuk <jason.andryuk@amd.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-18-jgross@suse.com>
 <130ed882-13da-4413-a5af-829d5d30d091@amd.com>
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <130ed882-13da-4413-a5af-829d5d30d091@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------JidC6WdCe5f7v1J51Ofj1sws"
X-Spam-Level: 
X-Spamd-Result: default: False [-5.20 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.20)[-0.992];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MIME_BASE64_TEXT(0.10)[];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	ARC_NA(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_THREE(0.00)[4];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:email,suse.com:mid];
	HAS_ATTACHMENT(0.00)[]
X-Spam-Flag: NO
X-Spam-Score: -5.20

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------JidC6WdCe5f7v1J51Ofj1sws
Content-Type: multipart/mixed; boundary="------------knQc0MJfMW0vWV23Ms0ylAuX";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jason.andryuk@amd.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org
Message-ID: <4764f627-8e3e-4daa-a146-4b103fb33a0e@suse.com>
Subject: Re: [MINI-OS PATCH 17/19] gnttab: add function to obtain memory
 address from grantref
References: <20250702081254.14383-1-jgross@suse.com>
 <20250702081254.14383-18-jgross@suse.com>
 <130ed882-13da-4413-a5af-829d5d30d091@amd.com>
In-Reply-To: <130ed882-13da-4413-a5af-829d5d30d091@amd.com>

--------------knQc0MJfMW0vWV23Ms0ylAuX
Content-Type: multipart/mixed; boundary="------------WM0hghHL6LwdQCdF5JeD83I8"

--------------WM0hghHL6LwdQCdF5JeD83I8
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTQuMDcuMjUgMjM6MjMsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIDIwMjUtMDct
MDIgMDQ6MTIsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBBZGQgYSBuZXcgZnVuY3Rpb24g
Z250dGFiX2dldF9hZGRyKCkgdG8gb2J0YWluIGEgbWVtb3J5IHBvaW50ZXIgZm9yIGENCj4+
IGdpdmVuIGdyYW50IHJlZmVyZW5jZS4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+IA0KPiBNYXliZSB5b3Ugd2FudCB0byBuYW1l
IGl0IGdudHRhYl9nZXRfdmFkZHIoKSB0byBiZSBhIGxpdHRsZSBtb3JlIGV4cGxpY2l0IGlu
IGl0cyANCj4gcmV0dXJuIHZhbHVlPw0KDQpJIHRoaW5rIHRoaXMgaXNuJ3QgbmVjZXNzYXJ5
LiBJbiBjYXNlIGEgcGh5c2ljYWwgYWRkcmVzcyB3b3VsZCBiZSBoYW5kZWQNCmJhY2sgSSdk
IGFncmVlIHRvIGFkZCAncCcgZm9yIHF1YWxpZnlpbmcgdGhlIGFkZHJlc3MsIGJ1dCBJIGRv
bid0IHRoaW5rDQp3ZSBuZWVkIHRvIHF1YWxpZnkgdmlydHVhbCBhZGRyZXNzZXMgYXMgc3Vj
aC4NCg0KDQpKdWVyZ2VuDQo=
--------------WM0hghHL6LwdQCdF5JeD83I8
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------WM0hghHL6LwdQCdF5JeD83I8--

--------------knQc0MJfMW0vWV23Ms0ylAuX--

--------------JidC6WdCe5f7v1J51Ofj1sws
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmh2U38FAwAAAAAACgkQsN6d1ii/Ey8M
8wgAmxDQodIs1RwyX/Vnkb1eNn4D/tuX8g+FtPDt/vQf4IUrMgv56YvwcoK5a5Zjs4KaYmlYgErL
GBAGvLHOL5PUf9r+trjQ8qL9ZRFOi9FElNwQVRcnMFHmUsoJ1aydqAx9IUBamF9K/W1AiWeXiRhZ
DcQxM8yOgKRFF+FT78j+4vW0FX0hcEa+dZaqOg6Mg9cCHDxw/bSn477jsaM3plqoFHpm1YGhtILG
O+HPUUnE47EoUD3sMe+RxWRa90y2rEPArObyNsIcta/S9vwrVqcUcUeEzU4y0jwmhZSCN+aoRxDF
Y8y4n3S65izCJE2Mndg3+TYMMKpFxaXxojen/h97mA==
=tQ9R
-----END PGP SIGNATURE-----

--------------JidC6WdCe5f7v1J51Ofj1sws--


From minios-devel-bounces@lists.xenproject.org Tue Jul 15 13:29:48 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2025 13:29:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1044111.1414207 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfj8-0000pJ-Fp; Tue, 15 Jul 2025 13:29:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1044111.1414207; Tue, 15 Jul 2025 13:29:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfj8-0000pC-Cw; Tue, 15 Jul 2025 13:29:46 +0000
Received: by outflank-mailman (input) for mailman id 1044111;
 Tue, 15 Jul 2025 13:29:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7giJ=Z4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ubfj7-0000p6-An
 for minios-devel@lists.xenproject.org; Tue, 15 Jul 2025 13:29:45 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c458f6ed-617f-11f0-b894-0df219b8e170;
 Tue, 15 Jul 2025 15:29:43 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 970811F397;
 Tue, 15 Jul 2025 13:29:42 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 6E06A13A68;
 Tue, 15 Jul 2025 13:29:42 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id xMx0GcZXdmgBNwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 15 Jul 2025 13:29:42 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c458f6ed-617f-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586182; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=gn+jXUBeZECVlWYUrwJRrUi+VHDxst5pXixlmjQuGVU=;
	b=Ex4pOT9ZYPry8lpr3QegzkfJsyLlJ4LMOBIZSua5faU0qsf7IQPcL7JNIAS+g5+7sLRl6c
	4HMnKTM6BNDjRE7QXCIjYadITqmCRpaGjhDDDobgp3qB4IOFa2Rg9nNPYmeyiyaCy/W5kE
	mNDCn1O6fRdGBln33R7DTLo6Vt7ZRg4=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=Ex4pOT9Z
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586182; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=gn+jXUBeZECVlWYUrwJRrUi+VHDxst5pXixlmjQuGVU=;
	b=Ex4pOT9ZYPry8lpr3QegzkfJsyLlJ4LMOBIZSua5faU0qsf7IQPcL7JNIAS+g5+7sLRl6c
	4HMnKTM6BNDjRE7QXCIjYadITqmCRpaGjhDDDobgp3qB4IOFa2Rg9nNPYmeyiyaCy/W5kE
	mNDCn1O6fRdGBln33R7DTLo6Vt7ZRg4=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH v2 00/14] Make Xenstore-stubdom live update possible
Date: Tue, 15 Jul 2025 15:29:22 +0200
Message-ID: <20250715132936.2798-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	TO_DN_SOME(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	RCVD_TLS_ALL(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	RCPT_COUNT_THREE(0.00)[4];
	DBL_BLOCKED_OPENRESOLVER(0.00)[config.mk:url,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.com:mid,suse.com:dkim]
X-Spam-Flag: NO
X-Spam-Level: 
X-Rspamd-Queue-Id: 970811F397
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -3.01

With this series applied I was able to perform Live Update of Xenstore
running in a PVH stubdom.

The main problem to solve was to keep the 9pfs device used to store and
later retrieve the Xenstore state usable across kexec(). This has been
achieved by using a module containing the shared pages of the device
and the related config data. This module is then passed to the new
kernel via linking it to the struct hvm_start_info.

The rest of the series are some missing bits and pieces to have a sane
state when activating the new kernel, and some minor fixes and
cleanups.

In order to be able to perform a Xenstore live update an associated
patch series for Xen is needed. The Xen series is depending on this
Mini-OS patch series.

Changes in V2:
- patches 1-5 of V1 have been applied already
- addressed the (minor) comments to V1

Juergen Gross (14):
  mm: don't add module pages to free memory
  kexec: fix physical addresses in start info data
  e820: don't count lapic page as initially reserved
  kexec: restructure building the start info data
  e820: use special type for software reserved memory
  mini-os: config: add support for config items with numerical values
  mini-os: kexec: add support for handing over some memory across kexec
  kexec: add support for allocating pages from kexec module memory
  9pfs: store bepath in struct struct dev_9pfs
  9pfs: refactor init_9pfront()
  gnttab: remove gnttab_alloc_and_grant() function
  gnttab: add function to obtain memory address from grantref
  9pfs: add support to keep device opened across kexec
  events: export bind_evtchn()

 9pfront.c             | 267 +++++++++++++++++++++++++++++++-----------
 Config.mk             |   6 +
 arch/x86/kexec.c      | 123 +++++++++++++++++--
 arch/x86/mm.c         |  95 +++++++++++++++
 arch/x86/setup.c      |  28 +++++
 e820.c                |  11 +-
 events.c              |   1 +
 gnttab.c              |  15 +--
 include/9pfront.h     |   9 ++
 include/e820.h        |   2 +
 include/gnttab.h      |   2 +-
 include/kernel.h      |   1 +
 include/kexec.h       | 122 +++++++++++++++++++
 include/mm.h          |   1 +
 include/x86/arch_mm.h |   1 +
 kexec.c               | 118 +++++++++++++++++++
 mm.c                  |  27 ++++-
 17 files changed, 733 insertions(+), 96 deletions(-)

-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 15 13:29:50 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2025 13:29:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1044113.1414221 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfjC-00015c-Nu; Tue, 15 Jul 2025 13:29:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1044113.1414221; Tue, 15 Jul 2025 13:29:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfjC-00015V-Kt; Tue, 15 Jul 2025 13:29:50 +0000
Received: by outflank-mailman (input) for mailman id 1044113;
 Tue, 15 Jul 2025 13:29:49 +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 <SRS0=7giJ=Z4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ubfjB-00013q-Pg
 for minios-devel@lists.xenproject.org; Tue, 15 Jul 2025 13:29:49 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c7814a5f-617f-11f0-a319-13f23c93f187;
 Tue, 15 Jul 2025 15:29:48 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 2FB2E1F44F;
 Tue, 15 Jul 2025 13:29:48 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 0673113A68;
 Tue, 15 Jul 2025 13:29:48 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id MCIYAMxXdmgJNwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 15 Jul 2025 13:29:48 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c7814a5f-617f-11f0-a319-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586188; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=NTu0grqsD74PNEs9r+9EO+DwJ5Ex1gjWiVPjU6SdJuY=;
	b=Kpm3VYPWOiYkSIDCJjnnLl0TXzWygPeSylUcOeQomU9E9SHa/mLH6jns/yA0tJs1XGybGH
	SL039sf3W0Q6hW2KJQL2Siv0NRHvsHpmoy5mKaC55udeWi04Z0mu+HjxjI99t24xbMULdI
	5BirFR1rEF0xmVrTJivjkJTTnQ2nFKM=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=Kpm3VYPW
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586188; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=NTu0grqsD74PNEs9r+9EO+DwJ5Ex1gjWiVPjU6SdJuY=;
	b=Kpm3VYPWOiYkSIDCJjnnLl0TXzWygPeSylUcOeQomU9E9SHa/mLH6jns/yA0tJs1XGybGH
	SL039sf3W0Q6hW2KJQL2Siv0NRHvsHpmoy5mKaC55udeWi04Z0mu+HjxjI99t24xbMULdI
	5BirFR1rEF0xmVrTJivjkJTTnQ2nFKM=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH v2 01/14] mm: don't add module pages to free memory
Date: Tue, 15 Jul 2025 15:29:23 +0200
Message-ID: <20250715132936.2798-2-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250715132936.2798-1-jgross@suse.com>
References: <20250715132936.2798-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spam-Flag: NO
X-Rspamd-Queue-Id: 2FB2E1F44F
X-Rspamd-Action: no action
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	TO_DN_SOME(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCVD_TLS_ALL(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	RCPT_COUNT_THREE(0.00)[4];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:dkim,suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo]
X-Spam-Score: -3.01

When initializing the memory allocator, don't add memory pages of
modules and the initial boot info structure to the free memory.

This is relevant only when running in PVH mode, as in PV mode only
memory above the initial page tables is added to free memory, and the
module and start_info pages are below the page tables.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- call pvh_reserve_start_info() from arch_mm_preinit() (Jason Andryuk)
---
 arch/x86/mm.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++
 include/mm.h  |  1 +
 mm.c          | 21 +++++++++++++-
 3 files changed, 98 insertions(+), 1 deletion(-)

diff --git a/arch/x86/mm.c b/arch/x86/mm.c
index 26ede6f4..f60e7d58 100644
--- a/arch/x86/mm.c
+++ b/arch/x86/mm.c
@@ -78,6 +78,10 @@ void arch_mm_preinit(void *p)
     last_free_pfn = si->nr_pages;
     balloon_set_nr_pages(last_free_pfn, last_free_pfn);
 }
+
+void check_memory_range(unsigned long *from, unsigned long *to)
+{
+}
 #else
 #include <mini-os/desc.h>
 user_desc gdt[NR_GDT_ENTRIES] =
@@ -108,6 +112,42 @@ desc_ptr idt_ptr =
     .base = (unsigned long)&idt,
 };
 
+#define max(a, b) ((a) < (b) ? (b) : (a))
+
+static void pvh_reserve_start_info(unsigned long *start_pfn)
+{
+    unsigned long end = 0;
+    unsigned long start = (unsigned long)hvm_start_info_ptr;
+    unsigned long end_pfn;
+    unsigned int m;
+    struct hvm_modlist_entry *mod;
+    char *cmdline;
+
+    mod = (void *)(unsigned long)hvm_start_info_ptr->modlist_paddr;
+
+    end = max(end, start + sizeof(struct hvm_start_info));
+    end = max(end, hvm_start_info_ptr->modlist_paddr +
+              hvm_start_info_ptr->nr_modules *
+              sizeof(struct hvm_modlist_entry));
+    for ( m = 0; m < hvm_start_info_ptr->nr_modules; m++ )
+    {
+        cmdline = (char *)(unsigned long)mod[m].cmdline_paddr;
+        if ( cmdline )
+            end = max(end, (unsigned long)cmdline + strlen(cmdline) + 1);
+    }
+    cmdline = (char *)(unsigned long)hvm_start_info_ptr->cmdline_paddr;
+    if ( cmdline )
+        end = max(end, (unsigned long)cmdline + strlen(cmdline) + 1);
+    if ( hvm_start_info_ptr->version >= 1 )
+        end = max(end, hvm_start_info_ptr->memmap_paddr +
+                  hvm_start_info_ptr->memmap_entries *
+                  sizeof(struct hvm_memmap_table_entry));
+
+    end_pfn = PFN_UP(end);
+    if ( end_pfn > *start_pfn )
+        *start_pfn = end_pfn;
+}
+
 void arch_mm_preinit(void *p)
 {
     unsigned int pages;
@@ -124,6 +164,43 @@ void arch_mm_preinit(void *p)
     pages = e820_get_current_pages();
     last_free_pfn = e820_get_maxpfn(pages);
     balloon_set_nr_pages(pages, last_free_pfn);
+    pvh_reserve_start_info(&first_free_pfn);
+}
+
+static void check_memory_range_conflict(unsigned long *from, unsigned long *to,
+                                        unsigned long chk, unsigned long sz)
+{
+    unsigned long chk_end = chk + sz;
+
+    if ( *to <= chk || *from >= chk_end )
+        return;
+
+    if ( chk <= *from )
+        *from = (chk_end >= *to) ? *to : chk_end;
+    else
+        *to = chk;
+}
+
+/* Reserved memory ranges not added to free memory. */
+#define MAX_RSV_RANGES  1
+static struct {
+    unsigned long start;
+    unsigned long size;
+} reserved_range[MAX_RSV_RANGES];
+
+void check_memory_range(unsigned long *from, unsigned long *to)
+{
+    unsigned int m;
+    struct hvm_modlist_entry *mod;
+
+    for ( m = 0; m < MAX_RSV_RANGES && reserved_range[m].size; m++ )
+        check_memory_range_conflict(from, to, reserved_range[m].start,
+                                    reserved_range[m].size);
+
+    mod = (struct hvm_modlist_entry *)(unsigned long)
+          hvm_start_info_ptr->modlist_paddr;
+    for ( m = 0; m < hvm_start_info_ptr->nr_modules; m++ )
+        check_memory_range_conflict(from, to, mod[m].paddr, mod[m].size);
 }
 #endif
 
diff --git a/include/mm.h b/include/mm.h
index 1dc89ddb..995e9862 100644
--- a/include/mm.h
+++ b/include/mm.h
@@ -74,6 +74,7 @@ static __inline__ int get_order(unsigned long size)
 
 void arch_init_demand_mapping_area(void);
 void arch_init_mm(unsigned long* start_pfn_p, unsigned long* max_pfn_p);
+void check_memory_range(unsigned long *from, unsigned long *to);
 
 unsigned long allocate_ondemand(unsigned long n, unsigned long alignment);
 /* map f[i*stride]+i*increment for i in 0..n-1, aligned on alignment pages */
diff --git a/mm.c b/mm.c
index 858dc108..8c41d2f2 100644
--- a/mm.c
+++ b/mm.c
@@ -185,6 +185,25 @@ static void add_memory_range(unsigned long r_min, unsigned long r_max)
     }
 }
 
+static void consider_memory_range(unsigned long r_min, unsigned long r_max,
+                                  void (*func)(unsigned long, unsigned long))
+{
+    unsigned long from = r_min;
+    unsigned long to = r_max;
+
+    while ( true )
+    {
+        check_memory_range(&from, &to);
+        if ( from == to )
+            return;
+
+        func(from, to);
+
+        from = to;
+        to = r_max;
+    }
+}
+
 void iterate_memory_range(unsigned long min, unsigned long max,
                           void (*func)(unsigned long, unsigned long))
 {
@@ -207,7 +226,7 @@ void iterate_memory_range(unsigned long min, unsigned long max,
         if ( r_max > max )
             r_max = max;
 
-        func(r_min, r_max);
+        consider_memory_range(r_min, r_max, func);
     }
 }
 
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 15 13:29:56 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2025 13:29:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1044116.1414235 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfjI-0001P6-6N; Tue, 15 Jul 2025 13:29:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1044116.1414235; Tue, 15 Jul 2025 13:29:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfjI-0001Oz-3F; Tue, 15 Jul 2025 13:29:56 +0000
Received: by outflank-mailman (input) for mailman id 1044116;
 Tue, 15 Jul 2025 13:29:54 +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 <SRS0=7giJ=Z4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ubfjG-00013q-KQ
 for minios-devel@lists.xenproject.org; Tue, 15 Jul 2025 13:29:54 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cacfdc57-617f-11f0-a319-13f23c93f187;
 Tue, 15 Jul 2025 15:29:54 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id BAD741F397;
 Tue, 15 Jul 2025 13:29:53 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 8C37713A68;
 Tue, 15 Jul 2025 13:29:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id aVuzINFXdmgRNwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 15 Jul 2025 13:29:53 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cacfdc57-617f-11f0-a319-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586193; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=lDLoaippG53vLOL0sHnqy7SiZBuEGT4wELxw+HEbbmQ=;
	b=GOF8XqOvO8HKoiA+Kyj4jDiygj8+3WXWB/54GkpnMysYqD0JjxROPKpnWoShEGaddF7mCF
	uxSbnbxiP6Ulde4qejlA8lkDaK2hP4iXqHePy5XzRgou1uzyRWeOrvyCyliuZlxOIh5iOQ
	dEYCLnHS8j5fd6a+NHpyGKIE6aroAgI=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586193; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=lDLoaippG53vLOL0sHnqy7SiZBuEGT4wELxw+HEbbmQ=;
	b=GOF8XqOvO8HKoiA+Kyj4jDiygj8+3WXWB/54GkpnMysYqD0JjxROPKpnWoShEGaddF7mCF
	uxSbnbxiP6Ulde4qejlA8lkDaK2hP4iXqHePy5XzRgou1uzyRWeOrvyCyliuZlxOIh5iOQ
	dEYCLnHS8j5fd6a+NHpyGKIE6aroAgI=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [MINI-OS PATCH v2 02/14] kexec: fix physical addresses in start info data
Date: Tue, 15 Jul 2025 15:29:24 +0200
Message-ID: <20250715132936.2798-3-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250715132936.2798-1-jgross@suse.com>
References: <20250715132936.2798-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:email,suse.com:mid,amd.com:email];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_FIVE(0.00)[5];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Score: -2.80

The physical addresses in struct hvm_start_info are pointing to the
memory where the data is being built instead of the location where it
will finally be moved to.

Fix that. Additionally rename kexec_param_loc to kexec_param_pa to
better reflect the semantics of the variable.

Fixes: b7994b6409a4 ("mini-os: kexec: build parameters for new kernel")
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
V2:
- rename kexec_param_loc to kexec_param_pa (Jason Andryuk)
---
 arch/x86/kexec.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kexec.c b/arch/x86/kexec.c
index fc58473e..d0af460d 100644
--- a/arch/x86/kexec.c
+++ b/arch/x86/kexec.c
@@ -197,7 +197,7 @@ bool kexec_arch_need_analyze_shdrs(void)
     return kernel_phys_entry == ~0UL;
 }
 
-static unsigned long kexec_param_loc;
+static unsigned long kexec_param_pa;
 static unsigned int kexec_param_size;
 static unsigned long kexec_param_mem;
 
@@ -208,7 +208,7 @@ void kexec_set_param_loc(const char *cmdline)
     kexec_param_size += strlen(cmdline) + 1;
 
     kexec_last_addr = (kexec_last_addr + 7) & ~7UL;
-    kexec_param_loc = kexec_last_addr;
+    kexec_param_pa = kexec_last_addr;
     kexec_last_addr += kexec_param_size;
     kexec_last_addr = round_pgup(kexec_last_addr);
 }
@@ -233,9 +233,9 @@ int kexec_get_entry(const char *cmdline)
     memset(info, 0, sizeof(*info));
     info->magic = XEN_HVM_START_MAGIC_VALUE;
     info->version = 1;
-    info->cmdline_paddr = kexec_param_mem + sizeof(*info) +
+    info->cmdline_paddr = kexec_param_pa + sizeof(*info) +
                           e820_entries * sizeof(struct hvm_memmap_table_entry);
-    info->memmap_paddr = kexec_param_mem + sizeof(*info);
+    info->memmap_paddr = kexec_param_pa + sizeof(*info);
     info->memmap_entries = e820_entries;
 
     mmap = (struct hvm_memmap_table_entry *)(info + 1);
@@ -249,13 +249,13 @@ int kexec_get_entry(const char *cmdline)
 
     strcpy((char *)mmap, cmdline);
 
-    if ( kexec_add_action(KEXEC_COPY, to_virt(kexec_param_loc), info,
+    if ( kexec_add_action(KEXEC_COPY, to_virt(kexec_param_pa), info,
                           kexec_param_size) )
         return ENOSPC;
 
     /* The call of the new kernel happens via the physical address! */
     if ( kexec_add_action(KEXEC_CALL, (void *)kernel_phys_entry,
-                          (void *)kexec_param_loc, 0) )
+                          (void *)kexec_param_pa, 0) )
         return ENOSPC;
 
     return 0;
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 15 13:30:01 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2025 13:30:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1044120.1414253 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfjN-0001pb-Re; Tue, 15 Jul 2025 13:30:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1044120.1414253; Tue, 15 Jul 2025 13:30:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfjN-0001oU-KC; Tue, 15 Jul 2025 13:30:01 +0000
Received: by outflank-mailman (input) for mailman id 1044120;
 Tue, 15 Jul 2025 13:30:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7giJ=Z4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ubfjN-0000p6-32
 for minios-devel@lists.xenproject.org; Tue, 15 Jul 2025 13:30:01 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ce12eac5-617f-11f0-b894-0df219b8e170;
 Tue, 15 Jul 2025 15:29:59 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 541731F452;
 Tue, 15 Jul 2025 13:29:59 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 2440F13A68;
 Tue, 15 Jul 2025 13:29:59 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id 12lqB9dXdmgeNwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 15 Jul 2025 13:29:59 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce12eac5-617f-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586199; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=x9TLANKlez8tsN2wKkkD1NspuAsBv9mWQ6EyKJDqy7M=;
	b=P0Sr58IXZDYS9lagLZeK0j4k2WZ6T7TS2CPWKg3jSegJIvVCC8/7dUfYFQLxZHjfRNG+iA
	n6e46D69/yao2bnupS46sHIYTGfX5iVtPrYjeDeczlHvE/bMTyz6ULSEQNU/qgH4WGjkun
	bx5UURBrtwE5Pa5B8ujRWLUp1yHaayU=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586199; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=x9TLANKlez8tsN2wKkkD1NspuAsBv9mWQ6EyKJDqy7M=;
	b=P0Sr58IXZDYS9lagLZeK0j4k2WZ6T7TS2CPWKg3jSegJIvVCC8/7dUfYFQLxZHjfRNG+iA
	n6e46D69/yao2bnupS46sHIYTGfX5iVtPrYjeDeczlHvE/bMTyz6ULSEQNU/qgH4WGjkun
	bx5UURBrtwE5Pa5B8ujRWLUp1yHaayU=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [MINI-OS PATCH v2 03/14] e820: don't count lapic page as initially reserved
Date: Tue, 15 Jul 2025 15:29:25 +0200
Message-ID: <20250715132936.2798-4-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250715132936.2798-1-jgross@suse.com>
References: <20250715132936.2798-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[amd.com:email,imap1.dmz-prg2.suse.org:helo,suse.com:email,suse.com:mid];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_FIVE(0.00)[5];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Score: -2.80

The number of pages marked initially as reserved in the memory map
are counted to be allocated, as they are normally populated by Xen
tools for e.g. xenbus and console ring pages.

This is wrong in case the lapic page is marked as reserved in the
memory map, as there is never memory allocated for a lapic.

So when finding the lapic page to be marked as reserved, don't add
it to the number of reserved pages.

Fixes: 9b87429d2864 ("mini-os: fix number of pages for PVH")
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
 e820.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/e820.c b/e820.c
index 16622e23..44cfac05 100644
--- a/e820.c
+++ b/e820.c
@@ -275,7 +275,10 @@ static void e820_sanitize(void)
             e820_initial_reserved_pfns += e820_map[i].size / PAGE_SIZE;
             if ( e820_map[i].addr <= LAPIC_ADDRESS &&
                  e820_map[i].addr + e820_map[i].size > LAPIC_ADDRESS )
+            {
                 found_lapic = true;
+                e820_initial_reserved_pfns--;
+            }
         }
     }
 
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 15 13:30:06 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2025 13:30:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1044128.1414263 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfjS-0002sK-QT; Tue, 15 Jul 2025 13:30:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1044128.1414263; Tue, 15 Jul 2025 13:30:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfjS-0002rg-MX; Tue, 15 Jul 2025 13:30:06 +0000
Received: by outflank-mailman (input) for mailman id 1044128;
 Tue, 15 Jul 2025 13:30:05 +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 <SRS0=7giJ=Z4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ubfjR-00013q-Sd
 for minios-devel@lists.xenproject.org; Tue, 15 Jul 2025 13:30:05 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d1856780-617f-11f0-a319-13f23c93f187;
 Tue, 15 Jul 2025 15:30:05 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id EE8DC1F769;
 Tue, 15 Jul 2025 13:30:04 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id B51FE13A68;
 Tue, 15 Jul 2025 13:30:04 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id qfKzKtxXdmhGNwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 15 Jul 2025 13:30:04 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1856780-617f-11f0-a319-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586205; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ycMxB7C6V9MFY6iKdrBuAK81Hin6bWQs2JTEO7PYpys=;
	b=qqG6dvE7L1PDj++98MXqGAx0S7cMJxl9K6qe5gXUiQJaZG2N+vIuoXh1FO9KrxRHDvRtr4
	XOgfOcSftBy1DhQ0Ku3dQb3Uy05lgjXoRwfG57ieVoTVLErKKemZOWdUpRDhBV1X28laSZ
	+bQFeGCMQKAeaC7GrHKw+aHXXFjRzzw=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586204; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ycMxB7C6V9MFY6iKdrBuAK81Hin6bWQs2JTEO7PYpys=;
	b=kkmlP9MVsCHJRKFCUH9ZVd4oSIdSs5Gn3UWppI4+dwSycpDZVLX4Ti7Wxe1LoIkx8imK7s
	/TU46f/wnH3E5uNsdb4ssw5/pARLU7DMvO/pWah8jXnsPVQzK63rqJ1bR23k9R/Ha16Hih
	v8j1hGkWJH3nmh3ZcMVXZfcWfCkfgTQ=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [MINI-OS PATCH v2 04/14] kexec: restructure building the start info data
Date: Tue, 15 Jul 2025 15:29:26 +0200
Message-ID: <20250715132936.2798-5-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250715132936.2798-1-jgross@suse.com>
References: <20250715132936.2798-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[amd.com:email,imap1.dmz-prg2.suse.org:helo,suse.com:mid,suse.com:email];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_FIVE(0.00)[5];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Level: 
X-Spam-Score: -2.80

Instead of setting most of the struct hvm_start_info fields first and
then building the leaf data, restructure kexec_get_entry() by
using an opaque "next" pointer where the next leaf data will be stored
and handle that leaf data together with the associated hvm_start_info
fields.

This will make it easier to add new data items without having to
rewrite large portions of the function.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
 arch/x86/kexec.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/arch/x86/kexec.c b/arch/x86/kexec.c
index d0af460d..29f8aa81 100644
--- a/arch/x86/kexec.c
+++ b/arch/x86/kexec.c
@@ -215,6 +215,7 @@ void kexec_set_param_loc(const char *cmdline)
 
 int kexec_get_entry(const char *cmdline)
 {
+    void *next;
     struct hvm_start_info *info;
     struct hvm_memmap_table_entry *mmap;
     unsigned int order;
@@ -229,16 +230,17 @@ int kexec_get_entry(const char *cmdline)
     if ( !kexec_param_mem )
         return ENOMEM;
 
-    info = (struct hvm_start_info *)kexec_param_mem;
+    next = (void *)kexec_param_mem;
+
+    info = next;
     memset(info, 0, sizeof(*info));
     info->magic = XEN_HVM_START_MAGIC_VALUE;
     info->version = 1;
-    info->cmdline_paddr = kexec_param_pa + sizeof(*info) +
-                          e820_entries * sizeof(struct hvm_memmap_table_entry);
-    info->memmap_paddr = kexec_param_pa + sizeof(*info);
-    info->memmap_entries = e820_entries;
+    next = info + 1;
 
-    mmap = (struct hvm_memmap_table_entry *)(info + 1);
+    mmap = next;
+    info->memmap_paddr = kexec_param_pa + (unsigned long)next - kexec_param_mem;
+    info->memmap_entries = e820_entries;
     for ( i = 0; i < e820_entries; i++ )
     {
         mmap->addr = e820_map[i].addr;
@@ -246,8 +248,10 @@ int kexec_get_entry(const char *cmdline)
         mmap->type = e820_map[i].type;
         mmap++;
     }
+    next = mmap;
 
-    strcpy((char *)mmap, cmdline);
+    info->cmdline_paddr = kexec_param_pa + (unsigned long)next - kexec_param_mem;
+    strcpy(next, cmdline);
 
     if ( kexec_add_action(KEXEC_COPY, to_virt(kexec_param_pa), info,
                           kexec_param_size) )
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 15 13:32:41 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2025 13:32:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1044190.1414307 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubflx-0006lA-2x; Tue, 15 Jul 2025 13:32:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1044190.1414307; Tue, 15 Jul 2025 13:32:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubflx-0006l3-0A; Tue, 15 Jul 2025 13:32:41 +0000
Received: by outflank-mailman (input) for mailman id 1044190;
 Tue, 15 Jul 2025 13:32:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7giJ=Z4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ubfjv-0000p6-8X
 for minios-devel@lists.xenproject.org; Tue, 15 Jul 2025 13:30:35 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e247bf97-617f-11f0-b894-0df219b8e170;
 Tue, 15 Jul 2025 15:30:33 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 1663421232;
 Tue, 15 Jul 2025 13:30:33 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id DAE2C13A68;
 Tue, 15 Jul 2025 13:30:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id 5crsM/hXdmh1NwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 15 Jul 2025 13:30:32 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e247bf97-617f-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586233; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=BDdRGnWTd5zwdCL0TVOinfUW7FrCL8NCA12iHuDre8E=;
	b=nYNcCmldwPuW2gGg9URjLy87kYhJtYKeUWCY8VaL/SJCLJ4ny3UkbrGbI+r9yxTSUIDX3P
	isr/+bd8i2zZyd8n0mSwr4V5+5tsPY447T52puZEHLEhrYZkBmiQnNBvRkNptxGbcOYtb/
	uNaKVmMpHnjYivtcpItwBfu2CmYW9VA=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=nYNcCmld
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586233; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=BDdRGnWTd5zwdCL0TVOinfUW7FrCL8NCA12iHuDre8E=;
	b=nYNcCmldwPuW2gGg9URjLy87kYhJtYKeUWCY8VaL/SJCLJ4ny3UkbrGbI+r9yxTSUIDX3P
	isr/+bd8i2zZyd8n0mSwr4V5+5tsPY447T52puZEHLEhrYZkBmiQnNBvRkNptxGbcOYtb/
	uNaKVmMpHnjYivtcpItwBfu2CmYW9VA=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [MINI-OS PATCH v2 09/14] 9pfs: store bepath in struct struct dev_9pfs
Date: Tue, 15 Jul 2025 15:29:31 +0200
Message-ID: <20250715132936.2798-10-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250715132936.2798-1-jgross@suse.com>
References: <20250715132936.2798-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spam-Flag: NO
X-Rspamd-Queue-Id: 1663421232
X-Rspamd-Action: no action
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	MIME_TRACE(0.00)[0:+];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	TO_DN_SOME(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	RCPT_COUNT_FIVE(0.00)[5];
	DBL_BLOCKED_OPENRESOLVER(0.00)[amd.com:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.com:dkim,suse.com:mid,suse.com:email]
X-Spam-Score: -3.01

Use struct dev_9pfs for storing the backend path of the device state
in order to avoid code duplication in init_9pfront() and
shutdown_9pfront().

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
 9pfront.c | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/9pfront.c b/9pfront.c
index 895426d1..2bfc49b1 100644
--- a/9pfront.c
+++ b/9pfront.c
@@ -25,6 +25,7 @@ struct dev_9pfs {
     char nodename[20];
     unsigned int dom;
     char *backend;
+    char bepath[64];
 
     char *tag;
     const char *mnt;
@@ -1103,7 +1104,6 @@ void *init_9pfront(unsigned int id, const char *mnt)
     char *reason = "";
     xenbus_transaction_t xbt;
     int retry = 1;
-    char bepath[64] = { 0 };
     XenbusState state;
     unsigned int i;
     void *addr;
@@ -1137,11 +1137,12 @@ void *init_9pfront(unsigned int id, const char *mnt)
     if ( msg )
         goto err;
 
-    snprintf(bepath, sizeof(bepath), "%s/state", dev->backend);
-    free(xenbus_watch_path_token(XBT_NIL, bepath, bepath, &dev->events));
-    state = xenbus_read_integer(bepath);
+    snprintf(dev->bepath, sizeof(dev->bepath), "%s/state", dev->backend);
+    free(xenbus_watch_path_token(XBT_NIL, dev->bepath, dev->bepath,
+                                 &dev->events));
+    state = xenbus_read_integer(dev->bepath);
     while ( msg == NULL && state < XenbusStateInitWait )
-        msg = xenbus_wait_for_state_change(bepath, &state, &dev->events);
+        msg = xenbus_wait_for_state_change(dev->bepath, &state, &dev->events);
     if ( msg || state != XenbusStateInitWait )
     {
         reason = "illegal backend state";
@@ -1228,9 +1229,9 @@ void *init_9pfront(unsigned int id, const char *mnt)
         free(xenbus_transaction_end(xbt, 0, &retry));
     }
 
-    state = xenbus_read_integer(bepath);
+    state = xenbus_read_integer(dev->bepath);
     while ( msg == NULL && state < XenbusStateConnected )
-        msg = xenbus_wait_for_state_change(bepath, &state, &dev->events);
+        msg = xenbus_wait_for_state_change(dev->bepath, &state, &dev->events);
     if ( msg || state != XenbusStateConnected )
     {
         reason = "illegal backend state";
@@ -1263,8 +1264,6 @@ void *init_9pfront(unsigned int id, const char *mnt)
     free(xenbus_transaction_end(xbt, 1, &retry));
 
  err:
-    if ( bepath[0] )
-        free(xenbus_unwatch_path_token(XBT_NIL, bepath, bepath));
     if ( msg )
         printk("9pfsfront add %u failed, error %s accessing Xenstore\n",
                id, msg);
@@ -1279,22 +1278,20 @@ EXPORT_SYMBOL(init_9pfront);
 void shutdown_9pfront(void *dev)
 {
     struct dev_9pfs *dev9p = dev;
-    char bepath[64];
     XenbusState state;
     char *msg;
     char *reason = "";
 
     umount(dev9p->mnt);
-    snprintf(bepath, sizeof(bepath), "%s/state", dev9p->backend);
 
     msg = xenbus_printf(XBT_NIL, dev9p->nodename, "state", "%u",
                         XenbusStateClosing);
     if ( msg )
         goto err;
 
-    state = xenbus_read_integer(bepath);
+    state = xenbus_read_integer(dev9p->bepath);
     while ( msg == NULL && state < XenbusStateClosing)
-        msg = xenbus_wait_for_state_change(bepath, &state, &dev9p->events);
+        msg = xenbus_wait_for_state_change(dev9p->bepath, &state, &dev9p->events);
     if ( msg || state != XenbusStateClosing )
     {
         reason = "illegal backend state";
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 15 13:33:00 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2025 13:33:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1044205.1414310 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfmG-000763-5A; Tue, 15 Jul 2025 13:33:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1044205.1414310; Tue, 15 Jul 2025 13:33:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfmG-00075u-2F; Tue, 15 Jul 2025 13:33:00 +0000
Received: by outflank-mailman (input) for mailman id 1044205;
 Tue, 15 Jul 2025 13:32:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7giJ=Z4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ubfjZ-0000p6-4k
 for minios-devel@lists.xenproject.org; Tue, 15 Jul 2025 13:30:13 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d4c5ddcf-617f-11f0-b894-0df219b8e170;
 Tue, 15 Jul 2025 15:30:10 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 8F8BE21204;
 Tue, 15 Jul 2025 13:30:10 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 5510A13A68;
 Tue, 15 Jul 2025 13:30:10 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id q/lCE+JXdmhQNwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 15 Jul 2025 13:30:10 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4c5ddcf-617f-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586210; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=B6SWSOlBDneLonJNetlsBzYkrHEyPfegHVWVGLmwK3g=;
	b=HLelBBGxCaT0BsshA7lxY0tl3kEJvM1WhjX8uru6TwIkWutWG+CoCgnwqjAdOyGoYitGny
	Wznbo86UumQa9uiqZIaUsvfbfKeVMiJHCrCqnHHLSb5aCYPghnkxZtLhFcjEaCY2Q/A4t0
	4v9ekTZ5o0uUkhJXkH494RNIXgROmGI=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586210; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=B6SWSOlBDneLonJNetlsBzYkrHEyPfegHVWVGLmwK3g=;
	b=HLelBBGxCaT0BsshA7lxY0tl3kEJvM1WhjX8uru6TwIkWutWG+CoCgnwqjAdOyGoYitGny
	Wznbo86UumQa9uiqZIaUsvfbfKeVMiJHCrCqnHHLSb5aCYPghnkxZtLhFcjEaCY2Q/A4t0
	4v9ekTZ5o0uUkhJXkH494RNIXgROmGI=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [MINI-OS PATCH v2 05/14] e820: use special type for software reserved memory
Date: Tue, 15 Jul 2025 15:29:27 +0200
Message-ID: <20250715132936.2798-6-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250715132936.2798-1-jgross@suse.com>
References: <20250715132936.2798-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	RCVD_COUNT_TWO(0.00)[2];
	TO_DN_SOME(0.00)[];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	RCPT_COUNT_FIVE(0.00)[5];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:mid,amd.com:email,imap1.dmz-prg2.suse.org:helo]
X-Spam-Flag: NO
X-Spam-Score: -2.80

For memory areas used to map foreign domain memory Mini-OS is using
the type E820_RESERVED in the memory map today. This is causing
problems with kexec, as the new kernel should not see those areas in
the memory map. Unfortunately the sequence of actions for calculating
the size of the memory map and the removal of those reserved areas
can't easily be adjusted to do the removal first, so another way must
be used to avoid passing those reserved areas to the new kernel.

Instead of using the type E820_RESERVED, which might be used for other
pages as well, just use a new type. Areas with that new type can
easily be filtered out when building the memory map for the new
kernel.

Introduce the type E820_TYPE_SOFT_RESERVED with the same value as the
Linux kernel is using for the same purpose.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
 arch/x86/kexec.c | 4 +++-
 e820.c           | 8 ++++----
 include/e820.h   | 2 ++
 3 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kexec.c b/arch/x86/kexec.c
index 29f8aa81..b33fbfc1 100644
--- a/arch/x86/kexec.c
+++ b/arch/x86/kexec.c
@@ -240,14 +240,16 @@ int kexec_get_entry(const char *cmdline)
 
     mmap = next;
     info->memmap_paddr = kexec_param_pa + (unsigned long)next - kexec_param_mem;
-    info->memmap_entries = e820_entries;
     for ( i = 0; i < e820_entries; i++ )
     {
+        if ( e820_map[i].type == E820_TYPE_SOFT_RESERVED )
+            continue;
         mmap->addr = e820_map[i].addr;
         mmap->size = e820_map[i].size;
         mmap->type = e820_map[i].type;
         mmap++;
     }
+    info->memmap_entries = mmap - (struct hvm_memmap_table_entry *)next;
     next = mmap;
 
     info->cmdline_paddr = kexec_param_pa + (unsigned long)next - kexec_param_mem;
diff --git a/e820.c b/e820.c
index 44cfac05..1ffeaf00 100644
--- a/e820.c
+++ b/e820.c
@@ -367,8 +367,8 @@ unsigned long e820_get_reserved_pfns(int pages)
     for ( i = 0; i < e820_entries && e820_map[i].addr < last + needed; i++ )
         last = round_pgup(e820_map[i].addr + e820_map[i].size);
 
-    if ( i == 0 || e820_map[i - 1].type != E820_RESERVED )
-        e820_insert_entry_at(i, last, needed, E820_RESERVED);
+    if ( i == 0 || e820_map[i - 1].type != E820_TYPE_SOFT_RESERVED )
+        e820_insert_entry_at(i, last, needed, E820_TYPE_SOFT_RESERVED);
     else
         e820_map[i - 1].size += needed;
 
@@ -385,7 +385,7 @@ void e820_put_reserved_pfns(unsigned long start_pfn, int pages)
           i < e820_entries && addr >= e820_map[i].addr + e820_map[i].size;
           i++ );
 
-    BUG_ON(i == e820_entries || e820_map[i].type != E820_RESERVED ||
+    BUG_ON(i == e820_entries || e820_map[i].type != E820_TYPE_SOFT_RESERVED ||
            addr + size > e820_map[i].addr + e820_map[i].size);
 
     if ( addr == e820_map[i].addr )
@@ -405,7 +405,7 @@ void e820_put_reserved_pfns(unsigned long start_pfn, int pages)
 
     e820_insert_entry_at(i + 1, addr + size,
                          e820_map[i].addr + e820_map[i].size - addr - size,
-                         E820_RESERVED);
+                         E820_TYPE_SOFT_RESERVED);
     e820_map[i].size = addr - e820_map[i].addr;
 }
 #endif
diff --git a/include/e820.h b/include/e820.h
index ffa15aa9..ad5657ff 100644
--- a/include/e820.h
+++ b/include/e820.h
@@ -39,6 +39,8 @@
 #define E820_DISABLED     6
 #define E820_PMEM         7
 #define E820_TYPES        8
+/* Memory reserved for Mini-OS internal purpose. */
+#define E820_TYPE_SOFT_RESERVED   0xefffffff
 
 struct __packed e820entry {
     uint64_t addr;
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 15 13:33:08 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2025 13:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1044210.1414314 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfmO-0007Cy-83; Tue, 15 Jul 2025 13:33:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1044210.1414314; Tue, 15 Jul 2025 13:33:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfmO-0007Cr-5M; Tue, 15 Jul 2025 13:33:08 +0000
Received: by outflank-mailman (input) for mailman id 1044210;
 Tue, 15 Jul 2025 13:33:07 +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 <SRS0=7giJ=Z4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ubfjl-00013q-Oj
 for minios-devel@lists.xenproject.org; Tue, 15 Jul 2025 13:30:25 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id db7a5880-617f-11f0-a319-13f23c93f187;
 Tue, 15 Jul 2025 15:30:22 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id C49BB1F44F;
 Tue, 15 Jul 2025 13:30:21 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 9A80213A68;
 Tue, 15 Jul 2025 13:30:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id cEFcJO1XdmhhNwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 15 Jul 2025 13:30:21 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db7a5880-617f-11f0-a319-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586221; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=oBjjfWuh5HXNSeK9rtf2P0Bn6GxDYqshVshwDQxxP10=;
	b=SELp9Fi10Tbk9XMOnXA92SIxmcPRIOfBbv4HcO8pwQ5nSIo1ynRIK1TbNlLc9gvxKSHmok
	p3AxWHCw/sg6Pkad4Z8ShvyNh/j2WLBtkmti31D32V4J2ytaXUC+bFx219ek0EJNIuS98G
	77Sw0lpIrsq+1lVvgg7tN3boFRv/3Ek=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586221; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=oBjjfWuh5HXNSeK9rtf2P0Bn6GxDYqshVshwDQxxP10=;
	b=SELp9Fi10Tbk9XMOnXA92SIxmcPRIOfBbv4HcO8pwQ5nSIo1ynRIK1TbNlLc9gvxKSHmok
	p3AxWHCw/sg6Pkad4Z8ShvyNh/j2WLBtkmti31D32V4J2ytaXUC+bFx219ek0EJNIuS98G
	77Sw0lpIrsq+1lVvgg7tN3boFRv/3Ek=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH v2 07/14] mini-os: kexec: add support for handing over some memory across kexec
Date: Tue, 15 Jul 2025 15:29:29 +0200
Message-ID: <20250715132936.2798-8-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250715132936.2798-1-jgross@suse.com>
References: <20250715132936.2798-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	MIME_TRACE(0.00)[0:+];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	ARC_NA(0.00)[];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	RCVD_TLS_ALL(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	DBL_BLOCKED_OPENRESOLVER(0.00)[config.mk:url,imap1.dmz-prg2.suse.org:helo,suse.com:email,suse.com:mid]
X-Spam-Flag: NO
X-Spam-Score: -2.80

Especially for support of Xenstore-stubdom live update some memory must
be handed over to the new kernel without moving it around: as the
9pfs device used for storing and retrieving the state of Xenstore
needs to be kept operational across kexec (it can't be reopened due to
Xenstore not being available without access to the device), the ring
pages need to be accessible via active grants by the backend all the
time.

Add the basic support for that by reserving a pre-defined number of
memory pages at the top of the memory. This memory area will be
handed over to the new kernel via specifying it as a module in
struct hvm_start_info.

The contents of the memory area are described via a generic table of
contents in the last page of the memory.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- set kexec_mod_start in kexec_check_module()
- remove fallback definition of CONFIG_KEXEC_MODULE_PAGES (Jan Beulich)
- fix mod_ptr->recs_off alignment (Jason Andryuk)
- expand comment at start of kexec.h (Jason Andryuk)
---
 Config.mk             |  2 ++
 arch/x86/kexec.c      | 79 +++++++++++++++++++++++++++++++++++++++++++
 arch/x86/mm.c         | 18 ++++++++++
 arch/x86/setup.c      | 28 +++++++++++++++
 include/kernel.h      |  1 +
 include/kexec.h       | 69 +++++++++++++++++++++++++++++++++++++
 include/x86/arch_mm.h |  1 +
 kexec.c               |  3 ++
 mm.c                  |  6 ++++
 9 files changed, 207 insertions(+)

diff --git a/Config.mk b/Config.mk
index b9675e61..0e4e86d8 100644
--- a/Config.mk
+++ b/Config.mk
@@ -220,6 +220,8 @@ CONFIG-$(lwip) += CONFIG_LWIP
 $(foreach i,$(CONFIG-y),$(eval $(i) ?= y))
 $(foreach i,$(CONFIG-n),$(eval $(i) ?= n))
 
+CONFIG-val-$(CONFIG_KEXEC) += CONFIG_KEXEC_MODULE_PAGES
+
 $(foreach i,$(CONFIG-val-y),$(eval $(i) ?= 0))
 
 CONFIG-x += CONFIG_LIBXS
diff --git a/arch/x86/kexec.c b/arch/x86/kexec.c
index b33fbfc1..8c9f8a3c 100644
--- a/arch/x86/kexec.c
+++ b/arch/x86/kexec.c
@@ -201,10 +201,75 @@ static unsigned long kexec_param_pa;
 static unsigned int kexec_param_size;
 static unsigned long kexec_param_mem;
 
+static struct kexec_module *kexec_check_module(void)
+{
+    unsigned long mod_size;
+    unsigned long mod;
+    struct kexec_module *module_ptr;
+
+    mod = get_module(&mod_size);
+    if ( !mod )
+        return NULL;
+    /* Size must be a multiple of PAGE_SIZE. */
+    if ( mod_size & ~PAGE_MASK )
+        return NULL;
+
+    /* Kexec module description is at start of the last page of the module. */
+    module_ptr = (void *)(mod + mod_size - (unsigned long)PAGE_SIZE);
+
+    /* Check eye catcher. */
+    if ( memcmp(module_ptr->eye_catcher, KEXECMOD_EYECATCHER,
+                sizeof(module_ptr->eye_catcher)) )
+        return NULL;
+    if ( module_ptr->n_pages != (mod_size >> PAGE_SHIFT) - 1 )
+        return NULL;
+
+    kexec_mod_start = mod;
+
+    return module_ptr;
+}
+
+static void get_mod_addr(unsigned long from, unsigned long to)
+{
+    unsigned long size = PFN_PHYS(CONFIG_KEXEC_MODULE_PAGES);
+
+    if ( to - from >= size && to - size > kexec_mod_start )
+        kexec_mod_start = to - size;
+}
+
+#define min(a, b) ((a) < (b) ? (a) : (b))
+void kexec_module(unsigned long start_pfn, unsigned long max_pfn)
+{
+    /* Reuse already existing kexec module. */
+    mod_ptr = kexec_check_module();
+    if ( !mod_ptr && CONFIG_KEXEC_MODULE_PAGES )
+    {
+        max_pfn = min(max_pfn, PHYS_PFN(0xffffffff));
+
+        iterate_memory_range(PFN_PHYS(start_pfn), PFN_PHYS(max_pfn),
+                             get_mod_addr);
+        BUG_ON(!kexec_mod_start);
+
+        mod_ptr = (void *)(kexec_mod_start +
+                           ((CONFIG_KEXEC_MODULE_PAGES - 1) << PAGE_SHIFT));
+        memset(mod_ptr, 0, PAGE_SIZE);
+        memcpy(mod_ptr->eye_catcher, KEXECMOD_EYECATCHER,
+               sizeof(mod_ptr->eye_catcher));
+        mod_ptr->n_pages = CONFIG_KEXEC_MODULE_PAGES - 1;
+        memset(mod_ptr->pg2rec, KEXECMOD_PG_FREE, mod_ptr->n_pages);
+        mod_ptr->recs_off = sizeof(struct kexec_module) +
+                            mod_ptr->n_pages + (mod_ptr->n_pages & 1);
+
+        set_reserved_range(kexec_mod_start, (unsigned long)mod_ptr + PAGE_SIZE);
+    }
+}
+
 void kexec_set_param_loc(const char *cmdline)
 {
     kexec_param_size = sizeof(struct hvm_start_info);
     kexec_param_size += e820_entries * sizeof(struct hvm_memmap_table_entry);
+    if ( mod_ptr )
+        kexec_param_size += sizeof(struct hvm_modlist_entry);
     kexec_param_size += strlen(cmdline) + 1;
 
     kexec_last_addr = (kexec_last_addr + 7) & ~7UL;
@@ -218,6 +283,7 @@ int kexec_get_entry(const char *cmdline)
     void *next;
     struct hvm_start_info *info;
     struct hvm_memmap_table_entry *mmap;
+    struct hvm_modlist_entry *mod;
     unsigned int order;
     unsigned int i;
 
@@ -252,6 +318,19 @@ int kexec_get_entry(const char *cmdline)
     info->memmap_entries = mmap - (struct hvm_memmap_table_entry *)next;
     next = mmap;
 
+    if ( mod_ptr )
+    {
+        mod = next;
+        memset(mod, 0, sizeof(*mod));
+        info->nr_modules = 1;
+        info->modlist_paddr = kexec_param_pa +
+                              (unsigned long)next - kexec_param_mem;
+        mod->paddr = kexec_mod_start;
+        mod->size = PFN_PHYS(mod_ptr->n_pages + 1);
+        mod->cmdline_paddr = 0;
+        next = mod + 1;
+    }
+
     info->cmdline_paddr = kexec_param_pa + (unsigned long)next - kexec_param_mem;
     strcpy(next, cmdline);
 
diff --git a/arch/x86/mm.c b/arch/x86/mm.c
index f60e7d58..ebc85e0d 100644
--- a/arch/x86/mm.c
+++ b/arch/x86/mm.c
@@ -188,6 +188,24 @@ static struct {
     unsigned long size;
 } reserved_range[MAX_RSV_RANGES];
 
+void set_reserved_range(unsigned long start, unsigned long end)
+{
+    unsigned int i;
+
+    for ( i = 0; i < MAX_RSV_RANGES; i++ )
+    {
+        if ( reserved_range[i].size )
+            continue;
+
+        reserved_range[i].start = start;
+        reserved_range[i].size = end - start;
+
+        return;
+    }
+
+    BUG();
+}
+
 void check_memory_range(unsigned long *from, unsigned long *to)
 {
     unsigned int m;
diff --git a/arch/x86/setup.c b/arch/x86/setup.c
index 2085ee5c..299ff8c7 100644
--- a/arch/x86/setup.c
+++ b/arch/x86/setup.c
@@ -127,6 +127,13 @@ static void print_start_of_day(void *p)
     printk("    cmd_line: %s\n", cmdline);
     printk("       stack: %p-%p\n", stack, stack + sizeof(stack));
 }
+
+unsigned long get_module(unsigned long *size)
+{
+    *size = start_info_ptr->mod_len;
+
+    return start_info_ptr->mod_start;
+}
 #else
 
 /*
@@ -182,6 +189,27 @@ static void print_start_of_day(void *p)
     printk("       stack: %p-%p\n", stack, stack + sizeof(stack));
     arch_print_memmap();
 }
+
+unsigned long get_module(unsigned long *size)
+{
+    struct hvm_modlist_entry *mod;
+
+    if ( !hvm_start_info_ptr->nr_modules )
+        return 0;
+
+    if ( hvm_start_info_ptr->nr_modules > 1 )
+    {
+        printk("get_module() called with more than 1 module present\n");
+        printk("First module data returned\n");
+    }
+
+    mod = (struct hvm_modlist_entry *)(unsigned long)
+          hvm_start_info_ptr->modlist_paddr;
+
+    *size = mod->size;
+
+    return mod->paddr;
+}
 #endif
 
 /*
diff --git a/include/kernel.h b/include/kernel.h
index 161d7571..e11b04cf 100644
--- a/include/kernel.h
+++ b/include/kernel.h
@@ -10,5 +10,6 @@ void post_suspend(int canceled);
 void do_exit(void) __attribute__((noreturn));
 void arch_do_exit(void);
 void stop_kernel(void);
+unsigned long get_module(unsigned long *size);
 
 #endif /* _KERNEL_H_ */
diff --git a/include/kexec.h b/include/kexec.h
index b89c3000..b38a9f54 100644
--- a/include/kexec.h
+++ b/include/kexec.h
@@ -2,6 +2,72 @@
 #define _KEXEC_H
 #include <mini-os/elf.h>
 
+/*
+ * Kexec module used to hand over memory across kexec().
+ *
+ * This is an ABI which should be modified only in a compatible way.
+ * struct kexec_module is located at the start of the last page of the module.
+ *
+ * The module is usually placed towards the end of memory in order to not
+ * conflict with the load address of the new kernel.  In order to allow for a
+ * resize by the new kernel after kexec(), the admin data described by struct
+ * kexec_module is located at the start of the last page of the module.  This
+ * allows to add additional pages towards lower addresses.
+ *
+ * The kexec module (if configured) is being allocated at boot time in case
+ * no kexec module has been passed to the kernel.  If a kexec module has been
+ * passed to the kernel, it is kept and will be passed on by kexec().
+ *
+ * The module can contain two different kinds of information: records and
+ * pages.
+ *
+ * A component wanting to hand over information to the new kernel needs to
+ * allocate one or more records.  The layout of a record is defined by the
+ * component using it, the layout can be changed only in a compatible way.
+ *
+ * The kexec module can contain records of multiple components.  Each record
+ * type has a unique id which is being used to find the record in the new
+ * kernel instance.
+ *
+ * A record is meant to contain small amounts of information, as all records
+ * need to fit into the last page of the kexec module.  In case more data
+ * needs to be handed over, one or multiple pages can be allocated within the
+ * kexec module.  Module page allocations need to be done with the id of a
+ * previously allocated record, which will usually contain some information
+ * related to the allocated page(s).
+ *
+ * All references within the kexec module are coded as offsets relative to the
+ * start of the last module page.
+ *
+ * All admin data (struct kexec_module, record offset table and records) must
+ * fit into the last page of the module.
+ */
+struct kexec_module {
+    uint8_t eye_catcher[8];
+#define KEXECMOD_EYECATCHER "KexecMem"
+    uint16_t n_pages;       /* Number of allocatable pages in the module.    */
+    uint16_t n_records;     /* Size of record table (max. 255).              */
+#define KEXECMOD_REC_MAX    255
+    uint16_t recs_off;      /* Offset to record table from start of page.    */
+                            /* The record table is an array of               */
+                            /* struct kexec_module_rec.                      */
+    uint8_t pg2rec[];       /* Mapping of module pages to associated module  */
+                            /* record.  Allocated pages are indicated by     */
+                            /* their record number (starting from 0).  Free  */
+                            /* pages have value 255.                         */
+#define KEXECMOD_PG_FREE    255
+};
+
+struct kexec_module_rec {
+    uint16_t offset;        /* Offset to record from start of page.          */
+    uint8_t type;           /* Type of record.                               */
+#define KEXECMOD_REC_NONE   0
+    uint8_t size;           /* Size of record.                               */
+};
+
+extern unsigned long kexec_mod_start;
+extern struct kexec_module *mod_ptr;
+
 /* One element of kexec actions (last element must have action KEXEC_CALL): */
 struct kexec_action {
     enum {
@@ -60,4 +126,7 @@ int kexec_move_used_pages(unsigned long boundary, unsigned long kernel,
                           unsigned long kernel_size);
 void kexec_move_used_pages_undo(void);
 
+/* Check for kexec module and create kexec memory if needed. */
+void kexec_module(unsigned long start_pfn, unsigned long max_pfn);
+
 #endif /* _KEXEC_H */
diff --git a/include/x86/arch_mm.h b/include/x86/arch_mm.h
index a1b975dc..ae56781e 100644
--- a/include/x86/arch_mm.h
+++ b/include/x86/arch_mm.h
@@ -289,6 +289,7 @@ unsigned long alloc_virt_kernel(unsigned n_pages);
 
 void arch_mm_pre_suspend(void);
 void arch_mm_post_suspend(int canceled);
+void set_reserved_range(unsigned long start, unsigned long end);
 
 #ifndef CONFIG_PARAVIRT
 void arch_print_memmap(void);
diff --git a/kexec.c b/kexec.c
index 2607c819..ded29882 100644
--- a/kexec.c
+++ b/kexec.c
@@ -250,3 +250,6 @@ int kexec_add_action(int action, void *dest, void *src, unsigned int len)
 
     return 0;
 }
+
+unsigned long kexec_mod_start;
+struct kexec_module *mod_ptr;
diff --git a/mm.c b/mm.c
index 8c41d2f2..b5e8d801 100644
--- a/mm.c
+++ b/mm.c
@@ -44,6 +44,7 @@
 #include <mini-os/lib.h>
 #include <mini-os/xmalloc.h>
 #include <mini-os/e820.h>
+#include <mini-os/kexec.h>
 
 /*
  * ALLOCATION BITMAP
@@ -503,6 +504,11 @@ void init_mm(void)
     arch_init_mm(&start_pfn, &max_pfn);
     get_max_pages();
 
+#ifdef CONFIG_KEXEC
+    /* To be called after arch_init_mm() and before init_page_allocator(). */
+    kexec_module(start_pfn, max_pfn);
+#endif
+
     /* Now we can initialise the page allocator. */
     init_page_allocator(PFN_PHYS(start_pfn), PFN_PHYS(max_pfn));
     printk("MM: done\n");
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 15 13:33:37 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2025 13:33:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1044232.1414318 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfmr-0007Vd-AV; Tue, 15 Jul 2025 13:33:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1044232.1414318; Tue, 15 Jul 2025 13:33:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfmr-0007VW-7v; Tue, 15 Jul 2025 13:33:37 +0000
Received: by outflank-mailman (input) for mailman id 1044232;
 Tue, 15 Jul 2025 13:33:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7giJ=Z4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ubfje-0000p6-72
 for minios-devel@lists.xenproject.org; Tue, 15 Jul 2025 13:30:18 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d83fed7d-617f-11f0-b894-0df219b8e170;
 Tue, 15 Jul 2025 15:30:16 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 330CC21204;
 Tue, 15 Jul 2025 13:30:16 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id EFE5413A68;
 Tue, 15 Jul 2025 13:30:15 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id jlbmOOdXdmhaNwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 15 Jul 2025 13:30:15 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d83fed7d-617f-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586216; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=0y6tolrzUxQrHWx/8IlHGOKqrdgtUprT6TUKSYQpynQ=;
	b=m4OQMCDEdQ8Q2/LemCbTQ+Gq+C83J+toOJf7ct1vK4rcVkI7bqGrkUoeIk1YIj/fZom61m
	c1DTFC0mJws10bv4Ype5QiArxyxkdmjuN9KaiHnUge2dSt4/CvDBQHAUaS03gblcHJ4l1I
	Z0pH5LfRlpfmi8Z2fMhqBo1EA69WpNA=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=m4OQMCDE
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586216; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=0y6tolrzUxQrHWx/8IlHGOKqrdgtUprT6TUKSYQpynQ=;
	b=m4OQMCDEdQ8Q2/LemCbTQ+Gq+C83J+toOJf7ct1vK4rcVkI7bqGrkUoeIk1YIj/fZom61m
	c1DTFC0mJws10bv4Ype5QiArxyxkdmjuN9KaiHnUge2dSt4/CvDBQHAUaS03gblcHJ4l1I
	Z0pH5LfRlpfmi8Z2fMhqBo1EA69WpNA=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [MINI-OS PATCH v2 06/14] mini-os: config: add support for config items with numerical values
Date: Tue, 15 Jul 2025 15:29:28 +0200
Message-ID: <20250715132936.2798-7-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250715132936.2798-1-jgross@suse.com>
References: <20250715132936.2798-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spam-Flag: NO
X-Rspamd-Queue-Id: 330CC21204
X-Rspamd-Action: no action
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	MIME_TRACE(0.00)[0:+];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	TO_DN_SOME(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	RCPT_COUNT_FIVE(0.00)[5];
	DBL_BLOCKED_OPENRESOLVER(0.00)[config.mk:url,suse.com:dkim,suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo]
X-Spam-Score: -3.01

Add support for a Mini-OS config file containing config items with
numerical values, e.g. CONFIG_FOO=7.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 Config.mk | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Config.mk b/Config.mk
index e2afb1b4..b9675e61 100644
--- a/Config.mk
+++ b/Config.mk
@@ -178,6 +178,7 @@ endif
 # CONFIG-y contains all items defaulting to "y"
 # CONFIG-n contains all items defaulting to "n"
 # CONFIG-x contains all items being calculated if not set explicitly
+# CONFIG-val-y contains all items with numerical values, defaulting to 0
 CONFIG-y += CONFIG_START_NETWORK
 CONFIG-y += CONFIG_SPARSE_BSS
 CONFIG-y += CONFIG_BLKFRONT
@@ -219,6 +220,8 @@ CONFIG-$(lwip) += CONFIG_LWIP
 $(foreach i,$(CONFIG-y),$(eval $(i) ?= y))
 $(foreach i,$(CONFIG-n),$(eval $(i) ?= n))
 
+$(foreach i,$(CONFIG-val-y),$(eval $(i) ?= 0))
+
 CONFIG-x += CONFIG_LIBXS
 CONFIG_LIBXS ?= $(CONFIG_XENBUS)
 
@@ -226,6 +229,7 @@ CONFIG-all := $(CONFIG-y) $(CONFIG-n) $(CONFIG-x)
 
 # Export config items as compiler directives
 $(foreach i,$(CONFIG-all),$(eval DEFINES-$($(i)) += -D$(i)))
+$(foreach i,$(CONFIG-val-y),$(eval DEFINES-y += -D$(i)=$($(i))))
 
 DEFINES-y += -D__XEN_INTERFACE_VERSION__=$(XEN_INTERFACE_VERSION)
 
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 15 13:33:44 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2025 13:33:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1044234.1414322 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfmy-0007cK-CM; Tue, 15 Jul 2025 13:33:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1044234.1414322; Tue, 15 Jul 2025 13:33:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfmy-0007cD-9a; Tue, 15 Jul 2025 13:33:44 +0000
Received: by outflank-mailman (input) for mailman id 1044234;
 Tue, 15 Jul 2025 13:33:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7giJ=Z4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ubfjq-0000p6-As
 for minios-devel@lists.xenproject.org; Tue, 15 Jul 2025 13:30:30 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id deddd23f-617f-11f0-b894-0df219b8e170;
 Tue, 15 Jul 2025 15:30:27 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 7753621204;
 Tue, 15 Jul 2025 13:30:27 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 3E4B413A68;
 Tue, 15 Jul 2025 13:30:27 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id CqNVDfNXdmhuNwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 15 Jul 2025 13:30:27 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: deddd23f-617f-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586227; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=dQG0ZTeiRyc26Tqw3qcZ1Dj3k6IjcIiutErlineQVn4=;
	b=NZ2ORD1YgOxFUDEQktZudNsTB9rkqxzOvgAcbLZzEyNGLXQu53e+b6Je6NJdmPTVcCK1Fg
	xEcWFNL09prPaYlxoLmIDRUjOZxPZIJtYlSH332HGKkHrKg2eMatccnZku4uU/3i8sMEtA
	ZZ9CqEWjqDzOpjrpRhZAZtrKkxBO/l4=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586227; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=dQG0ZTeiRyc26Tqw3qcZ1Dj3k6IjcIiutErlineQVn4=;
	b=NZ2ORD1YgOxFUDEQktZudNsTB9rkqxzOvgAcbLZzEyNGLXQu53e+b6Je6NJdmPTVcCK1Fg
	xEcWFNL09prPaYlxoLmIDRUjOZxPZIJtYlSH332HGKkHrKg2eMatccnZku4uU/3i8sMEtA
	ZZ9CqEWjqDzOpjrpRhZAZtrKkxBO/l4=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [MINI-OS PATCH v2 08/14] kexec: add support for allocating pages from kexec module memory
Date: Tue, 15 Jul 2025 15:29:30 +0200
Message-ID: <20250715132936.2798-9-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250715132936.2798-1-jgross@suse.com>
References: <20250715132936.2798-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:email,suse.com:mid,amd.com:email];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_FIVE(0.00)[5];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Score: -2.80

Add the needed functions for allocating and freeing memory pages of
the kexec module.

As the pages are always related to a kexec module record, add the
related utility functions, too. For now only support adding records
and retrieving them.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
 arch/x86/kexec.c |  16 +++++++
 include/kexec.h  |  52 +++++++++++++++++++++
 kexec.c          | 115 +++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 183 insertions(+)

diff --git a/arch/x86/kexec.c b/arch/x86/kexec.c
index 8c9f8a3c..e48df3f5 100644
--- a/arch/x86/kexec.c
+++ b/arch/x86/kexec.c
@@ -240,6 +240,9 @@ static void get_mod_addr(unsigned long from, unsigned long to)
 #define min(a, b) ((a) < (b) ? (a) : (b))
 void kexec_module(unsigned long start_pfn, unsigned long max_pfn)
 {
+    unsigned int i;
+    char *rec_end;
+
     /* Reuse already existing kexec module. */
     mod_ptr = kexec_check_module();
     if ( !mod_ptr && CONFIG_KEXEC_MODULE_PAGES )
@@ -257,11 +260,24 @@ void kexec_module(unsigned long start_pfn, unsigned long max_pfn)
                sizeof(mod_ptr->eye_catcher));
         mod_ptr->n_pages = CONFIG_KEXEC_MODULE_PAGES - 1;
         memset(mod_ptr->pg2rec, KEXECMOD_PG_FREE, mod_ptr->n_pages);
+        mod_ptr->n_records = 16;
         mod_ptr->recs_off = sizeof(struct kexec_module) +
                             mod_ptr->n_pages + (mod_ptr->n_pages & 1);
 
         set_reserved_range(kexec_mod_start, (unsigned long)mod_ptr + PAGE_SIZE);
     }
+
+    mod_recs = (void *)((unsigned long)mod_ptr + mod_ptr->recs_off);
+    mod_rec_start = (char *)(mod_recs + mod_ptr->n_records);
+    mod_rec_end = mod_rec_start;
+    for ( i = 0; i < mod_ptr->n_records; i++ )
+    {
+        if ( mod_recs[i].type == KEXECMOD_REC_NONE )
+            continue;
+        rec_end = (char *)mod_ptr + mod_recs[i].offset + mod_recs[i].size;
+        if ( mod_rec_end < rec_end )
+            mod_rec_end = rec_end;
+    }
 }
 
 void kexec_set_param_loc(const char *cmdline)
diff --git a/include/kexec.h b/include/kexec.h
index b38a9f54..0e0b1a4d 100644
--- a/include/kexec.h
+++ b/include/kexec.h
@@ -67,6 +67,9 @@ struct kexec_module_rec {
 
 extern unsigned long kexec_mod_start;
 extern struct kexec_module *mod_ptr;
+extern struct kexec_module_rec *mod_recs;
+extern char *mod_rec_start;
+extern char *mod_rec_end;
 
 /* One element of kexec actions (last element must have action KEXEC_CALL): */
 struct kexec_action {
@@ -80,6 +83,17 @@ struct kexec_action {
     void *src;
 };
 
+#ifdef CONFIG_KEXEC
+unsigned long kexec_alloc_mod_pages(unsigned int recid, unsigned int n);
+void kexec_free_mod_pages(unsigned int recid, unsigned long addr,
+                          unsigned int n);
+int kexec_find_mod_record(unsigned int start_idx, unsigned int type,
+                          unsigned int *size);
+int kexec_add_mod_record(unsigned int type, void *addr, unsigned int size);
+int kexec_upd_mod_record(unsigned int idx, unsigned int type,
+                         void *addr, unsigned int size);
+int kexec_read_mod_record(unsigned int idx, void *addr, unsigned int size);
+
 #define KEXEC_MAX_ACTIONS  16
 
 extern char _kexec_start[], _kexec_end[];
@@ -129,4 +143,42 @@ void kexec_move_used_pages_undo(void);
 /* Check for kexec module and create kexec memory if needed. */
 void kexec_module(unsigned long start_pfn, unsigned long max_pfn);
 
+#else /* CONFIG_KEXEC */
+static inline unsigned long kexec_alloc_mod_pages(unsigned int recid,
+                                                  unsigned int n)
+{
+    return 0;
+}
+
+static inline void kexec_free_mod_pages(unsigned int recid, unsigned long addr,
+                                        unsigned int n)
+{
+}
+
+static inline int kexec_find_mod_record(unsigned int start_idx,
+                                        unsigned int type, unsigned int *size)
+{
+    return 0;
+}
+
+static inline int kexec_add_mod_record(unsigned int type, void *addr,
+                                       unsigned int size)
+{
+    return 0;
+}
+
+static inline int kexec_upd_mod_record(unsigned int idx, unsigned int type,
+                                       void *addr, unsigned int size)
+{
+    return 0;
+}
+
+static inline int kexec_read_mod_record(unsigned int idx, void *addr,
+                                        unsigned int size)
+{
+    return 0;
+}
+
+#endif
+
 #endif /* _KEXEC_H */
diff --git a/kexec.c b/kexec.c
index ded29882..f17ed13d 100644
--- a/kexec.c
+++ b/kexec.c
@@ -253,3 +253,118 @@ int kexec_add_action(int action, void *dest, void *src, unsigned int len)
 
 unsigned long kexec_mod_start;
 struct kexec_module *mod_ptr;
+struct kexec_module_rec *mod_recs;
+char *mod_rec_start;
+char *mod_rec_end;
+
+unsigned long kexec_alloc_mod_pages(unsigned int recid, unsigned int n)
+{
+    unsigned int first = 0, i;
+
+    for ( i = 0; i < mod_ptr->n_pages; i++ )
+    {
+        if ( i - first == n - 1 )
+        {
+            for ( i = 0; i < n; i++ )
+                mod_ptr->pg2rec[first + i] = recid;
+
+            return kexec_mod_start + PFN_PHYS(first);
+        }
+
+        if ( mod_ptr->pg2rec[i] != KEXECMOD_PG_FREE )
+            first = i + 1;
+    }
+
+    printk("Kexec module out of memory\n");
+    BUG();
+}
+
+void kexec_free_mod_pages(unsigned int recid, unsigned long addr,
+                          unsigned int n)
+{
+    unsigned int s = PHYS_PFN(addr - kexec_mod_start);
+    unsigned int i;
+
+    BUG_ON(addr < kexec_mod_start ||
+           addr + PFN_PHYS(n) > (unsigned long)mod_ptr);
+
+    for ( i = 0; i < n; i++ )
+    {
+        BUG_ON(mod_ptr->pg2rec[s + i] != recid);
+        mod_ptr->pg2rec[s + i] = KEXECMOD_PG_FREE;
+    }
+}
+
+int kexec_find_mod_record(unsigned int start_idx, unsigned int type,
+                          unsigned int *size)
+{
+    unsigned int i;
+
+    for ( i = start_idx; i < mod_ptr->n_records; i++ )
+    {
+        if ( mod_recs[i].type == type )
+        {
+            *size = mod_recs[i].size;
+            return i;
+        }
+    }
+
+    return -ENOENT;
+}
+
+int kexec_add_mod_record(unsigned int type, void *addr, unsigned int size)
+{
+    unsigned int i;
+
+    if ( mod_rec_end + size > (char *)mod_ptr + PAGE_SIZE )
+    {
+        /* TODO: support compressing record space. */
+        printk("Kexec module record space exhausted\n");
+        BUG();
+    }
+
+    for ( i = 0; i < mod_ptr->n_records; i++ )
+    {
+        if ( mod_recs[i].type == KEXECMOD_REC_NONE )
+        {
+            mod_recs[i].offset = mod_rec_end - (char *)mod_ptr;
+            mod_recs[i].type = type;
+            mod_recs[i].size = size;
+            memcpy(mod_rec_end, addr, size);
+            mod_rec_end = mod_rec_end + size;
+
+            return i;
+        }
+    }
+
+    /* TODO: support extending the mod_recs[] table. */
+    printk("Kexec module record table exhausted\n");
+    BUG();
+}
+
+int kexec_upd_mod_record(unsigned int idx, unsigned int type,
+                         void *addr, unsigned int size)
+{
+    if ( idx >= mod_ptr->n_records )
+        return -ENOENT;
+
+    if ( mod_recs[idx].type != type || mod_recs[idx].size != size )
+        return -EINVAL;
+
+    memcpy((char *)mod_ptr + mod_recs[idx].offset, addr, size);
+
+    return 0;
+}
+
+int kexec_read_mod_record(unsigned int idx, void *addr, unsigned int size)
+{
+    if ( idx >= mod_ptr->n_records )
+        return -ENOENT;
+
+    if ( mod_recs[idx].size != size )
+        return -EINVAL;
+
+    memcpy(addr, (char *)mod_ptr + mod_recs[idx].offset, size);
+
+    return 0;
+}
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 15 13:41:09 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2025 13:41:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1044280.1414346 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfu8-00025H-Gj; Tue, 15 Jul 2025 13:41:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1044280.1414346; Tue, 15 Jul 2025 13:41:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfu8-00025A-EC; Tue, 15 Jul 2025 13:41:08 +0000
Received: by outflank-mailman (input) for mailman id 1044280;
 Tue, 15 Jul 2025 13:41:07 +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 <SRS0=7giJ=Z4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ubfkN-00013q-HL
 for minios-devel@lists.xenproject.org; Tue, 15 Jul 2025 13:31:03 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f2f57b24-617f-11f0-a319-13f23c93f187;
 Tue, 15 Jul 2025 15:31:01 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 30B7F1F452;
 Tue, 15 Jul 2025 13:31:01 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id E71F813A68;
 Tue, 15 Jul 2025 13:31:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id eCz4NhRYdmjFNwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 15 Jul 2025 13:31:00 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f2f57b24-617f-11f0-a319-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586261; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=k9Ov6pkpfp6346PXkACunqlof0M0Xfob950IWGq5/2o=;
	b=GZgJlpoCBy+rYCDCt4IbafXbgqpl7nET9XN3Z8IvzapYnhSQIfRN7P7X0t8ca0gaKPQjI8
	FbQoTHshPOX6mKwlzmIesG3LbhPVl8eSDNCf6oCv17uUGZs3ghCQfRt6jbVWFTXcK7QjJc
	CYAoE4PphUscjM2FCT5hCV9SxiNLZao=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586261; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=k9Ov6pkpfp6346PXkACunqlof0M0Xfob950IWGq5/2o=;
	b=GZgJlpoCBy+rYCDCt4IbafXbgqpl7nET9XN3Z8IvzapYnhSQIfRN7P7X0t8ca0gaKPQjI8
	FbQoTHshPOX6mKwlzmIesG3LbhPVl8eSDNCf6oCv17uUGZs3ghCQfRt6jbVWFTXcK7QjJc
	CYAoE4PphUscjM2FCT5hCV9SxiNLZao=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [MINI-OS PATCH v2 14/14] events: export bind_evtchn()
Date: Tue, 15 Jul 2025 15:29:36 +0200
Message-ID: <20250715132936.2798-15-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250715132936.2798-1-jgross@suse.com>
References: <20250715132936.2798-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	RCVD_COUNT_TWO(0.00)[2];
	TO_DN_SOME(0.00)[];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	RCPT_COUNT_FIVE(0.00)[5];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo,amd.com:email]
X-Spam-Flag: NO
X-Spam-Level: 
X-Spam-Score: -2.80

Export the bind_evtchn() function, as it will be needed for
reactivating events after kexec().

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
 events.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/events.c b/events.c
index 9f3dbf05..a9c1ccac 100644
--- a/events.c
+++ b/events.c
@@ -98,6 +98,7 @@ evtchn_port_t bind_evtchn(evtchn_port_t port, evtchn_handler_t handler,
 
 	return port;
 }
+EXPORT_SYMBOL(bind_evtchn);
 
 void unbind_evtchn(evtchn_port_t port )
 {
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 15 13:41:28 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2025 13:41:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1044288.1414361 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfuS-0002Yy-PD; Tue, 15 Jul 2025 13:41:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1044288.1414361; Tue, 15 Jul 2025 13:41:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfuS-0002Yr-MF; Tue, 15 Jul 2025 13:41:28 +0000
Received: by outflank-mailman (input) for mailman id 1044288;
 Tue, 15 Jul 2025 13:41:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7giJ=Z4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ubfk7-0000p6-4J
 for minios-devel@lists.xenproject.org; Tue, 15 Jul 2025 13:30:47 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e8ecb77d-617f-11f0-b894-0df219b8e170;
 Tue, 15 Jul 2025 15:30:44 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 4D18721239;
 Tue, 15 Jul 2025 13:30:44 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 1D93113A68;
 Tue, 15 Jul 2025 13:30:44 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id KgO3BQRYdmiXNwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 15 Jul 2025 13:30:44 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8ecb77d-617f-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586244; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=GLfH1LKxnn3oOigKVk3XV6ShMXvMzS6b7PXnQ2kQXXs=;
	b=p/7QFB4nJJxHcGoO0p90ZsKb8AQ/FSSiNolqN547AV75koHJ6BbNHONl0s8FKPY8SE2pJD
	2BInMhZvaBE+aSacd8h0k1od6iUxKwCLJ/txB40uX9bJu7NlItJIxT4LUX/UreB545gOq+
	MQdF0loPTarsPNO7ErzDs6qoyH05vL0=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b="p/7QFB4n"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586244; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=GLfH1LKxnn3oOigKVk3XV6ShMXvMzS6b7PXnQ2kQXXs=;
	b=p/7QFB4nJJxHcGoO0p90ZsKb8AQ/FSSiNolqN547AV75koHJ6BbNHONl0s8FKPY8SE2pJD
	2BInMhZvaBE+aSacd8h0k1od6iUxKwCLJ/txB40uX9bJu7NlItJIxT4LUX/UreB545gOq+
	MQdF0loPTarsPNO7ErzDs6qoyH05vL0=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [MINI-OS PATCH v2 11/14] gnttab: remove gnttab_alloc_and_grant() function
Date: Tue, 15 Jul 2025 15:29:33 +0200
Message-ID: <20250715132936.2798-12-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250715132936.2798-1-jgross@suse.com>
References: <20250715132936.2798-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	MIME_TRACE(0.00)[0:+];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	TO_DN_SOME(0.00)[];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	RCPT_COUNT_FIVE(0.00)[5];
	DBL_BLOCKED_OPENRESOLVER(0.00)[amd.com:email,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.com:mid,suse.com:dkim,suse.com:email]
X-Spam-Flag: NO
X-Spam-Level: 
X-Rspamd-Queue-Id: 4D18721239
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -3.01

The last user of gnttab_alloc_and_grant() is gone.

Remove gnttab_alloc_and_grant() as it is doing more harm than good.
It is hard coded to only grant access for dom0, which is not really
clear from looking at the function name. It would be possible to add
a domid parameter, but given its now 0 users, there doesn't seem to be
a real demand for that function.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
 gnttab.c         | 13 -------------
 include/gnttab.h |  1 -
 2 files changed, 14 deletions(-)

diff --git a/gnttab.c b/gnttab.c
index 5b04ab01..6bac0905 100644
--- a/gnttab.c
+++ b/gnttab.c
@@ -149,19 +149,6 @@ gnttab_end_transfer(grant_ref_t ref)
 }
 EXPORT_SYMBOL(gnttab_end_transfer);
 
-grant_ref_t
-gnttab_alloc_and_grant(void **map)
-{
-    unsigned long mfn;
-    grant_ref_t gref;
-
-    *map = (void *)alloc_page();
-    mfn = virt_to_mfn(*map);
-    gref = gnttab_grant_access(0, mfn, 0);
-    return gref;
-}
-EXPORT_SYMBOL(gnttab_alloc_and_grant);
-
 static const char * const gnttabop_error_msgs[] = GNTTABOP_error_msgs;
 
 const char *
diff --git a/include/gnttab.h b/include/gnttab.h
index 974cb89d..108c4425 100644
--- a/include/gnttab.h
+++ b/include/gnttab.h
@@ -4,7 +4,6 @@
 #include <xen/grant_table.h>
 
 void init_gnttab(void);
-grant_ref_t gnttab_alloc_and_grant(void **map);
 grant_ref_t gnttab_grant_access(domid_t domid, unsigned long frame,
 				int readonly);
 grant_ref_t gnttab_grant_transfer(domid_t domid, unsigned long pfn);
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 15 13:42:19 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2025 13:42:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1044301.1414374 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfvH-0003ID-1w; Tue, 15 Jul 2025 13:42:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1044301.1414374; Tue, 15 Jul 2025 13:42:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfvG-0003I9-Vh; Tue, 15 Jul 2025 13:42:18 +0000
Received: by outflank-mailman (input) for mailman id 1044301;
 Tue, 15 Jul 2025 13:42:18 +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 <SRS0=7giJ=Z4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ubfkJ-00013q-FN
 for minios-devel@lists.xenproject.org; Tue, 15 Jul 2025 13:30:59 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f03252cd-617f-11f0-a319-13f23c93f187;
 Tue, 15 Jul 2025 15:30:56 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 843B721204;
 Tue, 15 Jul 2025 13:30:55 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 55E4913A68;
 Tue, 15 Jul 2025 13:30:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id SpCUEw9Ydmi4NwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 15 Jul 2025 13:30:55 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f03252cd-617f-11f0-a319-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586256; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=hRAM08+RsDuhPyXv0NnzQdGBRwKZEE1NwpnhwhZY1kI=;
	b=czyLtKC/4apootecF9icytHIoHa0Kv34P32ozcD39gFmaWi9oa7P8kVXqhtg5P/vK0WoXW
	yw8tsOZWIrBoB/Gp8LH3zGLH9HYPJLryzaEA8cXc1SePVGfZczy8NHEX/cbda23ggz3SOg
	VkDBlxcW5jJCBc9R9Cc/Yc1ovRlEAIY=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=ogtWD3F3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586255; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=hRAM08+RsDuhPyXv0NnzQdGBRwKZEE1NwpnhwhZY1kI=;
	b=ogtWD3F3SCbMTuMQPElx1+pug0hrUlsNm8lu/XlSrCBsqlohAQCCl4R4pVdL/YTY8VhzWC
	NJYI4LUBwvWxUZwQ739YLAPfX0F7fCxN80DTSsXCMs9Pt6F84UwYOI0G39zjHKdi+3Sr9W
	96Eb5dF2Do1G4Dn950Cm2AKXdiz4Re0=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [MINI-OS PATCH v2 13/14] 9pfs: add support to keep device opened across kexec
Date: Tue, 15 Jul 2025 15:29:35 +0200
Message-ID: <20250715132936.2798-14-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250715132936.2798-1-jgross@suse.com>
References: <20250715132936.2798-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spam-Flag: NO
X-Rspamd-Queue-Id: 843B721204
X-Rspamd-Action: no action
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	MIME_TRACE(0.00)[0:+];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	TO_DN_SOME(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	RCPT_COUNT_FIVE(0.00)[5];
	DBL_BLOCKED_OPENRESOLVER(0.00)[amd.com:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.com:dkim,suse.com:mid,suse.com:email]
X-Spam-Score: -3.01

In order to support Xenstore-stubdom live update, the 9pfs device used
to save and restore the Xenstore state needs to be kept open across
kexec, as otherwise re-opening of the device using the new kernel
would not work (this would require Xenstore to be active, which is
obviously not possible before having read the saved state).

Add an alternative init function for a 9pfs device supporting to take
the configuration from the kexec module instead of Xenstore. Add
support for creating the device using the kexec module, too.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
 9pfront.c         | 120 +++++++++++++++++++++++++++++++++++++++++-----
 include/9pfront.h |   9 ++++
 include/kexec.h   |   1 +
 3 files changed, 117 insertions(+), 13 deletions(-)

diff --git a/9pfront.c b/9pfront.c
index 8da2f726..b3106d13 100644
--- a/9pfront.c
+++ b/9pfront.c
@@ -8,6 +8,7 @@
 #include <mini-os/events.h>
 #include <mini-os/fcntl.h>
 #include <mini-os/gnttab.h>
+#include <mini-os/kexec.h>
 #include <mini-os/semaphore.h>
 #include <mini-os/wait.h>
 #include <mini-os/xenbus.h>
@@ -26,6 +27,7 @@ struct dev_9pfs {
     unsigned int dom;
     char *backend;
     char bepath[64];
+    bool kexecmem;
 
     char *tag;
     const char *mnt;
@@ -58,6 +60,13 @@ struct dev_9pfs {
     unsigned long long fid_mask;              /* Bit mask for free fids. */
 };
 
+struct kexec_9pfs_rec {
+    grant_ref_t ring_ref;
+    evtchn_port_t evtchn;
+    RING_IDX prod_pvt_out;
+    RING_IDX cons_pvt_in;
+};
+
 struct file_9pfs {
     uint32_t fid;
     struct dev_9pfs *dev;
@@ -898,7 +907,7 @@ static bool path_canonical(const char *pathname)
     return true;
 }
 
-static int connect_9pfs(struct dev_9pfs *dev)
+static int connect_9pfs(struct dev_9pfs *dev, bool do_attach)
 {
     int ret;
 
@@ -906,7 +915,7 @@ static int connect_9pfs(struct dev_9pfs *dev)
     if ( ret )
         return ret;
 
-    return p9_attach(dev);
+    return do_attach ? p9_attach(dev) : 0;
 }
 
 static void intr_9pfs(evtchn_port_t port, struct pt_regs *regs, void *data)
@@ -1079,6 +1088,9 @@ static int open_9pfs(struct mount_point *mnt, const char *pathname, int flags,
     return -1;
 }
 
+static int kexec_recid = -1;
+static struct dev_9pfs *kexec_dev;
+
 static void free_9pfront(struct dev_9pfs *dev)
 {
     unsigned int i;
@@ -1087,13 +1099,22 @@ static void free_9pfront(struct dev_9pfs *dev)
     {
         for ( i = 0; i < (1 << dev->ring_order); i++ )
             gnttab_end_access(dev->intf->ref[i]);
-        free_pages(dev->data.in, dev->ring_order);
+        if ( dev->kexecmem )
+            kexec_free_mod_pages(kexec_recid, (unsigned long)dev->data.in,
+                                 1 << dev->ring_order);
+        else
+            free_pages(dev->data.in, dev->ring_order);
     }
     unbind_evtchn(dev->evtchn);
     gnttab_end_access(dev->ring_ref);
-    free_page(dev->intf);
+    if ( dev->kexecmem )
+        kexec_free_mod_pages(kexec_recid, (unsigned long)dev->intf, 1);
+    else
+        free_page(dev->intf);
     free(dev->backend);
     free(dev->tag);
+    if ( dev == kexec_dev )
+        kexec_dev = NULL;
     free(dev);
 }
 
@@ -1111,7 +1132,7 @@ static bool issue_err(struct dev_9pfs *dev, char *msg, char *reason)
     return false;
 }
 
-static bool read_config_xs(struct dev_9pfs *dev)
+static bool read_config_xs(struct dev_9pfs *dev, struct kexec_9pfs_rec *rec)
 {
     char *msg;
     char *reason = "";
@@ -1121,7 +1142,9 @@ static bool read_config_xs(struct dev_9pfs *dev)
     char *v;
     void *addr;
     unsigned int i;
+    unsigned int n_pages;
     int retry = 1;
+    int err;
 
     msg = xenbus_read_unsigned(XBT_NIL, dev->nodename, "backend-id", &dev->dom);
     if ( msg )
@@ -1177,7 +1200,9 @@ static bool read_config_xs(struct dev_9pfs *dev)
         return issue_err(dev, msg, reason);
     }
 
-    dev->intf = (void *)alloc_page();
+    dev->intf = (void *)(dev->kexecmem
+                         ? kexec_alloc_mod_pages(kexec_recid, 1)
+                         : alloc_page());
     if ( !dev->intf )
     {
         reason = "couldn't allocate shared interface page";
@@ -1191,14 +1216,17 @@ static bool read_config_xs(struct dev_9pfs *dev)
         return issue_err(dev, msg, reason);
     }
     dev->intf->ring_order = dev->ring_order;
-    dev->data.in = (void *)alloc_pages(dev->ring_order);
+    n_pages = 1 << dev->ring_order;
+    dev->data.in = (void *)(dev->kexecmem
+                            ? kexec_alloc_mod_pages(kexec_recid, n_pages)
+                            : alloc_pages(dev->ring_order));
     if ( !dev->data.in )
     {
         reason = "couldn't allocate ring pages";
         return issue_err(dev, msg, reason);
     }
     dev->data.out = dev->data.in + XEN_FLEX_RING_SIZE(dev->ring_order);
-    for ( i = 0; i < (1 << dev->ring_order); i++ )
+    for ( i = 0; i < n_pages; i++ )
     {
         addr = dev->data.in + i * PAGE_SIZE;
         dev->intf->ref[i] = gnttab_grant_access(dev->dom, virt_to_mfn(addr), 0);
@@ -1256,18 +1284,65 @@ static bool read_config_xs(struct dev_9pfs *dev)
     if ( msg )
         return issue_err(dev, msg, reason);
 
+    if ( dev->kexecmem )
+    {
+        rec->ring_ref = dev->ring_ref;
+        rec->evtchn = dev->evtchn;
+        err = kexec_upd_mod_record(kexec_recid, KEXECMOD_REC_9PFS, rec,
+                                   sizeof(*rec));
+        BUG_ON(err);
+    }
+
     return true;
 }
 
-void *init_9pfront(unsigned int id, const char *mnt)
+#ifdef CONFIG_KEXEC
+static int kexec_9pfront(bool undo)
+{
+    struct kexec_9pfs_rec rec;
+
+    if ( kexec_recid < 0 || !kexec_dev || undo )
+        return 0;
+
+    kexec_read_mod_record(kexec_recid, &rec, sizeof(rec));
+    rec.prod_pvt_out = kexec_dev->prod_pvt_out;
+    rec.cons_pvt_in = kexec_dev->cons_pvt_in;
+    kexec_upd_mod_record(kexec_recid, KEXECMOD_REC_9PFS, &rec, sizeof(rec));
+
+    return 0;
+}
+kexec_call(kexec_9pfront);
+#endif
+
+static void read_config_kexec(struct dev_9pfs *dev, struct kexec_9pfs_rec *rec)
+{
+    dev->ring_ref = rec->ring_ref;
+    dev->evtchn = rec->evtchn;
+    dev->prod_pvt_out = rec->prod_pvt_out;
+    dev->cons_pvt_in = rec->cons_pvt_in;
+
+    dev->intf = gnttab_get_addr(dev->ring_ref);
+    dev->ring_order = dev->intf->ring_order;
+    dev->data.in = gnttab_get_addr(dev->intf->ref[0]);
+    dev->data.out = dev->data.in + XEN_FLEX_RING_SIZE(dev->ring_order);
+
+    bind_evtchn(dev->evtchn, intr_9pfs, dev);
+}
+
+void *init_9pfront2(unsigned int id, const char *mnt, unsigned int flags)
 {
     struct dev_9pfs *dev;
     char *reason = "";
     unsigned int i;
+    struct kexec_9pfs_rec record = { };
+    unsigned int rec_size;
 
-    printk("9pfsfront add %u, for mount at %s\n", id, mnt);
+    printk("9pfsfront add %u, for mount at %s, flags %x\n", id, mnt, flags);
     dev = malloc(sizeof(*dev));
     memset(dev, 0, sizeof(*dev));
+    dev->kexecmem = flags & (INIT9P_FLAG_KEXEC | INIT9P_FLAG_REINIT);
+    if ( dev->kexecmem )
+        kexec_dev = dev;
     snprintf(dev->nodename, sizeof(dev->nodename), "device/9pfs/%u", id);
     dev->id = id;
     init_waitqueue_head(&dev->waitq);
@@ -1282,12 +1357,25 @@ void *init_9pfront(unsigned int id, const char *mnt)
     }
     dev->free_reqs = 0;
 
-    if ( !read_config_xs(dev) )
-        goto err_out;
+    if ( !(flags & INIT9P_FLAG_REINIT) )
+    {
+        if ( dev->kexecmem )
+            kexec_recid = kexec_add_mod_record(KEXECMOD_REC_9PFS, &record,
+                                               sizeof(record));
+        if ( !read_config_xs(dev, &record) )
+            goto err_out;
+    }
+    else
+    {
+        kexec_recid = kexec_find_mod_record(0, KEXECMOD_REC_9PFS, &rec_size);
+        BUG_ON(kexec_recid < 0 || rec_size != sizeof(record));
+        kexec_read_mod_record(kexec_recid, &record, rec_size);
+        read_config_kexec(dev, &record);
+    }
 
     unmask_evtchn(dev->evtchn);
 
-    if ( connect_9pfs(dev) )
+    if ( connect_9pfs(dev, !(flags & INIT9P_FLAG_REINIT)) )
     {
         reason = "9pfs connect failed";
         goto err;
@@ -1309,6 +1397,12 @@ void *init_9pfront(unsigned int id, const char *mnt)
     free_9pfront(dev);
     return NULL;
 }
+EXPORT_SYMBOL(init_9pfront2);
+
+void *init_9pfront(unsigned int id, const char *mnt)
+{
+    return init_9pfront2(id, mnt, 0);
+}
 EXPORT_SYMBOL(init_9pfront);
 
 void shutdown_9pfront(void *dev)
diff --git a/include/9pfront.h b/include/9pfront.h
index 722ec564..a0cb5487 100644
--- a/include/9pfront.h
+++ b/include/9pfront.h
@@ -2,6 +2,15 @@
 #define __9PFRONT_H__
 
 void *init_9pfront(unsigned int id, const char *mnt);
+void *init_9pfront2(unsigned int id, const char *mnt, unsigned int flags);
+#ifdef CONFIG_KEXEC
+#define INIT9P_FLAG_REINIT 0x01      /* Reinit with data from kexec module. */
+#define INIT9P_FLAG_KEXEC  0x02      /* Use kexec module for interface. */
+#else
+#define INIT9P_FLAG_REINIT 0
+#define INIT9P_FLAG_KEXEC  0
+#endif
+
 void shutdown_9pfront(void *dev);
 
 #endif /* __9PFRONT_H__ */
diff --git a/include/kexec.h b/include/kexec.h
index 0e0b1a4d..93dd9498 100644
--- a/include/kexec.h
+++ b/include/kexec.h
@@ -62,6 +62,7 @@ struct kexec_module_rec {
     uint16_t offset;        /* Offset to record from start of page.          */
     uint8_t type;           /* Type of record.                               */
 #define KEXECMOD_REC_NONE   0
+#define KEXECMOD_REC_9PFS   1
     uint8_t size;           /* Size of record.                               */
 };
 
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 15 13:43:04 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2025 13:43:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1044315.1414389 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfw0-00046P-DA; Tue, 15 Jul 2025 13:43:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1044315.1414389; Tue, 15 Jul 2025 13:43:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfw0-00046I-9m; Tue, 15 Jul 2025 13:43:04 +0000
Received: by outflank-mailman (input) for mailman id 1044315;
 Tue, 15 Jul 2025 13:43:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7giJ=Z4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ubfkB-0000p6-P3
 for minios-devel@lists.xenproject.org; Tue, 15 Jul 2025 13:30:51 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec4db83d-617f-11f0-b894-0df219b8e170;
 Tue, 15 Jul 2025 15:30:50 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id E34731F7C8;
 Tue, 15 Jul 2025 13:30:49 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id B18BE13A68;
 Tue, 15 Jul 2025 13:30:49 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id jdP5KQlYdmihNwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 15 Jul 2025 13:30:49 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec4db83d-617f-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586249; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=qDdBMgPeFsba0l0VzAB0puq0dCuMoWTPG49f+ImrdcA=;
	b=LmdRnlhEs6TXrS+snNhPQYHPcF+kgZ2u3X1P+LE40RH8d7w/IPWOzdynZX4LktCkzywV1s
	bVsnTLEgf3G9aDTBI7zFT4zmDMKS90Xhz41fVTCv0VxTuSjKzwseEdEyQ/yuQMTeXZJRdX
	Fwx5jZZeZWDTKYresiqaiqCzkipp5/8=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586249; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=qDdBMgPeFsba0l0VzAB0puq0dCuMoWTPG49f+ImrdcA=;
	b=LmdRnlhEs6TXrS+snNhPQYHPcF+kgZ2u3X1P+LE40RH8d7w/IPWOzdynZX4LktCkzywV1s
	bVsnTLEgf3G9aDTBI7zFT4zmDMKS90Xhz41fVTCv0VxTuSjKzwseEdEyQ/yuQMTeXZJRdX
	Fwx5jZZeZWDTKYresiqaiqCzkipp5/8=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [MINI-OS PATCH v2 12/14] gnttab: add function to obtain memory address from grantref
Date: Tue, 15 Jul 2025 15:29:34 +0200
Message-ID: <20250715132936.2798-13-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250715132936.2798-1-jgross@suse.com>
References: <20250715132936.2798-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[amd.com:email,imap1.dmz-prg2.suse.org:helo,suse.com:email,suse.com:mid];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_FIVE(0.00)[5];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Score: -2.80

Add a new function gnttab_get_addr() to obtain a memory pointer for a
given grant reference.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
 gnttab.c         | 10 ++++++++++
 include/gnttab.h |  1 +
 2 files changed, 11 insertions(+)

diff --git a/gnttab.c b/gnttab.c
index 6bac0905..52d6792a 100644
--- a/gnttab.c
+++ b/gnttab.c
@@ -149,6 +149,16 @@ gnttab_end_transfer(grant_ref_t ref)
 }
 EXPORT_SYMBOL(gnttab_end_transfer);
 
+void *gnttab_get_addr(grant_ref_t ref)
+{
+    BUG_ON(ref >= NR_GRANT_ENTRIES || ref < NR_RESERVED_ENTRIES);
+
+    if ( !gnttab_table[ref].flags )
+        return NULL;
+
+    return mfn_to_virt(gnttab_table[ref].frame);
+}
+
 static const char * const gnttabop_error_msgs[] = GNTTABOP_error_msgs;
 
 const char *
diff --git a/include/gnttab.h b/include/gnttab.h
index 108c4425..46e72a36 100644
--- a/include/gnttab.h
+++ b/include/gnttab.h
@@ -9,6 +9,7 @@ grant_ref_t gnttab_grant_access(domid_t domid, unsigned long frame,
 grant_ref_t gnttab_grant_transfer(domid_t domid, unsigned long pfn);
 unsigned long gnttab_end_transfer(grant_ref_t gref);
 int gnttab_end_access(grant_ref_t ref);
+void *gnttab_get_addr(grant_ref_t ref);
 const char *gnttabop_error(int16_t status);
 void fini_gnttab(void);
 void suspend_gnttab(void);
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 15 13:47:05 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2025 13:47:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1044378.1414483 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfzt-0001Hq-2O; Tue, 15 Jul 2025 13:47:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1044378.1414483; Tue, 15 Jul 2025 13:47:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubfzs-0001Hi-Vr; Tue, 15 Jul 2025 13:47:04 +0000
Received: by outflank-mailman (input) for mailman id 1044378;
 Tue, 15 Jul 2025 13:47:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7giJ=Z4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ubfk0-0000p6-LT
 for minios-devel@lists.xenproject.org; Tue, 15 Jul 2025 13:30:40 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e599e9a1-617f-11f0-b894-0df219b8e170;
 Tue, 15 Jul 2025 15:30:39 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id B39C71F397;
 Tue, 15 Jul 2025 13:30:38 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 806B713A68;
 Tue, 15 Jul 2025 13:30:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id lObKHf5XdmiMNwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 15 Jul 2025 13:30:38 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e599e9a1-617f-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586238; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=38MURIeQcvW07nQrk81rmZlwZXuyDK1rVnhs1KCrhZU=;
	b=c1vpseNsi/SwDGMMkhljgTGs3AMj5ICaSrIboJX8YcQ0pIvkoSY80isEOnycFVXnUV0x5N
	wpQ3RWLmXMcy4Q/JQ5mCJwsRiwDxK8mh/pFCkFIOL42lWO2O2pWcD1lyydM5BBsktH+0HR
	PlEGu0dVgqBoPdkzW2wG+C8u193crjs=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1752586238; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=38MURIeQcvW07nQrk81rmZlwZXuyDK1rVnhs1KCrhZU=;
	b=c1vpseNsi/SwDGMMkhljgTGs3AMj5ICaSrIboJX8YcQ0pIvkoSY80isEOnycFVXnUV0x5N
	wpQ3RWLmXMcy4Q/JQ5mCJwsRiwDxK8mh/pFCkFIOL42lWO2O2pWcD1lyydM5BBsktH+0HR
	PlEGu0dVgqBoPdkzW2wG+C8u193crjs=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [MINI-OS PATCH v2 10/14] 9pfs: refactor init_9pfront()
Date: Tue, 15 Jul 2025 15:29:32 +0200
Message-ID: <20250715132936.2798-11-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250715132936.2798-1-jgross@suse.com>
References: <20250715132936.2798-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:mid,suse.com:email,amd.com:email];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_FIVE(0.00)[5];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Level: 
X-Spam-Score: -2.80

Move the Xenstore and backend interface related handling into a
sub-function in order to prepare supporting reconnecting to an active
9pfs device after kexec.

Don't use gnttab_alloc_and_grant(), as this will hard code to use dom0
as backend.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
---
 9pfront.c | 136 ++++++++++++++++++++++++++++++++++--------------------
 1 file changed, 86 insertions(+), 50 deletions(-)

diff --git a/9pfront.c b/9pfront.c
index 2bfc49b1..8da2f726 100644
--- a/9pfront.c
+++ b/9pfront.c
@@ -1097,68 +1097,65 @@ static void free_9pfront(struct dev_9pfs *dev)
     free(dev);
 }
 
-void *init_9pfront(unsigned int id, const char *mnt)
+static bool issue_err(struct dev_9pfs *dev, char *msg, char *reason)
+{
+    if ( msg )
+    {
+        printk("9pfsfront add %u failed, error %s accessing Xenstore\n",
+               dev->id, msg);
+        free(msg);
+    }
+    else
+        printk("9pfsfront add %u failed, %s\n", dev->id, reason);
+
+    return false;
+}
+
+static bool read_config_xs(struct dev_9pfs *dev)
 {
-    struct dev_9pfs *dev;
     char *msg;
     char *reason = "";
-    xenbus_transaction_t xbt;
-    int retry = 1;
     XenbusState state;
-    unsigned int i;
-    void *addr;
+    xenbus_transaction_t xbt;
     char *version;
     char *v;
-
-    printk("9pfsfront add %u, for mount at %s\n", id, mnt);
-    dev = malloc(sizeof(*dev));
-    memset(dev, 0, sizeof(*dev));
-    snprintf(dev->nodename, sizeof(dev->nodename), "device/9pfs/%u", id);
-    dev->id = id;
-    init_waitqueue_head(&dev->waitq);
-    init_SEMAPHORE(&dev->ring_out_sem, 1);
-    init_SEMAPHORE(&dev->ring_in_sem, 1);
-    dev->fid_mask = ~0ULL;
-
-    for ( i = 0; i < N_REQS; i++ )
-    {
-        dev->req[i].id = i;
-        dev->req[i].next_free = i + 1;
-    }
-    dev->free_reqs = 0;
+    void *addr;
+    unsigned int i;
+    int retry = 1;
 
     msg = xenbus_read_unsigned(XBT_NIL, dev->nodename, "backend-id", &dev->dom);
     if ( msg )
-        goto err;
+        return issue_err(dev, msg, reason);
     msg = xenbus_read_string(XBT_NIL, dev->nodename, "backend", &dev->backend);
     if ( msg )
-        goto err;
+        return issue_err(dev, msg, reason);
     msg = xenbus_read_string(XBT_NIL, dev->nodename, "tag", &dev->tag);
     if ( msg )
-        goto err;
+        return issue_err(dev, msg, reason);
 
     snprintf(dev->bepath, sizeof(dev->bepath), "%s/state", dev->backend);
     free(xenbus_watch_path_token(XBT_NIL, dev->bepath, dev->bepath,
                                  &dev->events));
+
     state = xenbus_read_integer(dev->bepath);
     while ( msg == NULL && state < XenbusStateInitWait )
         msg = xenbus_wait_for_state_change(dev->bepath, &state, &dev->events);
     if ( msg || state != XenbusStateInitWait )
     {
         reason = "illegal backend state";
-        goto err;
+        return issue_err(dev, msg, reason);
     }
 
     msg = xenbus_read_unsigned(XBT_NIL, dev->backend, "max-ring-page-order",
                                &dev->ring_order);
     if ( msg )
-        goto err;
+        return issue_err(dev, msg, reason);
     if ( dev->ring_order > DEFAULT_9PFS_RING_ORDER )
         dev->ring_order = DEFAULT_9PFS_RING_ORDER;
 
     msg = xenbus_read_string(XBT_NIL, dev->backend, "versions", &version);
     if ( msg )
-        goto err;
+        return issue_err(dev, msg, reason);
     for ( v = version; *v; v++ )
     {
         if ( strtoul(v, &v, 10) == 1 && (*v == ',' || *v == 0) )
@@ -1170,25 +1167,36 @@ void *init_9pfront(unsigned int id, const char *mnt)
         {
             reason = "backend published illegal version string";
             free(version);
-            goto err;
+            return issue_err(dev, msg, reason);
         }
     }
     free(version);
     if ( v )
     {
         reason = "backend doesn't support version 1";
-        goto err;
+        return issue_err(dev, msg, reason);
     }
 
-    dev->ring_ref = gnttab_alloc_and_grant((void **)&dev->intf);
+    dev->intf = (void *)alloc_page();
+    if ( !dev->intf )
+    {
+        reason = "couldn't allocate shared interface page";
+        return issue_err(dev, msg, reason);
+    }
     memset(dev->intf, 0, PAGE_SIZE);
+    dev->ring_ref = gnttab_grant_access(dev->dom, virt_to_mfn(dev->intf), 0);
     if ( evtchn_alloc_unbound(dev->dom, intr_9pfs, dev, &dev->evtchn) )
     {
         reason = "no event channel";
-        goto err;
+        return issue_err(dev, msg, reason);
     }
     dev->intf->ring_order = dev->ring_order;
     dev->data.in = (void *)alloc_pages(dev->ring_order);
+    if ( !dev->data.in )
+    {
+        reason = "couldn't allocate ring pages";
+        return issue_err(dev, msg, reason);
+    }
     dev->data.out = dev->data.in + XEN_FLEX_RING_SIZE(dev->ring_order);
     for ( i = 0; i < (1 << dev->ring_order); i++ )
     {
@@ -1204,30 +1212,35 @@ void *init_9pfront(unsigned int id, const char *mnt)
             free(msg);
             msg = NULL;
             reason = "starting transaction";
-            goto err;
+            return issue_err(dev, msg, reason);
         }
 
         msg = xenbus_printf(xbt, dev->nodename, "version", "%u", 1);
         if ( msg )
-            goto err_tr;
+            break;
         msg = xenbus_printf(xbt, dev->nodename, "num-rings", "%u", 1);
         if ( msg )
-            goto err_tr;
+            break;
         msg = xenbus_printf(xbt, dev->nodename, "ring-ref0", "%u",
                             dev->ring_ref);
         if ( msg )
-            goto err_tr;
+            break;
         msg = xenbus_printf(xbt, dev->nodename, "event-channel-0", "%u",
                             dev->evtchn);
         if ( msg )
-            goto err_tr;
+            break;
         msg = xenbus_printf(xbt, dev->nodename, "state", "%u",
                             XenbusStateInitialised);
         if ( msg )
-            goto err_tr;
+            break;
 
         free(xenbus_transaction_end(xbt, 0, &retry));
     }
+    if ( msg )
+    {
+        free(xenbus_transaction_end(xbt, 1, &retry));
+        return issue_err(dev, msg, reason);
+    }
 
     state = xenbus_read_integer(dev->bepath);
     while ( msg == NULL && state < XenbusStateConnected )
@@ -1235,13 +1248,42 @@ void *init_9pfront(unsigned int id, const char *mnt)
     if ( msg || state != XenbusStateConnected )
     {
         reason = "illegal backend state";
-        goto err;
+        return issue_err(dev, msg, reason);
     }
 
     msg = xenbus_printf(XBT_NIL, dev->nodename, "state", "%u",
                         XenbusStateConnected);
     if ( msg )
-        goto err;
+        return issue_err(dev, msg, reason);
+
+    return true;
+}
+
+void *init_9pfront(unsigned int id, const char *mnt)
+{
+    struct dev_9pfs *dev;
+    char *reason = "";
+    unsigned int i;
+
+    printk("9pfsfront add %u, for mount at %s\n", id, mnt);
+    dev = malloc(sizeof(*dev));
+    memset(dev, 0, sizeof(*dev));
+    snprintf(dev->nodename, sizeof(dev->nodename), "device/9pfs/%u", id);
+    dev->id = id;
+    init_waitqueue_head(&dev->waitq);
+    init_SEMAPHORE(&dev->ring_out_sem, 1);
+    init_SEMAPHORE(&dev->ring_in_sem, 1);
+    dev->fid_mask = ~0ULL;
+
+    for ( i = 0; i < N_REQS; i++ )
+    {
+        dev->req[i].id = i;
+        dev->req[i].next_free = i + 1;
+    }
+    dev->free_reqs = 0;
+
+    if ( !read_config_xs(dev) )
+        goto err_out;
 
     unmask_evtchn(dev->evtchn);
 
@@ -1260,17 +1302,11 @@ void *init_9pfront(unsigned int id, const char *mnt)
 
     return dev;
 
- err_tr:
-    free(xenbus_transaction_end(xbt, 1, &retry));
-
  err:
-    if ( msg )
-        printk("9pfsfront add %u failed, error %s accessing Xenstore\n",
-               id, msg);
-    else
-        printk("9pfsfront add %u failed, %s\n", id, reason);
+    printk("9pfsfront add %u failed, %s\n", id, reason);
+
+ err_out:
     free_9pfront(dev);
-    free(msg);
     return NULL;
 }
 EXPORT_SYMBOL(init_9pfront);
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 15 17:40:04 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2025 17:40:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1044649.1414742 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubjdJ-0001B6-Sr; Tue, 15 Jul 2025 17:40:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1044649.1414742; Tue, 15 Jul 2025 17:40:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubjdJ-000190-MO; Tue, 15 Jul 2025 17:40:01 +0000
Received: by outflank-mailman (input) for mailman id 1044649;
 Tue, 15 Jul 2025 17:40:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=akqQ=Z4=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1ubjdI-00016c-Lb
 for minios-devel@lists.xenproject.org; Tue, 15 Jul 2025 17:40:00 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2061c.outbound.protection.outlook.com
 [2a01:111:f403:2413::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b5c92e96-61a2-11f0-b894-0df219b8e170;
 Tue, 15 Jul 2025 19:39:53 +0200 (CEST)
Received: from SN6PR16CA0051.namprd16.prod.outlook.com (2603:10b6:805:ca::28)
 by SN7PR12MB7201.namprd12.prod.outlook.com (2603:10b6:806:2a8::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8922.32; Tue, 15 Jul
 2025 17:39:47 +0000
Received: from SN1PEPF00036F41.namprd05.prod.outlook.com
 (2603:10b6:805:ca:cafe::fa) by SN6PR16CA0051.outlook.office365.com
 (2603:10b6:805:ca::28) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8943.19 via Frontend Transport; Tue,
 15 Jul 2025 17:39:47 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF00036F41.mail.protection.outlook.com (10.167.248.25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8922.22 via Frontend Transport; Tue, 15 Jul 2025 17:39:47 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 15 Jul
 2025 12:39:46 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 15 Jul
 2025 12:39:46 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 15 Jul 2025 12:39:46 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5c92e96-61a2-11f0-b894-0df219b8e170
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=SRX3ayniF+/Y/91Qr/SLQSiv6F2PCcGt6yaMYCAahs0xHhwSId6RIQkWHZmEF28I4YU+iCDB36zC/y9r2MVV4lXf75OY1RurU/74bJxSUmcxrXim+zXDqXtnas3nuQGfbhSUs7Lf4I4InSNUsZ5J17z7/GxhxaMuvzDtgOIc622fMM84TYELWiWz8CqBP6BBWdzkKjauMW74Me10UPPCi5lEbYL1jz2OP0biAZ7EFFAqDPgsXmB3fkKqdqaNJnppzXbDmCpr6DmBmWpS/LZFI63mI0g+0kENxaGiLXdcLNYeF7re1u3CdMR1JzekADLCbH/BPMGc8W/F8sEcw5W3Og==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CmJ2rJQ2gAQcDz3pPMFEVFWPdve8NkO/SijeXBiqnnc=;
 b=CcyXXIGp0vl98NRFF8NDt9ioh1b5+5Hd7lhbr2SMukhIMDStdwOjRTrm4pDqeLNwKgJgkbxHQRtbuD8X10Q3NoTssvHdoNKDCI7D/eDxw9LVM8dkeg+2t3/qlebgzPr0Xfq6UOg6pYAdnsgAIrntziPDTKcmI78HnLSBZ4vHxVmNtJnE8Es/gKyfCr5m8SIi9RhDuiXmxIVDv7OTMdjakP/3RzmQjDsAFfjSiJHWb26T7bPV9OGdV867RcVTE4AOzmVk9Cab4ovbYDEElD0fPT4X149/MmMJA8m5fXTMO7tqixAy6e1sogxq7hVgEWW6iIWm0iRpx7v3601TrU0PmA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CmJ2rJQ2gAQcDz3pPMFEVFWPdve8NkO/SijeXBiqnnc=;
 b=XHEjIigRyya74TeFf08TG7MP1hrHEAWYOafSBDherysh2OXKtUJDiKnarE7dmZLutdAhyaeEN8lL8+PYvdZYeHGUFsjDiGADjoarW6PYic2csphZDPTKlBjXKXoO5ILd7PyPOx+2M3DPjtYtZEHcOrOJ0RpdDTdwQ9WMcuA4CBw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <58471142-5193-4a44-a2f1-d829604ad962@amd.com>
Date: Tue, 15 Jul 2025 13:39:47 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH v2 01/14] mm: don't add module pages to free
 memory
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250715132936.2798-1-jgross@suse.com>
 <20250715132936.2798-2-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250715132936.2798-2-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF00036F41:EE_|SN7PR12MB7201:EE_
X-MS-Office365-Filtering-Correlation-Id: 9711f2bc-7c42-40c8-7116-08ddc3c697cc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dE5rZTZ4Q0NhenpjZWV6TUIrVnBGd21JTG1qMXEzWXUxcGIzeVpzblAyWDhK?=
 =?utf-8?B?VHZiRmtpTVdiL2pFeWEyejh4RldES3NBdnM1YU9NREVIK2MxdTEwZXE4TVVx?=
 =?utf-8?B?WVMxVW9aeXJrZ2xUajd6M1JraUFkNVUzUlJwenNxanY3K2tQdndUdDh3bXFV?=
 =?utf-8?B?Q1hRN1d6WUlUejB2UTEwcExsc0RzSWhIUU80THNzbzRMMUNxdXhSVWZvZXU5?=
 =?utf-8?B?Y1dLSzdLRG1xUC8wcEkvQ0hyeVcwb01IZS92WVdFZzYwd204bG9zQ2FJa2ph?=
 =?utf-8?B?bXYybDNxTUVmbDdUZXo2SkRONldUaDJGUitMRHU4MEJHcWRZQURqVklVampX?=
 =?utf-8?B?KzNNK3lOTHlYRHBTa0NrZlkxYXFRdTFndkFGRXhTeGNSbUYxNUtiRFNjRVpV?=
 =?utf-8?B?bTlEeThiZDRXRVpUbkZvK3RQNitIeW9DMVhXMTRLZW82Zm1BUXNCN2dZeGNL?=
 =?utf-8?B?b3FZbDkreFNHdmE4eFhjeDFOTmY4VG9pSy9NQjNDa3lhamJudy9kQ0M4dktH?=
 =?utf-8?B?Z0FUKzMvcWV3bEVyL1VTU09JZUsvTGpjMWxuK25TcVJVUW5aRy9QV3plRTZx?=
 =?utf-8?B?bGJxTEpDQ2xBRlZMRXdzZUNEZnFXMDVsZDFXK2JNUGNWNVdiS1dpT1R3ZmZC?=
 =?utf-8?B?eWEwMVdXU1NGa2J6NUIySWpvdGRab3Z2YnR2Z3o5OEs2Tlh6Uks4MUZ5eFR5?=
 =?utf-8?B?NGNpRlRFeEtySk1XK0ZWNFJZTkY1V3Z2ZDBSdFJUUkhNc2pFWTRabVdlVnNV?=
 =?utf-8?B?SGEzN3NjZFNleUM1eTdSQ1p5akZXZVc5aGk5bVdoeUtEV0l6c0tMcHJ0bTEr?=
 =?utf-8?B?Zk9ucXVlaDJyUy9taCtXQWdoZ2NDRHRsV0ZuR3ZwZ00rcHNyZ0FwdWM4TVZ1?=
 =?utf-8?B?VlBLdnZFak9YcEYzNlFQeFBXaXFacHBINnd1RThobFUzUWlacjdwcEMxanJx?=
 =?utf-8?B?a1dnVjZUb1JicEx1NjIrYkE1UU1vM1NuSk5Jd1dnQTlCRExkSFB1aXNLTHh2?=
 =?utf-8?B?cnR6SHVOemViRFg3RXdLY0IwYzhHMkJwQUsxUWsxMlIrZ2NpQm1lLzd1eTZ4?=
 =?utf-8?B?WWFsM1NhNy9SNnBpOVJ1aEgvaGxDU2FzNnZZUlVuQjF1OE5wWVdvN0ZleHRN?=
 =?utf-8?B?bXVRRUt3VXRrcXlyaXlSMVFkcEk5RVJOL05kUkFlcExDNTAreWE2aFpYYzZp?=
 =?utf-8?B?N0VUNkdlUS83Ny9GTlFOZlFRV2hId281ZG5janJoZ3Q2TnVKaWlZTzhNQW1N?=
 =?utf-8?B?bzdXYmY0RFJzeGd5QlA1cllscUd3YVVXK2lBNVlZdGZXT0wvUWMramoxNFZP?=
 =?utf-8?B?TDlKcWJmdTd5MGFleEdjZ0JkYVlkU09lcThqVVM2dzczWHJRbWpkR0hVTTVn?=
 =?utf-8?B?bGFKT0hEczhBL3pyTVEvNjhPck5ZOVM1WmgzTUpBMk1rZWlZSmtPTVlkb0Fo?=
 =?utf-8?B?NEljY1YrY3FFdlRQMlZsQWpMSHFIY2hmNDVvZHM3azVMVDBod1FJQ2hXaFov?=
 =?utf-8?B?ckZ6Zm9iMzZ2a0hqSjlQeGFWWUZrUWFlQTRIUDR5Tmxlcjlhb2haU3Jsd0d0?=
 =?utf-8?B?b1htSElQVlpmbWN4STExU3VHamc4ZFFZQng2WXVnaTI1c3gzZ3NtZE5GY1NT?=
 =?utf-8?B?TCtyV2dzSHljc3EraVE4a0hIQXNrZzVocmEzaHFmaEpvSjJlYXoxTFJUNGly?=
 =?utf-8?B?QXZ3dUcwYkhyWFZRbXZyeTRjNUxZSzZqUzdUTXJjQUhJVmlMU0lRbHQwaUt6?=
 =?utf-8?B?c0syc3VVZVowTXVSN1FOMmlvb093MVNtMWVVZ2dSdHV2UnpVSVZMSDZmbHRD?=
 =?utf-8?B?MDRvaTFodHAzVmNGVzlEOER1UnZhOU9zVGRmUW5MMTVraW1IdDhiY1hPNUxT?=
 =?utf-8?B?ZnFhL1BoRmdXNmNPQU5XclFPQVhWRkpFb2NHMlJsblFBVXpscllMTTZzK2FU?=
 =?utf-8?B?ZXpaZ3FVNm4yek02UjJLemNvY3pUdnhiMkFMZUlwdllVQVVwMUhXcG5NQjhW?=
 =?utf-8?B?anZrRzlUOThMMDR3S1ZUQkl1THBKZWFPZjJ2NTNPQU16T3NwNG5EYmhLWnAv?=
 =?utf-8?Q?uzkr8t?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2025 17:39:47.3542
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9711f2bc-7c42-40c8-7116-08ddc3c697cc
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF00036F41.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7201

On 2025-07-15 09:29, Juergen Gross wrote:
> When initializing the memory allocator, don't add memory pages of
> modules and the initial boot info structure to the free memory.
> 
> This is relevant only when running in PVH mode, as in PV mode only
> memory above the initial page tables is added to free memory, and the
> module and start_info pages are below the page tables.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>


From minios-devel-bounces@lists.xenproject.org Tue Jul 15 17:56:36 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 15 Jul 2025 17:56:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1044660.1414751 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubjtK-0004Bp-Uh; Tue, 15 Jul 2025 17:56:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1044660.1414751; Tue, 15 Jul 2025 17:56:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ubjtK-0004Bi-Rc; Tue, 15 Jul 2025 17:56:34 +0000
Received: by outflank-mailman (input) for mailman id 1044660;
 Tue, 15 Jul 2025 17:56:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=akqQ=Z4=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1ubjtJ-0004BV-Bk
 for minios-devel@lists.xenproject.org; Tue, 15 Jul 2025 17:56:33 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2062f.outbound.protection.outlook.com
 [2a01:111:f403:2417::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 03eb9fff-61a5-11f0-b894-0df219b8e170;
 Tue, 15 Jul 2025 19:56:22 +0200 (CEST)
Received: from CH5PR02CA0008.namprd02.prod.outlook.com (2603:10b6:610:1ed::15)
 by CY8PR12MB7268.namprd12.prod.outlook.com (2603:10b6:930:54::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.26; Tue, 15 Jul
 2025 17:56:17 +0000
Received: from DS3PEPF000099E0.namprd04.prod.outlook.com
 (2603:10b6:610:1ed:cafe::a9) by CH5PR02CA0008.outlook.office365.com
 (2603:10b6:610:1ed::15) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8943.19 via Frontend Transport; Tue,
 15 Jul 2025 17:56:17 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS3PEPF000099E0.mail.protection.outlook.com (10.167.17.203) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8922.22 via Frontend Transport; Tue, 15 Jul 2025 17:56:16 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 15 Jul
 2025 12:56:16 -0500
Received: from [172.19.134.125] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 15 Jul 2025 12:56:15 -0500
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03eb9fff-61a5-11f0-b894-0df219b8e170
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Fd+wdVT7HSA0ZOgw040OJn6CJTqW8XJXAnXGVeVE4dF5eA0zQjGddXARX+ZzF+MgoT70qdMPc2+XMkWEucwOoUWlKalbYqO8O2sGK/X6odQ1jryyv7z25CT5UTushsXkkkX6aWoGchTK9Cw6pdUrE7eYySol0BUOZvZW+ZMOM3TS/lnUKOnSb6VHDpY7gaSIVBz9Sv0FyIiJeFCau0swkgcbxlS2XJoyeOAnLcUCFfvYpqN+PeEFGelbXdEoT+iqi5IpfzTfptYWFqHvo0k2KKZrhTHfj591c2PgQxX0wlz9DJGG63DvwXfArC1PE/krd5hYOI1n8r/TfWAweBOsMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ynlcTvoBo72Ia+dVwRCAs5Ag2Oo8UxAJy0vKMWa4R78=;
 b=Gy/gSJrQ/arb1ZaQKKnAj/SG0tLHt6MCZpdmhe0CAZqypC5z9Jj6IUqrhshUAR95/9/rbSePFAkHe2Wn34QBiyc39WP0fzgKrHoPnvswIc41otVxagIzjYDj7Ix2d8L1X2ehqPzUuvwoGnJwe67NRkUevmvyLEhzW0w7TkNT6hOO9dghwiAM6YurQ+SDujG5cz5twz47Sva3zmSQFTfDOWlVt/ZnVgEFoPdrCjgysi7755VDrHDMHWfkAJ6v6mQBCsV3ZTiD2RuFv9gl9LOp2aAvsKu+VIxqqPqzOZ5H2G3MDwOdGYQmG3GH+LxE9UBoaMclnpdBBrDnGmX0DovUug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ynlcTvoBo72Ia+dVwRCAs5Ag2Oo8UxAJy0vKMWa4R78=;
 b=Kp1hp8loPEf3/VgIwL1PWSPvSfgegnzDXR/n3f3iYLgSLmvpOImWIhXNNRtcNI6xjMl+5HYxL51mixJFEQ6/XGSnqbhgSCNfQmz6flrJuITvGYx+wKyqf2a0LPkxvuG1sN5qvfNqZTbUHvhnmnIFagA3WzwHQziVY++8bJA2pcc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <b3a40c52-700d-4f71-b14e-9543acecda18@amd.com>
Date: Tue, 15 Jul 2025 13:56:17 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH v2 07/14] mini-os: kexec: add support for handing
 over some memory across kexec
To: Juergen Gross <jgross@suse.com>, <minios-devel@lists.xenproject.org>,
	<xen-devel@lists.xenproject.org>
CC: <samuel.thibault@ens-lyon.org>
References: <20250715132936.2798-1-jgross@suse.com>
 <20250715132936.2798-8-jgross@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20250715132936.2798-8-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099E0:EE_|CY8PR12MB7268:EE_
X-MS-Office365-Filtering-Correlation-Id: cae929da-3cbd-4978-c877-08ddc3c8e59d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?SmNRYStVL1JsMmFTZ3RwbFMwVk95TWZJQ0VxdStvbEdSUXk1S3V4TVRmN0Iz?=
 =?utf-8?B?YjFKSHJYTlhGSTZjY1hyVXZTc1k3V3pkQ2EvckpkYzBTZmUyeXd6aFJIbmZp?=
 =?utf-8?B?bkNZbHh3VXZOQjZRalN2WE4rZnpoeS8xbGJxMzlZNGFqTGhwUHZlQUZBV2J3?=
 =?utf-8?B?Q1drSHd6dkdJcEorWUpjWm5ocGl6TEZ1K1d5aVYvS2lsbW5iMTM4TlZENkJN?=
 =?utf-8?B?TVRqL1JHeVdMOENXbkczcUVPYlJZU1JwcU81bHNMN2h5WHhEb3dzaFk3T0lD?=
 =?utf-8?B?UWtVd3ZLanFlS0NrK1hQdXloUWhEODBvZjgzTENRY3Vnb2dpKy9SRFdvUG5k?=
 =?utf-8?B?MzQxdDZzTkE5dlZqakN0bWFjT3F0enVsc1dmQy9yYThQaVBrdlk3ZDUvMDk2?=
 =?utf-8?B?YVFjaWxEUS9IK2w0RFhhYnV4Uzl5K1hMUGVQSkxpUldPeStQRVpLK3V2d2p1?=
 =?utf-8?B?ZEtlek1FUE9ORUg4RnVxWVI0a2ZqbzFlNWJwdThxVkJzNndzNjgrcEZsNWl4?=
 =?utf-8?B?N1pxalRuUHJEUmxVSkJ2elFsU0VwekR1MnRybktBcFRUc1dwTWhuQTcxaGpD?=
 =?utf-8?B?eHRZemRtd0xDeVl6dG1VOWgyZ1Y0NThtZW9IZ1ZaTXFPSjFraDZ0V3NZKytj?=
 =?utf-8?B?VkZKMG5oV09WTUg0YmdRYW4xM0pYbmhjbTA3YVdWUEtaQWt5cnQ1VVRlSmU1?=
 =?utf-8?B?VnJDSnMzS3ZqYUlWc3REYkhxVXI4bzhhUDlrWkRJUDhRVXA5dmFFL1VBVEhX?=
 =?utf-8?B?NjRFVE5SN2NndVdKakZBRG0xNVlIMGM1NFh3WnZIMlo1Y29DTzJYTzFKSmRU?=
 =?utf-8?B?ck1PWm5ha1VMYVB2SHhSeDFnZE85OU9kaVNoR2NaelE2VDZyNDVkeUJZSVBI?=
 =?utf-8?B?UXMySzdibyswVXgvMmZLTU9XS2xRL1hkTGVyMFpOdGIwVUxMVHZCdUhPNHVJ?=
 =?utf-8?B?Y1dBemhuRXEyMEQxdis0SHYvTHNYalhhcWZRVTdnU3h4YU9OdFMreHpLbUJw?=
 =?utf-8?B?YUZhTzNhbi96c01OaEY0UVdVWFZjbTdrcnNBSThuVlhrREJVRTByL1Jickxm?=
 =?utf-8?B?RTlJQmIrTUpHSHcyMXVHVUtjYmk4dGpxdWhDUHBIV29mSDlhL3RkUGwvNVc3?=
 =?utf-8?B?VmNwZjhFNTZwYS93bXBmczhnT2R4NTM1UHVTd3g0Y3BCcE5ZM0JaTmpCS2Jp?=
 =?utf-8?B?NGIwZnJ1Y2JiaWFyS2FQRmYxOUl6MUFIcUZPQ3hoSjZmT1lhRTgweGYraWd3?=
 =?utf-8?B?MkUxVFh2S2Rlb3BUZTZPN09DR3FqVkJLYTFNT1VhR0hmVVV4RzlidGpjb25i?=
 =?utf-8?B?d3kyRjFqWHdJSjRRODN1SmhVNnNlOEFpSVFiL0ZXWjZ6NHBCbnMvcmZ1TU13?=
 =?utf-8?B?czE4bldUU251d0ErNzV6a2RMYWNuTURZVzZ0NWhrTEI5SVF0NFB0UDh3V3ly?=
 =?utf-8?B?aWxwb3hoM3RLMk4wV1ZxdzcxdnlRMk4wcnJXUWRPUGdNT0lTOXU4MXBUTWdW?=
 =?utf-8?B?TmhLMkRaN0EzMGpGanp6R1c5NEFsdGpxc1JEWTlMZEJsbUtwNzJFaGYyWTlU?=
 =?utf-8?B?MFlYM2JDV2JnY2ZKeHcyVjJ2bGl3WjhWZ28rRVZYbFozU2JyWlNmL3hKUXNz?=
 =?utf-8?B?L0FvZjJ6WERuUUtGempXT0hBelVYOC9kUVc5ZXVUaXJwOXUzYXo0WTRDL3Bx?=
 =?utf-8?B?U3pFNzJNRXFkbzJHdlNaZTdHRGZYUHgxcnJ1djVvM094NXdxMzNhUWlMeVc0?=
 =?utf-8?B?bE5ITDFTb2ZOL2NOUDlVS1FiNFNudDQycWpPTlNaM2twTzZ4NDByTDlmN3Fu?=
 =?utf-8?B?TmU1NlJNZytZeU5VNzJLdktnd0lkV1hud2hmb0R1aHpNdWRlUGhGazB3R1pp?=
 =?utf-8?B?QTg4ODEweHJjUmxLNWNuMGNyanFjNWlaaEdjZmVJUkNaYkRFcFZ6YkVMQUJ3?=
 =?utf-8?B?ZmFMWmplNmN2UUtlc1VHNktzMWdFVXNGZy9SVVVad3ZEbE40ZWZPMmNTNEsv?=
 =?utf-8?B?eVYzekRyQWZ2b2FHQzR4MDdLWm4yRFpOaGxzWXZrM1VkejdTVWZWVnlBK3pF?=
 =?utf-8?Q?dY2/Dd?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2025 17:56:16.8863
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cae929da-3cbd-4978-c877-08ddc3c8e59d
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS3PEPF000099E0.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7268

On 2025-07-15 09:29, Juergen Gross wrote:
> Especially for support of Xenstore-stubdom live update some memory must
> be handed over to the new kernel without moving it around: as the
> 9pfs device used for storing and retrieving the state of Xenstore
> needs to be kept operational across kexec (it can't be reopened due to
> Xenstore not being available without access to the device), the ring
> pages need to be accessible via active grants by the backend all the
> time.
> 
> Add the basic support for that by reserving a pre-defined number of
> memory pages at the top of the memory. This memory area will be
> handed over to the new kernel via specifying it as a module in
> struct hvm_start_info.
> 
> The contents of the memory area are described via a generic table of
> contents in the last page of the memory.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

Thanks for the expanded comment.

Regards,
Jason


From minios-devel-bounces@lists.xenproject.org Thu Jul 17 11:58:28 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jul 2025 11:58:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1046644.1417051 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ucNFr-0006FE-FC; Thu, 17 Jul 2025 11:58:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1046644.1417051; Thu, 17 Jul 2025 11:58:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ucNFr-0006F7-C7; Thu, 17 Jul 2025 11:58:27 +0000
Received: by outflank-mailman (input) for mailman id 1046644;
 Thu, 17 Jul 2025 11:58:25 +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 <SRS0=XrhN=Z6=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ucNFp-00061H-Ev
 for minios-devel@lists.xenproject.org; Thu, 17 Jul 2025 11:58:25 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56f82f8f-6305-11f0-a319-13f23c93f187;
 Thu, 17 Jul 2025 13:58:24 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-ae0b2ead33cso158338766b.0
 for <minios-devel@lists.xenproject.org>; Thu, 17 Jul 2025 04:58:23 -0700 (PDT)
Received: from ?IPV6:2003:e5:8709:f00:6357:915b:11f9:6d20?
 (p200300e587090f006357915b11f96d20.dip0.t-ipconnect.de.
 [2003:e5:8709:f00:6357:915b:11f9:6d20])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-ae6e82645e6sm1349885166b.79.2025.07.17.04.58.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 17 Jul 2025 04:58:22 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 56f82f8f-6305-11f0-a319-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1752753503; x=1753358303; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=90ZZC/ht9XJ8/NTcnuZIanTDcIjYawHx9VrxzLou8Yc=;
        b=HzgZcze0hnMWKnJv8ioM8c9U1oxJRM5SuJIV2qsc7kPnXlIsEGz8K7ii/oOwRbQFO/
         oRqI0p1jW7GeCPnb9k58qjx5xt2LbCxhv66lrPjEO43krt6nmbWIwmkUEnxYk9KLAijQ
         fP1vdAtnbI1XwQzqGcnJPZ0FS48IqzTmF6baRONAbS1rNj5xCSAkdjNd2MlNYMz07LWb
         84+OnmjshD/m+pqA5jsaNP9KQvocXGaroGJLAodTgAaQvEd2XjBsSUXoZq0PvE/qJ1Nr
         /vfhdRsmegUIpKuir5qbBfY2bd2r+wBUOT3QH70LqvMwCfa/oa8mDdUJO2dmjS7Sne9C
         t9fg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1752753503; x=1753358303;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=90ZZC/ht9XJ8/NTcnuZIanTDcIjYawHx9VrxzLou8Yc=;
        b=E8cErgvdrfXFnaaVS7nqWfN/cQORQ5+YwKOYIAmsG+dsYmh5QCEs9qGSEI7rPqfZ1g
         ZqHuEEeaa3K0azd0uxfLmY+37NwooiasYew8Y/yb6Z94Xl4MVJcnofrrC/hzE9Bo/p4F
         2R68ZoIuZAmgXShVd7jaYewoFBJF8qYWJ+0DB5ezr9D8O5EwbHys+wAHs14xrBKebAt8
         f+VGiCZglP3ABpPjuRv4/VohPEOPwvL3Ui6sCTkKI+LyTT8F1n0s/WX503SqdjVkeAty
         hyhklfQmC7lXNJUQJt6qt1/kvGQeEduGG4RbZX7s5AiuktAE4tcnsDWGEU+rm6eXCfFq
         FlVg==
X-Forwarded-Encrypted: i=1; AJvYcCVEe1ArQlyJfJpJotTgLSNQb/EcVWl6/VSXyVhel1kBjB3bEplulzxUuaOAcVqSbCINDTMfr7sQGBgkUHQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyNHBkkuZq2Z6y+l01Lxczh9Tayn8VxSDMlD2rhq/McFtEd3YyN
	MGJdSGDYBxljXXUclVzK4AJse7CcJPPR9HCSdc8V6kSgQYpujbl5kXWfXIpL3P4ZYQ0=
X-Gm-Gg: ASbGnctQe6e2FBF7+o2iVjht8YskyieMo3BBxGOywVRilwRLHGq1Iunl4UZtf+QYh+i
	BE67r0lfcxW+hUIABJfo8Yc5cnj0Sso8cEKQF3E9NOp1DfrcjKSULnAdO4wUNQuQR/A0BAWGcmT
	4IiZg9HnEz+n7ht13pmHwW7ASRYEonZnzeTlV7sZtl27r9qZt49xEfcsoBbTrPmaZo2+wAxALTB
	7/5PTkRcdhfKOWP/nXmNyWnu+NwWfP0QwiQQJhuf9WsuZRxqXwVE16ETk75aab16OJc0xXFyfMh
	9/86M6wPkS27XPw64Iv3ktKhKxhrBc57+HSx7KeN82rwtKCwn3IDNBKNA6D+h7rDCbafwP6GegW
	unN0XGt77aq9C7wFtk7IE262AhJ8FEO5daQrXJAnqixOjrkK6fAiUe/hKjuMMX+eZvEoQSaFnJd
	8qy6+EYK0CPMf9DY8P38VOYFsuoeAClZpgsjq9NXCGbYTw
X-Google-Smtp-Source: AGHT+IGVk3i4oZSyK5ipwh7bNSiuhGbxQJ+bn+haWHUEKYlEdiAc0YjBbsTRTVtvMCc/O9BpPUPDeQ==
X-Received: by 2002:a17:907:1c96:b0:ae3:6038:ad6f with SMTP id a640c23a62f3a-aec4d58b1b7mr309227666b.3.1752753502853;
        Thu, 17 Jul 2025 04:58:22 -0700 (PDT)
Message-ID: <7e9a8486-b60d-4929-bb37-275578a53359@suse.com>
Date: Thu, 17 Jul 2025 13:58:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] kexec: initialize kexec_page in kexec()
To: Jan Beulich <jbeulich@suse.com>,
 Minios-devel <minios-devel@lists.xenproject.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <b96d2109-6c84-495c-8efe-f2fcfa95608d@suse.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <b96d2109-6c84-495c-8efe-f2fcfa95608d@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------leRpBkDw7ZErbrP6OxPFVhm8"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------leRpBkDw7ZErbrP6OxPFVhm8
Content-Type: multipart/mixed; boundary="------------laIjdsOscujjxeOpHoIrzVIi";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 Minios-devel <minios-devel@lists.xenproject.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
Message-ID: <7e9a8486-b60d-4929-bb37-275578a53359@suse.com>
Subject: Re: [PATCH] kexec: initialize kexec_page in kexec()
References: <b96d2109-6c84-495c-8efe-f2fcfa95608d@suse.com>
In-Reply-To: <b96d2109-6c84-495c-8efe-f2fcfa95608d@suse.com>
Autocrypt-Gossip: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------laIjdsOscujjxeOpHoIrzVIi
Content-Type: multipart/mixed; boundary="------------1jcFDHJ2LGqsA04AQZ0E3bTF"

--------------1jcFDHJ2LGqsA04AQZ0E3bTF
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTcuMDcuMjUgMTM6NTMsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBGb3IgdGhlIGVycm9y
IHBhdGNoIHRvIG5vdCBzZWUgaXQgdW5pbml0aWFsaXplZC4NCj4gDQo+IEZpeGVzOiA1NjBj
MmE1NTg0YzQgKCJtaW5pLW9zOiBrZXhlYzogZG8gdGhlIGZpbmFsIGtleGVjIHN0ZXAiKQ0K
PiBTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQoNClJl
dmlld2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQoNCg0KSnVlcmdl
bg0K
--------------1jcFDHJ2LGqsA04AQZ0E3bTF
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------1jcFDHJ2LGqsA04AQZ0E3bTF--

--------------laIjdsOscujjxeOpHoIrzVIi--

--------------leRpBkDw7ZErbrP6OxPFVhm8
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmh45V0FAwAAAAAACgkQsN6d1ii/Ey8a
HQf8DFLNmplRyfvKWVZ+mfZWGHqHKsTDRkGh2Yz1oGHeujIvnk+pD9CeAdrifLw3nd2Xys9Imfq/
wPEBkPs3C1VZX1pIljI0GiCcGu2snB3k4epICN7q3m0SGbR029OkxgSnUSxamZ25dGWnYuCP/OZ6
FSEtVS20XAEp+hcwNGSL7E/51egIqBvICU4CXUEXY1PI/z7n5j+NZWHLYnNhJLPRypggX+t4lQvH
JPXv0R40PYoKpDa471Vw2G4XZF6Y5HMtNsB21qEkrt4xWIr3zLrm/qLCPkrb0a5svBm4XPjy04NW
JcLN5J5uj9/sT1IKNoBrX1J8MejITD0qR29z3JR3Xw==
=KIsw
-----END PGP SIGNATURE-----

--------------leRpBkDw7ZErbrP6OxPFVhm8--


From minios-devel-bounces@lists.xenproject.org Thu Jul 17 12:01:11 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jul 2025 12:01:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1046663.1417059 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ucNIU-0007nt-VV; Thu, 17 Jul 2025 12:01:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1046663.1417059; Thu, 17 Jul 2025 12:01:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ucNIU-0007nl-Sb; Thu, 17 Jul 2025 12:01:10 +0000
Received: by outflank-mailman (input) for mailman id 1046663;
 Thu, 17 Jul 2025 12:01:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Kd8q=Z6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ucNBS-0001TV-OG
 for minios-devel@lists.xenproject.org; Thu, 17 Jul 2025 11:53:54 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b5cfa62d-6304-11f0-b894-0df219b8e170;
 Thu, 17 Jul 2025 13:53:53 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3a4f72cba73so1210709f8f.1
 for <minios-devel@lists.xenproject.org>; Thu, 17 Jul 2025 04:53:53 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-23de4286d71sm147721835ad.16.2025.07.17.04.53.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 17 Jul 2025 04:53:51 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5cfa62d-6304-11f0-b894-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1752753232; x=1753358032; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=qG5fISwhYTTvlkJ4wL7+gjhUo/XKqFG7Qr6TfbRB4rA=;
        b=Sw2dqr/JepYV4p4bRnfSS8rql8531h0tz50gOTpZ+BdnjL9f9Lxq6VNkhkRNWhSSeo
         7KtEkyzSlFcMlciLXOrzlz4IRW+zkzzPLfDpr9uD4qa6604tM/TENZEYh9wqiz3WLyq9
         4C7fV/CPPUCajnCGMES/ioyDXh/WsXXcl+OYdpjl5MlrZ2A4frOuQW3s1F8P+qEQkjf4
         HId3UO2sCB4qOAjm2hQdUTzoe+dQ+mS3OsaNU9pUCKla/AQl+8UOaWEaJRuOOeqPLAQt
         8z0BjDgr0AujzPTlUHGC30rAHMNaESa8eZORn5uNq6A43rf2bPKXzIHgdR5t37pK/xRz
         glIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1752753232; x=1753358032;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=qG5fISwhYTTvlkJ4wL7+gjhUo/XKqFG7Qr6TfbRB4rA=;
        b=Do8TMpEt7hFhbuXJTJCiLgWcVxzdJ5aBAqW+XIUHn0qcrdaiAT0KRZQ04oB5z1WwWn
         sCmhb59ptwzF0eKrQ+xRgAIHGrO7W02MP6Phu5wEXa2y8RHj6SCh3/Hlj/9ubX5kHjoc
         E2Cz3uZwy9BynhUEQiRzSPbUDLjqruzfd43Vinoatnotaa4uOcHSMtNoIxDkT61Dc+LE
         vsoqdpUsqv8mClbozM8ce4fnqgjAYj7Oj0mGon/J4qcrzdNZiLfGd5gBMfCuP1XC5MUS
         9NI23yXh+qEmgkOi2iZ2NXjghW+V+cqTVr0QjlgO+62L+vC2TC6juS+9LW+r9n6ZAwp1
         vQsg==
X-Gm-Message-State: AOJu0YxLN/j09MqDh6E7Ckil359NrnY64ISbUEXN1iHT8ULTVs7O8nDc
	fwRaymXCyLaIgM27WibF7u16EpxdnP56QxdGpLE9wX6y83ZUZRLbKh3cqaGY7y3CHOvFfA2J3rP
	kko8=
X-Gm-Gg: ASbGncvEQl4SwIFxw4eR5Y19O56pZ7g1t9B0jUe7BB2uq1aTDXyB9OIZ0ykH3LPON13
	6868t69XsFgPHOFLz2urgfhv9PklCtSBm5BAl4/rb6hquR7khYptF/64Diow7iZqfMY/1XDstCm
	m1AUoP/uTpdRDuOjeY3bkful34ywqVKdTN8SBzA5Odk99DpmjkLzgFryBChRoX9CjKlv44JE9Bd
	wVrDprOTx9vnRp8n9HBrNd/56iIIZT+/XUdp964y/3SXswZkIcBbsb2/wgA78nQKbVnqbX4kjg/
	8ie1bdp0mq/9ZDUUvEGQzQIz7cNQ1PaJpXPd54e4F875xoItV1yIU2iRWehuLZlRkN0I/6VHMZj
	O2imsYv2xd//fk9PJnYLknxf15qCqIhTw2FDbdsliwEPKxMdTzpoxMAqt/33xBfmKc32yisbYIS
	Doqw30uFs=
X-Google-Smtp-Source: AGHT+IEMkdLp5woadsyibzhTDCWBnPe58129JPz+8JtUkzencrvbkvTKBCZv09DEMHTRks0CosPQxQ==
X-Received: by 2002:adf:ed06:0:b0:3a5:5136:bd25 with SMTP id ffacd0b85a97d-3b613a0896bmr2378868f8f.1.1752753232302;
        Thu, 17 Jul 2025 04:53:52 -0700 (PDT)
Message-ID: <b96d2109-6c84-495c-8efe-f2fcfa95608d@suse.com>
Date: Thu, 17 Jul 2025 13:53:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: Minios-devel <minios-devel@lists.xenproject.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Juergen Gross <jgross@suse.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] kexec: initialize kexec_page in kexec()
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

For the error patch to not see it uninitialized.

Fixes: 560c2a5584c4 ("mini-os: kexec: do the final kexec step")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
In the meantime I'll revert the MiniOS commit update in the main tree.

--- a/kexec.c
+++ b/kexec.c
@@ -168,7 +168,7 @@ int kexec(void *kernel, unsigned long kernel_size, const char *cmdline)
 {
     int ret;
     unsigned long *func;
-    void *kexec_page;
+    void *kexec_page = NULL;
 
     ret = analyze_kernel(kernel, kernel_size);
     if ( ret )


From minios-devel-bounces@lists.xenproject.org Thu Jul 17 12:05:01 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jul 2025 12:05:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1046690.1417073 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ucNMB-0000q7-Gf; Thu, 17 Jul 2025 12:04:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1046690.1417073; Thu, 17 Jul 2025 12:04:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ucNMB-0000q0-E3; Thu, 17 Jul 2025 12:04:59 +0000
Received: by outflank-mailman (input) for mailman id 1046690;
 Thu, 17 Jul 2025 12:04:58 +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 <SRS0=Kd8q=Z6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ucNMA-0000po-58
 for minios-devel@lists.xenproject.org; Thu, 17 Jul 2025 12:04:58 +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 4188a724-6306-11f0-a319-13f23c93f187;
 Thu, 17 Jul 2025 14:04:57 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-3a50fc7ac4dso393927f8f.0
 for <minios-devel@lists.xenproject.org>; Thu, 17 Jul 2025 05:04:57 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-23de43228b3sm146604365ad.135.2025.07.17.05.04.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 17 Jul 2025 05:04:55 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4188a724-6306-11f0-a319-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1752753896; x=1753358696; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=tm3AQY5snUNJM04Iir1CQrnRHvnoHlcgrh58p36jbUQ=;
        b=HgtCng7aIRnq5q6HNQdC326eha2OEQV5qwUdEX+eSt3FqqgpSVVGMct5wKdT2GOJCn
         K1pV/v/wUPB+jF9X9g8YO9pKiPC+ZUSN05GHagtfoGBPIcxKXEQY7qSEC/R7CbCR/42J
         1CkNmtqxAdyvpDJuBNTaxmwz3+l2IkQnjxknbrlCgHLcgNTgMqDiUrRid1checpAglfS
         uUkvLJloe2+ijarEt9IYBRUL84a/dO+JKj1pRS9ovR0QakPfHFMlFF2gBWPOyusoyBNK
         3kl/x5W07gw1lHswshf4RasjkBtsz/8uCk1kbNa9nBdUsXZVvA/KR1fwp16mUu3qH138
         35gg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1752753896; x=1753358696;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tm3AQY5snUNJM04Iir1CQrnRHvnoHlcgrh58p36jbUQ=;
        b=FF9NbbJauB9EGqL7TVbdx+H8xOloyowC5cr39cRr678mSyXebkfsK9Dd/3RghMJxZm
         rXBAu3u0/3dQBWLN50Sj3cQsswR910JmJvUadIkB1Aeyu4yKe4kU5b369NflE4gDXS1M
         +X+AGfNCmd7bP7DOjSAfjGNwepQpKABm0cbHIsNgDbcm8okMs8J6ZQswSu9LVeCVhX/6
         WhpcVOQgfbYG+OtsnIEHe9aW0Ic5xk8xGB/Utatv+K6UHnrBg23e7ZtgfkQ6rSYneK41
         Wf359cp+YgEfdqELg2lqKX+RyHbakOA86O3jADP9LC/8faSUwVNOSgzInMOKvQ8mZog2
         AmxQ==
X-Forwarded-Encrypted: i=1; AJvYcCW8CUUKkv8XGZ4b654pVxUsXoEIBMou7tYdAcuIou0v4QZbgaPPr+lAoqI5T3kMqLJmmD63/L9qTW4GHoI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzP5b4Zglhn9tP4ORm0INVrDP0ErMEUDfDEFocjBTLRN63kTbQA
	HpBfdDkp1YG18yQi8gMZIt33juRiefwvk243ub5vVNRsL6ZrmBliUARfQoEB8l0FFg==
X-Gm-Gg: ASbGncsHDUndalYOI9DYGRWg6ZCu+iGTfIfr+8rYH60TS9u3wYPcvFZdYY1BhIhwg39
	T0IS36lot/Y2kSxVIHVOTYeSR39Fg6wdpQKifz01fEYPSd9kQk+46FVU/vyNT4C/nQBQNubj5jr
	fJCzsaDSqT16h+XXeHJPeVviwLZmodf17L75QKcN/hgcVB55CQ5tj77fklXaPXn0vqt6D2e8HeN
	jrDOFS86TNEc0r6Z+EzwOcKgRqib9BKmIuDEEzONnJX3HvNRY2uPlXdMruuEOHerQyuvSZ0Zsyf
	VbT0ZgZH7yypu/16E5ipe73GCX22ajhF30IzpbiGgB3lYqAwz6kfO94xOBFT5O/v42aBCpV94Q8
	h+NPgoNNKmMeh3sAO/1mv4mY+ktk6Rfb9Eml/U14GsKX13TaN/tCcSiusEaIwzC/kwN8vJ7RmdS
	bstneJWM8=
X-Google-Smtp-Source: AGHT+IF/8m9SyuDknt/TqVQ/10+lucQBdICIufGJ+swp2KSfmDJQp4sVxWY+bjTB1+ZnVjIwG/o21w==
X-Received: by 2002:a05:6000:1a8e:b0:3a4:f7e7:416b with SMTP id ffacd0b85a97d-3b613e66f70mr2512817f8f.16.1752753896170;
        Thu, 17 Jul 2025 05:04:56 -0700 (PDT)
Message-ID: <8219b634-c6d8-43e4-82f6-b5622fd7afdd@suse.com>
Date: Thu, 17 Jul 2025 14:04:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] kexec: initialize kexec_page in kexec()
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>,
 Minios-devel <minios-devel@lists.xenproject.org>
References: <b96d2109-6c84-495c-8efe-f2fcfa95608d@suse.com>
 <7e9a8486-b60d-4929-bb37-275578a53359@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <7e9a8486-b60d-4929-bb37-275578a53359@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17.07.2025 13:58, Jürgen Groß wrote:
> On 17.07.25 13:53, Jan Beulich wrote:
>> For the error patch to not see it uninitialized.
>>
>> Fixes: 560c2a5584c4 ("mini-os: kexec: do the final kexec step")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Juergen Gross <jgross@suse.com>

Thanks.

The revert actually didn't help, the problem was already introduced earlier.
I now don't understand how things built previously. I'll re-apply the patch
bumping the new revision to this about-to-be-committed fix.

Jan


From minios-devel-bounces@lists.xenproject.org Thu Jul 17 12:13:27 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jul 2025 12:13:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1046750.1417175 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ucNUM-0007QD-OD; Thu, 17 Jul 2025 12:13:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1046750.1417175; Thu, 17 Jul 2025 12:13:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ucNUM-0007Q6-KK; Thu, 17 Jul 2025 12:13:26 +0000
Received: by outflank-mailman (input) for mailman id 1046750;
 Thu, 17 Jul 2025 12:13:25 +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 <SRS0=XrhN=Z6=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ucNUL-0007Po-EQ
 for minios-devel@lists.xenproject.org; Thu, 17 Jul 2025 12:13:25 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6fb7f3ca-6307-11f0-a319-13f23c93f187;
 Thu, 17 Jul 2025 14:13:24 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-60bf5a08729so1734473a12.0
 for <minios-devel@lists.xenproject.org>; Thu, 17 Jul 2025 05:13:24 -0700 (PDT)
Received: from ?IPV6:2003:e5:8709:f00:6357:915b:11f9:6d20?
 (p200300e587090f006357915b11f96d20.dip0.t-ipconnect.de.
 [2003:e5:8709:f00:6357:915b:11f9:6d20])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-611c97335e2sm10220071a12.41.2025.07.17.05.13.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 17 Jul 2025 05:13:22 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6fb7f3ca-6307-11f0-a319-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1752754403; x=1753359203; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=yaYlcdjFM1fTzBzgR9diqI0Y/ao6VYYEtJIh8SjbfhU=;
        b=O9bzuWYklFP+HEIx7qY1M54UEH2gLBDCOTF2Yw/1aMZtpNDp0cLdpcWyA7PEyvtWNw
         +ZWRn0Ie0TB21htIhaT1jSZEMxgiOM3zFGG9xfkJP8LyY3jZHX7RDTsa1kybJ2JqPUIk
         /HBZZnKd2xRRXIa1Pm9k0bXUyKmHp+bVNwn8374an494b6bRo3A8C1zDWJeJuT7WUFG6
         YERUQ5eijDgOVE5VUX91e3qRpl8x3JW4JWSiNZHqLG2Z1Di5jq0UVF2vnWTfIgmkujA/
         C+ahFKxRapVxeeuUYoYal4l5GolY6yHG6k2ssK2YztrpoS09/Ugf0VYfkcHpM9OhrWpD
         dvWQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1752754403; x=1753359203;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=yaYlcdjFM1fTzBzgR9diqI0Y/ao6VYYEtJIh8SjbfhU=;
        b=aJzVDg/ilbEdW1qTdyFz08TzRyhwrQphy9DrwlYe8he9I4IBLF3MAXiYsPXBfYmqtz
         pdByqkkkkDlfD6fc6YAEiotru6oLFssi92kUrum2tkBUPh6e12pb3CRsx1EhWKQhz5/P
         cI7ygojJMAIJ10P5KyqtRpGYun8cshCprKGu6txWLprwWNOzM7Fi7PUyVIOqZ5D42FwA
         q+05VR+I9bNiKv9S0p+LMI76WGN5H+EWqvuA6ZZDfEUSFw9dksBeyiJFA1lJ7U+RveTO
         71h7E+IFUTODUIxMre7VZMUWY+yGOlyO3o8oSUtiiYpNWSTfnSCIcxM92NmbiDs2AvF1
         N+lg==
X-Forwarded-Encrypted: i=1; AJvYcCX+mXpPLyH49JU5ZMTqX6hIm+jcJnILBg2vQrJXG6Q/G5FOv4cK67b/NiSNR47dN9WDycSMUGOJ3/5iMQA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz9BcJWmmvUc4lktVgfwobE3hnguSGMVbOAcHMTtDqfG/fGgnrL
	fIkHdWOE2VowQFhbh8cgscuk6J3FvGUBCvjRBMPoFDylpepzihynbgQGLLJh2Q8qoCY=
X-Gm-Gg: ASbGncuR9LcqNn30b9xjJjD8MxjBZ+0CurgxzA1WIrtdW132BSzlWJw4KAx/X7gUZgd
	f5tk+wp3VYZyw8i+LdeCc7GPPDL452nCjNSslwyB8hHKRxpPpA/o0YMeqRCIbA3LXDIkbmowCqQ
	DkVEyBjPLhkcgpSlKVAD6963W9t6ANN7Kftyk4aDV6DFKsoYHR8TBARRzOFx2o8ooSLV3Oij5z8
	3thJCh5dVYroE+Po1lIvykbuWQWTGq1eXmgALOgo2C03b/t3N7xARBb55MfQs5PZbGlp8Dy4UAw
	B/JgJaYk2mlE4hv3P+bdqQ5ERzWTB5QAZ/XEls5rMtkAKndrrEPV3DRvpqtGI3CjslDfY9fQoFU
	O8YbLO87XmdW8s0Q0MNAEXyN/dnohvsYmXuwWud6uSsXeiqmTQeTipvkjTA23vwdMPAD0NO6DcK
	2URZjFpYH63L/etsXdGUxFZuJb+tOpLqXi3GWQlUdLEclY
X-Google-Smtp-Source: AGHT+IGzQSSlkYCWEzcH4v5fBI1fajPbQT2T42hHs1UI7ncouitVXVGBc6KAoZ2UVe0WQ5kGVmnhxA==
X-Received: by 2002:a17:907:1c91:b0:ae0:9fdf:25e8 with SMTP id a640c23a62f3a-ae9ce149d12mr634338466b.47.1752754403263;
        Thu, 17 Jul 2025 05:13:23 -0700 (PDT)
Message-ID: <e307cbf1-7827-4f94-b5ea-3824faacb285@suse.com>
Date: Thu, 17 Jul 2025 14:13:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] kexec: initialize kexec_page in kexec()
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>,
 Minios-devel <minios-devel@lists.xenproject.org>
References: <b96d2109-6c84-495c-8efe-f2fcfa95608d@suse.com>
 <7e9a8486-b60d-4929-bb37-275578a53359@suse.com>
 <8219b634-c6d8-43e4-82f6-b5622fd7afdd@suse.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <8219b634-c6d8-43e4-82f6-b5622fd7afdd@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------30BNi0wzQPxtpTIECb10a3nr"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------30BNi0wzQPxtpTIECb10a3nr
Content-Type: multipart/mixed; boundary="------------xT3J57SJ12hJn2Ra814w2q0i";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>,
 Minios-devel <minios-devel@lists.xenproject.org>
Message-ID: <e307cbf1-7827-4f94-b5ea-3824faacb285@suse.com>
Subject: Re: [PATCH] kexec: initialize kexec_page in kexec()
References: <b96d2109-6c84-495c-8efe-f2fcfa95608d@suse.com>
 <7e9a8486-b60d-4929-bb37-275578a53359@suse.com>
 <8219b634-c6d8-43e4-82f6-b5622fd7afdd@suse.com>
In-Reply-To: <8219b634-c6d8-43e4-82f6-b5622fd7afdd@suse.com>
Autocrypt-Gossip: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------xT3J57SJ12hJn2Ra814w2q0i
Content-Type: multipart/mixed; boundary="------------M1LN3BtLAfQtGkAeteLKVIHH"

--------------M1LN3BtLAfQtGkAeteLKVIHH
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTcuMDcuMjUgMTQ6MDQsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxNy4wNy4yMDI1
IDEzOjU4LCBKw7xyZ2VuIEdyb8OfIHdyb3RlOg0KPj4gT24gMTcuMDcuMjUgMTM6NTMsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IEZvciB0aGUgZXJyb3IgcGF0Y2ggdG8gbm90IHNlZSBp
dCB1bmluaXRpYWxpemVkLg0KPj4+DQo+Pj4gRml4ZXM6IDU2MGMyYTU1ODRjNCAoIm1pbmkt
b3M6IGtleGVjOiBkbyB0aGUgZmluYWwga2V4ZWMgc3RlcCIpDQo+Pj4gU2lnbmVkLW9mZi1i
eTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPj4NCj4+IFJldmlld2VkLWJ5
OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+IA0KPiBUaGFua3MuDQo+IA0K
PiBUaGUgcmV2ZXJ0IGFjdHVhbGx5IGRpZG4ndCBoZWxwLCB0aGUgcHJvYmxlbSB3YXMgYWxy
ZWFkeSBpbnRyb2R1Y2VkIGVhcmxpZXIuDQo+IEkgbm93IGRvbid0IHVuZGVyc3RhbmQgaG93
IHRoaW5ncyBidWlsdCBwcmV2aW91c2x5LiBJJ2xsIHJlLWFwcGx5IHRoZSBwYXRjaA0KPiBi
dW1waW5nIHRoZSBuZXcgcmV2aXNpb24gdG8gdGhpcyBhYm91dC10by1iZS1jb21taXR0ZWQg
Zml4Lg0KDQpJdCB3b3JrZWQgYmVmb3JlIGJlY2F1c2UgdGhlIHBhdGNoIGVuYWJsaW5nIENP
TkZJR19LRVhFQyBmb3IgdGhlIHN0dWJkb20gd2Fzbid0DQp0aGVyZS4NCg0KDQpKdWVyZ2Vu
DQo=
--------------M1LN3BtLAfQtGkAeteLKVIHH
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------M1LN3BtLAfQtGkAeteLKVIHH--

--------------xT3J57SJ12hJn2Ra814w2q0i--

--------------30BNi0wzQPxtpTIECb10a3nr
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmh46OIFAwAAAAAACgkQsN6d1ii/Ey9m
FAf/U+c6pYcJyviOnPaD/vp/tbbTM5JOucx/A1IV6JYk+umPCNVVdvu03jQIVu1WpedHJ9+nq5gI
MjBzyxIuAxBj1L+poOyvfxB/XknJ+cGTx0B1VUNoAb/l8l72YlNhq6+fPEoa36dV53wCeBL05NYr
YBtwvMWmLVQQivG5kYf8aX+Gyfm6YZGZ/8lwI51Wu2N0NKUnrWQKHfALgySNdznmEcE61fh1sHKM
nU7MagUKCG8AWA12+1TKS4KhXJfFFtM9Rbx8xGb4kV23e74JPtt52G+YVlX+m9ko4nfpavNmlXVt
4X19wIcg9T1U2C42F20weZ3iYLTAPEZz/J1oUMP5qA==
=lOuX
-----END PGP SIGNATURE-----

--------------30BNi0wzQPxtpTIECb10a3nr--


From minios-devel-bounces@lists.xenproject.org Mon Jul 28 14:09:17 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jul 2025 14:09:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1061601.1427199 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ugOXT-0007TL-CH; Mon, 28 Jul 2025 14:09:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1061601.1427199; Mon, 28 Jul 2025 14:09:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ugOXT-0007TA-9I; Mon, 28 Jul 2025 14:09:15 +0000
Received: by outflank-mailman (input) for mailman id 1061601;
 Mon, 28 Jul 2025 14:09:14 +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 <SRS0=ScRH=2J=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ugOXS-0007T2-OC
 for minios-devel@lists.xenproject.org; Mon, 28 Jul 2025 14:09:14 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7029df22-6bbc-11f0-a31e-13f23c93f187;
 Mon, 28 Jul 2025 16:09:13 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-3b786421e36so1008101f8f.3
 for <minios-devel@lists.xenproject.org>; Mon, 28 Jul 2025 07:09:13 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-24011bc0b00sm29478555ad.69.2025.07.28.07.09.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 28 Jul 2025 07:09:11 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7029df22-6bbc-11f0-a31e-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1753711752; x=1754316552; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=AAg4oiCrpu39oH9OfzOlBSa3If3xpnbscOkDRd7amYs=;
        b=LiEYhU8iE+cMaLskLLFfseaT3HTpBX2dljWFQa6DG6h8fOF7sWD0tPIlrtDGxTxfL6
         fpSh32RjIqahYBxmdjbXthTEl9Gahp71S9Pt3NEbx/HbbcIM0iyUn1H0LctVqOLfyJLN
         NQlebBtTdwx0y3LQNf7ucUh91kw8nA8Vgh9VE+5ca4ZN7o8OVkA9lvATyGXc5wHNgdSF
         UeO+B0dS7XBmibDFgKgI3PGDvI57s/TrVjYy9hrcvDz1eZkaYoUvR1s5lUeY44gaoczX
         GOjker3eMuQ54CC/KAGghV5I4vHRbm1KdgVPxAjRgEwVjfcSaC5FuaM/RKg+zV/weTBj
         lhpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1753711752; x=1754316552;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=AAg4oiCrpu39oH9OfzOlBSa3If3xpnbscOkDRd7amYs=;
        b=PjybVJbe5yEgNTf+msA+KPgGzZzWUZ9d7sP+MvYlV+7jcngYorpjfCkpxQz4HGaKF7
         0FRIFShqxEk2Hc7fwks+kYopCPg2WE+KoZQyl3spG6EAyTTdNyp4eLfdyfdjI5/UscOE
         wRp8ppmu5UOgP6REdUFL90yn6OBCNxvs7h3Rx5bw8ryxGS8O+f4McclMUErewABw6BLc
         CaPwt4iJcwlN0IlthlYeetXsFxbSL+tNc7gvpS0jV0cZpxRK08UGo89TgQyu/QVwJh+k
         Eok+szh+0zNGrd7RPFIKdpx/KkSOga2vOWUWIz9Tu0iNxE9I4kbLxaZJh0M1SKcSYGdx
         M7Tw==
X-Forwarded-Encrypted: i=1; AJvYcCUYaot1Aa2559AwEtMoQZin6carMcbKZFzgQnQt305jSkenseXzX9dAllSlgFG6bZw7W1G6q1bc6ixzAOI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzowGQRlO4K5G6Jhe3n59udj+H8Jik9wzwzcjAXxmpxGMLhFkF2
	sMMJF+4io0PBTlRd0yo/rHNODIGfnpFlyHd+lW7bn0ybWpNPd3p5/I+WB2ZUvOROZQ==
X-Gm-Gg: ASbGncvfVA8nPIvRDkqc+xrV+/HOPGrxQ8JsguKe2PzIfZc446dWDi6quDBffg8k6et
	MNZmJJQAMJjkj+S2oCdMXeUoXtkYjWjxObINM2m2YyPmXrjgNY8B3/Tew9K1v12qoUZbK6GmUsk
	EKV5jPxSxULQ3+cNHcQb43ML17YJvsEl1vPcvoqJs9/lM3N1NiL8YiE/spRYMind5yGOBzwsJ2y
	W9ojyrmR1+AZEPr9xY3jh2fVwrIWlMf9N6/5q0i6brRiesU/nSfvjm8faxsxfYZ8DYAg8Isn9Dj
	bWd2MFfhPzUs7Q+BVn0HXAeuOZKgBmzbFYBPaMR5h8Jr/pgAM6p+w0DMnIpjw8Vk0kXDIjZTMHV
	OsmlQpYVZsUGponK2atdfFtbIUAPVap4Vyk+NJ0wlPJqc3eQDwH8UfJyfHx9WbDw3ypIc7mfFPU
	OQBKUQWc3PXNsa29JaMA==
X-Google-Smtp-Source: AGHT+IHs1NdI1c4z38jNb8C0WYllNQYiNUVSDKmIlC4EyGk+Nw+c1EDHISVQXDr7qsvpcBXbsBSWLg==
X-Received: by 2002:a05:6000:2401:b0:3b7:8851:659 with SMTP id ffacd0b85a97d-3b7885110dbmr2255168f8f.19.1753711752185;
        Mon, 28 Jul 2025 07:09:12 -0700 (PDT)
Message-ID: <7705ed0a-7fbe-4e0e-8752-2acd0a76583e@suse.com>
Date: Mon, 28 Jul 2025 16:09:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 1/2] mm: provide a way to do very early page table
 allocations
To: Juergen Gross <jgross@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
References: <20250708063738.18994-1-jgross@suse.com>
 <20250708063738.18994-2-jgross@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20250708063738.18994-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 08.07.2025 08:37, Juergen Gross wrote:
> Add a small pool of statically allocated memory pages to be handed out
> for very early page table allocations.
> 
> This will make it possible to do virtual allocations e.g. for mapping
> the shared info page.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  arch/x86/mm.c | 16 +++++++++++++++-
>  1 file changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/x86/mm.c b/arch/x86/mm.c
> index bdff38fd..3f5c7ea7 100644
> --- a/arch/x86/mm.c
> +++ b/arch/x86/mm.c
> @@ -640,12 +640,17 @@ void change_readonly(bool readonly)
>   * return a valid PTE for a given virtual address. If PTE does not exist,
>   * allocate page-table pages.
>   */
> +#define N_PTS 4

Wouldn't it be prudent to have a comment here mentioning how this number
was derived, i.e. what's known to be covered? (To map the shared info
page I expect you really only need 3? Hence without a comment things may
remain unclear.)

> +static char early_pt[PAGE_SIZE * N_PTS] __attribute__((aligned(PAGE_SIZE)));

Maybe better early_pt[N_PTS][PAGE_SIZE], simplifying the allocation
code below a little?

> +static unsigned long n_early_pt = N_PTS;

unsigned int would do, I expect? With the suggestion above this could
then also use ARRAY_SIZE(), at which point there would be no real need
for N_PTS anymore.

>  static int need_pgt_func(unsigned long va, unsigned int lvl, bool is_leaf,
>                           pgentry_t *pte, void *par)
>  {
>      pgentry_t **result = par;
>      unsigned long pt_mfn;
>      unsigned long pt_pfn;
> +    unsigned long pt_addr;
>      unsigned int idx;
>  
>      if ( !is_leaf )
> @@ -664,7 +669,16 @@ static int need_pgt_func(unsigned long va, unsigned int lvl, bool is_leaf,
>      }
>  
>      pt_mfn = virt_to_mfn(pte);
> -    pt_pfn = virt_to_pfn(alloc_page());
> +    if ( n_early_pt )
> +    {
> +        n_early_pt--;
> +        pt_addr = (unsigned long)&early_pt[n_early_pt * PAGE_SIZE];
> +    }
> +    else
> +    {
> +        pt_addr = alloc_page();
> +    }

The failure pattern when one fails to increase early_pt[] is likely going
to be problematic. Wouldn't it be better to check for failure here?

Jan


From minios-devel-bounces@lists.xenproject.org Mon Jul 28 14:21:34 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jul 2025 14:21:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1061625.1427222 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ugOjN-0002uG-Kg; Mon, 28 Jul 2025 14:21:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1061625.1427222; Mon, 28 Jul 2025 14:21:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ugOjN-0002u9-IA; Mon, 28 Jul 2025 14:21:33 +0000
Received: by outflank-mailman (input) for mailman id 1061625;
 Mon, 28 Jul 2025 14:21:32 +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 <SRS0=ScRH=2J=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ugOjM-0002u2-Nh
 for minios-devel@lists.xenproject.org; Mon, 28 Jul 2025 14:21:32 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 287e54d2-6bbe-11f0-a31e-13f23c93f187;
 Mon, 28 Jul 2025 16:21:31 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-3b7834f2e72so1080733f8f.2
 for <minios-devel@lists.xenproject.org>; Mon, 28 Jul 2025 07:21:31 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-76408c023absm5728044b3a.38.2025.07.28.07.21.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 28 Jul 2025 07:21:30 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 287e54d2-6bbe-11f0-a31e-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1753712491; x=1754317291; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=lYIjEX+MBzdtLGoYhZMBM1WM3fS5tlkBRgT15Psn4Kw=;
        b=E4SZ6Gxt9ZJyIKHD1vrMcGKuWpiWBzXDBlwnIZVwsjGhISUyDFxUhqmhNBCQeqsN41
         Pgx4xXVe3QdPNOtc+6ynCfdzBYQPTaLvsYj42ohliseLC7Tsu1oYB3thkQEMio03DcFL
         Peh0KxPkNIVRrvlIhxcpknQMkEiA4sc03IVYatYmiH2WOUGou6yImnVn0R0K7eLUMoI/
         2IZsQn8Hvh++o5mgqTBbam956wWOeEzW6SGRpK5Ca49kn/Kyv8Bs6pB0neCIffvMetwL
         eFOV5Fzz1iF5Oy8cS5619YrHMPq0BfcAOWrN8qvLKG/Ouh5M8P7aoKUO8Bt9fXoswqeR
         Ldxw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1753712491; x=1754317291;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lYIjEX+MBzdtLGoYhZMBM1WM3fS5tlkBRgT15Psn4Kw=;
        b=utG/V2Qy9Adul1cf7gFXbMC2lm5vaZ5rYGOza1GHQ+EqWfxwuXtZexh+RRd/35wFxT
         dXKvTdSEX7DqA0/eR0WtiEUaAgHxr5fHt3gDSf+irggsRUW9eYvqyeUQOczd5+yPCVxm
         5zbflCnW3HAiRD6U+XS+2qmzdoFxRZECzsgiV3KgR1zfXDXzjWUDF8c+Y5BaztnIDRw8
         WDh6WNvb3L9W2pjugaiZ/Vcw9/6m1/UikTSzP6Ftys6fXb3QCRZhZ0PdeY8bnKIDtBQb
         TkVnTDpZ9hhBbflQAt9hP9bKcdTtMt4/FdDEgQotKRcMiAuKaJlDQvCTSMXyKuI4No67
         xwTg==
X-Forwarded-Encrypted: i=1; AJvYcCXzCutvQ3yX3ZKwYnGP+Pj9Ye4YHxoV7+z4s2ztbWkoRjN8KfXVhEJwdE7lWcxbX7oAg8brmoU5W7vq0/Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzEeMWxLvpsTbzU+/0UR97Kd532EojbaNEYt3DCbyb1fVdNuqYd
	FPOv/FWEc2lVKK1yByVaW7JRDWRkUCi0w7dNi2CJMLh2elGZBIYZk4ne4whps4gbAA==
X-Gm-Gg: ASbGncuVqmu+yPnCvFLGLV86BSwgcLmvRvoRPGvQ+viKZMMOSIYGRWCbNZRz4hfDTbl
	gtQLEEcewFNgE1QP3e1tj/qmCS99pOZc/vZlUfz9biZYOmfsxJvKU41vcgZpyqcXJ8fQ6oldkvQ
	GATXxbZjzet6r23eZiNo8ZbwVsjUIc46HaSatK4XYO8QtHbRgnyg2+Re3Pbm5IvdGuv8b8wlFHn
	0qkzblkJ+K85B6VyxUmbmtP3jLd0cHKlKMfjb+pPI53dgZK38U2zzWCcJcP2SrW8tvjozmaMHv9
	k1IjxToO7eOdVda/GMTwJM9pHiQVdYcuRG53tbJnr8FjB609m5ygh/isXM0xVh9fn51B636YXfT
	CrlqsIbR2fdQeOlj9bhztR/dwGbhwjvptZEur5ck+fGAU1CcGU8xlFKyolr+myek1dOtkfDXP4V
	lmnwxSYis=
X-Google-Smtp-Source: AGHT+IHPMNrua+8enMeQI7WALwWkoxVxMsZJJcULdk0R1b+HytsTPIeawBi4yypMhWPuuvatNSIIAg==
X-Received: by 2002:a05:6000:2083:b0:3b7:662a:b835 with SMTP id ffacd0b85a97d-3b77671d144mr8571486f8f.6.1753712491080;
        Mon, 28 Jul 2025 07:21:31 -0700 (PDT)
Message-ID: <d3934ed6-09c5-4bd1-b7a2-fb3f5725d0dd@suse.com>
Date: Mon, 28 Jul 2025 16:21:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 2/2] x86: don't use a memory page for mapping the
 shared info page
To: Juergen Gross <jgross@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
References: <20250708063738.18994-1-jgross@suse.com>
 <20250708063738.18994-3-jgross@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20250708063738.18994-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 08.07.2025 08:37, Juergen Gross wrote:
> --- a/hypervisor.c
> +++ b/hypervisor.c
> @@ -27,8 +27,10 @@
>  
>  #include <mini-os/os.h>
>  #include <mini-os/lib.h>
> +#include <mini-os/e820.h>
>  #include <mini-os/hypervisor.h>
>  #include <mini-os/events.h>
> +#include <mini-os/mm.h>
>  #include <xen/memory.h>
>  
>  EXPORT_SYMBOL(hypercall_page);
> @@ -37,7 +39,8 @@ EXPORT_SYMBOL(hypercall_page);
>      ((sh)->evtchn_pending[idx] & ~(sh)->evtchn_mask[idx])
>  
>  #ifndef CONFIG_PARAVIRT
> -extern shared_info_t shared_info;
> +static unsigned long shinfo_pfn;
> +static unsigned long shinfo_va;
>  
>  int hvm_get_parameter(int idx, uint64_t *value)
>  {
> @@ -69,14 +72,16 @@ shared_info_t *map_shared_info(void)
>  {
>      struct xen_add_to_physmap xatp;
>  
> +    shinfo_pfn = e820_get_reserved_pfns(1);
>      xatp.domid = DOMID_SELF;
>      xatp.idx = 0;
>      xatp.space = XENMAPSPACE_shared_info;
> -    xatp.gpfn = virt_to_pfn(&shared_info);
> +    xatp.gpfn = shinfo_pfn;
>      if ( HYPERVISOR_memory_op(XENMEM_add_to_physmap, &xatp) != 0 )
>          BUG();
> +    shinfo_va = map_frame_virt(shinfo_pfn);

In the PV variant you first check whether you already have a VA. Why is
that needed there, but not here? (Originally I meant to ask why you don't
use map_frame_virt() there as well.)

Talking of map_frame_virt() - I take it its 2nd parameter being named
"mfn" is kind of stale (pre-dating the addition of PVH support)?

> @@ -84,9 +89,11 @@ void unmap_shared_info(void)
>      struct xen_remove_from_physmap xrtp;
>  
>      xrtp.domid = DOMID_SELF;
> -    xrtp.gpfn = virt_to_pfn(&shared_info);
> +    xrtp.gpfn = shinfo_pfn;
>      if ( HYPERVISOR_memory_op(XENMEM_remove_from_physmap, &xrtp) != 0 )
>          BUG();
> +    unmap_frames(shinfo_va, 1);

Better do this ahead of the hypercall?

Jan


From minios-devel-bounces@lists.xenproject.org Mon Jul 28 15:01:15 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jul 2025 15:01:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1061653.1427236 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ugPLk-0008LA-CX; Mon, 28 Jul 2025 15:01:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1061653.1427236; Mon, 28 Jul 2025 15:01:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ugPLk-0008L3-A3; Mon, 28 Jul 2025 15:01:12 +0000
Received: by outflank-mailman (input) for mailman id 1061653;
 Mon, 28 Jul 2025 15:01:11 +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 <SRS0=ERLN=2J=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ugPLj-0008Kr-5D
 for minios-devel@lists.xenproject.org; Mon, 28 Jul 2025 15:01:11 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b1ddee20-6bc3-11f0-a31e-13f23c93f187;
 Mon, 28 Jul 2025 17:01:09 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-ae0bde4d5c9so880391066b.3
 for <minios-devel@lists.xenproject.org>; Mon, 28 Jul 2025 08:01:09 -0700 (PDT)
Received: from ?IPV6:2003:e5:872d:3c00:27e3:fc0:fb5:67a3?
 (p200300e5872d3c0027e30fc00fb567a3.dip0.t-ipconnect.de.
 [2003:e5:872d:3c00:27e3:fc0:fb5:67a3])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-af63589cc5asm426608066b.32.2025.07.28.08.01.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 28 Jul 2025 08:01:04 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1ddee20-6bc3-11f0-a31e-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1753714869; x=1754319669; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=vyyp/sClDeUkh06B5Ee7+QNhsEpUD6qDFNzqOz2HDvg=;
        b=LkLbcFNMHloSNhjXWXA5Ci4CPAdea4EgEgxJFPiBPM92KrjtH794iSfL7Fd+yQxyKl
         zWX5NX2iOdb1XEQVsvVA/BRWcaFUXjAIzLUwa3Vg9or3YVNmrsVhx1178W0laTsyaNBR
         aGg521WeCK17Y6baGZsPc01wfyIH8gOn46urCej97bDBMJo1LIzkFUeiR0l+MKiOUGZ1
         lzUa1yJso9h/pK+ByJ4ugXmhvnhtwtc3c4nG1ShGPOJEhyhDbMI9eASUZy8p3XCJXtLh
         vuoMQtWI5S+Q0va2mJ17iFde8DJkEu9p8TYfxR9Ghba18pT/0JI5LMs1xC4kmqiIJxq8
         352A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1753714869; x=1754319669;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=vyyp/sClDeUkh06B5Ee7+QNhsEpUD6qDFNzqOz2HDvg=;
        b=qEDXUUmi6OAsZ6CXZ6bEYqqi16jrMuLfa66mcNtlQMYHo7FiSVpY3QOeIw1ESndxIJ
         gYr4kQmCcnY7ptIAHhn+JZ4Ytz3EVN01UpdRTSVZKcXtLHjSCaUVmt3zDgnFI2WUjGKx
         ZkZw1JpyH/2TXJ7Dj0SQT5V5wZD0MfG/cwPYSVqsgh2Wv6PKVbokhB+gtw2zsMD3Oexp
         HnGhavAjf6UKU0AI6q48Y/sOcwJOF8q/1QB38u+101GCM/di2ZQjzP7SCUfJPBZKLoJh
         G4LW/CHmsyOSOAPt4MbbV3RAAE70E+WvPovSRYxHWB/f+mpXXO5oMXVmmw9zADFRdKzp
         t9Pg==
X-Forwarded-Encrypted: i=1; AJvYcCXQHxTh/v7HGAINZ1TuZ1xCHyrjy1/j7B/i+XpBBEe0Q02PaL39iXMaqA7O2SalJZTaFrZD5PYIL/VoJLk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzBIfVWGfRQflqLSvJk6hPbCdrXtZAdsib+TcMI+pcPGh7YDfgM
	Fr4p3mGQYOXjvMbp/ooepuLqbiOcBQT+xbbKt6uHpS1YCsl/LwNyPrDGAewgBPRrL1c=
X-Gm-Gg: ASbGncvm+s7Jfzm8hl1JFy+tBY/VnQYvO2Z2fNTgNdXYGrhdapmaeTW8/YqVp/d/BMQ
	JxFx3XIDJpvKRSlOv4iOoeue9MnKN8U3O4R8wM8A3zshWfh0x7jTaX0+JIBMSUTCERVFIBE/2Q3
	u9Q7b4KN2amHDaKuT6sclqtiqJaDNN2lAISS0rlJjjfLlU6kj3tNQcznXNpXufwerEWO1/MTdRt
	5bT1jotDa9nQsIWNDiWA4uCKkJvP1UxelYBiJXEr3Y3QAo85wsQHrdEycG5DUtvB+uhlAlYZUnN
	yzN4nabpLuiqW8bJLeZvYKSkNjFXmPuMk58nuqfyinmdF+prUa4b2VDTvYxjJ4mbRP/ZSv1HhdM
	0zqlL+/8z+uaqG8LhiIPucidrPDOknCYo4+GXoWws3H3+BzEAfZzcffWpsYGVB50VUbqnDIUks0
	rb1v9RVxjBgx7ugEGAoEz5zW8FCGxxFY8EVroB8SbV9w==
X-Google-Smtp-Source: AGHT+IENkm0fs2t9WiUkqeC/WQaw29wCTX2zdxU7mW59IeVbPGq4S8dvGimkkJBbeDiGLSbj0FpaoA==
X-Received: by 2002:a17:907:9448:b0:ae4:933:5c50 with SMTP id a640c23a62f3a-af61941213dmr1393916666b.41.1753714864345;
        Mon, 28 Jul 2025 08:01:04 -0700 (PDT)
Message-ID: <4bd0eb52-c00d-494a-854e-579401c183a6@suse.com>
Date: Mon, 28 Jul 2025 17:01:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 1/2] mm: provide a way to do very early page table
 allocations
To: Jan Beulich <jbeulich@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
References: <20250708063738.18994-1-jgross@suse.com>
 <20250708063738.18994-2-jgross@suse.com>
 <7705ed0a-7fbe-4e0e-8752-2acd0a76583e@suse.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <7705ed0a-7fbe-4e0e-8752-2acd0a76583e@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------XsBmjuiMEKiPTEu2kdawDqeI"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------XsBmjuiMEKiPTEu2kdawDqeI
Content-Type: multipart/mixed; boundary="------------vZac5oDxUIyiXlJVoDHvZWvE";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Message-ID: <4bd0eb52-c00d-494a-854e-579401c183a6@suse.com>
Subject: Re: [MINI-OS PATCH 1/2] mm: provide a way to do very early page table
 allocations
References: <20250708063738.18994-1-jgross@suse.com>
 <20250708063738.18994-2-jgross@suse.com>
 <7705ed0a-7fbe-4e0e-8752-2acd0a76583e@suse.com>
In-Reply-To: <7705ed0a-7fbe-4e0e-8752-2acd0a76583e@suse.com>
Autocrypt-Gossip: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------vZac5oDxUIyiXlJVoDHvZWvE
Content-Type: multipart/mixed; boundary="------------eEnY3gS7WZ0oZHHscpE9p7oh"

--------------eEnY3gS7WZ0oZHHscpE9p7oh
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjguMDcuMjUgMTY6MDksIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwOC4wNy4yMDI1
IDA4OjM3LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gQWRkIGEgc21hbGwgcG9vbCBvZiBz
dGF0aWNhbGx5IGFsbG9jYXRlZCBtZW1vcnkgcGFnZXMgdG8gYmUgaGFuZGVkIG91dA0KPj4g
Zm9yIHZlcnkgZWFybHkgcGFnZSB0YWJsZSBhbGxvY2F0aW9ucy4NCj4+DQo+PiBUaGlzIHdp
bGwgbWFrZSBpdCBwb3NzaWJsZSB0byBkbyB2aXJ0dWFsIGFsbG9jYXRpb25zIGUuZy4gZm9y
IG1hcHBpbmcNCj4+IHRoZSBzaGFyZWQgaW5mbyBwYWdlLg0KPj4NCj4+IFNpZ25lZC1vZmYt
Ynk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4+IC0tLQ0KPj4gICBhcmNo
L3g4Ni9tbS5jIHwgMTYgKysrKysrKysrKysrKysrLQ0KPj4gICAxIGZpbGUgY2hhbmdlZCwg
MTUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9h
cmNoL3g4Ni9tbS5jIGIvYXJjaC94ODYvbW0uYw0KPj4gaW5kZXggYmRmZjM4ZmQuLjNmNWM3
ZWE3IDEwMDY0NA0KPj4gLS0tIGEvYXJjaC94ODYvbW0uYw0KPj4gKysrIGIvYXJjaC94ODYv
bW0uYw0KPj4gQEAgLTY0MCwxMiArNjQwLDE3IEBAIHZvaWQgY2hhbmdlX3JlYWRvbmx5KGJv
b2wgcmVhZG9ubHkpDQo+PiAgICAqIHJldHVybiBhIHZhbGlkIFBURSBmb3IgYSBnaXZlbiB2
aXJ0dWFsIGFkZHJlc3MuIElmIFBURSBkb2VzIG5vdCBleGlzdCwNCj4+ICAgICogYWxsb2Nh
dGUgcGFnZS10YWJsZSBwYWdlcy4NCj4+ICAgICovDQo+PiArI2RlZmluZSBOX1BUUyA0DQo+
IA0KPiBXb3VsZG4ndCBpdCBiZSBwcnVkZW50IHRvIGhhdmUgYSBjb21tZW50IGhlcmUgbWVu
dGlvbmluZyBob3cgdGhpcyBudW1iZXINCj4gd2FzIGRlcml2ZWQsIGkuZS4gd2hhdCdzIGtu
b3duIHRvIGJlIGNvdmVyZWQ/IChUbyBtYXAgdGhlIHNoYXJlZCBpbmZvDQo+IHBhZ2UgSSBl
eHBlY3QgeW91IHJlYWxseSBvbmx5IG5lZWQgMz8gSGVuY2Ugd2l0aG91dCBhIGNvbW1lbnQg
dGhpbmdzIG1heQ0KPiByZW1haW4gdW5jbGVhci4pDQoNClllcywgMyB3b3VsZCBoYXZlIGJl
ZW4gZW5vdWdoLiBPVE9IIGhhdmluZyBhbm90aGVyIHNwYXJlIGRvZXNuJ3QgaHVydCwgYXMN
CnRoZSBtZW1vcnkgd2lsbCBiZSBhbGxvY2F0ZWQgYW55d2F5Lg0KDQpJJ2xsIGFkZCBhIGNv
bW1lbnQgaW4gdGhpcyByZWdhcmQuDQoNCj4gDQo+PiArc3RhdGljIGNoYXIgZWFybHlfcHRb
UEFHRV9TSVpFICogTl9QVFNdIF9fYXR0cmlidXRlX18oKGFsaWduZWQoUEFHRV9TSVpFKSkp
Ow0KPiANCj4gTWF5YmUgYmV0dGVyIGVhcmx5X3B0W05fUFRTXVtQQUdFX1NJWkVdLCBzaW1w
bGlmeWluZyB0aGUgYWxsb2NhdGlvbg0KPiBjb2RlIGJlbG93IGEgbGl0dGxlPw0KDQpZZXMs
IGdvb2QgaWRlYS4NCg0KPiANCj4+ICtzdGF0aWMgdW5zaWduZWQgbG9uZyBuX2Vhcmx5X3B0
ID0gTl9QVFM7DQo+IA0KPiB1bnNpZ25lZCBpbnQgd291bGQgZG8sIEkgZXhwZWN0PyBXaXRo
IHRoZSBzdWdnZXN0aW9uIGFib3ZlIHRoaXMgY291bGQNCj4gdGhlbiBhbHNvIHVzZSBBUlJB
WV9TSVpFKCksIGF0IHdoaWNoIHBvaW50IHRoZXJlIHdvdWxkIGJlIG5vIHJlYWwgbmVlZA0K
PiBmb3IgTl9QVFMgYW55bW9yZS4NCg0KVHJ1ZS4NCg0KPiANCj4+ICAgc3RhdGljIGludCBu
ZWVkX3BndF9mdW5jKHVuc2lnbmVkIGxvbmcgdmEsIHVuc2lnbmVkIGludCBsdmwsIGJvb2wg
aXNfbGVhZiwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBnZW50cnlfdCAqcHRl
LCB2b2lkICpwYXIpDQo+PiAgIHsNCj4+ICAgICAgIHBnZW50cnlfdCAqKnJlc3VsdCA9IHBh
cjsNCj4+ICAgICAgIHVuc2lnbmVkIGxvbmcgcHRfbWZuOw0KPj4gICAgICAgdW5zaWduZWQg
bG9uZyBwdF9wZm47DQo+PiArICAgIHVuc2lnbmVkIGxvbmcgcHRfYWRkcjsNCj4+ICAgICAg
IHVuc2lnbmVkIGludCBpZHg7DQo+PiAgIA0KPj4gICAgICAgaWYgKCAhaXNfbGVhZiApDQo+
PiBAQCAtNjY0LDcgKzY2OSwxNiBAQCBzdGF0aWMgaW50IG5lZWRfcGd0X2Z1bmModW5zaWdu
ZWQgbG9uZyB2YSwgdW5zaWduZWQgaW50IGx2bCwgYm9vbCBpc19sZWFmLA0KPj4gICAgICAg
fQ0KPj4gICANCj4+ICAgICAgIHB0X21mbiA9IHZpcnRfdG9fbWZuKHB0ZSk7DQo+PiAtICAg
IHB0X3BmbiA9IHZpcnRfdG9fcGZuKGFsbG9jX3BhZ2UoKSk7DQo+PiArICAgIGlmICggbl9l
YXJseV9wdCApDQo+PiArICAgIHsNCj4+ICsgICAgICAgIG5fZWFybHlfcHQtLTsNCj4+ICsg
ICAgICAgIHB0X2FkZHIgPSAodW5zaWduZWQgbG9uZykmZWFybHlfcHRbbl9lYXJseV9wdCAq
IFBBR0VfU0laRV07DQo+PiArICAgIH0NCj4+ICsgICAgZWxzZQ0KPj4gKyAgICB7DQo+PiAr
ICAgICAgICBwdF9hZGRyID0gYWxsb2NfcGFnZSgpOw0KPj4gKyAgICB9DQo+IA0KPiBUaGUg
ZmFpbHVyZSBwYXR0ZXJuIHdoZW4gb25lIGZhaWxzIHRvIGluY3JlYXNlIGVhcmx5X3B0W10g
aXMgbGlrZWx5IGdvaW5nDQo+IHRvIGJlIHByb2JsZW1hdGljLiBXb3VsZG4ndCBpdCBiZSBi
ZXR0ZXIgdG8gY2hlY2sgZm9yIGZhaWx1cmUgaGVyZT8NCg0KSG1tLCBub3Qgc3VyZSB0aGlz
IGlzIHRydWUuIEkgdHJpZWQgdGhlIHNoYXJlZCBpbmZvIG1hcHBpbmcgd2l0aG91dCBhZGRp
bmcNCnRoZSBzcGVjaWFsIGVhcmx5IGFsbG9jIGNvZGUgZmlyc3QgYW5kIGZpbmRpbmcgdGhl
IGJ1ZyB3YXMgcXVpdGUgZWFzeS4NCg0KDQpKdWVyZ2VuDQo=
--------------eEnY3gS7WZ0oZHHscpE9p7oh
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------eEnY3gS7WZ0oZHHscpE9p7oh--

--------------vZac5oDxUIyiXlJVoDHvZWvE--

--------------XsBmjuiMEKiPTEu2kdawDqeI
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmiHkK8FAwAAAAAACgkQsN6d1ii/Ey/4
uwgAh6uJF6y8lBhrg6eQN5Kpv0bvpHY0nEPDIupUxKsllAalUxjTInmUHcbyMyTcVX2OuqwZlLHj
0aBWs22mRTioLOdP8iXEq2hZDxkfcrOsyDZt/nbnJzA9uTv/Avc7fV1FMEEqLKXjo/3vTWIuPGhm
UO9xfrJRbdKOv+PiMTuEIVHRKeoPR780eVduflvMKGCawtekuW4QOqatmSeN+yFsUeWZVFx3Clx4
g9v6FkmeKLbCWB06Q8AC9OKCS4MwG6Fd1t2YZe9n1z7DafWHtDOLU2fc0ASvjXUtteKZXyZnmFN9
hJRLe85BG/WiXDw8pHu4O5IC7HeJjul9NfPXn4t08g==
=/EA6
-----END PGP SIGNATURE-----

--------------XsBmjuiMEKiPTEu2kdawDqeI--


From minios-devel-bounces@lists.xenproject.org Mon Jul 28 15:15:27 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jul 2025 15:15:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1061680.1427271 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ugPZW-0002bX-5r; Mon, 28 Jul 2025 15:15:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1061680.1427271; Mon, 28 Jul 2025 15:15:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ugPZW-0002bQ-2r; Mon, 28 Jul 2025 15:15:26 +0000
Received: by outflank-mailman (input) for mailman id 1061680;
 Mon, 28 Jul 2025 15:15:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ScRH=2J=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ugPZU-0002ai-QN
 for minios-devel@lists.xenproject.org; Mon, 28 Jul 2025 15:15:24 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ad9d4731-6bc5-11f0-b895-0df219b8e170;
 Mon, 28 Jul 2025 17:15:23 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-ae9c2754a00so935713966b.2
 for <minios-devel@lists.xenproject.org>; Mon, 28 Jul 2025 08:15:21 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-2403f48f854sm14821355ad.99.2025.07.28.08.07.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 28 Jul 2025 08:07:26 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad9d4731-6bc5-11f0-b895-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1753715721; x=1754320521; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=UtlT7brhm7JA21qv547BphxRF9JMypggqimgSqGBGHQ=;
        b=OjXTbjwx3DyZ2Z3zPm+VpoVJa+G7mksGkz79jCiRym/S47vT4wOBUTPlnPgnYpFc8V
         MBB+JgRXF0Wtw0GZiL0pZs4uscb8+6JnUQgNk0nj1LPxK3MRI6zgC5Rn6X9Vr9iYZVby
         KJtsp5MqQKRrydokxlDg199K5mqb/Ptd4df3EEFUa3nqQOUh39/r49pM5SznOrZTBpQr
         msdLRHwP1lXWPoTuhOQ1IrexXNBF1a5Ha7vA1shi0HnsnRQWG0bAlPaQ5a/eqJFVkC+3
         c4pWkYAlrOQ0haoC50gDPhdZfqZNBbtyMobN2X3r8+N+tYh7/Pfe5Tost6WQhaE9JqOR
         VWKw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1753715721; x=1754320521;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=UtlT7brhm7JA21qv547BphxRF9JMypggqimgSqGBGHQ=;
        b=dBlbTHSG6pPiBvKAZ9kzPXHoZm184cZAaVWczMuOPUWWE3RRU9RGfMqM3A/p6GYFyo
         Hj5znYQYp0ScEF9AFZi3lku6YG8CSHkvL3m4yu59Ybq6b1E327NfEF8lbxD7lLqzZsI4
         47a2PlSVA7zQ+dPbfgU3fu3t8VV/SCWLoVLC8J1SoioT809PCd+4jFxVuxe3H/jo+ZOV
         yoRZvoNi8JjEC8DBPFSSME5159ySS6vDmbIIuq9xzIj4pJ/mCGyHljzjLL+kDS3siftq
         dCRyYZ7bqmhfIGyYqpK/Jby0SoGD+iW87JoLsZE/gPMqoicXHIlPq15lPz97Ilq7fLD7
         Iy1Q==
X-Forwarded-Encrypted: i=1; AJvYcCW6QdzEXqBXS7dLf8tQ4Ma3VOQOg+awArlNX/QUgtQTluzTe47D364GJYKkteQgt3Bdj7HNll9t0fKBoa4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxC6aSsWO0vrd2Nd17sxkrKvTrCmu52qcS0U1ysi3IXiz8H3UvI
	Ix+/BIxO+1pQcIJudPymLApaoi3KMfpKAL39OuhBrooDwZmhJVovLANmrRk2TnVHczZdEhdcy3e
	zY0Y=
X-Gm-Gg: ASbGncti5eJRAGUleDkWOXjM/Yz2O6RbdG0kvHdGuWQL6XnCjuekpb3+S0TQ3VICeui
	aK6P+r5tK/jxB5EMRi4N+zHGRPEVA8puzsifm48HHzlVCsivkNCvXDDd3pknd/EkSZiuADBcL3K
	baUtq1pDHDI90ZmAO/iVL4NReh+Pw3iV8SG92uOd0FTLrnBk6cFN9voSeILg6CVOpN26EReqzYX
	/HF0XTMjI7KE82X0XrJDWBj5/KQZk6ocjTjDCUW9PxpOHqf/eCbUxcsNmC9CYJKtXftMn5CHy1C
	vatG3Qn8wAciSJYPmoUaXbDYQpJmX+OokCnXblSB0Wy4Zo0tT4ZCtUqaYbSdw2scJL92oZmdiD0
	GfvaiL60uSHTysp1hlSrW+6pycXjcGf2b5rwoJI49awtVLlmBTyOvh85p6ueM8i/Fc0p2eq9CMa
	JU0bsi+DM=
X-Google-Smtp-Source: AGHT+IFgYT1IcZ82RM+7rVOm0JWvQjA2jsjeQ7lTw5Kq691VJLosPuoZF2tsR0taqOV9He59AiWiZw==
X-Received: by 2002:a05:6000:40de:b0:3a5:2653:7308 with SMTP id ffacd0b85a97d-3b7767900a7mr9669932f8f.57.1753715247283;
        Mon, 28 Jul 2025 08:07:27 -0700 (PDT)
Message-ID: <a3b3fb2f-5d7f-4354-adcc-39600e43de62@suse.com>
Date: Mon, 28 Jul 2025 17:07:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 1/2] mm: provide a way to do very early page table
 allocations
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
References: <20250708063738.18994-1-jgross@suse.com>
 <20250708063738.18994-2-jgross@suse.com>
 <7705ed0a-7fbe-4e0e-8752-2acd0a76583e@suse.com>
 <4bd0eb52-c00d-494a-854e-579401c183a6@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <4bd0eb52-c00d-494a-854e-579401c183a6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 28.07.2025 17:01, Jürgen Groß wrote:
> On 28.07.25 16:09, Jan Beulich wrote:
>> On 08.07.2025 08:37, Juergen Gross wrote:
>>> @@ -664,7 +669,16 @@ static int need_pgt_func(unsigned long va, unsigned int lvl, bool is_leaf,
>>>       }
>>>   
>>>       pt_mfn = virt_to_mfn(pte);
>>> -    pt_pfn = virt_to_pfn(alloc_page());
>>> +    if ( n_early_pt )
>>> +    {
>>> +        n_early_pt--;
>>> +        pt_addr = (unsigned long)&early_pt[n_early_pt * PAGE_SIZE];
>>> +    }
>>> +    else
>>> +    {
>>> +        pt_addr = alloc_page();
>>> +    }
>>
>> The failure pattern when one fails to increase early_pt[] is likely going
>> to be problematic. Wouldn't it be better to check for failure here?
> 
> Hmm, not sure this is true. I tried the shared info mapping without adding
> the special early alloc code first and finding the bug was quite easy.

Feel free to ignore my comment then.

Jan


From minios-devel-bounces@lists.xenproject.org Mon Jul 28 15:25:12 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jul 2025 15:25:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1061697.1427294 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ugPix-0004gf-8n; Mon, 28 Jul 2025 15:25:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1061697.1427294; Mon, 28 Jul 2025 15:25:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ugPix-0004gY-67; Mon, 28 Jul 2025 15:25:11 +0000
Received: by outflank-mailman (input) for mailman id 1061697;
 Mon, 28 Jul 2025 15:25:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ERLN=2J=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ugPiv-0004Zs-Qb
 for minios-devel@lists.xenproject.org; Mon, 28 Jul 2025 15:25:09 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0b1d9c66-6bc7-11f0-b895-0df219b8e170;
 Mon, 28 Jul 2025 17:25:07 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-adfb562266cso667576166b.0
 for <minios-devel@lists.xenproject.org>; Mon, 28 Jul 2025 08:25:07 -0700 (PDT)
Received: from ?IPV6:2003:e5:872d:3c00:27e3:fc0:fb5:67a3?
 (p200300e5872d3c0027e30fc00fb567a3.dip0.t-ipconnect.de.
 [2003:e5:872d:3c00:27e3:fc0:fb5:67a3])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-af6358b052bsm437878566b.57.2025.07.28.08.25.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 28 Jul 2025 08:25:06 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b1d9c66-6bc7-11f0-b895-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1753716307; x=1754321107; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=dKIVbBUTQMc5GUkreyjAFSIykq9LqwWvOFXZezY6wFE=;
        b=PymywNN3Ak40x5iXW5k5CQJAjmrtunrYtDaLNUlpZabo7cUfbzMkHHlvUgPpDafF/G
         k6QNZJsYGYulxlhWyx+yv0aF0gwzC+eyy5xcEGIj4wP+ivIqEGWYaHlKBOrrfK7nuRP/
         4tqC3Q0TiXxBEp0kwwTzZN3DI8w4zprS3SpgfLB0jTsO5DabWueWgjHDqT/N7Ggxs52L
         O1vxXcGjePypsuVHqf5FvShCm7/Qy6X8z2CNfX4WTJNrVO6Y6jcLM1kmEOwJKL3gnbf8
         VP2RlUxAa6a8BwNrwGqXb6mXDV6PRAlYfC6nqnLFsohnfiuD+4MXavY9zhXaAtRBdzHR
         odrg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1753716307; x=1754321107;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=dKIVbBUTQMc5GUkreyjAFSIykq9LqwWvOFXZezY6wFE=;
        b=msfVGTHCTXf7/umqVIETyZ2OZR9+cw3xk2JTAC0h8YeqUQOzTQ9WuFQhsHsEZwAFoi
         gtTHZsjnjjDm1jblDLHUpyd7ZuGwAPVtEZcaJBOSabJF2vWE0XWtAIl4terA0h9w3cx7
         fn4q37lF1Y2Jk25/0FZMNwHcDgPVs5QyxRb50KgTTwuH3TrpWfUsnSbKXRwzz/tvXNqM
         +1SgVTOgtwXLhrvbTkhCNbj/aQEl+nn6Iql4rcBedYcevk9/HUVJVLKqUMsOLr3+JlKc
         hPbfi9WDfjtzex//nLvX25jDMBrrhvq0QJZ4fmWVDKSrY/DrttVx5prj/MBndahYICp1
         wL9A==
X-Forwarded-Encrypted: i=1; AJvYcCUBfIFZjGTZMgeIP0I0dfBduU6lX9pRd0Stpuo4LTil4eOwr5okAk6tia8pvBku14Yq+/u9KzvVfa9mHiE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyFGfi8TYMK27WrWuUVEmbPJvrkm5aRqJ3jqiG8XNiIddPyHe0i
	EPk0s1dcmZGiKQOpUTsinEOR6CQiaG6ImXU6HTsj3iVL+lByIrUlTEvwJOZenmxEzkQ=
X-Gm-Gg: ASbGncs/n/Bjswyk1dq216cBPmFhYJg9zQaYlmRijRSXog4siJcFT17QQ8zRFolcVVw
	YX3rEeCsCh1fwLFc4slkjiy6LZmxUwjSlsP6J1CUstQ0qqhIf3+DaH/NKfj1GCIgTIE2w48aBX1
	8/KN8JRCuofffjLYamTm9dwAMtfo8pZQ+2WSnvk2tCrvfVOF7yivDUhq0t2Zj3nRm/6SBQE1S74
	r5z5QcgTqENtj0RzMYyfrBZCT4Aw3UOQS1au3aNwi5E1RxZ9IGuvm6CjKn8iyZaDT5ygZPiY1jk
	TzxNrV9zDcrkaUrK6774q83hskZQpiffZALMNnMO8FZFsFWD+u+R0/4rS5w4C7tmopgidNoRj4n
	XZeHk3ZVMuKH2QfhBefiAOrrd0GRn8aotXabd3O9RepwziFr+n/KBJitucAOlamp9qGvkPMX717
	aTdfikj9wvtdfzxId7J9Lf/2Rh+E10rYR0o/lWYqt7f5AdEizN6bVP
X-Google-Smtp-Source: AGHT+IEYzxH58xBWZfHsP5d/nXRe5D9n5km/EbZtZLWoUNjEwpZ0gismBh1iWzyCJiqeUSRbbcQm5w==
X-Received: by 2002:a17:907:6d18:b0:aec:4ba4:7893 with SMTP id a640c23a62f3a-af61c4bd82bmr1162452966b.2.1753716307057;
        Mon, 28 Jul 2025 08:25:07 -0700 (PDT)
Message-ID: <dee78b61-5432-4096-a9fe-ce554ee88a0d@suse.com>
Date: Mon, 28 Jul 2025 17:25:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH 2/2] x86: don't use a memory page for mapping the
 shared info page
To: Jan Beulich <jbeulich@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
References: <20250708063738.18994-1-jgross@suse.com>
 <20250708063738.18994-3-jgross@suse.com>
 <d3934ed6-09c5-4bd1-b7a2-fb3f5725d0dd@suse.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <d3934ed6-09c5-4bd1-b7a2-fb3f5725d0dd@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------BcnZvHmXBzOoMs0Ui70Oq0i2"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------BcnZvHmXBzOoMs0Ui70Oq0i2
Content-Type: multipart/mixed; boundary="------------c1Lh69cm8aAxQYeG0S0s1nxi";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Message-ID: <dee78b61-5432-4096-a9fe-ce554ee88a0d@suse.com>
Subject: Re: [MINI-OS PATCH 2/2] x86: don't use a memory page for mapping the
 shared info page
References: <20250708063738.18994-1-jgross@suse.com>
 <20250708063738.18994-3-jgross@suse.com>
 <d3934ed6-09c5-4bd1-b7a2-fb3f5725d0dd@suse.com>
In-Reply-To: <d3934ed6-09c5-4bd1-b7a2-fb3f5725d0dd@suse.com>
Autocrypt-Gossip: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------c1Lh69cm8aAxQYeG0S0s1nxi
Content-Type: multipart/mixed; boundary="------------q4b0dmlQxr5fqOiEcq0d20KK"

--------------q4b0dmlQxr5fqOiEcq0d20KK
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjguMDcuMjUgMTY6MjEsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwOC4wNy4yMDI1
IDA4OjM3LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEvaHlwZXJ2aXNvci5jDQo+
PiArKysgYi9oeXBlcnZpc29yLmMNCj4+IEBAIC0yNyw4ICsyNywxMCBAQA0KPj4gICANCj4+
ICAgI2luY2x1ZGUgPG1pbmktb3Mvb3MuaD4NCj4+ICAgI2luY2x1ZGUgPG1pbmktb3MvbGli
Lmg+DQo+PiArI2luY2x1ZGUgPG1pbmktb3MvZTgyMC5oPg0KPj4gICAjaW5jbHVkZSA8bWlu
aS1vcy9oeXBlcnZpc29yLmg+DQo+PiAgICNpbmNsdWRlIDxtaW5pLW9zL2V2ZW50cy5oPg0K
Pj4gKyNpbmNsdWRlIDxtaW5pLW9zL21tLmg+DQo+PiAgICNpbmNsdWRlIDx4ZW4vbWVtb3J5
Lmg+DQo+PiAgIA0KPj4gICBFWFBPUlRfU1lNQk9MKGh5cGVyY2FsbF9wYWdlKTsNCj4+IEBA
IC0zNyw3ICszOSw4IEBAIEVYUE9SVF9TWU1CT0woaHlwZXJjYWxsX3BhZ2UpOw0KPj4gICAg
ICAgKChzaCktPmV2dGNobl9wZW5kaW5nW2lkeF0gJiB+KHNoKS0+ZXZ0Y2huX21hc2tbaWR4
XSkNCj4+ICAgDQo+PiAgICNpZm5kZWYgQ09ORklHX1BBUkFWSVJUDQo+PiAtZXh0ZXJuIHNo
YXJlZF9pbmZvX3Qgc2hhcmVkX2luZm87DQo+PiArc3RhdGljIHVuc2lnbmVkIGxvbmcgc2hp
bmZvX3BmbjsNCj4+ICtzdGF0aWMgdW5zaWduZWQgbG9uZyBzaGluZm9fdmE7DQo+PiAgIA0K
Pj4gICBpbnQgaHZtX2dldF9wYXJhbWV0ZXIoaW50IGlkeCwgdWludDY0X3QgKnZhbHVlKQ0K
Pj4gICB7DQo+PiBAQCAtNjksMTQgKzcyLDE2IEBAIHNoYXJlZF9pbmZvX3QgKm1hcF9zaGFy
ZWRfaW5mbyh2b2lkKQ0KPj4gICB7DQo+PiAgICAgICBzdHJ1Y3QgeGVuX2FkZF90b19waHlz
bWFwIHhhdHA7DQo+PiAgIA0KPj4gKyAgICBzaGluZm9fcGZuID0gZTgyMF9nZXRfcmVzZXJ2
ZWRfcGZucygxKTsNCj4+ICAgICAgIHhhdHAuZG9taWQgPSBET01JRF9TRUxGOw0KPj4gICAg
ICAgeGF0cC5pZHggPSAwOw0KPj4gICAgICAgeGF0cC5zcGFjZSA9IFhFTk1BUFNQQUNFX3No
YXJlZF9pbmZvOw0KPj4gLSAgICB4YXRwLmdwZm4gPSB2aXJ0X3RvX3Bmbigmc2hhcmVkX2lu
Zm8pOw0KPj4gKyAgICB4YXRwLmdwZm4gPSBzaGluZm9fcGZuOw0KPj4gICAgICAgaWYgKCBI
WVBFUlZJU09SX21lbW9yeV9vcChYRU5NRU1fYWRkX3RvX3BoeXNtYXAsICZ4YXRwKSAhPSAw
ICkNCj4+ICAgICAgICAgICBCVUcoKTsNCj4+ICsgICAgc2hpbmZvX3ZhID0gbWFwX2ZyYW1l
X3ZpcnQoc2hpbmZvX3Bmbik7DQo+IA0KPiBJbiB0aGUgUFYgdmFyaWFudCB5b3UgZmlyc3Qg
Y2hlY2sgd2hldGhlciB5b3UgYWxyZWFkeSBoYXZlIGEgVkEuIFdoeSBpcw0KPiB0aGF0IG5l
ZWRlZCB0aGVyZSwgYnV0IG5vdCBoZXJlPyAoT3JpZ2luYWxseSBJIG1lYW50IHRvIGFzayB3
aHkgeW91IGRvbid0DQo+IHVzZSBtYXBfZnJhbWVfdmlydCgpIHRoZXJlIGFzIHdlbGwuKQ0K
DQpHb29kIGNhdGNoLiBJdCBpcyBuZWVkZWQgaGVyZSwgb3RoZXJ3aXNlIHdlJ2xsIGxlYWsg
dGhlIHZpcnR1YWwgcGFnZQ0KZHVyaW5nIGEgc3VzcGVuZC9yZXN1bWUgY3ljbGUuDQoNCj4g
DQo+IFRhbGtpbmcgb2YgbWFwX2ZyYW1lX3ZpcnQoKSAtIEkgdGFrZSBpdCBpdHMgMm5kIHBh
cmFtZXRlciBiZWluZyBuYW1lZA0KPiAibWZuIiBpcyBraW5kIG9mIHN0YWxlIChwcmUtZGF0
aW5nIHRoZSBhZGRpdGlvbiBvZiBQVkggc3VwcG9ydCk/DQoNCkkgdGhpbmsgaXQgd2FzIG1p
c25hbWVkIGJhY2sgdGhlbi4NCg0KPiANCj4+IEBAIC04NCw5ICs4OSwxMSBAQCB2b2lkIHVu
bWFwX3NoYXJlZF9pbmZvKHZvaWQpDQo+PiAgICAgICBzdHJ1Y3QgeGVuX3JlbW92ZV9mcm9t
X3BoeXNtYXAgeHJ0cDsNCj4+ICAgDQo+PiAgICAgICB4cnRwLmRvbWlkID0gRE9NSURfU0VM
RjsNCj4+IC0gICAgeHJ0cC5ncGZuID0gdmlydF90b19wZm4oJnNoYXJlZF9pbmZvKTsNCj4+
ICsgICAgeHJ0cC5ncGZuID0gc2hpbmZvX3BmbjsNCj4+ICAgICAgIGlmICggSFlQRVJWSVNP
Ul9tZW1vcnlfb3AoWEVOTUVNX3JlbW92ZV9mcm9tX3BoeXNtYXAsICZ4cnRwKSAhPSAwICkN
Cj4+ICAgICAgICAgICBCVUcoKTsNCj4+ICsgICAgdW5tYXBfZnJhbWVzKHNoaW5mb192YSwg
MSk7DQo+IA0KPiBCZXR0ZXIgZG8gdGhpcyBhaGVhZCBvZiB0aGUgaHlwZXJjYWxsPw0KDQpB
Z3JlZWQuDQoNCg0KSnVlcmdlbg0K
--------------q4b0dmlQxr5fqOiEcq0d20KK
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------q4b0dmlQxr5fqOiEcq0d20KK--

--------------c1Lh69cm8aAxQYeG0S0s1nxi--

--------------BcnZvHmXBzOoMs0Ui70Oq0i2
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmiHllIFAwAAAAAACgkQsN6d1ii/Ey+r
Uwf+IocrLOAj4hS6LMNgXTBp7V0e1bj7fJ/Tz76S+LJ9PitdsScvnUkokZAbKKhlIcegSpHF5OES
iQxAdLZ93LIu02svLx4DCFLeo0GDU7TRTaEEk1JGNIohbHSWK5k9XztDTe6WRQkeOPCZcw9K4XQ7
SuGoY1nVYQO2IV6xqUmJ0xaiJak+UGWsmXDEY9MM4JFQy7/iBF27Cwf7GlrZp23y0fVV6hRfl6hk
BG5mRGvF0rOQj0f6fi7Fma6i3bjX8lfHfamc7ysVT2Hxg8GArOA+Ffja1V5G0S+2roABf8prI+d+
5nMgPb/EKKXDNA/8VaHGsAHfqfQ6OdmAUENcUmZlDA==
=rD2F
-----END PGP SIGNATURE-----

--------------BcnZvHmXBzOoMs0Ui70Oq0i2--


From minios-devel-bounces@lists.xenproject.org Tue Jul 29 08:38:38 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2025 08:38:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1062193.1427833 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ugfr2-0000m6-2E; Tue, 29 Jul 2025 08:38:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1062193.1427833; Tue, 29 Jul 2025 08:38:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ugfr1-0000kx-UA; Tue, 29 Jul 2025 08:38:35 +0000
Received: by outflank-mailman (input) for mailman id 1062193;
 Tue, 29 Jul 2025 08:38:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TZvG=2K=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ugfr1-0000jP-BN
 for minios-devel@lists.xenproject.org; Tue, 29 Jul 2025 08:38:35 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 691436fc-6c57-11f0-b895-0df219b8e170;
 Tue, 29 Jul 2025 10:38:33 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id B35A921285;
 Tue, 29 Jul 2025 08:38:32 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 894A113A8A;
 Tue, 29 Jul 2025 08:38:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id HCz4H4iIiGigPwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 29 Jul 2025 08:38:32 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 691436fc-6c57-11f0-b895-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1753778312; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=x1Gw4lEIK4w6Dy0CFcEd1xYx5fwhWSSWD/vqp3z6LW0=;
	b=n2Vvuj+czmYUmrs1ZJnppRXgHt/T0YTjQfYjFBlkLHPKXu5ZPg+86b+SvdZs10en1I/of8
	rFcfN7k4h1dCUBgrqwcjqWuipZdhi3U9KVbb/u1NoNK/HC8pZR3nr174YmusiUIhDoHTVx
	qq6kw7+XFntMX9sqfG9Nsnb/3per8rI=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=n2Vvuj+c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1753778312; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=x1Gw4lEIK4w6Dy0CFcEd1xYx5fwhWSSWD/vqp3z6LW0=;
	b=n2Vvuj+czmYUmrs1ZJnppRXgHt/T0YTjQfYjFBlkLHPKXu5ZPg+86b+SvdZs10en1I/of8
	rFcfN7k4h1dCUBgrqwcjqWuipZdhi3U9KVbb/u1NoNK/HC8pZR3nr174YmusiUIhDoHTVx
	qq6kw7+XFntMX9sqfG9Nsnb/3per8rI=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH v2 0/2] x86: don't use a memory page for mapping the shared info page
Date: Tue, 29 Jul 2025 10:38:27 +0200
Message-ID: <20250729083829.11038-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	ARC_NA(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCVD_COUNT_TWO(0.00)[2];
	MIME_TRACE(0.00)[0:+];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	TO_DN_SOME(0.00)[];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:dkim];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	DKIM_TRACE(0.00)[suse.com:+]
X-Spam-Flag: NO
X-Spam-Level: 
X-Rspamd-Queue-Id: B35A921285
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -3.01

This is a small add-on series after the live-update series sent some
time ago.

I realized that having the shared info page in the normal RAM area is
a bad idea when considering kexec, as the new kernel might want it at
a different location.

So this series is moving the shared info page away from the RAM areas,
resulting in a net win of one memory page.

Changes in V2:
- addressed comments by Jan

Juergen Gross (2):
  mm: provide a way to do very early page table allocations
  x86: don't use a memory page for mapping the shared info page

 arch/x86/mm.c     | 20 ++++++++++++--------
 arch/x86/setup.c  | 15 ++++++++-------
 arch/x86/x86_32.S |  7 +------
 arch/x86/x86_64.S |  7 +------
 hypervisor.c      | 18 ++++++++++++++----
 5 files changed, 36 insertions(+), 31 deletions(-)

-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 29 08:38:40 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2025 08:38:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1062194.1427843 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ugfr6-0000zb-2L; Tue, 29 Jul 2025 08:38:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1062194.1427843; Tue, 29 Jul 2025 08:38:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ugfr5-0000zU-Va; Tue, 29 Jul 2025 08:38:39 +0000
Received: by outflank-mailman (input) for mailman id 1062194;
 Tue, 29 Jul 2025 08:38:39 +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 <SRS0=TZvG=2K=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ugfr5-0000jJ-8H
 for minios-devel@lists.xenproject.org; Tue, 29 Jul 2025 08:38:39 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6c6cfa00-6c57-11f0-a31e-13f23c93f187;
 Tue, 29 Jul 2025 10:38:38 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 4B54E21A28;
 Tue, 29 Jul 2025 08:38:38 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 1FAB313A8A;
 Tue, 29 Jul 2025 08:38:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id +7dGBo6IiGi3PwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 29 Jul 2025 08:38:38 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c6cfa00-6c57-11f0-a31e-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1753778318; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=CLWigXSSvWCPOHny9+80GIZMDELoRcydrTbBzab8nks=;
	b=VJ/nTw/y8gGPwyZVPt78qGyt956qY5elh2dfL0Wk5z8YGPbL8C7qvnsTnBR69MT3qf7YSo
	NWbcLDrh64TsdxG+RJcxDUfsJIsMSP+B2dQplHs9HiwTPTfBjbs5FqsRnJQ9R5sV8slOmq
	lvuCVGwfvwyjqbA/y83/pd4vHLttA9s=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b="VJ/nTw/y"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1753778318; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=CLWigXSSvWCPOHny9+80GIZMDELoRcydrTbBzab8nks=;
	b=VJ/nTw/y8gGPwyZVPt78qGyt956qY5elh2dfL0Wk5z8YGPbL8C7qvnsTnBR69MT3qf7YSo
	NWbcLDrh64TsdxG+RJcxDUfsJIsMSP+B2dQplHs9HiwTPTfBjbs5FqsRnJQ9R5sV8slOmq
	lvuCVGwfvwyjqbA/y83/pd4vHLttA9s=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH v2 1/2] mm: provide a way to do very early page table allocations
Date: Tue, 29 Jul 2025 10:38:28 +0200
Message-ID: <20250729083829.11038-2-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250729083829.11038-1-jgross@suse.com>
References: <20250729083829.11038-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spam-Flag: NO
X-Rspamd-Queue-Id: 4B54E21A28
X-Rspamd-Action: no action
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spamd-Result: default: False [-3.01 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	ARC_NA(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCVD_COUNT_TWO(0.00)[2];
	MIME_TRACE(0.00)[0:+];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	TO_DN_SOME(0.00)[];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:dkim,suse.com:mid,suse.com:email];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	DKIM_TRACE(0.00)[suse.com:+]
X-Spam-Score: -3.01

Add a small pool of statically allocated memory pages to be handed out
for very early page table allocations.

This will make it possible to do virtual allocations e.g. for mapping
the shared info page.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- add comment (Jan Beulich)
- drop N_PT in favor of ARRAY_SIZE() (Jan Beulich)
- use 2-dimensional array (Jan Beulich)
---
 arch/x86/mm.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/arch/x86/mm.c b/arch/x86/mm.c
index ebc85e0d..fd808884 100644
--- a/arch/x86/mm.c
+++ b/arch/x86/mm.c
@@ -640,13 +640,20 @@ void change_readonly(bool readonly)
 /*
  * return a valid PTE for a given virtual address. If PTE does not exist,
  * allocate page-table pages.
+ * Provide a small pool for allocating some page tables very early. Those are
+ * needed currently for mapping the shared info page, so 2 pages ought to be
+ * enough. Add one spare page anyway.
  */
+static char early_pt[4][PAGE_SIZE] __attribute__((aligned(PAGE_SIZE)));
+static unsigned int n_early_pt = ARRAY_SIZE(early_pt);
+
 static int need_pgt_func(unsigned long va, unsigned int lvl, bool is_leaf,
                          pgentry_t *pte, void *par)
 {
     pgentry_t **result = par;
     unsigned long pt_mfn;
     unsigned long pt_pfn;
+    unsigned long pt_addr;
     unsigned int idx;
 
     if ( !is_leaf )
@@ -665,7 +672,11 @@ static int need_pgt_func(unsigned long va, unsigned int lvl, bool is_leaf,
     }
 
     pt_mfn = virt_to_mfn(pte);
-    pt_pfn = virt_to_pfn(alloc_page());
+    if ( n_early_pt )
+        pt_addr = (unsigned long)early_pt[--n_early_pt];
+    else
+        pt_addr = alloc_page();
+    pt_pfn = virt_to_pfn(pt_addr);
     if ( !pt_pfn )
         return -1;
     idx = idx_from_va_lvl(va, lvl);
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 29 08:38:48 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2025 08:38:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1062199.1427866 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ugfrE-0001ca-OT; Tue, 29 Jul 2025 08:38:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1062199.1427866; Tue, 29 Jul 2025 08:38:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ugfrE-0001cT-LL; Tue, 29 Jul 2025 08:38:48 +0000
Received: by outflank-mailman (input) for mailman id 1062199;
 Tue, 29 Jul 2025 08:38:47 +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 <SRS0=TZvG=2K=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ugfrD-0000jJ-4O
 for minios-devel@lists.xenproject.org; Tue, 29 Jul 2025 08:38:47 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6fbf3815-6c57-11f0-a31e-13f23c93f187;
 Tue, 29 Jul 2025 10:38:44 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E25C221285;
 Tue, 29 Jul 2025 08:38:43 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id B1C3113876;
 Tue, 29 Jul 2025 08:38:43 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id OJGyKZOIiGi7PwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 29 Jul 2025 08:38:43 +0000
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6fbf3815-6c57-11f0-a31e-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1753778324; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=CERsJmvQU3WeCwPSw287LcY2uTCpx9Nl7HfOH3U4bYg=;
	b=IHUwasCNPomztVQWHGFYy+mU7VEVEEHPN/0DrK64x+8S2et2VBq9CPUx3mF6C7yKW0fFGP
	MqdbiSd4O9wixzfN0lhYXpAXCvSdg6l2TM0WbaP+2zOBWlTuxL3FxTD381vEE7Xtd2Aezi
	m++EmNYqa8pDg8KkG2YAsvnO1hmH84A=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1753778323; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=CERsJmvQU3WeCwPSw287LcY2uTCpx9Nl7HfOH3U4bYg=;
	b=MuaEzhDf0wVeDikVsIVfH0Yk4PmCCGgBCdyHW4nYChgQyqeMel+CqFN/2+xEwXrNwto/0G
	LiEclI5UTb4IXan3YbMFY2bkaNFGyE/75TeHQ4KHAfq+8XaulGIRSKsLs7gy2wMM1cSORx
	qmlJTW1KeuqyrU1QSmIoqitQ7j/Rn74=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [MINI-OS PATCH v2 2/2] x86: don't use a memory page for mapping the shared info page
Date: Tue, 29 Jul 2025 10:38:29 +0200
Message-ID: <20250729083829.11038-3-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250729083829.11038-1-jgross@suse.com>
References: <20250729083829.11038-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:mid];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_RATELIMITED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Score: -2.80

There is no need to use a populated memory page for mapping the shared
info page at that location. Just use an allocated virtual address for
the shared info page. For PVH allocate an unused pfn.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- don't leak virtual page in map_shared_page() (Jan Beulich)
---
 arch/x86/mm.c     |  7 -------
 arch/x86/setup.c  | 15 ++++++++-------
 arch/x86/x86_32.S |  7 +------
 arch/x86/x86_64.S |  7 +------
 hypervisor.c      | 18 ++++++++++++++----
 5 files changed, 24 insertions(+), 30 deletions(-)

diff --git a/arch/x86/mm.c b/arch/x86/mm.c
index fd808884..2ffef976 100644
--- a/arch/x86/mm.c
+++ b/arch/x86/mm.c
@@ -498,7 +498,6 @@ static void build_pagetable(unsigned long *start_pfn, unsigned long *max_pfn)
 /*
  * Mark portion of the address space read only.
  */
-extern struct shared_info shared_info;
 
 struct change_readonly_par {
     unsigned long etext;
@@ -520,12 +519,6 @@ static int change_readonly_func(unsigned long va, unsigned int lvl,
     if ( va + (1UL << ptdata[lvl].shift) > ro->etext )
         return 1;
 
-    if ( va == (unsigned long)&shared_info )
-    {
-        printk("skipped %lx\n", va);
-        return 0;
-    }
-
     newval = ro->readonly ? (*pte & ~_PAGE_RW) : (*pte | _PAGE_RW);
 
 #ifdef CONFIG_PARAVIRT
diff --git a/arch/x86/setup.c b/arch/x86/setup.c
index 299ff8c7..8fd55c51 100644
--- a/arch/x86/setup.c
+++ b/arch/x86/setup.c
@@ -47,8 +47,6 @@ shared_info_t *HYPERVISOR_shared_info;
  */
 char stack[2*STACK_SIZE];
 
-extern char shared_info[PAGE_SIZE];
-
 static inline void fpu_init(void) {
 	asm volatile("fninit");
 }
@@ -76,18 +74,21 @@ static void set_info_ptr(start_info_t *ptr)
 
 #define hpc_init()
 
+static unsigned long shared_info_va;
+
 shared_info_t *map_shared_info(void)
 {
     int rc;
-    unsigned long pa = start_info_ptr->shared_info;
 
-    if ( (rc = HYPERVISOR_update_va_mapping((unsigned long)shared_info,
-                                            __pte(pa | 7), UVMF_INVLPG)) )
+    if ( !shared_info_va )
+        shared_info_va = alloc_virt_kernel(1);
+    rc = map_frame_rw(shared_info_va, PHYS_PFN(start_info_ptr->shared_info));
+    if ( rc )
     {
         printk("Failed to map shared_info!! rc=%d\n", rc);
         do_exit();
     }
-    return (shared_info_t *)shared_info;
+    return (shared_info_t *)shared_info_va;
 }
 
 void unmap_shared_info(void)
@@ -95,7 +96,7 @@ void unmap_shared_info(void)
     int rc;
     pte_t nullpte = { };
 
-    if ( (rc = HYPERVISOR_update_va_mapping((unsigned long)shared_info,
+    if ( (rc = HYPERVISOR_update_va_mapping(shared_info_va,
                                             nullpte, UVMF_INVLPG)) )
     {
         printk("Failed to unmap shared_info page!! rc=%d\n", rc);
diff --git a/arch/x86/x86_32.S b/arch/x86/x86_32.S
index 3de00277..5d891164 100644
--- a/arch/x86/x86_32.S
+++ b/arch/x86/x86_32.S
@@ -36,13 +36,8 @@ _start:
 stack_start:
 	.long stack+(2*__STACK_SIZE), __KERNEL_SS
 
-.globl shared_info, hypercall_page
-        /* Unpleasant -- the PTE that maps this page is actually overwritten */
-        /* to map the real shared-info page! :-)                             */
         .align __PAGE_SIZE
-shared_info:
-        .fill __PAGE_SIZE,1,0
-
+.globl hypercall_page
 hypercall_page:
         .fill __PAGE_SIZE,1,0
 
diff --git a/arch/x86/x86_64.S b/arch/x86/x86_64.S
index 7529c02e..09b93e39 100644
--- a/arch/x86/x86_64.S
+++ b/arch/x86/x86_64.S
@@ -33,13 +33,8 @@ _start:
 stack_start:
         .quad stack+(2*__STACK_SIZE)
 
-.globl shared_info, hypercall_page
-        /* Unpleasant -- the PTE that maps this page is actually overwritten */
-        /* to map the real shared-info page! :-)                             */
         .align __PAGE_SIZE
-shared_info:
-        .fill __PAGE_SIZE,1,0
-
+.globl hypercall_page
 hypercall_page:
         .fill __PAGE_SIZE,1,0
 
diff --git a/hypervisor.c b/hypervisor.c
index 6476d658..213eb49d 100644
--- a/hypervisor.c
+++ b/hypervisor.c
@@ -27,8 +27,10 @@
 
 #include <mini-os/os.h>
 #include <mini-os/lib.h>
+#include <mini-os/e820.h>
 #include <mini-os/hypervisor.h>
 #include <mini-os/events.h>
+#include <mini-os/mm.h>
 #include <xen/memory.h>
 
 EXPORT_SYMBOL(hypercall_page);
@@ -37,7 +39,8 @@ EXPORT_SYMBOL(hypercall_page);
     ((sh)->evtchn_pending[idx] & ~(sh)->evtchn_mask[idx])
 
 #ifndef CONFIG_PARAVIRT
-extern shared_info_t shared_info;
+static unsigned long shinfo_pfn;
+static unsigned long shinfo_va;
 
 int hvm_get_parameter(int idx, uint64_t *value)
 {
@@ -69,24 +72,31 @@ shared_info_t *map_shared_info(void)
 {
     struct xen_add_to_physmap xatp;
 
+    shinfo_pfn = e820_get_reserved_pfns(1);
     xatp.domid = DOMID_SELF;
     xatp.idx = 0;
     xatp.space = XENMAPSPACE_shared_info;
-    xatp.gpfn = virt_to_pfn(&shared_info);
+    xatp.gpfn = shinfo_pfn;
     if ( HYPERVISOR_memory_op(XENMEM_add_to_physmap, &xatp) != 0 )
         BUG();
+    if ( !shinfo_va )
+        shinfo_va = alloc_virt_kernel(1);
+    if ( !shinfo_va || map_frame_rw(shinfo_va, shinfo_pfn) )
+        BUG();
 
-    return &shared_info;
+    return (shared_info_t *)shinfo_va;
 }
 
 void unmap_shared_info(void)
 {
     struct xen_remove_from_physmap xrtp;
 
+    unmap_frames(shinfo_va, 1);
     xrtp.domid = DOMID_SELF;
-    xrtp.gpfn = virt_to_pfn(&shared_info);
+    xrtp.gpfn = shinfo_pfn;
     if ( HYPERVISOR_memory_op(XENMEM_remove_from_physmap, &xrtp) != 0 )
         BUG();
+    e820_put_reserved_pfns(shinfo_pfn, 1);
 }
 #endif
 
-- 
2.43.0



From minios-devel-bounces@lists.xenproject.org Tue Jul 29 08:55:51 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2025 08:55:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1062273.1427931 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ugg7g-0000Rr-Ep; Tue, 29 Jul 2025 08:55:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1062273.1427931; Tue, 29 Jul 2025 08:55:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ugg7g-0000Rk-By; Tue, 29 Jul 2025 08:55:48 +0000
Received: by outflank-mailman (input) for mailman id 1062273;
 Tue, 29 Jul 2025 08:55:46 +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 <SRS0=TZvG=2K=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ugg7e-0000RY-Qe
 for minios-devel@lists.xenproject.org; Tue, 29 Jul 2025 08:55:46 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d07b6e03-6c59-11f0-a31e-13f23c93f187;
 Tue, 29 Jul 2025 10:55:45 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-60c4521ae2cso9457455a12.0
 for <minios-devel@lists.xenproject.org>; Tue, 29 Jul 2025 01:55:45 -0700 (PDT)
Received: from ?IPV6:2003:e5:872d:3c00:27e3:fc0:fb5:67a3?
 (p200300e5872d3c0027e30fc00fb567a3.dip0.t-ipconnect.de.
 [2003:e5:872d:3c00:27e3:fc0:fb5:67a3])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-af635a63139sm557645066b.92.2025.07.29.01.55.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 29 Jul 2025 01:55:44 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d07b6e03-6c59-11f0-a31e-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1753779345; x=1754384145; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=SL/fUVXwhvyq0EZJmJ2WQ/Bv7xtjGI0O9G0kMBmKAt0=;
        b=N585x2T7BbD+FcN9peWhNHJbWyADM5RLx6hhHBm2Q6+ukdob9luIXCrYzUx0bcElyb
         5qenE7m+zHnmHJmzMOAw3RKpqo+P2WSF88AcICB+o8v0jCPpJx0AiK07mItWUBK8Zpi4
         w0Af1lWYEv+lhI8o3cE5S3Ix+9JIwfYTXnszz1TTdc6UPopykLwazD1+5Gv2pjSgmHvS
         2FRcmdf61mnWOZvY++19mv+nWcdDsv+X3P3/iRz6bcNrnr9GdgZDCxrfF2PK9kh+RqZu
         6UkRrRHH+5s5iji9sYJBvrhD5BYdRAMEKJDJai35m1ay6NF84tjWk+YGsxpbahQ8VLEK
         cfgQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1753779345; x=1754384145;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=SL/fUVXwhvyq0EZJmJ2WQ/Bv7xtjGI0O9G0kMBmKAt0=;
        b=ob6Th98KMWJ2i6Cbeu46FoPnKBXdUY3tBYPRuVjiKXmfhqA2WMaef/qoI8acXK+O3l
         xj8EwnTMWsFKFAq2MhwhAK+YgQCCG0Nv2i99fZwZLT1QC72bl7m2E6srO/67WXpjzV0r
         ROXE51sbqXSakQEm0jMOXNbNt2Bqjv9BZQf4rb9lzxTXWFK2bmV8LagHs42X8qVtBPSi
         pZbn+fgZO65D6kRWJNIyGCnBhhrAgYMNK8WFayg7Dqk9KJ4O5UIVKYTeKrntFN0HY3N/
         uzLme4oTv1RQm0p/+EUgsfi/aDJBx6PvqR0xibjNtkCa1VckIdkHA3cxBFljFCLne+fg
         OxLg==
X-Forwarded-Encrypted: i=1; AJvYcCUHHaufM8ShNuelw3anYUhozRyWzo5pvSGdF9TYlaGpgLs5ovduV7dw+YTRnxSiwgGBKJkt5kAru1XZqDY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzzRxcwdCvhM1Qtvspak40haWcx+KwZZeBOKH9rax7bIXS27QlW
	fElVC1E9pxFxtKQBc6JvUQj50oV3aO5fA6eDDNg/FFsTlrpGVXiB7ZDgUiAn2+vTujI=
X-Gm-Gg: ASbGnct7wVjPGLZwrVODyBj6X50s6gmHqokQ6Xnd8u9xXdWHg39iCy+Sm7Z5i/DjcLh
	LecNzZPhSzHiTyZ29wG6x+rihy2CpbO/dfKmYUeh8cfEoMIw0mn5KGZzpRdmS5RL2HXyoXfXiEE
	SJWQ10TlmVXZxF+p2tqd648aFjyAhz11cU2CohG5fbRLnOFMBhC9/JEpT+fMDfNYIhQJ4xb0WQT
	lhll2VevzYZa8Rapeo3GIlY3Yce+AAylhHbjsWAGT/jHYhNyIHjiWsHyvCO2YUmzssTo3wzvs6C
	Ebx2KxsElDHyKP1CS8r120LwAa180ddtbiFU8cQhnibs3nJEdzHCTHJEpTaQR4lrSAjgk9fn+UO
	RvMCAoawAcluXVB1Du2Tll5OgYpP3FUuEojJm8v1O9+tS2TDlNwgjZ19lFRHKnzVeW9RpC7m03X
	O3tRF721KuB0ywQUCoyqCAAQAIPO82moAGA5OR2dxP0g==
X-Google-Smtp-Source: AGHT+IGUviefamrG6yAcP4ovUX9KtVyzHTbkiaDIXoL09ZCIQKsF35uauErt88SaHL+z3B6eXQiHIQ==
X-Received: by 2002:a17:907:3e92:b0:ae3:5887:4219 with SMTP id a640c23a62f3a-af61950cb0emr1705245566b.45.1753779345094;
        Tue, 29 Jul 2025 01:55:45 -0700 (PDT)
Message-ID: <d396208c-54e9-4054-83b8-8153798af47a@suse.com>
Date: Tue, 29 Jul 2025 10:55:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH v2 1/2] mm: provide a way to do very early page
 table allocations
To: Jan Beulich <jbeulich@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
References: <20250729083829.11038-1-jgross@suse.com>
 <20250729083829.11038-2-jgross@suse.com>
 <2fb97c32-f0e7-4d9f-bf3c-5fd621498b29@suse.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <2fb97c32-f0e7-4d9f-bf3c-5fd621498b29@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------fz79nls2L8PcHdp4XbM256ZS"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------fz79nls2L8PcHdp4XbM256ZS
Content-Type: multipart/mixed; boundary="------------E5mKh97YDGX1ahT5Es4huWC9";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Message-ID: <d396208c-54e9-4054-83b8-8153798af47a@suse.com>
Subject: Re: [MINI-OS PATCH v2 1/2] mm: provide a way to do very early page
 table allocations
References: <20250729083829.11038-1-jgross@suse.com>
 <20250729083829.11038-2-jgross@suse.com>
 <2fb97c32-f0e7-4d9f-bf3c-5fd621498b29@suse.com>
In-Reply-To: <2fb97c32-f0e7-4d9f-bf3c-5fd621498b29@suse.com>
Autocrypt-Gossip: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------E5mKh97YDGX1ahT5Es4huWC9
Content-Type: multipart/mixed; boundary="------------9SBMnO01B1l18llAPmN1Nxt9"

--------------9SBMnO01B1l18llAPmN1Nxt9
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjkuMDcuMjUgMTA6NTIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyOS4wNy4yMDI1
IDEwOjM4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEvYXJjaC94ODYvbW0uYw0K
Pj4gKysrIGIvYXJjaC94ODYvbW0uYw0KPj4gQEAgLTY0MCwxMyArNjQwLDIwIEBAIHZvaWQg
Y2hhbmdlX3JlYWRvbmx5KGJvb2wgcmVhZG9ubHkpDQo+PiAgIC8qDQo+PiAgICAqIHJldHVy
biBhIHZhbGlkIFBURSBmb3IgYSBnaXZlbiB2aXJ0dWFsIGFkZHJlc3MuIElmIFBURSBkb2Vz
IG5vdCBleGlzdCwNCj4+ICAgICogYWxsb2NhdGUgcGFnZS10YWJsZSBwYWdlcy4NCj4+ICsg
KiBQcm92aWRlIGEgc21hbGwgcG9vbCBmb3IgYWxsb2NhdGluZyBzb21lIHBhZ2UgdGFibGVz
IHZlcnkgZWFybHkuIFRob3NlIGFyZQ0KPj4gKyAqIG5lZWRlZCBjdXJyZW50bHkgZm9yIG1h
cHBpbmcgdGhlIHNoYXJlZCBpbmZvIHBhZ2UsIHNvIDIgcGFnZXMgb3VnaHQgdG8gYmUNCj4+
ICsgKiBlbm91Z2guIEFkZCBvbmUgc3BhcmUgcGFnZSBhbnl3YXkuDQo+PiAgICAqLw0KPiAN
Cj4gSG1tLCAyIHBhZ2VzIHBsdXMgb25lIHNwYXJlIGRvZXNuJ3QgeWllbGQgLi4uDQo+IA0K
Pj4gK3N0YXRpYyBjaGFyIGVhcmx5X3B0WzRdW1BBR0VfU0laRV0gX19hdHRyaWJ1dGVfXygo
YWxpZ25lZChQQUdFX1NJWkUpKSk7DQo+IA0KPiAuLi4gNC4gV2FzIDIgYSB0eXBvLCBhbmQg
MyB3YXMgbWVhbnQ/IChXaGljaCwganVzdCB0byBtZW50aW9uIGl0LCB0aGVuIGlzbid0DQo+
IGNvcnJlY3QgZm9yIDMyLWJpdCBhaXVpLikgV2hhdGV2ZXIgYWRqdXN0bWVudCB3YW50cyBt
YWtpbmcgLSBoYXBweSB0byBkbyBzbw0KPiB3aGlsZSBjb21taXR0aW5nLiBKdXN0IG5lZWQg
dG8ga25vdyB3aGljaCB3YXkuIFRoZW4NCj4gUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4NCg0KVGhhbmtzLiBTaG91bGQgaGF2ZSBiZWVuIDMsIG9mIGNv
dXJzZS4gQW5kIGV2ZW4gb24gMzItYml0IDMgYXJlIGVub3VnaC4gOi0pDQoNCg0KSnVlcmdl
bg0K
--------------9SBMnO01B1l18llAPmN1Nxt9
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------9SBMnO01B1l18llAPmN1Nxt9--

--------------E5mKh97YDGX1ahT5Es4huWC9--

--------------fz79nls2L8PcHdp4XbM256ZS
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmiIjJAFAwAAAAAACgkQsN6d1ii/Ey+t
dwf/fiZX4QsJxWF0gz01Si0Ux0BZ94EctZ1wglf5KvOGhWogpEMEGx/czc8bo1BhRrgQSzcCTttb
HapyM5cOAlCivCC17MFAfi6eX/hKQOMDoijGYvWdzbIIyjQTRDlG2xeSgwzZNj1GCNNxWN79k8kV
mHzaVKMxE3CNEFe8HlBB42OaJJhXSIUxL6ZrRJeIjFRW12n8TW21zDaIiURjzIPHnt4y7Hf1froR
+6PQA1oXAyLQ7hJ0UYPSNRIDzD2w6YcxO4AfAhyYt2pxvbmblaKMRMd2nOLv7237LJXvfTtPgAwB
1NlPhVWZzw0sKFGPaPNhh2rOT9kMZg+rRZ5GsOXYzA==
=CfQM
-----END PGP SIGNATURE-----

--------------fz79nls2L8PcHdp4XbM256ZS--


From minios-devel-bounces@lists.xenproject.org Tue Jul 29 09:00:22 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2025 09:00:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1062290.1427954 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uggC6-0002JX-7n; Tue, 29 Jul 2025 09:00:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1062290.1427954; Tue, 29 Jul 2025 09:00:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uggC6-0002JQ-5D; Tue, 29 Jul 2025 09:00:22 +0000
Received: by outflank-mailman (input) for mailman id 1062290;
 Tue, 29 Jul 2025 09:00:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fFWP=2K=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1uggC5-00025p-0d
 for minios-devel@lists.xenproject.org; Tue, 29 Jul 2025 09:00:21 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 736fe605-6c5a-11f0-b895-0df219b8e170;
 Tue, 29 Jul 2025 11:00:19 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3b785a69454so1412566f8f.2
 for <minios-devel@lists.xenproject.org>; Tue, 29 Jul 2025 02:00:19 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-23fe9b67485sm59279235ad.47.2025.07.29.02.00.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 29 Jul 2025 02:00:17 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 736fe605-6c5a-11f0-b895-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1753779618; x=1754384418; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=OL15pQhNMrtMlVmuQ4Ufj0iOHkoPPIE+QCSwH2PgeVs=;
        b=UtiFfgUiC2lKmOpXC0XISqCaC7Hr4c2sistjoCO3w+n2/HO6kyvtPbLUuLrbQUt+dJ
         PN1Fc3KzlRPlygpWstSx/k2aCSjilOUir3wgvGZsB4tE0wJDnAV+8LAB9fUFse0Wykkf
         Dy3X8RMxDCmpqDXjdYXPd6uH6z2Q1D4bp1gynJKRmmRJEdcxJHHjcQt6PSae5CmiILQ2
         pqdtzLl7UP0SxTb3qAxth04yJh2Oh9klR7nH4fibqbq5su5rp+fx8VlFMfGYiKQ9oBWs
         pNTK4Qpy88K8RJXUSk3hhulsO6JJWDpqb0JfvntkiKxd8eEt7gFfzaK8R+k0UOK6f3bf
         XcLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1753779618; x=1754384418;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OL15pQhNMrtMlVmuQ4Ufj0iOHkoPPIE+QCSwH2PgeVs=;
        b=D27TdF7EltfHcg2z4XsLlYMT9QwWs7dSu57qTSw41ZJUn2f2rR47G7TM0c3Dm+XHrn
         KLpt3HngwTcf9Tftp93r/0LbtMx3pag4bFsKLUSsCNlWtqFswxgTwiEWEoF4oUst0tUO
         f+c0Su+fYxnOH8wH0apNKbb/n9irjr9l84n3uLxFXcezAn9irHWA4L+uH51H7VcCD2l5
         pk/NfKwJhbPXODiOatYn9H2Cu7xGUNMHAbWkkDf5YutXkeIuf30PgtH1IgwsNkfOEcor
         zNT9S/z8Pd91CwDrfghvwPfONNqT1ssBcjbwouo3jm277N3pE2y0ovLiLepcDRF8Gjh9
         opOQ==
X-Forwarded-Encrypted: i=1; AJvYcCUgiy4xyvA9XNSpYK9HDgnlfNoPUe0YYCsh4dzoxBYgGpkYjv0e9dEkMgIE3sCLLkzU/kuZlUJm9VpgKxw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzH0Kw89mIX2g5gsTQphCd7ZqWEkVRub+KFGUbgVPiCSxQXnOvF
	kTxR/pM2Uylyc1cg/nigK+9mXJoRgW13r/n4QN45/z8AgAfxs47nTSG1qIu5p9Aucg==
X-Gm-Gg: ASbGncvlaw0Qn4SfJe+rANNyuBQCeBx/GF9rtnR+ekz0R1l+X16Nj9fY7EZDQ4AwDxv
	Nv2g0ww+p1b53N7m3WpGARuT7XeK/V3Zia6LBpLkIK5Qr0o3ylEXtz3nvLm3bpW+vLeujMcNqFU
	EkOH4vecZJm6LXuSJtRmcoN2AzAjI4WW5u+K8MAVNfSy0t0VFGNiNRu22ihayMaA1rWhwMt7L4h
	MhOnDw2s7ABmRuRBrIShrvaUEr98xy3kvoTOR77sJs6zfCJ5inFCe+txZsihE+qKMHgxqNKo70f
	zIM8BcJ+zxOiYiHxgUuJ3u6vPhSS3jCLkOVsE3IHR0CycI0X7HdYSTXgLIF8I+lHHqvVPKl/lzT
	GAy79ySNM0/Zteq3MJLEPC9R9/8uorGcAcm/Gw8knPa3Q8btePcw1by2ebjcPy3uN6rLJeq4FOL
	n6/n3KLc8=
X-Google-Smtp-Source: AGHT+IFoq3od2tK7d9E3HRhaJWm/KnW+VXxS1Fz+D2PAzZ15IYjdap8eENWUYN/QpX9zulixoylN1Q==
X-Received: by 2002:a05:6000:2908:b0:3b7:8c83:db19 with SMTP id ffacd0b85a97d-3b78c83e062mr2860435f8f.57.1753779618206;
        Tue, 29 Jul 2025 02:00:18 -0700 (PDT)
Message-ID: <0b6b3a4a-03df-4bc9-996d-ba2efb3f5b73@suse.com>
Date: Tue, 29 Jul 2025 11:00:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH v2 2/2] x86: don't use a memory page for mapping
 the shared info page
To: Juergen Gross <jgross@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
References: <20250729083829.11038-1-jgross@suse.com>
 <20250729083829.11038-3-jgross@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20250729083829.11038-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.07.2025 10:38, Juergen Gross wrote:
> --- a/arch/x86/x86_64.S
> +++ b/arch/x86/x86_64.S
> @@ -33,13 +33,8 @@ _start:
>  stack_start:
>          .quad stack+(2*__STACK_SIZE)
>  
> -.globl shared_info, hypercall_page
> -        /* Unpleasant -- the PTE that maps this page is actually overwritten */
> -        /* to map the real shared-info page! :-)                             */
>          .align __PAGE_SIZE
> -shared_info:
> -        .fill __PAGE_SIZE,1,0
> -
> +.globl hypercall_page

While touching this line, may I suggest to indent this directive to match all
other directives in context? Even if assemblers accept them for most targets,
directives starting in the first column strictly speaking are misplaced.

> --- a/hypervisor.c
> +++ b/hypervisor.c
> @@ -27,8 +27,10 @@
>  
>  #include <mini-os/os.h>
>  #include <mini-os/lib.h>
> +#include <mini-os/e820.h>
>  #include <mini-os/hypervisor.h>
>  #include <mini-os/events.h>
> +#include <mini-os/mm.h>
>  #include <xen/memory.h>
>  
>  EXPORT_SYMBOL(hypercall_page);
> @@ -37,7 +39,8 @@ EXPORT_SYMBOL(hypercall_page);
>      ((sh)->evtchn_pending[idx] & ~(sh)->evtchn_mask[idx])
>  
>  #ifndef CONFIG_PARAVIRT
> -extern shared_info_t shared_info;
> +static unsigned long shinfo_pfn;
> +static unsigned long shinfo_va;
>  
>  int hvm_get_parameter(int idx, uint64_t *value)
>  {
> @@ -69,24 +72,31 @@ shared_info_t *map_shared_info(void)
>  {
>      struct xen_add_to_physmap xatp;
>  
> +    shinfo_pfn = e820_get_reserved_pfns(1);
>      xatp.domid = DOMID_SELF;
>      xatp.idx = 0;
>      xatp.space = XENMAPSPACE_shared_info;
> -    xatp.gpfn = virt_to_pfn(&shared_info);
> +    xatp.gpfn = shinfo_pfn;
>      if ( HYPERVISOR_memory_op(XENMEM_add_to_physmap, &xatp) != 0 )
>          BUG();
> +    if ( !shinfo_va )
> +        shinfo_va = alloc_virt_kernel(1);
> +    if ( !shinfo_va || map_frame_rw(shinfo_va, shinfo_pfn) )
> +        BUG();

Now there's a new asymmetry: Here you check whether alloc_virt_kernel()
(appears to have) failed, whereas in the PV variant you don't. And it's
really only "appears to", as the function won't return 0 in the failure
case, afaics. I therefore think that extra condition simply wants
dropping here. Then
Reviewed-by: Jan Beulich <jbeulich@suse.com>

As for the other patch, happy to make both adjustments while committing.
As long as you agree, of course.

Jan


From minios-devel-bounces@lists.xenproject.org Tue Jul 29 09:01:33 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2025 09:01:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1062308.1427968 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uggDF-0003E6-Ji; Tue, 29 Jul 2025 09:01:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1062308.1427968; Tue, 29 Jul 2025 09:01:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uggDF-0003Dz-HB; Tue, 29 Jul 2025 09:01:33 +0000
Received: by outflank-mailman (input) for mailman id 1062308;
 Tue, 29 Jul 2025 09:01:32 +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 <SRS0=fFWP=2K=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ugg51-0006C0-Dd
 for minios-devel@lists.xenproject.org; Tue, 29 Jul 2025 08:53:03 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6f1cd903-6c59-11f0-a31e-13f23c93f187;
 Tue, 29 Jul 2025 10:53:02 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-3a6f2c6715fso4195097f8f.1
 for <minios-devel@lists.xenproject.org>; Tue, 29 Jul 2025 01:53:02 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-b420351c3d2sm3198707a12.5.2025.07.29.01.52.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 29 Jul 2025 01:53:01 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f1cd903-6c59-11f0-a31e-13f23c93f187
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1753779182; x=1754383982; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=rEHfcRqV3MBpA/v53GsPEK6uX0VSS/rQERp7qHUtZmA=;
        b=HDAnewB3lQY2Uqe0782jiJT6r5FAJ1mHU9Gn9u2qW6CGFI3zt/7OG0WxqOTyirBCJP
         NZeKLPR5rUqy+zDHJyD9kgZKuyqSr3ll7OwJgIQZlepy0nElJQt3aJYnGZ0tfUmGKqw9
         VWEf8b37vuuN/Y/3HLqGu4nN8d6sQGjRCAxktsWPGHU0xmMTU38cYcgrG9wUo1af0Icq
         mYDMoIZgwxjdz0+W7qfkog+Sj+rTj7jmikFquzaTsryRTBnLjQaLXSpCbjwxtL8efWuX
         ccpsRdNIObrk+IWxy/1kosJE2GQHO650cR36MJGaxhfoAkJa3VDirKBzz1HtEaHdfyis
         LCMg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1753779182; x=1754383982;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rEHfcRqV3MBpA/v53GsPEK6uX0VSS/rQERp7qHUtZmA=;
        b=VosR0YFsa3javvnCxVidN2nPGNb0Q40se0ob+cxntbyK2zKMjDqaQyDP1oR/edAXpY
         fn1i4rPytf/9f6qH8NKrerxylFlQtILSR4y+/aSqjAjlcScJ3Tr+sUTLdBqXJNNzvz4z
         6831XzqVS54J0AcaFnGpNAJSsPfEVKtWTxMTNQLB6fI6Tq4hX4QifObiefZHbr4WUvbz
         eTJScxxt9mvuyL/QSlYNO9dC4hWARHwTeY4QYdzjMzbKHKfS/m2PETnGc03mPeeAWivz
         qNxgQmIGBj1FmBDyqtARavyXVAB2T9lb73XeBD1OJbEuVF8DbJSdWegpi3M6pkbKiYru
         JQTA==
X-Forwarded-Encrypted: i=1; AJvYcCU7NUj87PGNWHSz6LomIRzRQwy4rTXeXv2T5NTHbohKmS4Y1sRfQuuG2jr+yMRXasunIrI2vfATJFdBClA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywpa8K5D24+3RuD/OlQB3X7TjjDDPE7+Nc7fs5dI5LVxEP6bQ9s
	FWvEHAg/whT72602UeumJ+trOkXME/IcKcJlzU6JBSfp+GghPhjsVEAQwhgnpLtNHqL/8NrFFkd
	Lr/g=
X-Gm-Gg: ASbGncs5iiIsQavU5yFjEJ8+IahsuSCwKoad7Z+erK5jiKclOuAk2rCHro5mmkNGwSB
	pmbM0fkMXOCpf5AKmof0LLoL1rwL1eWb++gROSlNgkcrUpMrz5ss7svc7XthyXttHy9R1En61pr
	za7Rd5m6LtpguYSmMJ3cUUkdPuPPHY93/yXerqnQAlCM1kAU22cF4LA4MZ3W0urfnX2otO4xdPL
	IBB1pSKnwYEV4IqtcQn0SZuYvn+220thkU6faBfRfxZ6HL7+4EBgyfkHEM1vFSgz0i3D7m7/nLa
	92XPFBgR0mtabgOcEVbwQRDq4Vwy0WJOQdgaEwv1KRtf1AcvhaIfTHKm8MnsueEhs9/l2WeAdJ+
	70V2nJ7xR5IC9Rl2M2KihTiV8aIiw5JHyTl6wuGCtI8vgF/4Ab7mHP6+zYVAiu5RGHZVVDfM808
	pLHYsAmD8=
X-Google-Smtp-Source: AGHT+IFcCYoHjXwjmi7PMeUlJquckSj7oo/H+CmB0+mZ/Ol9FCQtfaNIxyOYyP9/8xd6JWkH5fSiRw==
X-Received: by 2002:a05:6000:2c04:b0:3ab:27f9:e51 with SMTP id ffacd0b85a97d-3b77675dad3mr8953251f8f.31.1753779181746;
        Tue, 29 Jul 2025 01:53:01 -0700 (PDT)
Message-ID: <2fb97c32-f0e7-4d9f-bf3c-5fd621498b29@suse.com>
Date: Tue, 29 Jul 2025 10:52:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH v2 1/2] mm: provide a way to do very early page
 table allocations
To: Juergen Gross <jgross@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
References: <20250729083829.11038-1-jgross@suse.com>
 <20250729083829.11038-2-jgross@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20250729083829.11038-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.07.2025 10:38, Juergen Gross wrote:
> --- a/arch/x86/mm.c
> +++ b/arch/x86/mm.c
> @@ -640,13 +640,20 @@ void change_readonly(bool readonly)
>  /*
>   * return a valid PTE for a given virtual address. If PTE does not exist,
>   * allocate page-table pages.
> + * Provide a small pool for allocating some page tables very early. Those are
> + * needed currently for mapping the shared info page, so 2 pages ought to be
> + * enough. Add one spare page anyway.
>   */

Hmm, 2 pages plus one spare doesn't yield ...

> +static char early_pt[4][PAGE_SIZE] __attribute__((aligned(PAGE_SIZE)));

... 4. Was 2 a typo, and 3 was meant? (Which, just to mention it, then isn't
correct for 32-bit aiui.) Whatever adjustment wants making - happy to do so
while committing. Just need to know which way. Then
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From minios-devel-bounces@lists.xenproject.org Tue Jul 29 09:13:19 2025
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jul 2025 09:13:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.1062338.1427988 (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uggOc-0006Ct-5w; Tue, 29 Jul 2025 09:13:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 1062338.1427988; Tue, 29 Jul 2025 09:13:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1uggOc-0006BK-1p; Tue, 29 Jul 2025 09:13:18 +0000
Received: by outflank-mailman (input) for mailman id 1062338;
 Tue, 29 Jul 2025 09:13:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TZvG=2K=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1uggOb-00067F-2q
 for minios-devel@lists.xenproject.org; Tue, 29 Jul 2025 09:13:17 +0000
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com
 [2a00:1450:4864:20::529])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4213e336-6c5c-11f0-b895-0df219b8e170;
 Tue, 29 Jul 2025 11:13:15 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-615756b1e99so487320a12.0
 for <minios-devel@lists.xenproject.org>; Tue, 29 Jul 2025 02:13:15 -0700 (PDT)
Received: from ?IPV6:2003:e5:872d:3c00:27e3:fc0:fb5:67a3?
 (p200300e5872d3c0027e30fc00fb567a3.dip0.t-ipconnect.de.
 [2003:e5:872d:3c00:27e3:fc0:fb5:67a3])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-61500ad0474sm4289907a12.32.2025.07.29.02.13.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 29 Jul 2025 02:13:14 -0700 (PDT)
X-BeenThere: minios-devel@lists.xenproject.org
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: minios-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4213e336-6c5c-11f0-b895-0df219b8e170
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1753780394; x=1754385194; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=AakHI/bNEPFD36BwiMTVei3m4LZP1v4Nb3WXVsVgUAY=;
        b=EBcQtQSIuQcbnSebDnmVhwb7ZTAtg/52qnaEzorjdnmTsClPTe8ELyhr4UYAy4zrti
         ek6uYor6Mlic649bNuKB3Ndr5Mmaaiyu8Ay2S56ta3cgFqb4KcK/V+U4jTuggzDsF66h
         Jjm51cJq2SHyQw1AIwwyceTo/SYcoHvHOYAtLDA1AQDQRHHZdYUP1Dq9YVy4G7hLQW2v
         wxFgxDjQXxxYj0QVXncAwNKnxBPP+xRsNecmlv/qQPT15bFcb5bqLFtATFcTW++99aYU
         p0EY87XxqfpHg9fPEz/ObnTMfHBjOhPwcN/i7Vxj17kC+vzr0einZqqJupAKT3I/2miG
         dhkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1753780394; x=1754385194;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=AakHI/bNEPFD36BwiMTVei3m4LZP1v4Nb3WXVsVgUAY=;
        b=mn8ccCjzLqOBP4O3JKE5hZRlZfg7dBIm9PVl2y5Zq7t4TJP1PEafow3wTx32AzmpyK
         yHbl/FFNOXQn5ZHGHuTQQhaaZSeLiQtIxoP3jdQZ5x80Tjubb7/ZWkVXlGmc/5iLyjx9
         MWSN8y4PQzEhbsx1oPu6pz8RLRlxgLKGUfdPnmvQV5T95xdtQmwX+/u/nqF7WhaZFY0j
         65wpgKWO0K7+zjHCyp3FtjKuS23+/HYN7atEDtK3CKS1W2jMrKfYFuhlM2LhYLmWb4+C
         OozWz+n5sBxfooHvlzzij0axRF5SUl5tjrGzcGfr8SSP+Cw9dUSLKe+9ISw9Iashqurl
         VzZw==
X-Forwarded-Encrypted: i=1; AJvYcCUteB4f4P1dHay1h9JUar7rDlsX4KD4dy+vrVJ1BFrLzUr7fJhXbaQXuSiurklaQRX0Roo9GCNir6ExEOs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyIUzlcLhw24Bst9tIGTiEVf+ClyNDbcO/H/5xU6ShJuAaely+3
	Ao8Son6u+JtL8G7/XOUp8qJd+tDEQcAzOiPiU9Yo3gyRaE/aACRYfg/eqGwgp10Hnw4=
X-Gm-Gg: ASbGncuK+IcbNMhhsCdDh63DPLtBA+X2nT8yiTam1rOQFMcOJJ1ZnxJBN35h0EjJQNt
	aVqUVQy7AWUrcU8E37Ml+jyPb5dOwJlu1kEiZw7eOmn5btRNAIfz0e/xEkCP0uBbvbRVTJGWxly
	5TkLCM7Dj69aSEawCbuhTpl3N0EUa7mlBwzsi5V5cv1VskTKjymr++tFhyEKqTCw6vouTsSzk/7
	iw5pafS/X/qg0AujpxfJz/TCg97e5tgMOcUIXuRr2Vdl4r+EuoHyXgT0W2gPrssgV0cgLU9+Bai
	HpiXszyRExAWLJDCyeRHpTwLOGWidKCkt9Q1WD2MBI44UDJgRzao4NQqSsh0+QGrXYWVWvLMFio
	7mdrcB63DXhrP1PIXGh6vY2FEF67JhKFCe0Zu4szDWvTGpUFSTa8LsSjUnuzNruXV2gVBRUE9Bb
	DFkBEpS9C05e8SHH9AmuH/fFzAvCCiWIclpdPKz8u8jA==
X-Google-Smtp-Source: AGHT+IF/YNaEAhPglzQq5RvOayFLuHfNLxuwLS/F4jzMNCPFjo2/E2U143S9Egfud55tNHE/a643VA==
X-Received: by 2002:a05:6402:2788:b0:615:30c3:3795 with SMTP id 4fb4d7f45d1cf-61530c33c22mr9263054a12.4.1753780394461;
        Tue, 29 Jul 2025 02:13:14 -0700 (PDT)
Message-ID: <8d4ca224-dbed-4548-b26b-0e8b020c377f@suse.com>
Date: Tue, 29 Jul 2025 11:13:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [MINI-OS PATCH v2 2/2] x86: don't use a memory page for mapping
 the shared info page
To: Jan Beulich <jbeulich@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
References: <20250729083829.11038-1-jgross@suse.com>
 <20250729083829.11038-3-jgross@suse.com>
 <0b6b3a4a-03df-4bc9-996d-ba2efb3f5b73@suse.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <0b6b3a4a-03df-4bc9-996d-ba2efb3f5b73@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------5hVzY4zwqa1BDsb9fT7QS2vA"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------5hVzY4zwqa1BDsb9fT7QS2vA
Content-Type: multipart/mixed; boundary="------------a0m4HCodCA6CHkA3RG7CDH7k";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: samuel.thibault@ens-lyon.org, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Message-ID: <8d4ca224-dbed-4548-b26b-0e8b020c377f@suse.com>
Subject: Re: [MINI-OS PATCH v2 2/2] x86: don't use a memory page for mapping
 the shared info page
References: <20250729083829.11038-1-jgross@suse.com>
 <20250729083829.11038-3-jgross@suse.com>
 <0b6b3a4a-03df-4bc9-996d-ba2efb3f5b73@suse.com>
In-Reply-To: <0b6b3a4a-03df-4bc9-996d-ba2efb3f5b73@suse.com>
Autocrypt-Gossip: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------a0m4HCodCA6CHkA3RG7CDH7k
Content-Type: multipart/mixed; boundary="------------cWMpMmjscPkYA8PNTEVRI0Q0"

--------------cWMpMmjscPkYA8PNTEVRI0Q0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjkuMDcuMjUgMTE6MDAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyOS4wNy4yMDI1
IDEwOjM4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEvYXJjaC94ODYveDg2XzY0
LlMNCj4+ICsrKyBiL2FyY2gveDg2L3g4Nl82NC5TDQo+PiBAQCAtMzMsMTMgKzMzLDggQEAg
X3N0YXJ0Og0KPj4gICBzdGFja19zdGFydDoNCj4+ICAgICAgICAgICAucXVhZCBzdGFjayso
MipfX1NUQUNLX1NJWkUpDQo+PiAgIA0KPj4gLS5nbG9ibCBzaGFyZWRfaW5mbywgaHlwZXJj
YWxsX3BhZ2UNCj4+IC0gICAgICAgIC8qIFVucGxlYXNhbnQgLS0gdGhlIFBURSB0aGF0IG1h
cHMgdGhpcyBwYWdlIGlzIGFjdHVhbGx5IG92ZXJ3cml0dGVuICovDQo+PiAtICAgICAgICAv
KiB0byBtYXAgdGhlIHJlYWwgc2hhcmVkLWluZm8gcGFnZSEgOi0pICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAqLw0KPj4gICAgICAgICAgIC5hbGlnbiBfX1BBR0VfU0laRQ0KPj4g
LXNoYXJlZF9pbmZvOg0KPj4gLSAgICAgICAgLmZpbGwgX19QQUdFX1NJWkUsMSwwDQo+PiAt
DQo+PiArLmdsb2JsIGh5cGVyY2FsbF9wYWdlDQo+IA0KPiBXaGlsZSB0b3VjaGluZyB0aGlz
IGxpbmUsIG1heSBJIHN1Z2dlc3QgdG8gaW5kZW50IHRoaXMgZGlyZWN0aXZlIHRvIG1hdGNo
IGFsbA0KPiBvdGhlciBkaXJlY3RpdmVzIGluIGNvbnRleHQ/IEV2ZW4gaWYgYXNzZW1ibGVy
cyBhY2NlcHQgdGhlbSBmb3IgbW9zdCB0YXJnZXRzLA0KPiBkaXJlY3RpdmVzIHN0YXJ0aW5n
IGluIHRoZSBmaXJzdCBjb2x1bW4gc3RyaWN0bHkgc3BlYWtpbmcgYXJlIG1pc3BsYWNlZC4N
Cj4gDQo+PiAtLS0gYS9oeXBlcnZpc29yLmMNCj4+ICsrKyBiL2h5cGVydmlzb3IuYw0KPj4g
QEAgLTI3LDggKzI3LDEwIEBADQo+PiAgIA0KPj4gICAjaW5jbHVkZSA8bWluaS1vcy9vcy5o
Pg0KPj4gICAjaW5jbHVkZSA8bWluaS1vcy9saWIuaD4NCj4+ICsjaW5jbHVkZSA8bWluaS1v
cy9lODIwLmg+DQo+PiAgICNpbmNsdWRlIDxtaW5pLW9zL2h5cGVydmlzb3IuaD4NCj4+ICAg
I2luY2x1ZGUgPG1pbmktb3MvZXZlbnRzLmg+DQo+PiArI2luY2x1ZGUgPG1pbmktb3MvbW0u
aD4NCj4+ICAgI2luY2x1ZGUgPHhlbi9tZW1vcnkuaD4NCj4+ICAgDQo+PiAgIEVYUE9SVF9T
WU1CT0woaHlwZXJjYWxsX3BhZ2UpOw0KPj4gQEAgLTM3LDcgKzM5LDggQEAgRVhQT1JUX1NZ
TUJPTChoeXBlcmNhbGxfcGFnZSk7DQo+PiAgICAgICAoKHNoKS0+ZXZ0Y2huX3BlbmRpbmdb
aWR4XSAmIH4oc2gpLT5ldnRjaG5fbWFza1tpZHhdKQ0KPj4gICANCj4+ICAgI2lmbmRlZiBD
T05GSUdfUEFSQVZJUlQNCj4+IC1leHRlcm4gc2hhcmVkX2luZm9fdCBzaGFyZWRfaW5mbzsN
Cj4+ICtzdGF0aWMgdW5zaWduZWQgbG9uZyBzaGluZm9fcGZuOw0KPj4gK3N0YXRpYyB1bnNp
Z25lZCBsb25nIHNoaW5mb192YTsNCj4+ICAgDQo+PiAgIGludCBodm1fZ2V0X3BhcmFtZXRl
cihpbnQgaWR4LCB1aW50NjRfdCAqdmFsdWUpDQo+PiAgIHsNCj4+IEBAIC02OSwyNCArNzIs
MzEgQEAgc2hhcmVkX2luZm9fdCAqbWFwX3NoYXJlZF9pbmZvKHZvaWQpDQo+PiAgIHsNCj4+
ICAgICAgIHN0cnVjdCB4ZW5fYWRkX3RvX3BoeXNtYXAgeGF0cDsNCj4+ICAgDQo+PiArICAg
IHNoaW5mb19wZm4gPSBlODIwX2dldF9yZXNlcnZlZF9wZm5zKDEpOw0KPj4gICAgICAgeGF0
cC5kb21pZCA9IERPTUlEX1NFTEY7DQo+PiAgICAgICB4YXRwLmlkeCA9IDA7DQo+PiAgICAg
ICB4YXRwLnNwYWNlID0gWEVOTUFQU1BBQ0Vfc2hhcmVkX2luZm87DQo+PiAtICAgIHhhdHAu
Z3BmbiA9IHZpcnRfdG9fcGZuKCZzaGFyZWRfaW5mbyk7DQo+PiArICAgIHhhdHAuZ3BmbiA9
IHNoaW5mb19wZm47DQo+PiAgICAgICBpZiAoIEhZUEVSVklTT1JfbWVtb3J5X29wKFhFTk1F
TV9hZGRfdG9fcGh5c21hcCwgJnhhdHApICE9IDAgKQ0KPj4gICAgICAgICAgIEJVRygpOw0K
Pj4gKyAgICBpZiAoICFzaGluZm9fdmEgKQ0KPj4gKyAgICAgICAgc2hpbmZvX3ZhID0gYWxs
b2NfdmlydF9rZXJuZWwoMSk7DQo+PiArICAgIGlmICggIXNoaW5mb192YSB8fCBtYXBfZnJh
bWVfcncoc2hpbmZvX3ZhLCBzaGluZm9fcGZuKSApDQo+PiArICAgICAgICBCVUcoKTsNCj4g
DQo+IE5vdyB0aGVyZSdzIGEgbmV3IGFzeW1tZXRyeTogSGVyZSB5b3UgY2hlY2sgd2hldGhl
ciBhbGxvY192aXJ0X2tlcm5lbCgpDQo+IChhcHBlYXJzIHRvIGhhdmUpIGZhaWxlZCwgd2hl
cmVhcyBpbiB0aGUgUFYgdmFyaWFudCB5b3UgZG9uJ3QuIEFuZCBpdCdzDQo+IHJlYWxseSBv
bmx5ICJhcHBlYXJzIHRvIiwgYXMgdGhlIGZ1bmN0aW9uIHdvbid0IHJldHVybiAwIGluIHRo
ZSBmYWlsdXJlDQo+IGNhc2UsIGFmYWljcy4gSSB0aGVyZWZvcmUgdGhpbmsgdGhhdCBleHRy
YSBjb25kaXRpb24gc2ltcGx5IHdhbnRzDQo+IGRyb3BwaW5nIGhlcmUuIFRoZW4NCg0KT2gs
IHJpZ2h0LiBGaXJzdCBJIGhhZA0KDQppZiAoICFzaGluZm9fdmEgKQ0KICAgICBzaGluZm9f
dmEgPSBtYXBfZnJhbWVfdmlydChzaGluZm9fcGZuKTsNCmVsc2UNCiAgICAgcmV0ID0gbWFw
X2ZyYW1lX3J3KHNoaW5mb192YSwgc2hpbmZvX3Bmbik7DQppZiAoIHJldCB8fCAhc2hpbmZv
X3ZhICkNCiAgICAgQlVHKCk7DQoNCndoaWNoIEkgdGhlbiBzaW1wbGlmaWVkIHRvIGFib3Zl
IHNlcXVlbmNlLCBidXQgd2l0aG91dCBkcm9wcGluZyB0aGUgdGVzdCBmb3INCnNoaW5mb192
YSBiZWluZyBub3QgMC4NCg0KPiBSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPg0KPiANCj4gQXMgZm9yIHRoZSBvdGhlciBwYXRjaCwgaGFwcHkgdG8gbWFr
ZSBib3RoIGFkanVzdG1lbnRzIHdoaWxlIGNvbW1pdHRpbmcuDQo+IEFzIGxvbmcgYXMgeW91
IGFncmVlLCBvZiBjb3Vyc2UuDQoNClllcywgSSBhZ3JlZSwgdGhhbmtzLg0KDQoNCkp1ZXJn
ZW4NCg==
--------------cWMpMmjscPkYA8PNTEVRI0Q0
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------cWMpMmjscPkYA8PNTEVRI0Q0--

--------------a0m4HCodCA6CHkA3RG7CDH7k--

--------------5hVzY4zwqa1BDsb9fT7QS2vA
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmiIkKkFAwAAAAAACgkQsN6d1ii/Ey/P
TQgAhkl9Xw9sF5bpNQAhLMfn+0nNNY9nydFsmty+Esj5VsW5PlaIaMrGkk8d/xJB3NwmrqDxvd3+
RlLzNq8BW64x/LbTzPZXcu4fZJDiKOHnFpXkpWjzadoBt6lSxfFn/IH8gHhQ9XtliRGQPHGUlr9N
ShjzuekRxTY3j7ZUk60aPBskvUpg/Mf5rWzbKr+vPu9wXx/EbYEjrj6/cTkPr1HVeRyBJIPG/O+s
qB1ZWDGobkuKNhqmsUNo70Mszgwv9T1p+i2MCBU94HNVHkB+VEZ4XFSYlvhrJlzXdqBX9yq75SPX
dzh1S4/sviT0divuKLvYshZU4VCO+q6LO/WYJvrVnQ==
=7nc0
-----END PGP SIGNATURE-----

--------------5hVzY4zwqa1BDsb9fT7QS2vA--


