TianoCore EDK2 master
|
#include <IndustryStandard/Acpi.h>
#include <IndustryStandard/Pci.h>
#include <Library/BaseMemoryLib.h>
#include <Library/DebugLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiLib.h>
#include <Protocol/PciIo.h>
#include <Protocol/XenIo.h>
Go to the source code of this file.
Macros | |
#define | PCI_VENDOR_ID_XEN 0x5853 |
#define | PCI_DEVICE_ID_XEN_PLATFORM 0x0001 |
Functions | |
STATIC EFI_STATUS EFIAPI | XenIoPciDeviceBindingSupported (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE DeviceHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath) |
STATIC EFI_STATUS EFIAPI | XenIoPciDeviceBindingStart (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE DeviceHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath) |
STATIC EFI_STATUS EFIAPI | XenIoPciDeviceBindingStop (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE DeviceHandle, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer) |
EFI_STATUS EFIAPI | XenIoPciGetDriverName (IN EFI_COMPONENT_NAME_PROTOCOL *This, IN CHAR8 *Language, OUT CHAR16 **DriverName) |
EFI_STATUS EFIAPI | XenIoPciGetDeviceName (IN EFI_COMPONENT_NAME_PROTOCOL *This, IN EFI_HANDLE DeviceHandle, IN EFI_HANDLE ChildHandle, IN CHAR8 *Language, OUT CHAR16 **ControllerName) |
EFI_STATUS EFIAPI | XenIoPciDeviceEntryPoint (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable) |
Driver for the virtual Xen PCI device
Copyright (C) 2012, Red Hat, Inc. Copyright (c) 2012 - 2016, Intel Corporation. All rights reserved.
Copyright (C) 2013, ARM Ltd. Copyright (C) 2015, Linaro Ltd.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file XenIoPciDxe.c.
#define PCI_DEVICE_ID_XEN_PLATFORM 0x0001 |
Definition at line 26 of file XenIoPciDxe.c.
#define PCI_VENDOR_ID_XEN 0x5853 |
Definition at line 25 of file XenIoPciDxe.c.
STATIC EFI_STATUS EFIAPI XenIoPciDeviceBindingStart | ( | IN EFI_DRIVER_BINDING_PROTOCOL * | This, |
IN EFI_HANDLE | DeviceHandle, | ||
IN EFI_DEVICE_PATH_PROTOCOL * | RemainingDevicePath | ||
) |
After we've pronounced support for a specific device in DriverBindingSupported(), we start managing said device (passed in by the Driver Execution Environment) with the following service.
See DriverBindingSupported() for specification references.
[in] | This | The EFI_DRIVER_BINDING_PROTOCOL object incorporating this driver (independently of any device). |
[in] | DeviceHandle | The supported device to drive. |
[in] | RemainingDevicePath | Relevant only for bus drivers, ignored. |
EFI_SUCCESS | The device was started. |
EFI_OUT_OF_RESOURCES | Memory allocation failed. |
Definition at line 150 of file XenIoPciDxe.c.
STATIC EFI_STATUS EFIAPI XenIoPciDeviceBindingStop | ( | IN EFI_DRIVER_BINDING_PROTOCOL * | This, |
IN EFI_HANDLE | DeviceHandle, | ||
IN UINTN | NumberOfChildren, | ||
IN EFI_HANDLE * | ChildHandleBuffer | ||
) |
Stop driving the XenIo PCI device
[in] | This | The EFI_DRIVER_BINDING_PROTOCOL object incorporating this driver (independently of any device). |
[in] | DeviceHandle | Stop driving this device. |
[in] | NumberOfChildren | Since this function belongs to a device driver only (as opposed to a bus driver), the caller environment sets NumberOfChildren to zero, and we ignore it. |
[in] | ChildHandleBuffer | Ignored (corresponding to NumberOfChildren). |
EFI_SUCCESS | Driver instance has been stopped and the PCI configuration attributes have been restored. |
Definition at line 244 of file XenIoPciDxe.c.
STATIC EFI_STATUS EFIAPI XenIoPciDeviceBindingSupported | ( | IN EFI_DRIVER_BINDING_PROTOCOL * | This, |
IN EFI_HANDLE | DeviceHandle, | ||
IN EFI_DEVICE_PATH_PROTOCOL * | RemainingDevicePath | ||
) |
Device probe function for this driver.
The DXE core calls this function for any given device in order to see if the driver can drive the device.
[in] | This | The EFI_DRIVER_BINDING_PROTOCOL object incorporating this driver (independently of any device). |
[in] | DeviceHandle | The device to probe. |
[in] | RemainingDevicePath | Relevant only for bus drivers, ignored. |
EFI_SUCCESS | The driver supports the device being probed. |
EFI_UNSUPPORTED | The driver does not support the device being probed. |
Definition at line 55 of file XenIoPciDxe.c.
EFI_STATUS EFIAPI XenIoPciDeviceEntryPoint | ( | IN EFI_HANDLE | ImageHandle, |
IN EFI_SYSTEM_TABLE * | SystemTable | ||
) |
Definition at line 370 of file XenIoPciDxe.c.
EFI_STATUS EFIAPI XenIoPciGetDeviceName | ( | IN EFI_COMPONENT_NAME_PROTOCOL * | This, |
IN EFI_HANDLE | DeviceHandle, | ||
IN EFI_HANDLE | ChildHandle, | ||
IN CHAR8 * | Language, | ||
OUT CHAR16 ** | ControllerName | ||
) |
Definition at line 340 of file XenIoPciDxe.c.
EFI_STATUS EFIAPI XenIoPciGetDriverName | ( | IN EFI_COMPONENT_NAME_PROTOCOL * | This, |
IN CHAR8 * | Language, | ||
OUT CHAR16 ** | DriverName | ||
) |
Definition at line 323 of file XenIoPciDxe.c.
STATIC EFI_COMPONENT_NAME_PROTOCOL gComponentName |
Definition at line 319 of file XenIoPciDxe.c.
STATIC EFI_COMPONENT_NAME2_PROTOCOL gComponentName2 |
Definition at line 359 of file XenIoPciDxe.c.
STATIC EFI_DRIVER_BINDING_PROTOCOL gDriverBinding |
Definition at line 295 of file XenIoPciDxe.c.
STATIC EFI_UNICODE_STRING_TABLE mDriverNameTable[] |
Definition at line 313 of file XenIoPciDxe.c.