Hi Sungbae Yoo,
This is an interesting and valid question with no easy answer! You analyzed and formulated the problem well.
Until now most configurations/integrations have been with a single MP partition, or one MP partition and multiple UP partitions. The case of initializing multiple MP partitions was not encountered yet in downstream integrations.
The case is covered through component testing [1] but not in an end to end software stack involving linux (which as you pointed out would require a specific handling).
In my mind, as of now, there is no definite answer as to whether the kernel driver of hafnium itself should support this better.
Let me bring the problem internally first, and get back to you with a more complete answer.
Regards, Olivier.
[1] https://git.trustedfirmware.org/plugins/gitiles/TF-A/tf-a-tests/+/refs/heads...
________________________________ From: Sungbae Yoo via Hafnium hafnium@lists.trustedfirmware.org Sent: 30 August 2024 09:51 To: hafnium@lists.trustedfirmware.org hafnium@lists.trustedfirmware.org Cc: Byungkuk Seo bseo@nvidia.com Subject: [Hafnium] Current status of NWd driver for secondary VM SMP support
Hi,
I have a couple of question about SMP support of linux driver.
We'd like to run multiple SP that uses secondary cores.
The first SP can initialize all secondary vCPUs when linux invokes cpu on for all secondary cores. But the other SP doesn't initialize its secondary vCPUs.
If My understanding is correct, they will be initialized when FFA_RUN calls to each vCPUs are called [1] and FFA_RUN calls are called by Normal world driver in linux [2].
But I can't find any implementations regarding this in the latest upstream linux (v6.10). Actually, I found ffa_cpu_ops in linux code [3], but couldn't the place where it is used. I think that ffa_run has to be called in driver to initialize secodary vCPUs of secondary VMs.
Am I missing something in the code? Or Is there no implementation yet in upstream?
I'd like to know about the current status of secondary VM SMP support in linux.
If linux driver doesn't support it yet, Do you have any plan to make an implementation and merge it?
Thanks,
Sungbae Yoo.
[1] https://hafnium.readthedocs.io/en/latest/secure-partition-manager/secure-par... [2] https://lists.trustedfirmware.org/archives/list/hafnium@lists.trustedfirmwar... [3] https://elixir.bootlin.com/linux/v6.11-rc5/source/drivers/firmware/arm_ffa/d... -- Hafnium mailing list -- hafnium@lists.trustedfirmware.org To unsubscribe send an email to hafnium-leave@lists.trustedfirmware.org