在FDF中看有没有这个
EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
同目录下.c文件如下函数:
InitializeReset
61 SystemTable->RuntimeServices->ResetSystem = ResetSystemViaLib;
62
64 Status = gBS->InstallMultipleProtocolInterfaces (
65 &Handle,
66 &gEfiResetArchProtocolGuid,
67 NULL,
68 NULL
69 );
70 ASSERT_EFI_ERROR (Status);
函数中SystemTable->RuntimeServices 后面会被赋值成gRT
以Arm举例:
最终会调用
ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.c
通过PSCI调用。
前面会注册PSCI函数。可以在那里进行区分