Re: [PATCH] soc: qcom: cmd-db: map shared memory as WT, not WB
From: Konrad Dybcio
Date: Wed Mar 27 2024 - 17:06:24 EST
On 27.03.2024 10:04 PM, Volodymyr Babchuk wrote:
>
> Hi Konrad,
>
> Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> 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 <volodymyr_babchuk@xxxxxxxx>
>>> ---
>>
>> 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.
Yeah we're talking about the same thing. I was just curious whether
the Chrome folks have heard of it, or whether they have any changes/
workarounds for it.
Konrad