Re: Linux fails on startup looking for SMC

Moshe Kravchik <[email protected]> Thu, 5 Jun 2025 08:47:44 +0000
Newsgroups gmane.comp.micro-kernel.l4.devel
Message-ID <DB7PR08MB329257EA3741964581838425A56FA@DB7PR08MB3292.eurprd08.prod.outlook.com>
--===============7584821727810640672==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_DB7PR08MB329257EA3741964581838425A56FADB7PR08MB3292eurp_"

--_000_DB7PR08MB329257EA3741964581838425A56FADB7PR08MB3292eurp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi Adam,
Did you have any thoughts?

Get Outlook for Android<https://aka.ms/AAb9ysg>
________________________________
From: Adam Lackorzynski <[email protected]>
Sent: Saturday, May 31, 2025 6:37:43 PM
To: Moshe Kravchik <[email protected]>; [email protected]=
 <[email protected]>
Subject: Re: Linux fails on startup looking for SMC

Hi Moshe,

I was thinking a bit about this and cannot think of a reason. I'd now
try to issue those calls in bootstrap, just to check whether they work
from a "bare-metal" environment. And then work from there.


Adam

On Mon May 26, 2025 at 08:49:01 +0000, Moshe Kravchik wrote:
> Sorry for a long delay.
> On this board, there is a Uboot which can load and run Ubuntu. I replaced=
 Ubuntu with L4, which starts a Linux VM that I want to pass the Ethernet t=
