[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 28/29] ArmVirtualizationPkg/VirtFdtDxe: wire up XenBusDxe to "xen, xen" DT node
On 01/26/15 20:03, Ard Biesheuvel wrote: > This patchs adds support to VirtFdtDxe for the Xen DT node which > contains the base address of the Grant Table. This data is communicated > to XenBusDxe using a XENIO_PROTOCOL instance. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> > --- > ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.c | 23 > +++++++++++++++++++++++ > ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.inf | 1 + > 2 files changed, 24 insertions(+) > > diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.c > b/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.c > index 34fac40fa803..1ceb85146430 100644 > --- a/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.c > +++ b/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.c > @@ -26,6 +26,7 @@ > #include <Library/DxeServicesLib.h> > #include <Library/HobLib.h> > #include <libfdt.h> > +#include <Library/XenIoMmioLib.h> > > #include <Guid/Fdt.h> > #include <Guid/VirtioMmioTransport.h> > @@ -49,6 +50,7 @@ typedef enum { > PropertyTypePsci, > PropertyTypeFwCfg, > PropertyTypeGicV3, > + PropertyTypeXen, > } PROPERTY_TYPE; > > typedef struct { > @@ -66,6 +68,7 @@ STATIC CONST PROPERTY CompatibleProperties[] = { > { PropertyTypePsci, "arm,psci-0.2" }, > { PropertyTypeFwCfg, "qemu,fw-cfg-mmio" }, > { PropertyTypeGicV3, "arm,gic-v3" }, > + { PropertyTypeXen, "xen,xen" }, > { PropertyTypeUnknown, "" } > }; > > @@ -332,6 +335,26 @@ InitializeVirtFdtDxe ( > } > break; > > + case PropertyTypeXen: > + ASSERT (Len == 16); > + > + // > + // Retrieve the reg base from this node and add it to a > + // XENIO_PROTOCOL instance installed on a new handle. > + // > + RegBase = fdt64_to_cpu (((UINT64 *)RegProp)[0]); > + Handle = NULL; > + Status = XenIoMmioInstall (&Handle, RegBase); > + if (EFI_ERROR (Status)) { > + DEBUG ((EFI_D_ERROR, "%a: Failed to install XENIO_PROTOCOL on a new > handle " > + "(Status == %r)\n", __FUNCTION__, Status)); (1) I don't think it's necessary to mention XENIO_PROTOCOL here. XenIoMmioInstall() does more, and can fail for more reasons. I think it would suffice to mention XenIoMmioInstall() and the status it returns. (XenIoMmioInstall() logs errors internally anyway.) I don't insist though. > + break; > + } > + > + DEBUG ((EFI_D_INFO, "Found Xen node with Grant table @ 0x%p\n", > RegBase)); (2) 0x%p is incorrect here, please say 0x%Lx. RegBase is not a pointer but a UINT64. > + > + break; > + > default: > break; > } > diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.inf > b/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.inf > index 1392c7c3fa45..f8a58238c37b 100644 > --- a/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.inf > +++ b/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.inf > @@ -41,6 +41,7 @@ > FdtLib > VirtioMmioDeviceLib > HobLib > + XenIoMmioLib > > [Guids] > gFdtTableGuid > With those changes: Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Thanks Laszlo _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |