58 gBS->CloseEvent (Event);
63 Status =
gBS->LocateProtocol (
64 &gEfiAcpiTableProtocolGuid,
66 (VOID **)&mAcpiTableProtocol
68 if (EFI_ERROR (Status)) {
71 "RamDiskAcpiCheck: Cannot locate the EFI ACPI Table Protocol, "
72 "unable to publish RAM disks to NFIT.\n"
80 Status =
gBS->LocateProtocol (
81 &gEfiAcpiSdtProtocolGuid,
83 (VOID **)&mAcpiSdtProtocol
85 if (EFI_ERROR (Status)) {
88 "RamDiskAcpiCheck: Cannot locate the EFI ACPI Sdt Protocol, "
89 "unable to publish RAM disks to NFIT.\n"
91 mAcpiTableProtocol =
NULL;
96 PrivateData = RAM_DISK_PRIVATE_FROM_THIS (Entry);
123 VOID *DummyInterface;
129 Status =
gBS->LocateProtocol (
134 if (!EFI_ERROR (Status)) {
135 DEBUG ((DEBUG_INFO,
"Driver already started!\n"));
136 return EFI_ALREADY_STARTED;
143 if (ConfigPrivate ==
NULL) {
144 return EFI_OUT_OF_RESOURCES;
151 if (EFI_ERROR (Status)) {
165 Status =
gBS->InstallMultipleProtocolInterfaces (
173 if (EFI_ERROR (Status)) {
188 if (ConfigPrivate !=
NULL) {
214 Status =
gBS->HandleProtocol (
217 (VOID **)&ConfigPrivate
219 if (EFI_ERROR (Status)) {
223 ASSERT (ConfigPrivate->Signature == RAM_DISK_CONFIG_PRIVATE_DATA_SIGNATURE);
230 gBS->UninstallMultipleProtocolInterfaces (
#define BASE_LIST_FOR_EACH(Entry, ListHead)
LIST_ENTRY *EFIAPI InitializeListHead(IN OUT LIST_ENTRY *ListHead)
VOID *EFIAPI AllocateCopyPool(IN UINTN AllocationSize, IN CONST VOID *Buffer)
#define ASSERT_EFI_ERROR(StatusParameter)
#define DEBUG(Expression)
EFI_GUID gEfiRamDiskProtocolGuid
EFI_STATUS EFIAPI RamDiskDxeUnload(IN EFI_HANDLE ImageHandle)
VOID EFIAPI RamDiskAcpiCheck(IN EFI_EVENT Event, IN VOID *Context)
EFI_STATUS EFIAPI RamDiskDxeEntryPoint(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
VOID UninstallRamDiskConfigForm(IN OUT RAM_DISK_CONFIG_PRIVATE_DATA *ConfigPrivateData)
EFI_STATUS InstallRamDiskConfigForm(IN OUT RAM_DISK_CONFIG_PRIVATE_DATA *ConfigPrivateData)
VOID UnregisterAllRamDisks(VOID)
EFI_STATUS RamDiskPublishNfit(IN RAM_DISK_PRIVATE_DATA *PrivateData)
EFI_STATUS EFIAPI RamDiskRegister(IN UINT64 RamDiskBase, IN UINT64 RamDiskSize, IN EFI_GUID *RamDiskType, IN EFI_DEVICE_PATH *ParentDevicePath OPTIONAL, OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath)
EFI_STATUS EFIAPI RamDiskUnregister(IN EFI_DEVICE_PATH_PROTOCOL *DevicePath)
EFI_STATUS EFIAPI EfiCreateEventReadyToBootEx(IN EFI_TPL NotifyTpl, IN EFI_EVENT_NOTIFY NotifyFunction OPTIONAL, IN VOID *NotifyContext OPTIONAL, OUT EFI_EVENT *ReadyToBootEvent)