Thanks a lot, Adam!
I added both and rebuilt the device tree, but now I'm getting:
```
vm-1    | VMM[smccc_proxy]: smccc_proxy
vm-1    | VMM: smccc_proxy.l4vmm,smccc_cap: capability smc is invalid.
vm-1    | VMM[vm]: Device creation for virtual device smccc_proxy failed. 
Disabling device.
```
Moshe
________________________________
From: Adam Lackorzynski <a...@l4re.org>
Sent: Monday, April 28, 2025 12:07 AM
To: Moshe Kravchik <mkravc...@hotmail.com>; l4-hackers@os.inf.tu-dresden.de 
<l4-hackers@os.inf.tu-dresden.de>
Subject: Re: Linux fails on startup looking for SMC

Hi Moshe,

On Sun Apr 27, 2025 at 15:32:53 +0000, Moshe Kravchik wrote:
> Hi,
> I'm trying to set up a Linux running on uvmm with a HW passthrough.
> I added `zynqmp_firmware` to my DTS (it was required for the device I'm 
> trying to pass).
> However, Linux fails to add the device and I see:
> vm-1 | [ 1.772078] ledtrig-cpu: registered to indicate activity on CPUs
> vm-1 | VMM[guest]: No handler for SMC call: imm=0 a0=c200003f a1=3f 
> ip=ffff800080026884 lr=ffff800080dcdb04
> vm-1 | VMM[guest]: No handler for SMC call: imm=0 a0=c2000001 a1=0 
> ip=ffff800080026884 lr=ffff800080dcdb04
> vm-1 | [ 1.805957] zynqmp_firmware firmware:zynqmp-firmware: probe with 
> driver zynqmp_firmware failed with error -22
>
> >From the traces I added, the failure is in `zynqmp_pm_get_api_version`.
>
> How do I add SMC handling?

You give uvmm in the Ned script: smc = L4.Env.arm_smc

And put this into you device tree:
   smccc_proxy {
       compatible = "l4vmm,smccc_proxy";
       l4vmm,smccc_cap = "smc";
       method = "smc";
   };

Note that L4.Env.arm_smc gives access to the real interface with all the
power that is behind it (the kernel only filters its range). So in a
longer run it might be necessary to have proxy for this interface, or
emulate the SMCs, or modify Linux to not use it, whatever fits best.



Adam
_______________________________________________
l4-hackers mailing list -- l4-hackers@os.inf.tu-dresden.de
To unsubscribe send an email to l4-hackers-le...@os.inf.tu-dresden.de

Reply via email to