[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v1 02/21] ArmVirtualizationPkg: add GICv3 detection to VirtFdtDxe
Reviewed-By: Olivier Martin <Olivier.martin@xxxxxxx> > -----Original Message----- > From: Ard Biesheuvel [mailto:ard.biesheuvel@xxxxxxxxxx] > Sent: 23 January 2015 15:03 > To: edk2-devel@xxxxxxxxxxxxxxxxxxxxx; lersek@xxxxxxxxxx; Olivier > Martin; roy.franz@xxxxxxxxxx; leif.lindholm@xxxxxxxxxx; > stefano.stabellini@xxxxxxxxxxxxx; Ian.Campbell@xxxxxxxxxx; > anthony.perard@xxxxxxxxxx; christoffer.dall@xxxxxxxxxx; xen- > devel@xxxxxxxxxxxxx; ilias.biris@xxxxxxxxxx > Cc: Ard Biesheuvel > Subject: [PATCH v1 02/21] ArmVirtualizationPkg: add GICv3 detection to > VirtFdtDxe > > This adds support for detecting the presence of a GICv3 interrupt > controller from the device tree, and recording its distributor > base address in a PCD. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> > --- > .../ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.c | 19 > +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git > a/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.c > b/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.c > index 4e4f608923d3..8953f78f5fe4 100644 > --- a/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.c > +++ b/ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.c > @@ -46,6 +46,7 @@ typedef enum { > PropertyTypeTimer, > PropertyTypePsci, > PropertyTypeFwCfg, > + PropertyTypeGicV3, > } PROPERTY_TYPE; > > typedef struct { > @@ -62,6 +63,7 @@ STATIC CONST PROPERTY CompatibleProperties[] = { > { PropertyTypeTimer, "arm,armv8-timer" }, > { PropertyTypePsci, "arm,psci-0.2" }, > { PropertyTypeFwCfg, "qemu,fw-cfg-mmio" }, > + { PropertyTypeGicV3, "arm,gic-v3" }, > { PropertyTypeUnknown, "" } > }; > > @@ -256,6 +258,23 @@ InitializeVirtFdtDxe ( > DEBUG ((EFI_D_INFO, "Found GIC @ 0x%Lx/0x%Lx\n", DistBase, > CpuBase)); > break; > > + case PropertyTypeGicV3: > + // > + // The GIC v3 DT binding describes a series of at least 3 > physical base > + // addresses, but we are only interested in the first one, which > is the > + // distributor interface. (We use the system register CPU > interface, not > + // the MMIO one) > + // > + ASSERT (Len >= 16); > + > + DistBase = fdt64_to_cpu (((UINT64 *)RegProp)[0]); > + ASSERT (DistBase < MAX_UINT32); > + > + PcdSet32 (PcdGicDistributorBase, (UINT32)DistBase); > + > + DEBUG ((EFI_D_INFO, "Found GIC v3 distributor @ 0x%Lx\n", > DistBase)); > + break; > + > case PropertyTypeRtc: > ASSERT (Len == 16); > > -- > 1.8.3.2 > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |