Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Anthony PERARD <anthony.per...@citrix.com> --- OvmfPkg/XenbusDxe/XenbusDxe.c | 16 ++++++++++++++++ OvmfPkg/XenbusDxe/XenbusDxe.h | 1 + 2 files changed, 17 insertions(+)
diff --git a/OvmfPkg/XenbusDxe/XenbusDxe.c b/OvmfPkg/XenbusDxe/XenbusDxe.c index 63ea31b..ba5e8f4 100644 --- a/OvmfPkg/XenbusDxe/XenbusDxe.c +++ b/OvmfPkg/XenbusDxe/XenbusDxe.c @@ -290,11 +290,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); ASSERT_EFI_ERROR (Status); @@ -351,5 +365,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 6140f94..d57e3c8 100644 --- a/OvmfPkg/XenbusDxe/XenbusDxe.h +++ b/OvmfPkg/XenbusDxe/XenbusDxe.h @@ -84,6 +84,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 ------------------------------------------------------------------------------ Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel