[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v6 05/11] xen/arm: define Xen start address for FVP BaseR platform


  • To: Julien Grall <julien@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Wei Chen <Wei.Chen@xxxxxxx>
  • Date: Mon, 5 Dec 2022 18:17:37 +0800
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=2sdMVvz6tMMMIMwONLQJiIX2KxDkoj9yBS4qM2Yjedo=; b=LU6unm5nyhHzi2m8nlDaDPOKPFkYa/UkwGGU1FsE9vGz4FYc3MX/CmrMHc5nPSehKda1oSoxrWEsvx3FFt6QgJcuDbdWcbZvy8N41hOGge5GIHjBhBxAjvNu184JynGR2uSYyMFt8/K/y2QJeIT1WTG7u3ogNLywz7UOrcF0tVo9HF1iO+9n1UM6TgnO+lQ6fOg1iUlNR1Lh5a8E5zz78cQUh2DKOoRBCIW1ZH4Mgbd2yh5yvNwYWMgec0iephp8x3wnXP0XkTrhg/Avi2iwEtVsl4E3Lox6/yk5N8lYrs+P7RPhomaZqZjkJ/kDVKf52gQ/lbK1pbp/0GrL0s00Qw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QoR1qLrP8gSwl0WrkssZS4tuJZkVJIwEvEDRzRq4PW6AK3taNXdqg3iailVa1SUYNdxVEsadZVnYC32lFqNrRnETFa6KRW6BGdylJYYeY8TJU+VBDuM3DCWJNg9cYnGpfW6gtc5QD9KeXUdUuRORfJtt+udl/TSXb6T+wazknJLJHV2ywu/VAHs7PY2fNsOrpHjJHadNhc/q4SDxivgDLfZ5czbnd+TsYKD4Um8n25u7dTdyFvq6DViEN+ELD+oHxw2zpOPABKyrc+uLT5WRGAim00P+6yENRBcdnCzPMaiGXKjGhx8t5nYDCiv0tmdC7eFnv8WFV33oNv1ghk7GMw==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Cc: nd <nd@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Jiamei Xie <Jiamei.Xie@xxxxxxx>
  • Delivery-date: Mon, 05 Dec 2022 10:18:00 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true

Hi Julien,

I thought I had replied to your email, but when I am checking to see if I have addressed all your comments, I didn't find my reply on the mailing list. Maybe there is something wrong with my mail system, I didn't find it sooner. Sorry about it. Hope my reply is not too late.


On 2022/11/10 2:24, Julien Grall wrote:


On 09/11/2022 04:55, Wei Chen wrote:
Hi Julien,

Hi Wei,



We had considered to use Kconfig to define the start addresses of v8R64
platforms (prompt users to input the address). But we also want to provide
a default start address for each platform (Discussed in [1], header for
default value, Kconfig option for customized address).
Why do you want to provide a default value? And how it is guaranteed that it will work for most of the users?


We also had thought to use Kconfig to define a default start address
for each platform like what we had done for early printk in RFC[2].
But this method has been deprecated.

Most of the current Xen is board agnostic except the UART. We push back the addition of new one because the address can be found in the firmware table and I wanted to avoid increase the number of option (there are dozens of platform out...).


So if we don’t use header files, just use the Kconfig, we can't
provide a default start address for platforms, and have to force users
to enter the start address.

I am not sure I see the problem to force the user to enter the start address. My worry with per-platform default value is we end up to force each vendor to provide an header in order to boot Xen.

I think it would be better to provide a config tailored for that platform (whether it is part of Xen can be debatable). This would allow a user to try a release Xen on their platform with zero changes in the code.


Above comments have been answered in my reply to you and Stefano.

diff --git a/xen/arch/arm/platforms/Kconfig
b/xen/arch/arm/platforms/Kconfig
index c93a6b2756..0904793a0b 100644
--- a/xen/arch/arm/platforms/Kconfig
+++ b/xen/arch/arm/platforms/Kconfig
@@ -1,6 +1,7 @@
   choice
       prompt "Platform Support"
       default ALL_PLAT
+    default FVP_BASER if ARM_V8R

Is there any reason to create a new Kconfig rather than using MPU?


Did you mean FVP_BASER? If yes, we want to give each board a MACRO
to indicate its specific configurations. In current series, this MACRO
only be used for board specific start address.

See above for this.


If we move board specific information to tailored config file, I think
we don't need FVP_BASER.


If you meant Armv8R, that's because Armv8R does not equal to MPU.

I am not entirely sure to understand. Are you saying that an existing Xen can boot on Armv8R?


No, I didn't mean that. I just think we can't use only one MPU or one
ARM_V8R to cover all our changes in this series. For example, some
changes like new system registers are brought by Armv8R not the MPU.

Cheers,
Wei Chen




Cheers,




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.