Commit ac2fdc5
StandaloneMm: set PcdFfaLibConduitSmc=FALSE for SVC conduit
The StandaloneMm SP runs at S-EL0 under OP-TEE and must use SVC (not
SMC) for FF-A calls. The edk2 ArmFfaLib's ArmCallFfa() checks
PcdFfaLibConduitSmc to choose between ArmCallSmc and ArmCallSvc, and
the default is TRUE (SMC). SMC from EL0 is undefined on AArch64,
causing an immediate undef-abort (ESR 0x02000000) when the C-level
FFA code first calls ArmFfaLibGetVersion().
The assembly entry point (ModuleEntryPoint.S) hardcodes svc #0 so the
early FFA_VERSION and FFA_MEM_PERM_SET calls succeed, but once CEntryPoint
runs and goes through ArmCallFfa(), the wrong conduit causes the crash.
Every other StandaloneMm DSC in edk2-platforms (Juno, VExpress, SGI)
sets this PCD to FALSE.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent adf81d0 commit ac2fdc5
1 file changed
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
138 | 138 | | |
139 | 139 | | |
140 | 140 | | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
141 | 144 | | |
142 | 145 | | |
143 | 146 | | |
| |||
0 commit comments