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)
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