Message ID | 20230920-rmtfs-mem-guard-pages-v3-1-305b37219b78@quicinc.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp4586578vqi; Wed, 20 Sep 2023 20:42:37 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGlewPcfQexqQsfkEPqVucfrt/3CRzgN9sAiSgGIaA3mvdhHPacbjfNGTxFdVuUgmQ3R2jl X-Received: by 2002:a9d:6a0c:0:b0:6b9:c4b1:7a86 with SMTP id g12-20020a9d6a0c000000b006b9c4b17a86mr4366721otn.3.1695267757333; Wed, 20 Sep 2023 20:42:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695267757; cv=none; d=google.com; s=arc-20160816; b=tyrfwCTPOP3bw4tWx9XvkuV4CuGhZG1yo159mJUNPwOI6SEscUn/CXzQUZBNpUKMJW kJSow8krfzHpQ9/2njFh2zbw83rWNkKhylyft8cdHWXRQAKuGXb4umA8qvSAmDX4A5tq XN9VvSeJrkKeMi9X7b2ta9Gd0grjUezvRi0KXHmxa2hJ/PvnojD3rpsXYDK57nTk1Vjz 81PTsGwn5e7JwwttKhIx+Tqdmi65Us56x7UTT4sT6rPDe6A/NWUudJ1sUa7MU5hxPAtG mFBiNIJsH/POedFNUeljODvY8ePuKJX0WptMywFvhQmFKyZV3x/0QEyXJAmzBVWGpJU9 fUWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=nBccwF1AJjDJHOkO9saAtELKx+a1Lz8POTJOCADT7jA=; fh=JqQ9vB33k0mgLF+8qvMDdtg+EJ5VT4RAgruajKjRjLc=; b=DzyaBIvFcF2VB7YrAbAvetLk+ZxERP69o/sM54SHPXD1mKoylQzH4ZMhZILD1N7a6t 6GH2Hf6Wd9XusVwo5qsQrf63g2EiYo+URc2OdHNmd7199SGZAHJ/lKory3kdceQWmxpJ Jb0puaeR3hc5a5Cn7tV8VOF26lvwPyihjkfVbg8gutaLWuId9n74yIOnKwGu4A4rqh73 TDXqtBczR+guFu1FhgCG76hFzNb6OpGav4ufAwvB5yCYyFGjpnDFEXvvoJ4DA+9ooGWt vBR8xMbyw8AjIOTrpcXYjYlW7tuUn8LK62czFNN5gf8yDcXcmQe+iKy+oVMYyIiWA115 JV3w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=UAxV89vH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from howler.vger.email (howler.vger.email. [2620:137:e000::3:4]) by mx.google.com with ESMTPS id i67-20020a636d46000000b005708fb8f0bbsi532907pgc.571.2023.09.20.20.42.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Sep 2023 20:42:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) client-ip=2620:137:e000::3:4; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=UAxV89vH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id 7187180AEE0E; Wed, 20 Sep 2023 19:38:00 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229602AbjIUCh7 (ORCPT <rfc822;pwkd43@gmail.com> + 29 others); Wed, 20 Sep 2023 22:37:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43136 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229550AbjIUCh4 (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Wed, 20 Sep 2023 22:37:56 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0A915D7; Wed, 20 Sep 2023 19:37:51 -0700 (PDT) Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 38L1kmST024787; Thu, 21 Sep 2023 02:37:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : date : subject : mime-version : content-type : content-transfer-encoding : message-id : references : in-reply-to : to : cc; s=qcppdkim1; bh=nBccwF1AJjDJHOkO9saAtELKx+a1Lz8POTJOCADT7jA=; b=UAxV89vHiCNO9eYM5jXfkK40wREPFI2WhWcpV9gSe24KEYlG0NU0PbMJ/7aJiVnmeifF QoqjfneCoi3N4UOguC+D0GdklAPHEHAdrRewhx6Re3KQm5v/NqkUgjCSKv5mejPIG0aZ 4vX/jTsmJJAZdK1r8OqOzcmdo9MayEJj+ru2o3HV2mOIYHag53pnTA7sZjDIvJoyAr0Z qLiLxaYzn5EfMJjGjHP7TDJX55/9ZMKeeGy07T4x4M3HbDP4EeC1whI9iIHPoAJmO3Sb 6EaskQhq+MQplH6XRI7Opohzeu4c1tTAVcaWXrzj42WkNKvdyvqbtGOm5FOQPq3tmhxa 4w== Received: from nalasppmta01.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3t891c0cre-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 21 Sep 2023 02:37:45 +0000 Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35]) by NALASPPMTA01.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 38L2bi9i020704 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 21 Sep 2023 02:37:44 GMT Received: from hu-bjorande-lv.qualcomm.com (10.49.16.6) by nalasex01c.na.qualcomm.com (10.47.97.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.30; Wed, 20 Sep 2023 19:37:44 -0700 From: Bjorn Andersson <quic_bjorande@quicinc.com> Date: Wed, 20 Sep 2023 19:37:30 -0700 Subject: [PATCH v3 1/3] dt-bindings: reserved-memory: rmtfs: Allow guard pages MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-ID: <20230920-rmtfs-mem-guard-pages-v3-1-305b37219b78@quicinc.com> References: <20230920-rmtfs-mem-guard-pages-v3-0-305b37219b78@quicinc.com> In-Reply-To: <20230920-rmtfs-mem-guard-pages-v3-0-305b37219b78@quicinc.com> To: Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, Konrad Dybcio <konrad.dybcio@linaro.org>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Conor Dooley <conor+dt@kernel.org> CC: <linux-arm-msm@vger.kernel.org>, <devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>, Bjorn Andersson <quic_bjorande@quicinc.com> X-Mailer: b4 0.12.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1695263863; l=1847; i=quic_bjorande@quicinc.com; s=20230915; h=from:subject:message-id; bh=xlRIelsN06YllMR6zQavDKa2EffnSwCF78u2DTrHj0w=; b=GyA4H0nGIEhcJOitilg5PSb/hOQlK+YMuj77kq8z5ef+diag1/IpNh1iG9+b0y2GTeJcpeMTbE9R KU4I732mCOfUBVGkBBZEdClKIEHyO2rhCWTdAwGp1qO9ZhsoCXi0 X-Developer-Key: i=quic_bjorande@quicinc.com; a=ed25519; pk=VkhObtljigy9k0ZUIE1Mvr0Y+E1dgBEH9WoLQnUtbIM= X-Originating-IP: [10.49.16.6] X-ClientProxiedBy: nalasex01c.na.qualcomm.com (10.47.97.35) To nalasex01c.na.qualcomm.com (10.47.97.35) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: A4RG7nEGIcse6EKfjJv7rMQW7vhGoffc X-Proofpoint-ORIG-GUID: A4RG7nEGIcse6EKfjJv7rMQW7vhGoffc X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.980,Hydra:6.0.601,FMLib:17.11.176.26 definitions=2023-09-20_14,2023-09-20_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 impostorscore=0 malwarescore=0 suspectscore=0 phishscore=0 priorityscore=1501 clxscore=1015 bulkscore=0 mlxscore=0 mlxlogscore=814 adultscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2308100000 definitions=main-2309210021 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Wed, 20 Sep 2023 19:38:00 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777617084097744929 X-GMAIL-MSGID: 1777617084097744929 |
Series |
soc: qcom: rmtfs: Support dynamic allocation
|
|
Commit Message
Bjorn Andersson
Sept. 21, 2023, 2:37 a.m. UTC
On some Qualcomm platforms the firwmare, or hardware, does not
gracefully handle memory protection of the rmtfs memory region when
placed adjacent to other protected region. Some DeviceTree authors have
worked around this issue by explicitly reserving the space around the
region, but this prevents such author to use rely on the OS to place the
region, through the use of "size" (instead of a fixed location).
Introduce a flag to indicate that guard pages need be carved at the
beginning and end of the memory region. The user shall account for the
two 4k blocks in the defined size.
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
---
.../devicetree/bindings/reserved-memory/qcom,rmtfs-mem.yaml | 11 +++++++++++
1 file changed, 11 insertions(+)
Comments
On 9/21/23 04:37, Bjorn Andersson wrote: > On some Qualcomm platforms the firwmare, or hardware, does not > gracefully handle memory protection of the rmtfs memory region when > placed adjacent to other protected region. Some DeviceTree authors have > worked around this issue by explicitly reserving the space around the > region, but this prevents such author to use rely on the OS to place the > region, through the use of "size" (instead of a fixed location). > > Introduce a flag to indicate that guard pages need be carved at the > beginning and end of the memory region. The user shall account for the > two 4k blocks in the defined size. > > Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com> > --- > .../devicetree/bindings/reserved-memory/qcom,rmtfs-mem.yaml | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/Documentation/devicetree/bindings/reserved-memory/qcom,rmtfs-mem.yaml b/Documentation/devicetree/bindings/reserved-memory/qcom,rmtfs-mem.yaml > index bab982f00485..2d7be508c5a0 100644 > --- a/Documentation/devicetree/bindings/reserved-memory/qcom,rmtfs-mem.yaml > +++ b/Documentation/devicetree/bindings/reserved-memory/qcom,rmtfs-mem.yaml > @@ -26,6 +26,17 @@ properties: > description: > > identifier of the client to use this region for buffers > > + qcom,use-guard-pages: > + type: boolean > + description: > > + Indicates that the firmware, or hardware, does not gracefully handle > + memory protection of this region when placed adjacent to other protected > + memory regions, and that padding around the used portion of the memory > + region is necessary. > + > + When this is set, the first and last 4kB should be left unused, and the > + effective size of the region will thereby shrink with 8kB. kiB Konrad
On 21/09/2023 04:37, Bjorn Andersson wrote: > On some Qualcomm platforms the firwmare, or hardware, does not > gracefully handle memory protection of the rmtfs memory region when > placed adjacent to other protected region. Some DeviceTree authors have > worked around this issue by explicitly reserving the space around the > region, but this prevents such author to use rely on the OS to place the > region, through the use of "size" (instead of a fixed location). > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > + > + When this is set, the first and last 4kB should be left unused, and the > + effective size of the region will thereby shrink with 8kB. Maybe we should not reference the actual size (4 and 8 kB), but rather page - "the first and last pages in mapping should be left unused ..." etc? Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/reserved-memory/qcom,rmtfs-mem.yaml b/Documentation/devicetree/bindings/reserved-memory/qcom,rmtfs-mem.yaml index bab982f00485..2d7be508c5a0 100644 --- a/Documentation/devicetree/bindings/reserved-memory/qcom,rmtfs-mem.yaml +++ b/Documentation/devicetree/bindings/reserved-memory/qcom,rmtfs-mem.yaml @@ -26,6 +26,17 @@ properties: description: > identifier of the client to use this region for buffers + qcom,use-guard-pages: + type: boolean + description: > + Indicates that the firmware, or hardware, does not gracefully handle + memory protection of this region when placed adjacent to other protected + memory regions, and that padding around the used portion of the memory + region is necessary. + + When this is set, the first and last 4kB should be left unused, and the + effective size of the region will thereby shrink with 8kB. + qcom,vmid: $ref: /schemas/types.yaml#/definitions/uint32-array description: >