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

[XEN v7 11/11] xen/arm: p2m: Enable support for 32bit IPA for ARM_32


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx>
  • Date: Thu, 18 May 2023 15:39:20 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org 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=M9J/5ThoetEUno6+i8DrRu1jgcNPeeZ3w3OXUkCp52Y=; b=I+QM4nORvC6tA/vLOZTiia1jZ5y081VwqSyMKSl5w71GS/53GKuICTnBuTv1x9/CPxkc0SmQ+I16nkbOogXhZJJ/NyO3fSred/1Dnd939vJp5XsyqqyqWff+flnMHFb5PE3Ieh9F88qASi5aG112ZpdNYki9bRIENGXHNTRwUuYTbpl+ImOfZwnX8u48FSq9KQVOV/M5raQEoKHN5KRlZi9XicE1+ONfWJ9ZuEgyWyVZrU3loG/sfpfokaa3ZfDgZ6R+Odhf6ldLM/fHfL1wIrICO3Nwb/CrAF/Diyx/9APpSvtGo9xTr2lA/+N6+PPTDgJ96tN6MemmngeC/mz9gg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kEXfwzU6VoApqgyxVB3k7eR/qeEpzyqikzzA+lp3LwD+CSpMml3MzBfPuun6t4H9k7B9oNYx1AxvJFIlt6bBrGwa3PA/4JHHjIVtSL1su7mb88SetivxZ3VLaVp7XZpdXbbVfDGKwJ7WNKLWRSK8/qMQNuwpPdaN4lcewwuddHIB4F+iLebbN7Aos0A64VBpPBCeykKDEK8F+SbL4iTnneqyTRX28xAZLDKdNaCDE01ycp803GBVxE7KK+RZV8MgPwMYqL0/stzJyD+tKYxDVwDMO80kEWrMpexNtm1qa6puB4RMTSg1pnLKfOSwVRNmU7KrX0DORwWOH57PeF91Qg==
  • Cc: <sstabellini@xxxxxxxxxx>, <stefano.stabellini@xxxxxxx>, <julien@xxxxxxx>, <Volodymyr_Babchuk@xxxxxxxx>, <bertrand.marquis@xxxxxxx>, <andrew.cooper3@xxxxxxxxxx>, <george.dunlap@xxxxxxxxxx>, <jbeulich@xxxxxxxx>, <wl@xxxxxxx>, <rahul.singh@xxxxxxx>, <michal.orzel@xxxxxxx>, "Ayan Kumar Halder" <ayan.kumar.halder@xxxxxxx>
  • Delivery-date: Thu, 18 May 2023 14:42:47 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Refer ARM DDI 0406C.d ID040418, B3-1345,

"A stage 2 translation with an input address range of 31-34 bits can
start the translation either:

- With a first-level lookup, accessing a first-level translation
  table with 2-16 entries.

- With a second-level lookup, accessing a set of concatenated
  second-level translation tables"

Thus, for 32 bit IPA, there will be no concatenated root level tables.
So, the root-order is 0.

Also, Refer ARM DDI 0406C.d ID040418, B3-1348
"Determining the required first lookup level for stage 2 translations

For a stage 2 translation, the output address range from the stage 1
translations determines the required input address range for the stage 2
translation. The permitted values of VTCR.SL0 are:
0b00 Stage 2 translation lookup must start at the second level.
0b01 Stage 2 translation lookup must start at the first level.

VTCR.T0SZ must indicate the required input address range. The size of
the input address region is 2^(32-T0SZ) bytes."

Thus VTCR.SL0 = 1 (maximum value) and VTCR.T0SZ = 0 when the size of
input address region is 2^32 bytes.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx>
---
Changes from -

v1 - New patch.

v2 - 1. Added Ack.

v3 - 1. Dropped Ack. 
2. Rebased the patch based on the previous change.

v4 - 1. t0sz is 0 for 32-bit IPA on Arm32.
2. Updated the commit message to explain t0sz, sl0 and root_order.

v5 - 1. Rebased on top of the changes in the previous patch.

v6 - 1. Removed the index for ARM_32.

 xen/arch/arm/p2m.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 755cb86c5b..08b209e7c9 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -2265,6 +2265,7 @@ void __init setup_virt_paging(void)
         [6] = { 52,      12/*12*/,  4,          2 },
         [7] = { 0 }  /* Invalid */
 #else
+        { 32,      0/*0*/,    0,          1 },
         { 40,      24/*24*/,  1,          1 },
         { 0 },  /* Invalid */
 #endif
-- 
2.17.1




 


Rackspace

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