o as a passthrough device.
>
> I don't explicitly load ATF, if I understand correctly, it should be load=
ed before Uboot and therefore before L4 is loaded. I switched to using a ke=
rnel from the working Ubuntu image, but SMC calls still return -1 and I can=
't init the ethernet driver inside the VM.
> I added prints into the fiasco part and see:
> vm-1    | [   17.285888] calling  smccc_devices_init+0x0/0xa4 @ 1
> vm-1    | [   17.294574] initcall smccc_devices_init+0x0/0xa4 returned 0 =
after 0 usecs
> vm-1    | [   17.301414] calling  smccc_soc_init+0x0/0x2ac @ 1
> SMC_USER: kinvoke (1)
> MC_USER: kinvoke (2)
> [SMC_USER: kinvoke (3)
> 3SMC_USER: kinvoke (4) 0x80000001
> SMC_USER: kinvoke (5)
> 7SMC_USER: kinvoke (6) r0 0x1 r1 0x80000002 r2 0x4 r3 0x152b198
> mSMC_USER: kinvoke (7) r0 0xffffffffffffffff r1 0xffff40400000 r2 0xfffff=
fffffffffff r3 0x1
> vm-1    | vm_call 0x80000001
> vm-1    | [   17.340449] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skip=
ping ....
> vm-1    | [   17.344029] initcall smccc_soc_init+0x0/0x2ac returned 0 aft=
er 33538 usecs
> vm-1    | [   17.352198] calling  zynqmp_firmware_driver_init+0x0/0x34 @ =
1
> vm-1    | [   17.360828] probe of firmware:zynqmp-firmware returned 0 aft=
er 160 usecs
> vm-1    | [   17.368210] initcall zynqmp_firmware_driver_init+0x0/0x34 re=
turned 0 after 7382 usecs
>
> And later:
> vm-1    | [   19.699352] calling  deferred_probe_initcall+0x0/0xc0 @ 1
> vm-1    | [   19.708582] probe of ff0a0000.gpio returned 517 after 55 use=
cs
> vm-1    | [   19.716071] probe of ff0c0000.ethernet returned -517 after 1=
5 usecs
> vm-1    | [   19.723148] zynq-gpio ff0a0000.gpio: deferred probe timeout,=
 ignoring dependency
> vm-1    | [   19.731093] zynq-gpio: probe of ff0a0000.gpio failed with er=
ror -110
> vm-1    | [   19.740075] probe of ff0a0000.gpio returned 110 after 16951 =
usecs
> vm-1    | [   19.748483] macb ff0c0000.ethernet: deferred probe timeout, =
ignoring dependency
> vm-1    | [   19.756015] probe of ff0c0000.ethernet returned -517 after 7=
540 usecs
> vm-1    | [   19.764931] initcall deferred_probe_initcall+0x0/0xc0 return=
ed 0 after 55255 usecs
>
> Any ideas appreciated,
> Moshe
> ________________________________
> From: Adam Lackorzynski <[email protected]>
> Sent: Tuesday, April 29, 2025 10:57 AM
> To: Moshe Kravchik <[email protected]>; [email protected].=
de <[email protected]>
> Subject: Re: Linux fails on startup looking for SMC
>
> If there is a return that's good as there is someone responding. Are you
> currently running without ATF? Do you just run L4Re instead of Linux or
> is there some bigger difference?
>
>
> Adam
>
> On Tue Apr 29, 2025 at 05:50:37 +0000, Moshe Kravchik wrote:
> > OK, that's great, I just commented out the range check in `fiasco/src/k=
ern/arm/smc_user.cpp`, but even though I see the calls get through, they st=
ill return -1.
> > Should I load ATF or some other code first so that someone will respond=
 to these SMC calls?
> > ________________________________
> > From: Adam Lackorzynski <[email protected]>
> > Sent: Tuesday, April 29, 2025 12:04 AM
> > To: Moshe Kravchik <[email protected]>; [email protected]=
n.de <[email protected]>
> > Subject: Re: Linux fails on startup looking for SMC
> >
> > Hi,
> >
> > Could you tune ARM_SMC_USER_MIN/ARM_SMC_USER_MAX in the kernel? Seems
> > the SMC functions asked are 0x8200ff03U and 0xC2000xxx and that's not
> > covered by the default range, so increasing ARM_SMC_USER_MAX to
> > 0xcfffffff or so.
> >
> >
> > Adam
> >
> > On Mon Apr 28, 2025 at 15:00:04 +0000, Moshe Kravchik wrote:
> > > Thank you!
> > > This configuration indeed resulted in the capability present.
> > > However, I still get the error:
> > > `zynqmp_firmware firmware:zynqmp-firmware: probe with driver zynqmp_f=
irmware failed with error -22` and when I add prints I see that the SMC cal=
ls in the Linux kernel return -1.
> > > Anything else I need to add to the device tree to initialize it or so=
mething?
> > > When I boot into Ubuntu without L4 it works.
> > > Moshe
> > > ________________________________
> > > From: Adam Lackorzynski <[email protected]>
> > > Sent: Monday, April 28, 2025 2:53 PM
> > > To: Moshe Kravchik <[email protected]>; [email protected]=
den.de <[email protected]>
> > > Subject: Re: Linux fails on startup looking for SMC
> > >
> > >
> > > On Mon Apr 28, 2025 at 05:25:34 +0000, Moshe Kravchik wrote:
> > > > 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 inval=
id.
> > > > vm-1    | VMM[vm]: Device creation for virtual device smccc_proxy f=
ailed. Disabling device.
> > > > ```
> > >
> > > This tells that the 'smc' cap is not there in uvmm. Is it there in th=
e
> > > 'caps' table with which uvmm is started? There, where "ram =3D ..." i=
s
> > > as well: caps =3D { ram =3D ...., smc =3D L4.Env.arm_smc, }, ....
> > > Additionally, in the microkernel, the CONFIG_ARM_SMC_USER option must
> > > also be enabled.
> > >
> > >
> > > Adam
> > >
> > > > Moshe
> > > > ________________________________
> > > > From: Adam Lackorzynski <[email protected]>
> > > > Sent: Monday, April 28, 2025 12:07 AM
> > > > To: Moshe Kravchik <[email protected]>; [email protected]=
esden.de <[email protected]>
> > > > 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 passthroug=
h.
> > > > > I added `zynqmp_firmware` to my DTS (it was required for the devi=
ce 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 o=
n CPUs
> > > > > vm-1 | VMM[guest]: No handler for SMC call: imm=3D0 a0=3Dc200003f=
 a1=3D3f ip=3Dffff800080026884 lr=3Dffff800080dcdb04
> > > > > vm-1 | VMM[guest]: No handler for SMC call: imm=3D0 a0=3Dc2000001=
 a1=3D0 ip=3Dffff800080026884 lr=3Dffff800080dcdb04
> > > > > vm-1 | [ 1.805957] zynqmp_firmware firmware:zynqmp-firmware: prob=
e with driver zynqmp_firmware failed with error -22
> > > > >
> > > > > >From the traces I added, the failure is in `zynqmp_pm_get_api_ve=
rsion`.
> > > > >
> > > > > How do I add SMC handling?
> > > >
> > > > You give uvmm in the Ned script: smc =3D L4.Env.arm_smc
> > > >
> > > > And put this into you device tree:
> > > >    smccc_proxy {
> > > >        compatible =3D "l4vmm,smccc_proxy";
> > > >        l4vmm,smccc_cap =3D "smc";
> > > >        method =3D "smc";
> > > >    };
> > > >
> > > > Note that L4.Env.arm_smc gives access to the real interface with al=
l 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

--_000_DB7PR08MB329257EA3741964581838425A56FADB7PR08MB3292eurp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
</head>
<body>
<div dir=3D"auto" style=3D"font-family: Aptos, Aptos_MSFontService, -apple-=
system, Roboto, Arial, Helvetica, sans-serif; font-size: 12pt;">
Hi Adam,</div>
<div dir=3D"auto" style=3D"font-family: Aptos, Aptos_MSFontService, -apple-=
system, Roboto, Arial, Helvetica, sans-serif; font-size: 12pt;">
Did you have any thoughts?</div>
<div id=3D"ms-outlook-mobile-body-separator-line" dir=3D"auto"><br>
</div>
<div id=3D"ms-outlook-mobile-signature" dir=3D"auto" style=3D"font-family: =
Aptos, Aptos_MSFontService, -apple-system, Roboto, Arial, Helvetica, sans-s=
erif; font-size: 12pt;">
Get <a href=3D"https://aka.ms/AAb9ysg">Outlook for Android</a></div>
<hr style=3D"display:inline-block;width:98%" tabindex=3D"-1">
<div id=3D"divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif" st=
yle=3D"font-size:11pt" color=3D"#000000"><b>From:</b> Adam Lackorzynski &lt=
;[email protected]&gt;<br>
<b>Sent:</b> Saturday, May 31, 2025 6:37:43 PM<br>
<b>To:</b> Moshe Kravchik &lt;[email protected]&gt;; [email protected].=
tu-dresden.de &lt;[email protected]&gt;<br>
<b>Subject:</b> Re: Linux fails on startup looking for SMC</font>
<div>&nbsp;</div>
</div>
<div class=3D"BodyFragment"><font size=3D"2"><span style=3D"font-size:11pt;=
">
<div class=3D"PlainText">Hi Moshe,<br>
<br>
I was thinking a bit about this and cannot think of a reason. I'd now<br>
try to issue those calls in bootstrap, just to check whether they work<br>
from a &quot;bare-metal&quot; environment. And then work from there.<br>
<br>
<br>
Adam<br>
<br>
On Mon May 26, 2025 at 08:49:01 +0000, Moshe Kravchik wrote:<br>
&gt; Sorry for a long delay.<br>
&gt; On this board, there is a Uboot which can load and run Ubuntu. I repla=
ced Ubuntu with L4, which starts a Linux VM that I want to pass the Etherne=
t to as a passthrough device.<br>
&gt; <br>
&gt; I don't explicitly load ATF, if I understand correctly, it should be l=
oaded before Uboot and therefore before L4 is loaded. I switched to using a=
 kernel from the working Ubuntu image, but SMC calls still return -1 and I =
can't init the ethernet driver inside
 the VM.<br>
&gt; I added prints into the fiasco part and see:<br>
&gt; vm-1&nbsp;&nbsp;&nbsp; | [&nbsp;&nbsp; 17.285888] calling&nbsp; smccc_=
devices_init+0x0/0xa4 @ 1<br>
&gt; vm-1&nbsp;&nbsp;&nbsp; | [&nbsp;&nbsp; 17.294574] initcall smccc_devic=
es_init+0x0/0xa4 returned 0 after 0 usecs<br>
&gt; vm-1&nbsp;&nbsp;&nbsp; | [&nbsp;&nbsp; 17.301414] calling&nbsp; smccc_=
soc_init+0x0/0x2ac @ 1<br>
&gt; SMC_USER: kinvoke (1)<br>
&gt; MC_USER: kinvoke (2)<br>
&gt; [SMC_USER: kinvoke (3)<br>
&gt; 3SMC_USER: kinvoke (4) 0x80000001<br>
&gt; SMC_USER: kinvoke (5)<br>
&gt; 7SMC_USER: kinvoke (6) r0 0x1 r1 0x80000002 r2 0x4 r3 0x152b198<br>
&gt; mSMC_USER: kinvoke (7) r0 0xffffffffffffffff r1 0xffff40400000 r2 0xff=
ffffffffffffff r3 0x1<br>
&gt; vm-1&nbsp;&nbsp;&nbsp; | vm_call 0x80000001<br>
&gt; vm-1&nbsp;&nbsp;&nbsp; | [&nbsp;&nbsp; 17.340449] SMCCC: SOC_ID: ARCH_=
SOC_ID not implemented, skipping ....<br>
&gt; vm-1&nbsp;&nbsp;&nbsp; | [&nbsp;&nbsp; 17.344029] initcall smccc_soc_i=
nit+0x0/0x2ac returned 0 after 33538 usecs<br>
&gt; vm-1&nbsp;&nbsp;&nbsp; | [&nbsp;&nbsp; 17.352198] calling&nbsp; zynqmp=
_firmware_driver_init+0x0/0x34 @ 1<br>
&gt; vm-1&nbsp;&nbsp;&nbsp; | [&nbsp;&nbsp; 17.360828] probe of firmware:zy=
nqmp-firmware returned 0 after 160 usecs<br>
&gt; vm-1&nbsp;&nbsp;&nbsp; | [&nbsp;&nbsp; 17.368210] initcall zynqmp_firm=
ware_driver_init+0x0/0x34 returned 0 after 7382 usecs<br>
&gt; <br>
&gt; And later:<br>
&gt; vm-1&nbsp;&nbsp;&nbsp; | [&nbsp;&nbsp; 19.699352] calling&nbsp; deferr=
ed_probe_initcall+0x0/0xc0 @ 1<br>
&gt; vm-1&nbsp;&nbsp;&nbsp; | [&nbsp;&nbsp; 19.708582] probe of ff0a0000.gp=
io returned 517 after 55 usecs<br>
&gt; vm-1&nbsp;&nbsp;&nbsp; | [&nbsp;&nbsp; 19.716071] probe of ff0c0000.et=
hernet returned -517 after 15 usecs<br>
&gt; vm-1&nbsp;&nbsp;&nbsp; | [&nbsp;&nbsp; 19.723148] zynq-gpio ff0a0000.g=
pio: deferred probe timeout, ignoring dependency<br>
&gt; vm-1&nbsp;&nbsp;&nbsp; | [&nbsp;&nbsp; 19.731093] zynq-gpio: probe of =
ff0a0000.gpio failed with error -110<br>
&gt; vm-1&nbsp;&nbsp;&nbsp; | [&nbsp;&nbsp; 19.740075] probe of ff0a0000.gp=
io returned 110 after 16951 usecs<br>
&gt; vm-1&nbsp;&nbsp;&nbsp; | [&nbsp;&nbsp; 19.748483] macb ff0c0000.ethern=
et: deferred probe timeout, ignoring dependency<br>
&gt; vm-1&nbsp;&nbsp;&nbsp; | [&nbsp;&nbsp; 19.756015] probe of ff0c0000.et=
hernet returned -517 after 7540 usecs<br>
&gt; vm-1&nbsp;&nbsp;&nbsp; | [&nbsp;&nbsp; 19.764931] initcall deferred_pr=
obe_initcall+0x0/0xc0 returned 0 after 55255 usecs<br>
&gt; <br>
&gt; Any ideas appreciated,<br>
&gt; Moshe<br>
&gt; ________________________________<br>
&gt; From: Adam Lackorzynski &lt;[email protected]&gt;<br>
&gt; Sent: Tuesday, April 29, 2025 10:57 AM<br>
&gt; To: Moshe Kravchik &lt;[email protected]&gt;; [email protected]=
-dresden.de &lt;[email protected]&gt;<br>
&gt; Subject: Re: Linux fails on startup looking for SMC<br>
&gt; <br>
&gt; If there is a return that's good as there is someone responding. Are y=
ou<br>
&gt; currently running without ATF? Do you just run L4Re instead of Linux o=
r<br>
&gt; is there some bigger difference?<br>
&gt; <br>
&gt; <br>
&gt; Adam<br>
&gt; <br>
&gt; On Tue Apr 29, 2025 at 05:50:37 +0000, Moshe Kravchik wrote:<br>
&gt; &gt; OK, that's great, I just commented out the range check in `fiasco=
/src/kern/arm/smc_user.cpp`, but even though I see the calls get through, t=
hey still return -1.<br>
&gt; &gt; Should I load ATF or some other code first so that someone will r=
espond to these SMC calls?<br>
&gt; &gt; ________________________________<br>
&gt; &gt; From: Adam Lackorzynski &lt;[email protected]&gt;<br>
&gt; &gt; Sent: Tuesday, April 29, 2025 12:04 AM<br>
&gt; &gt; To: Moshe Kravchik &lt;[email protected]&gt;; [email protected]=
nf.tu-dresden.de &lt;[email protected]&gt;<br>
&gt; &gt; Subject: Re: Linux fails on startup looking for SMC<br>
&gt; &gt;<br>
&gt; &gt; Hi,<br>
&gt; &gt;<br>
&gt; &gt; Could you tune ARM_SMC_USER_MIN/ARM_SMC_USER_MAX in the kernel? S=
eems<br>
&gt; &gt; the SMC functions asked are 0x8200ff03U and 0xC2000xxx and that's=
 not<br>
&gt; &gt; covered by the default range, so increasing ARM_SMC_USER_MAX to<b=
r>
&gt; &gt; 0xcfffffff or so.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; Adam<br>
&gt; &gt;<br>
&gt; &gt; On Mon Apr 28, 2025 at 15:00:04 +0000, Moshe Kravchik wrote:<br>
&gt; &gt; &gt; Thank you!<br>
&gt; &gt; &gt; This configuration indeed resulted in the capability present=
.<br>
&gt; &gt; &gt; However, I still get the error:<br>
&gt; &gt; &gt; `zynqmp_firmware firmware:zynqmp-firmware: probe with driver=
 zynqmp_firmware failed with error -22` and when I add prints I see that th=
e SMC calls in the Linux kernel return -1.<br>
&gt; &gt; &gt; Anything else I need to add to the device tree to initialize=
 it or something?<br>
&gt; &gt; &gt; When I boot into Ubuntu without L4 it works.<br>
&gt; &gt; &gt; Moshe<br>
&gt; &gt; &gt; ________________________________<br>
&gt; &gt; &gt; From: Adam Lackorzynski &lt;[email protected]&gt;<br>
&gt; &gt; &gt; Sent: Monday, April 28, 2025 2:53 PM<br>
&gt; &gt; &gt; To: Moshe Kravchik &lt;[email protected]&gt;; l4-hackers=
@os.inf.tu-dresden.de &lt;[email protected]&gt;<br>
&gt; &gt; &gt; Subject: Re: Linux fails on startup looking for SMC<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On Mon Apr 28, 2025 at 05:25:34 +0000, Moshe Kravchik wrote:=
<br>
&gt; &gt; &gt; &gt; Thanks a lot, Adam!<br>
&gt; &gt; &gt; &gt; I added both and rebuilt the device tree, but now I'm g=
etting:<br>
&gt; &gt; &gt; &gt; ```<br>
&gt; &gt; &gt; &gt; vm-1&nbsp;&nbsp;&nbsp; | VMM[smccc_proxy]: smccc_proxy<=
br>
&gt; &gt; &gt; &gt; vm-1&nbsp;&nbsp;&nbsp; | VMM: smccc_proxy.l4vmm,smccc_c=
ap: capability smc is invalid.<br>
&gt; &gt; &gt; &gt; vm-1&nbsp;&nbsp;&nbsp; | VMM[vm]: Device creation for v=
irtual device smccc_proxy failed. Disabling device.<br>
&gt; &gt; &gt; &gt; ```<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; This tells that the 'smc' cap is not there in uvmm. Is it th=
ere in the<br>
&gt; &gt; &gt; 'caps' table with which uvmm is started? There, where &quot;=
ram =3D ...&quot; is<br>
&gt; &gt; &gt; as well: caps =3D { ram =3D ...., smc =3D L4.Env.arm_smc, },=
 ....<br>
&gt; &gt; &gt; Additionally, in the microkernel, the CONFIG_ARM_SMC_USER op=
tion must<br>
&gt; &gt; &gt; also be enabled.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Adam<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Moshe<br>
&gt; &gt; &gt; &gt; ________________________________<br>
&gt; &gt; &gt; &gt; From: Adam Lackorzynski &lt;[email protected]&gt;<br>
&gt; &gt; &gt; &gt; Sent: Monday, April 28, 2025 12:07 AM<br>
&gt; &gt; &gt; &gt; To: Moshe Kravchik &lt;[email protected]&gt;; l4-ha=
[email protected] &lt;[email protected]&gt;<br>
&gt; &gt; &gt; &gt; Subject: Re: Linux fails on startup looking for SMC<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Hi Moshe,<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; On Sun Apr 27, 2025 at 15:32:53 +0000, Moshe Kravchik w=
rote:<br>
&gt; &gt; &gt; &gt; &gt; Hi,<br>
&gt; &gt; &gt; &gt; &gt; I'm trying to set up a Linux running on uvmm with =
a HW passthrough.<br>
&gt; &gt; &gt; &gt; &gt; I added `zynqmp_firmware` to my DTS (it was requir=
ed for the device I'm trying to pass).<br>
&gt; &gt; &gt; &gt; &gt; However, Linux fails to add the device and I see:<=
br>
&gt; &gt; &gt; &gt; &gt; vm-1 | [ 1.772078] ledtrig-cpu: registered to indi=
cate activity on CPUs<br>
&gt; &gt; &gt; &gt; &gt; vm-1 | VMM[guest]: No handler for SMC call: imm=3D=
0 a0=3Dc200003f a1=3D3f ip=3Dffff800080026884 lr=3Dffff800080dcdb04<br>
&gt; &gt; &gt; &gt; &gt; vm-1 | VMM[guest]: No handler for SMC call: imm=3D=
0 a0=3Dc2000001 a1=3D0 ip=3Dffff800080026884 lr=3Dffff800080dcdb04<br>
&gt; &gt; &gt; &gt; &gt; vm-1 | [ 1.805957] zynqmp_firmware firmware:zynqmp=
-firmware: probe with driver zynqmp_firmware failed with error -22<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;From the traces I added, the failure is in `zy=
nqmp_pm_get_api_version`.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; How do I add SMC handling?<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; You give uvmm in the Ned script: smc =3D L4.Env.arm_smc=
<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; And put this into you device tree:<br>
&gt; &gt; &gt; &gt;&nbsp;&nbsp;&nbsp; smccc_proxy {<br>
&gt; &gt; &gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; compatible =
=3D &quot;l4vmm,smccc_proxy&quot;;<br>
&gt; &gt; &gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l4vmm,smccc_c=
ap =3D &quot;smc&quot;;<br>
&gt; &gt; &gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; method =3D &q=
uot;smc&quot;;<br>
&gt; &gt; &gt; &gt;&nbsp;&nbsp;&nbsp; };<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Note that L4.Env.arm_smc gives access to the real inter=
face with all the<br>
&gt; &gt; &gt; &gt; power that is behind it (the kernel only filters its ra=
nge). So in a<br>
&gt; &gt; &gt; &gt; longer run it might be necessary to have proxy for this=
 interface, or<br>
&gt; &gt; &gt; &gt; emulate the SMCs, or modify Linux to not use it, whatev=
er fits best.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Adam<br>
</div>
</span></font></div>
</body>
</html>

--_000_DB7PR08MB329257EA3741964581838425A56FADB7PR08MB3292eurp_--

--===============7584821727810640672==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
l4-hackers mailing list -- [email protected]
To unsubscribe send an email to [email protected]

--===============7584821727810640672==--