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

Re: [PATCH] xen/arm64: Fix incorrect DIRECTMAP_SIZE calculation


  • To: Henry Wang <Henry.Wang@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Michal Orzel <michal.orzel@xxxxxxx>
  • Date: Tue, 17 Jan 2023 09:18:49 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=arm.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
  • 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=dgpEP/WjrUCJHbhWdQHNO5PYTzlfO9OU5BbSA0hxE24=; b=TSFUTlVLqW52goq5PoQFe2rLswVkZEUsixZ+Z3bvk5HLoU930qLRiFnacISB/vOWndXtSzpgBgFoZIee6zlz8JpWOQfHZX5tcbwF7W9v4rUs7vSh0QJlsaaBDmsfGMrnDxV3lULP/WForC6Xd38f2QirmhEh4nRCxjDXHRs1D9QpL/Supb4UKOIibWXYMdBspedl+WONNBVhbPhTvqZzS+egSMbCJJ4Wg/WOA6UdYBJ1+n++78QckLpJyejtuQ7cJF3hR5a3FW9tndsHYRPmX5CZQmm7OD1/e1v7+VURGYmybvbufreq4SOnS4YesxzElPitcGLA+heQAVWdUE+HPg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XUl7B/smV1Gcp5rCMEDSCnh9tJ2YnOzLiFtQrES4aeL6YPSkKePbn/3DrfruF5liK3yWB3uPLyI/4r961QfpnVmyLDsOh6qPdUg4gcd97hE3GbCGlspJ//IBOmBLbO9klurCq3fiHA/bPQf+jOtfLh1Mw1nvfiPwmG9ObcDBgJo6NM4rM6QKPnUWWen9J4ph8ojYA3/Cj+JGN5XXwZ+aDP5oJhYQPh4NY8DdYAQ9ZPSC7aQKyyvIKOIlps6O7m28Ak6m0EkiSo+Q5mvjEga5Vm/dykpNL25ZgcwDg1KKvg3tz6p/4mcCFjxY5uWyydt9RMxgly3JhnAluGGfrLcceg==
  • Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, "Volodymyr Babchuk" <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Tue, 17 Jan 2023 08:19:13 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Hi Henry,

On 17/01/2023 04:10, Henry Wang wrote:
> 
> 
> Hi Michal,
> 
>> -----Original Message-----
>> Subject: [PATCH] xen/arm64: Fix incorrect DIRECTMAP_SIZE calculation
>>
>> The direct mapped area occupies L0 slots from 256 to 265 (i.e. 10 slots),
>> resulting in 5TB (512GB * 10) of virtual address space. However, due to
>> incorrect slot subtraction (we take 9 slots into account) we set
>> DIRECTMAP_SIZE to 4.5TB instead. Fix it.
>>
>> Fixes: 5263507b1b4a ("xen: arm: Use a direct mapping of RAM on arm64")
>> Signed-off-by: Michal Orzel <michal.orzel@xxxxxxx>
>> ---
>>  xen/arch/arm/include/asm/config.h | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/xen/arch/arm/include/asm/config.h
>> b/xen/arch/arm/include/asm/config.h
>> index 0fefed1b8aa9..16213c8b677f 100644
>> --- a/xen/arch/arm/include/asm/config.h
>> +++ b/xen/arch/arm/include/asm/config.h
>> @@ -157,7 +157,7 @@
>>  #define FRAMETABLE_NR          (FRAMETABLE_SIZE / sizeof(*frame_table))
>>
>>  #define DIRECTMAP_VIRT_START   SLOT0(256)
>> -#define DIRECTMAP_SIZE         (SLOT0_ENTRY_SIZE * (265-256))
>> +#define DIRECTMAP_SIZE         (SLOT0_ENTRY_SIZE * (266 - 256))
> 
> From the commit message "L0 slots from 256 to 265 (i.e. 10 slots)", I think
> the actual range is [256, 265] so probably using "(265 - 256 + 1)" here is a
> bit better? It seems to me that the number 266 looks like a magic number
> because 266 is not in the range. But this is my personal taste though and I
> am open to discussion if you or maintainers have other opinions.
I think this is a matter of taste. I prefer it the way it is because at least 
it matches
how x86 defines the DIRECTMAP_SIZE and it also matches the usual way of 
calculating the size
which is subtracting the start address of that region from the start address of 
the next region
(e.g. VMAP_VIRT_SIZE calculation on arm32).

> 
> Maybe we can also putting a comment on top of the macro to explain this
> calculation.
> 
> I did test this patch on FVP using XTP in both arm32 and arm64 execution
> mode, and this patch is good, so:
> 
> Tested-by: Henry Wang <Henry.Wang@xxxxxxx>
Thanks.

> 
> Kind regards,
> Henry

~Michal



 


Rackspace

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