On Fri, Jun 23, 2023 at 11:39:32AM -0700, Tuan Phan wrote:
> Make sure VirtNorFlashDxe loaded before VariableRuntimeDxe as it
> is the backend flash driver.
>
> Signed-off-by: Tuan Phan <tphan@ventanamicro.com>
> ---
> OvmfPkg/RiscVVirt/RiscVVirtQemu.fdf | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/OvmfPkg/RiscVVirt/RiscVVirtQemu.fdf b/OvmfPkg/RiscVVirt/RiscVVirtQemu.fdf
> index 21e4ba67379f..9ab8eb3ba7d8 100644
> --- a/OvmfPkg/RiscVVirt/RiscVVirtQemu.fdf
> +++ b/OvmfPkg/RiscVVirt/RiscVVirtQemu.fdf
> @@ -53,6 +53,16 @@ READ_STATUS = TRUE
> READ_LOCK_CAP = TRUE
> READ_LOCK_STATUS = TRUE
>
> +APRIORI DXE {
> + INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
> + INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
> + INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
> + INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
> + INF EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf
> + INF UefiCpuPkg/CpuDxeRiscV64/CpuDxeRiscV64.inf
> + INF OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf
> +}
> +
Hi Tuan,
Actually, Ard had recommended not to use APRIORI and hence we avoided
it when we upstreamed RiscVVirt. So, I am wondering whether this can be
avoided by using depex in CpuDxe on gEfiVariableArchProtocolGuid?
Hi Sunil,
Not sure what the reason behind avoiding APRIORI besides it is a workaround for broken DEPEX. BTW, what we need is to put VirtNorFlashDxe loaded before VariableRuntimeDxe which doesn't depend on any modules. I don't see any other clearer way than modifying VirNorFlashDxe as shown in the first version of this series.
The CpuDxeRiscV64 in the aprioriy list as VirNorFlashDxe depends on it.
Thanks,
Sunil