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

From: Volodymyr Babchuk
Date: Wed Mar 27 2024 - 17:56:58 EST



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.

--
WBR, Volodymyr