Replace the elaborate but awkward FdtPlatformDxe with the new DtPlatformDxe, which supports embedded DTBs only. This is sufficient for virtually all use cases, and if it is not, there are various way to override the device tree binary presented to the OS.
As a bonus, this driver makes ACPI and DT mutually exclusive - this can be configured via the setup screen.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org --- Platforms/ARM/Binary/DeviceTree/fvp-base-gicv2-psci.dtb | Bin 0 -> 10368 bytes Platforms/ARM/Binary/DeviceTree/fvp-base-gicv3-psci.dtb | Bin 0 -> 10835 bytes Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv2-psci.dtb | Bin 0 -> 7673 bytes Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv3-psci.dtb | Bin 0 -> 8140 bytes Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 25 +++++++------- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 35 +++++--------------- 6 files changed, 22 insertions(+), 38 deletions(-)
diff --git a/Platforms/ARM/Binary/DeviceTree/fvp-base-gicv2-psci.dtb b/Platforms/ARM/Binary/DeviceTree/fvp-base-gicv2-psci.dtb new file mode 100644 index 0000000000000000000000000000000000000000..245a6c33b7f6ce0c45f9c7ec8f01010b850e3b69 GIT binary patch literal 10368 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 VnYaXpw5|!qB_>{w6=slS=Kthj<*xt$
literal 0 HcmV?d00001
diff --git a/Platforms/ARM/Binary/DeviceTree/fvp-base-gicv3-psci.dtb b/Platforms/ARM/Binary/DeviceTree/fvp-base-gicv3-psci.dtb new file mode 100644 index 0000000000000000000000000000000000000000..e175bf02e46c4daadcc8889d59f34d0136c7d986 GIT binary patch literal 10835 zcmb_iO^h5z6|SBoO9BZ_`2UZS4Z(@F<C)prWP=Edy|#lD+p&zXA|y2Q_VnyF?w;v% z&y072M2rYXNQesr5GO8(3nwmc;AkXnAaUUsE{F>#5pWHB->a(b>Y4V+>rF{LUGLRb zufBTq>ZiNs&kwx)Po<vxvQp|xN<IF2+)v<o2-kzSkd}T5{e-!j{9*F+ZSL1<m!Q9o zW#_J4K7KkVB7>v;<G7ZCJYAg)Gk=?9B1C&x9u<WK68A1#<UpHNeiZqZBX^AKg}dV- z8bQ+KUXaAFEY?`}B(CR97U}lMbUfLO^6hbu4^GD8VYU<W)>hjloty^wq}P6yB27uV ztb6v3>jn#TFWzz8?S;Bux#PNFS(pCtvLcMx0VMW+1(*1odcX5jTYN4;`>Adz5MKKF zYegEm^59l|EV9??W3h*Fw#AEM_bSTob>tsFW=sgbFq@j8F7Zuc3%K%t_0u5J`D9v5 zqFj#-%f@+R1l#UUOdGl#lru<>+;Zm2@~#xu%E`YhUt27{$CPV~=46_=EvIGIW&@{p zyX6g>=*xpRS>F;PxOk96elZCq)jS~P=bUa%e29OGB#JU$JW1ai!zJ-j*?>m-koRAi zJpJ@LvldwY{s}s+A69+?`GF(9i9E;1lzW`t?{Q@MfwJpc|0w*Vg|a;be%^no_S73F z`iCQf-+i|#S!%!6k;#v8>1V`euO5TmG3Wr1KC&<3OZa`ZNv+mnJiSk7vD6{1yoa5! zp^u33ai<-Z$8(VH$L0EwoUBZqHIDU|J2XeT4j+{x`MDgK*JBMo*5m%r9Bu!P%8_yH za->{xtgi=$=4ktWRF0@$<4C#W*wGu9?ZYACQMPf`Jt{}8d6om?v04K$)}6LQq%A)z z$9F0o$;)zJ-p(7Yi{K~`Y0D4G@tulCtN}HSl%27bh`d{ltjFu9W6izAa-a|Ge&i)x zKMcZMcb{e)EQ=BuBwLST>aJ<DLz#V*{-#kn&i8wpJnbMsEp>tOj_ES0M0eb-uQ#bd zdR5=<y{YfY+{JD@!l@#kW)nXgk0$vzNus>h9agPqn_PcoE#HYlf2J1#%l#6{m^ZR| z6nWaVGK1a9$a;NK#{AIaFI&z$bV`z`hy(0{Mn10Zt435xD^?Azlv{5agp`v5{OElX zcOp49?ixoOFT>TN-$fTs3c8_dooz7X`9S-@2Mi^;K5pLkOdhQD9(R&GXVQ26^71Be z8s*gMy6k1OSNdfsd9?wz{2x&2f0pz6oIJ*-)MLMtyzSHL_x$&7Y^Q3s*9|tYP&#M* z54!C?qucipSFA@nWq+RhHdRPuQTffbVcNW-81RO9kVfRPR^x*4@qTGqpglW&Y>&@S zcKj+%-(eAw=2ZGPOUtv!oPSZGgP8WMe`(?KxM-h==M0<wf|LKE$%{YnXa!MxBy*&Q z(+sE2ZF9;$$RA|O@;wmeoG23)In%K25o8XK(Xm}gAH}cH(T=1~;@9ZRO)n%y;9e<- z4sq%t>v0}iPW1V2G*W)qXSA_Q{U01Xvn5AIU$$+^=P{IBjQG;2&n$H=hJBp3L!FCZ zejY=ei=hwZG1R#juG8}v>RgOnE1)hDbuNZOId8`qUa7}5X&z(ODFNVzXW)4Zb#7aX zzj+LGE(YVbfT7OCV2xS8Q0HQ>_AFqib1_^i=lM|QVi<<=7$-DQTD=Pq!TdagyKCqD zkmv1C=VCt4fT7OCaGK5Aai$(hmHJQvhC0{IhZ``|xtNbMV5oC3oZ|C*oN13zr9Rex zq0Y6#b#va1T}x3UiO*#780uU*Twdle&XOZ`KGlGs&b9OD1`KsB=HUhmbuQ+31BN;m z^GE}RIv4Y31BN;mv(kW}&c!^|fT7OCe5L_Ior`(A0YjaO`D_D*Iu~=I0YjaOd7=SB zor`(00Ye=zp7UxEqU>qVdw<D`@;Qg&Cg+=(dEL1>>!yCzQFpOl(zd%-kwTw8!z3tn zd+qYACUi{PBN%_R_I&}Xa2T5$ks6EnRlT1uPLP|)n?1+-JMdJ=-ZjHnrq``CO&r&t zdb<QdiNtd5r<`N7q0~+J6?+li){deHZOS3EI`hjJv`C9^H3>$~cEV0a++4RO2K7v} ze0hdsU9le~*SqWK?kmz_$we&><GpC$hsij+&LUg)EeD4_d#`(=r)@d*2JdYQ=jR%1 z5=$0r*V^J9S@OuEA*yvO6XTOR=b?_B?it&#sd+Tmv^=;+xjZO~KXje7?se^w!}HLC z$9mYmTpl%>mIwD!mj`9xvG8gh1xUnl-Pg|u>2@F|%=+Xp_T=nMpIe#HVP$gTTw!9l zQpe@jEB1>#+Ud2c#{wxYp9}1~^)--{SRZE@#4oMuPbS)?YCUAi(cji1$g^*TkHiD_ zcq=m=C`<ogKAa>y_rZ&}vhPKPCl~$RKF1?e7$pgc9WJy|al!m*`B2cm9BUhg*k@bo zddw9bwh)3U$hP|#Gfb8n<KFtNjqKa<WCm0;YO`XLOTOdeyG~vnl&vk=;d)?Y_M5Ww zI|#zK*Iu^|LbX0;NqfC>P@mytr_YQr&UK#sOk3gu+jpETTkEyn8V+en4jZ@O(AhlD z?>s?QerH^e1JAKMr;-Q9qK7-j+9s<%4+ZrSNw{0ySJZF0JeKm;k+-phHp+h4zF~}8 z>x;vweSAGd_nx-h6PsmR!N(g1_K&Cks(;qU=#$uK;)1hfYyE|b=dYYSw{_u#dVI;4 z3!i81k`JS2k&j(h?uyUcM?j8&>mO`0@&%=N-f^TC`7kPIr-={7v9-=N7iJ#{P{-4J z$`6Z&<HM+1<ik-sBA@bO<>B~nHZJnvC?1hd`2qBBd>FZld@xRT&*#Pf-;m|iA#IDD zGJddbw>J)oAI{)KKGu$nAI7(x>k>aV2IHOE#gDAdy^gb`Epl2vh!a<uMNW)O`Wkzq ztUp}CnRw^=W%=RE*;?0|OEi)lLiP%Lb#`|e6YGZS{QJh5{|@9TEM#dVH@iMDKhKr? ziKhOpxMIfkI=5f9)(%`J_=LOYQ|@4fce$ohzU^KWCgGshDT9sJ(pOo+Bk=)i6`w{H zIoPwIjWxa-u>O%)W19`J#<sD}wUU>vJ%5Upk!)XH)}qL?yHAqB)QtNq&L{D>zs&<T zPG8lVP;G;=bXj9o(=;BlHf_Te&Rt}<*bhFJag1dRmGeAKcGD!7jC1?BR%|d>mdhev zkWiJ}zq@wLJ-@Vmth!(Qg;V}(M~1p}t16Q-9%qm7gS=O#ES%CXL{`dHaIZZdt>QDp zFy3i6-dbC&zoL$u6~+bPke0M9+OOI20gzH%PXGTKGUq5Sa)WN^e(xJmw)Dq;y<v2m zJ8vP+L=472pXXr?!!IpTPaN%V6s*kkoU-ocbWi?g(}n_x7``W}b4)de03>28Pubxi zi><*dPRE1D4q&q_1EL`$*Ou%)(9xEAd08-ul7evjcZPZ00_$?GToxTmwY}TK`4VR} z-<`7_{IY}@hFc{+rn6=F6L`J;np56I{%4NN_w96>wf6$@Y{SYgnY@)F$h%HCCkhGJ z@_po)D8tUux6YmJU%U9?nX~;%FJ3x->FU`l7fx-RJyT+^J}$j>_58(d|Mb=wC7JV= zx1?BXJdX13Z(X{2p?_iP%++&OmE=!9e?@1Yyteh?#mgr;=qMB0J%QT~w@}pII(50f zv9ZxnmGtyRC2VeP+B)dN(vKi8-raG#kHL_raGYkrB;HOURei|If;<{c)JiZI@Q-Ca zpOFf+QpB%BCSOE(93*X}?|2C#a@X9~REoC`<AK6=;C?YJvS_69<Ka+r<B`H+T0a}# zh;r&EprvTSQiZnjeSA9-6Ij-Q#C%RFCgV)6%KR^uG3<jaUWn*QSfip*xbNfRNwgPF zd`C{>k&iawfdwS-Xu7wW?FJ+K+eZzeSsX_F$$l0oENQS8z$ummX!+G2dI~j)_Fz1k zMT!1Et5z!SX>aAhXb1lua@6J5(MnmUw1}PWrb=F$_`^JUc}ki}K5+S?X}XPXeU&Zz zrwjk<Dz4X6;u^jc)1PzYpI_U-=(>L+9!z%CiZ-t4>HK&)$)*#3gs*6Y+R5Uv%Vk9? zWb6fA7<w8W4txR%bt5yGG}v>f&+ssaG0L)JUoqCyw21nHG|+w8o(_lTQnh)|s3UT; z(m2e=vvD$U^=P9>A0#(|{lZ6Jao4u*8p^#Oj|V&Te@mLz5Ua!KC<LYGWnV@NO+hGj z)gFG;K7X=!Pr9#?XgKMoLB11@R37i_mI68%<+dbYP+MWQ*dK-c1plv`l{seAOk9F9 STUUjn3Fcvt6>2-n)c*k~k?$Y?
literal 0 HcmV?d00001
diff --git a/Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv2-psci.dtb b/Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv2-psci.dtb new file mode 100644 index 0000000000000000000000000000000000000000..5acb139a3cc99c30314df26296bd4246b2972070 GIT binary patch literal 7673 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
literal 0 HcmV?d00001
diff --git a/Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv3-psci.dtb b/Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv3-psci.dtb new file mode 100644 index 0000000000000000000000000000000000000000..34bf8db662ccd190da6de31ab70f491b6d38c54d GIT binary patch literal 8140 zcmbtZO^@V887?=;kOjgfe19bDFvCY?)y{PHBxHjKv=BsGK)H|u0*yTG>KSY8wz1v4 zGvSa$AjE-dIB-Hjh&v|^9D~FG2_*hNxF9Y_kpfrXdETnB%WgB;*(u4cdf$5Lt*74l zbonoj|L31d-TISK>KjTu{RHA?@H~l!X@t@5m3r!rOx@>;Auv(z?X>TL{wDKYe)W~z zm-F>%5!Fe)5;XHZfoCTwv+;6MgeOs@6@`sHFG^ii0#n32f`>e4*U5WGk34y5<sd%G zD{bmveh{SzEQ>XkJ;d|UVU?X6W_f+4%ac4R7l%o{EKZ~O(RgCR;W{eo`Q$~4C}HYl z*{?rv*=VcmHy^m{$yV8KKXBQ&DJ$(SsyLArm^SPqEk36{oIX1dpNlYgcGd_|!uk4p zRTfj><i(raz9@d&?Td5d6YKD=BmXf^{u$&OkcD4dtZi2}_&uBF%Cm170${@|Doi?E zSG6up?=UYfwG~{sp99D`Og+fAhWvb{oBSCqx4c>Y5j;))5p%owk3x2J2rgNqI;`rb zZpR$k`U?(iuP>x6RjPFn3TyJ<T#>$MZ9rq{WBePNCa2%ox#!yQXXrRzo%|Nk3r~I< zX|~7a2b@bgp8Rero3<L?hS%XIH8k}p@C*Lc)~DV=);~NM{BFG2%2Jw~9ABpSIA7C$ z^KO3!H=zSW%De}$_!55K+@aR!F%E-I8nMx#4})7?->^>NLd5iu&*LSN*YKhr$;s#0 z;n*E>SLW!}yz6o#Kc6Ghrmx}0?zq1)N7w%Aa^$%7IZ|#ocIV!eIlA^=mm|t|I8qjl z=`4(+_{?8}ICgeKi3Eac8~YUFtC2arDASJE%5;{O7xOz@$q}FyEO5b1lSh^4cHMZs zPYuHBCVK3?iIt7TZnDCPS+0vZjPq4p=4q<S`E1$NVr;$_MP=@sCULkij(6O@g*@j= z_Rk(3+P3-1?ZcE2f@8c~dTG<IIL_QqCD0=XhfkPT?V5OOMP(IZi)-Z3+kOGo^FG-A z0b(M#?)qbjIzE<bK);JFsVll+=A3OY&3bJ75CVprwmm<wX|OhH${{_$U}C=c1a*?> zl6q5?t!&q(u*oH_3E+<Z<4XP4aelv-M*lQ=taFlfZF=L;fB%j3wDrzs(Vc12GU7gj zr>Xx1Q-6qY#d6GV+H?DdR3VT>>o-@2t@DA#K(H*MOq0t|hYR{A__eKp_FVt5KAsO< z|FxWc#4H5Esqt}<HEVy*zsNCznD(82Y2izFXrF=Wx=VlAOMk_t#h*AfLKGj#9I2A5 zz;1tHPcWDHgKU|94&s~>P2j}06`K}8W(Qdv>y_{^yseIQBs_(;)!9fK=yY70B+wyV zStJ9_W5<a;|E)pFn{7rNJJkQd(=*v{^z=>LHouRd>|?~2UU?>|^D%5=-wt&?hUq?r zIv+zH^fA==7_QTO40S%ntrbu=fjS?<uI$_Kx>w3^P3mLZIwb(Scy{SysPpUM`0Hb+ z^D*eZEev%&25Za~hB_aEwPy=MosZ#K+2=!@kKr)vW4xh>-1a+91p9gtv2W)Cko$J1 z^D!SBz)<I7IL-QYys3v=r9M1>q0YDSkpT>KKIWqX80vfsr+A-_H|>$D)W-)f)cJO} zZuafCwG>$rcn0ocsPpY`dFf-kB}eQ$J%FLkxAUn140S%{)&Pb&AG14vq0YyAdH_S6 zkJ%f*Q0HUz2Qbw6n9mGgsPi$O9l%iMV?H;4q0YyAegH$Ak9lSQL!FN~7{E~HV{Q*% zs3Ruuu1z4yo(6sJ*Rql?9j?*rH#uLptDNy>mW9PsJ;Z)V+x}h!)3SdCnzuJAUC(D@ zb8u_V$#QP1vML^@(dxx%Je``4FmmIb#&JI4hGR!J^{j{IE|z6h5T|!%&t+$?A<baR zs-0zWt`}jP=J8#pXW73Cs`bYk!RiYxAM0uG4qWiX0h=t#ImWfy@!-BfS$LFsiDFa7 z<jOqM&9Ba3i{;QZ!(+gv<H3E#=Rw)yaWuPYTyk|D>OM?~ZLIk|kB&{pgL|USgR=10 zx~ij9gXLOj&b8S|B&V|OfV1}Gyh@)tnWMwW<aP|1f%!`9$~&kos#2fMC+$&M@|&}? z8|$F~vJlH-|HpWvb#sksY^o8@7q<Qp_X@Vn$}%3f2RoVLfwHt8=Hoh@`yVUBHEpj7 zoc7H<UWw0+Sf?qnJubA;a>0BU?Lk5Rvaj7Z#NISIFylnw0|i4+Ma9W+!32Zj#&Pd_ zH$n0p`I-SruO=+0OG!_?^vp}k$ECAHJ3OB_neC=5?e1O3cG_H|6HIZrVH<8UTi3Rk zV~lg1=Rn#)ABhjxcGrHKIYtMpbF1YYKFuZX)%eiU+kD)ZxCWo*;`nNO*y?RQ^#3*e z(_BVhjSqW$n-Bc*@O<tqaGx(%9keZW{5dmu{<87IU16J#v*Y@UqpUN2?k)1u|2KYQ zZp^3Na<a|oxyv|Vgbr}xT%oVAF3Fe{PeNwQ`Q`ZGj5azj6I-ujcFH`(9{_)r+p%uB z_U}hJ{=1YbPv_hIBhNlp@+Vj7ABrnx?0ot{=Z>M_iFM-W(shC-@@<}2FN6=`W}P5E z^!Mms$X}bJ#E-7y6CM(<W3)FO#tz%JV=&_^OLB-}AL9sn1;0|ZIoyVlzLB+1&LG&0 z)@fAdrMm_f8~mQyX|h5=Le=np{^(VI%^iJB&A#(XFaNuq4E3ny3r~>6F(R?EkGOlj z!*${^IUU$?n|gnWGTg(0Y<({O+OSzL(2x9{>eve{hyVm)ILCg4m}?S)a9V7VEMI8n zfMHt}WQuic$*N~<Ip4bY1`Vew&a(nPEl*Od+RM`-D)p*X`_W>-AC)2Z*h=kJ$!prC zD_tg0I#DLZ!B^y&jgM4@(`&v^_+N2ct*b(>OgdjKMTdW+*yfLm{GKkUqkx)p&0K}L z%M0Asi3tp`D79C3Rh<`R#o)g^Yd8ekD6@qyUi2!y2ytPh&yzaz<Sbc*s3Tc8K$@)9 z=i}lmTH%kDTIfv@>*M;O&<eu~_98gNu>h^G{b^OHl|F}Yz0s+;6j%GL_l&p7XmyG| zWS+XYk#3ch%BsY>t5$OC4wt3={+cwETq=gEb#{XL)z%jN5#m2#b+@Y$*YHckT%pUK z#C>DYa5Cw9T^H**T;aO1Ql~|d`vmrlLONXFmE~mM?Zl%@N0})a(z{s_m-!}7YhNFo k59*`zUUX4~7zjMoxU=Qh&9gFDoOb_~+hgZ=xn9NUf5^A1+5i9m
literal 0 HcmV?d00001
diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc index e6778aafe8c6..cde718168f18 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc @@ -35,6 +35,7 @@ DEFINE EDK2_SKIP_PEICORE=1 !endif
+ DT_SUPPORT = FALSE
!include OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress.dsc.inc
@@ -174,13 +175,8 @@ gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|36
[PcdsDynamicDefault.common] - # - # The size of a dynamic PCD of the (VOID*) type can not be increased at run - # time from its size at build time. Set the "PcdFdtDevicePaths" PCD to a 128 - # character "empty" string, to allow to be able to set FDT text device paths - # up to 128 characters long. - # - gEmbeddedTokenSpaceGuid.PcdFdtDevicePaths|L" " + # embedded DTB to use -- default to a GICv3 Foundation model + gEmbeddedTokenSpaceGuid.PcdDtPlatformDefaultDtbSectionIndex|1
################################################################################ # @@ -262,7 +258,13 @@ # # ACPI Support # - MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf + MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf { +!if $(DT_SUPPORT) == TRUE + <LibraryClasses> + NULL|EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.inf +!endif + } + MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf OpenPlatformPkg/Platforms/ARM/VExpress/AcpiTables/AcpiTables.inf
@@ -316,10 +318,9 @@ NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf }
+!if $(DT_SUPPORT) == TRUE # # FDT installation # - EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf { - <LibraryClasses> - BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf - } + EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf +!endif diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf index 262515150dd9..f6a2c0e974a1 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf @@ -170,35 +170,18 @@ FvNameGuid = 87940482-fc81-41c3-87e6-399cf85ac8a0 # FV Filesystem INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
+!if $(DT_SUPPORT) == TRUE # # FDT installation # - # The UEFI driver is at the end of the list of the driver to be dispatched - # after the device drivers (eg: Ethernet) to ensure we have support for them. - INF EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf - -!ifdef $(DTB_DIR) - # - # Embed flattened device tree (FDT) images for all known - # variants of this platform - # - FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpBaseAEMv8x4GicV2) { - $(DTB_DIR)/fvp-base-gicv2-psci.dtb - } - FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpBaseAEMv8x4GicV2Legacy) { - $(DTB_DIR)/fvp-base-gicv2legacy-psci.dtb - } - FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpBaseAEMv8x4GicV3) { - $(DTB_DIR)/fvp-base-gicv3-psci.dtb - } - FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpFoundationGicV2) { - $(DTB_DIR)/fvp-foundation-gicv2-psci.dtb - } - FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpFoundationGicV2Legacy) { - $(DTB_DIR)/fvp-foundation-gicv2legacy-psci.dtb - } - FILE RAW = PCD (gArmVExpressTokenSpaceGuid.PcdFdtFvpFoundationGicV3) { - $(DTB_DIR)/fvp-foundation-gicv3-psci.dtb + INF EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf + + # builtin device tree binaries -- order matches ARM_VEXPRESS_PLATFORM_ID + FILE FREEFORM = 25462CDA-221F-47DF-AC1D-259CFAA4E326 { + SECTION RAW = OpenPlatformPkg/Platforms/ARM/Binary/DeviceTree/fvp-base-gicv2-psci.dtb + SECTION RAW = OpenPlatformPkg/Platforms/ARM/Binary/DeviceTree/fvp-base-gicv3-psci.dtb + SECTION RAW = OpenPlatformPkg/Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv2-psci.dtb + SECTION RAW = OpenPlatformPkg/Platforms/ARM/Binary/DeviceTree/fvp-foundation-gicv3-psci.dtb } !endif