[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 05/18] OvmfPkg/XenBusDxe: Open PciIo protocol.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> --- Change in V2: - Coding style - Error handler --- OvmfPkg/XenBusDxe/XenBusDxe.c | 18 ++++++++++++++++++ OvmfPkg/XenBusDxe/XenBusDxe.h | 1 + 2 files changed, 19 insertions(+) diff --git a/OvmfPkg/XenBusDxe/XenBusDxe.c b/OvmfPkg/XenBusDxe/XenBusDxe.c index db88cb4..15420c8 100644 --- a/OvmfPkg/XenBusDxe/XenBusDxe.c +++ b/OvmfPkg/XenBusDxe/XenBusDxe.c @@ -296,11 +296,25 @@ XenBusDxeDriverBindingStart ( { EFI_STATUS Status; XENBUS_DEVICE *Dev; + EFI_PCI_IO_PROTOCOL *PciIo; + + Status = gBS->OpenProtocol ( + ControllerHandle, + &gEfiPciIoProtocolGuid, + (VOID **) &PciIo, + This->DriverBindingHandle, + ControllerHandle, + EFI_OPEN_PROTOCOL_BY_DRIVER + ); + if (EFI_ERROR (Status)) { + return Status; + } Dev = AllocateZeroPool (sizeof (*Dev)); Dev->Signature = XENBUS_DEVICE_SIGNATURE; Dev->This = This; Dev->ControllerHandle = ControllerHandle; + Dev->PciIo = PciIo; Status = XenHyperpageInit (Dev); if (EFI_ERROR (Status)) { @@ -327,6 +341,8 @@ XenBusDxeDriverBindingStart ( ErrorNoHyperpage: FreePool (Dev); + gBS->CloseProtocol (ControllerHandle, &gEfiPciIoProtocolGuid, + This->DriverBindingHandle, ControllerHandle); return Status; } @@ -369,5 +385,7 @@ XenBusDxeDriverBindingStop ( gBS->CloseEvent (Dev->ExitBootEvent); + gBS->CloseProtocol (ControllerHandle, &gEfiPciIoProtocolGuid, + This->DriverBindingHandle, ControllerHandle); return EFI_SUCCESS; } diff --git a/OvmfPkg/XenBusDxe/XenBusDxe.h b/OvmfPkg/XenBusDxe/XenBusDxe.h index af0510a..c16ad95 100644 --- a/OvmfPkg/XenBusDxe/XenBusDxe.h +++ b/OvmfPkg/XenBusDxe/XenBusDxe.h @@ -100,6 +100,7 @@ struct _XENBUS_DEVICE { UINT32 Signature; EFI_DRIVER_BINDING_PROTOCOL *This; EFI_HANDLE ControllerHandle; + EFI_PCI_IO_PROTOCOL *PciIo; EFI_EVENT ExitBootEvent; VOID *Hyperpage; -- Anthony PERARD _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |