/** @file * FDT client protocol driver for qemu,mach-virt-ahci DT node * * Copyright (c) 2019, Linaro Ltd. All rights reserved. * * SPDX-License-Identifier: BSD-2-Clause-Patent * **/ #include #include #include #include #include #include #include EFI_STATUS EFIAPI InitializeSbsaQemuPlatformDxe ( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable ) { EFI_STATUS Status; UINTN Size; VOID* Base; DEBUG ((DEBUG_INFO, "%a: InitializeSbsaQemuPlatformDxe called\n", __FUNCTION__)); Base = (VOID*)(UINTN)PcdGet64 (PcdPlatformAhciBase); ASSERT (Base != NULL); Size = (UINTN)PcdGet32 (PcdPlatformAhciSize); ASSERT (Size != 0); DEBUG ((DEBUG_INFO, "%a: Got platform AHCI %llx %u\n", __FUNCTION__, Base, Size)); Status = RegisterNonDiscoverableMmioDevice ( NonDiscoverableDeviceTypeAhci, NonDiscoverableDeviceDmaTypeCoherent, NULL, NULL, 1, Base, Size); if (EFI_ERROR(Status)) { DEBUG ((DEBUG_ERROR, "%a: NonDiscoverable: Cannot install AHCI device @%p (Staus == %r)\n", __FUNCTION__, Base, Status)); return Status; } return EFI_SUCCESS; }