|
[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
On 01/23/15 16:02, Ard Biesheuvel wrote:
> 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);
>
>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |