IsaBusDxe.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /** @file
  2. Header file for the ISA BUS driver.
  3. Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
  4. SPDX-License-Identifier: BSD-2-Clause-Patent
  5. **/
  6. #ifndef _ISA_BUS_H_
  7. #define _ISA_BUS_H_
  8. #include <Uefi.h>
  9. #include <Protocol/IsaHc.h>
  10. #include <Library/UefiLib.h>
  11. #include <Library/UefiBootServicesTableLib.h>
  12. #include <Library/DebugLib.h>
  13. #include <Library/DevicePathLib.h>
  14. #include <Library/MemoryAllocationLib.h>
  15. #include <Protocol/DevicePath.h>
  16. #include <Protocol/ServiceBinding.h>
  17. typedef struct {
  18. UINT32 Signature;
  19. EFI_SERVICE_BINDING_PROTOCOL ServiceBinding;
  20. EFI_ISA_HC_PROTOCOL *IsaHc; ///< ISA HC protocol produced by the ISA Host Controller driver
  21. EFI_HANDLE IsaHcHandle; ///< ISA HC handle created by the ISA Host Controller driver
  22. } ISA_BUS_PRIVATE_DATA;
  23. #define ISA_BUS_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('_', 'i', 's', 'b')
  24. #define ISA_BUS_PRIVATE_DATA_FROM_THIS(a) CR (a, ISA_BUS_PRIVATE_DATA, ServiceBinding, ISA_BUS_PRIVATE_DATA_SIGNATURE)
  25. typedef struct {
  26. UINT32 Signature;
  27. BOOLEAN InDestroying; ///< Flag to avoid DestroyChild() re-entry.
  28. } ISA_BUS_CHILD_PRIVATE_DATA;
  29. #define ISA_BUS_CHILD_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('_', 'i', 's', 'c')
  30. extern EFI_DRIVER_BINDING_PROTOCOL gIsaBusDriverBinding;
  31. #endif