2024-03-27 20:46:09

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH] soc: qcom: cmd-db: map shared memory as WT, not WB

On 27.03.2024 9:09 PM, Volodymyr Babchuk wrote:
> It appears that hardware does not like cacheable accesses to this
> region. Trying to access this shared memory region as Normal Memory
> leads to secure interrupt which causes an endless loop somewhere in
> Trust Zone.
>
> The only reason it is working right now is because Qualcomm Hypervisor
> maps the same region as Non-Cacheable memory in Stage 2 translation
> tables. The issue manifests if we want to use another hypervisor (like
> Xen or KVM), which does not know anything about those specific
> mappings. This patch fixes the issue by mapping the shared memory as
> Write-Through. This removes dependency on correct mappings in Stage 2
> tables.
>
> I tested this on SA8155P with Xen.
>
> Signed-off-by: Volodymyr Babchuk <[email protected]>
> ---

Interesting..

+Doug, Rob have you ever seen this on Chrome? (FYI, Volodymyr, chromebooks
ship with no qcom hypervisor)


2024-03-27 21:56:59

by Volodymyr Babchuk

[permalink] [raw]
Subject: Re: [PATCH] soc: qcom: cmd-db: map shared memory as WT, not WB


Hi Konrad,

Konrad Dybcio <[email protected]> writes:

> On 27.03.2024 9:09 PM, Volodymyr Babchuk wrote:
>> It appears that hardware does not like cacheable accesses to this
>> region. Trying to access this shared memory region as Normal Memory
>> leads to secure interrupt which causes an endless loop somewhere in
>> Trust Zone.
>>
>> The only reason it is working right now is because Qualcomm Hypervisor
>> maps the same region as Non-Cacheable memory in Stage 2 translation
>> tables. The issue manifests if we want to use another hypervisor (like
>> Xen or KVM), which does not know anything about those specific
>> mappings. This patch fixes the issue by mapping the shared memory as
>> Write-Through. This removes dependency on correct mappings in Stage 2
>> tables.
>>
>> I tested this on SA8155P with Xen.
>>
>> Signed-off-by: Volodymyr Babchuk <[email protected]>
>> ---
>
> Interesting..
>
> +Doug, Rob have you ever seen this on Chrome? (FYI, Volodymyr, chromebooks
> ship with no qcom hypervisor)

Well, maybe I was wrong when called this thing "hypervisor". All I know
that it sits in hyp.mbn partition and all what it does is setup EL2
before switching to EL1 and running UEFI.

In my experiments I replaced contents of hyp.mbn with U-Boot, which gave
me access to EL2 and I was able to boot Xen and then Linux as Dom0.

--
WBR, Volodymyr