3ad9678794
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 pages in the defined size. Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20230920-rmtfs-mem-guard-pages-v3-1-305b37219b78@quicinc.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
67 lines
1.8 KiB
YAML
67 lines
1.8 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/reserved-memory/qcom,rmtfs-mem.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Qualcomm Remote File System Memory
|
|
|
|
description: |
|
|
This binding describes the Qualcomm remote filesystem memory, which serves the
|
|
purpose of describing the shared memory region used for remote processors to
|
|
access block device data using the Remote Filesystem protocol.
|
|
|
|
maintainers:
|
|
- Bjorn Andersson <bjorn.andersson@linaro.org>
|
|
|
|
allOf:
|
|
- $ref: reserved-memory.yaml
|
|
|
|
properties:
|
|
compatible:
|
|
const: qcom,rmtfs-mem
|
|
|
|
qcom,client-id:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
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 page should be left unused, and the
|
|
effective size of the region will thereby shrink with two pages.
|
|
|
|
qcom,vmid:
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
description: >
|
|
Array of vmids of the remote processors, to set up memory protection
|
|
minItems: 1
|
|
maxItems: 2
|
|
|
|
required:
|
|
- qcom,client-id
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
reserved-memory {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
rmtfs@86700000 {
|
|
compatible = "qcom,rmtfs-mem";
|
|
reg = <0x86700000 0xe0000>;
|
|
no-map;
|
|
|
|
qcom,client-id = <1>;
|
|
};
|
|
};
|