From patchwork Fri Apr 8 09:44:52 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 65369 Delivered-To: patch@linaro.org Received: by 10.112.43.237 with SMTP id z13csp569152lbl; Fri, 8 Apr 2016 02:45:34 -0700 (PDT) X-Received: by 10.98.76.194 with SMTP id e63mr11516935pfj.89.1460108730087; Fri, 08 Apr 2016 02:45:30 -0700 (PDT) Return-Path: Received: from ml01.01.org (ml01.01.org. [198.145.21.10]) by mx.google.com with ESMTPS id ur6si13820pac.226.2016.04.08.02.45.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 08 Apr 2016 02:45:30 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) client-ip=198.145.21.10; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 757F11A1F1A; Fri, 8 Apr 2016 02:45:29 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received: from mail-wm0-x230.google.com (mail-wm0-x230.google.com [IPv6:2a00:1450:400c:c09::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 285961A1EA0 for ; Fri, 8 Apr 2016 02:45:27 -0700 (PDT) Received: by mail-wm0-x230.google.com with SMTP id 191so12570527wmq.0 for ; Fri, 08 Apr 2016 02:45:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=jdwM7Q2zqG1WhDb7o5q/m8Uj/d/XIpEEtiwmzgCNSF0=; b=eoPasUKMqHaO8P2/CMApDai8PNBF9VjNiuHMmbwql5u+M3gBHED/kN0Whlh221nSV+ C4UWRKmFUcPSRMcnl3it4IJrBjn5p6R3wJ2Tu4WHmmY5KlExRz4CRDFC4KzYdMOp7oXj Z0wzFiACYQw13OBVMQ0HB/DJEF3QH8UpM1MIM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=jdwM7Q2zqG1WhDb7o5q/m8Uj/d/XIpEEtiwmzgCNSF0=; b=AnJ4mZknJqJ6V1friY0n0QCbMTvxfXrbK42DohsLvDVlLCPmo5OXcSHI9Q1nWsDn4P ou5aOT7dpq5QHL7itxXo/Zr46tvHcna/jZXYN/qR9QeNTa7DdoraG9nex3/1n0hVo4DY sbrqGaq7L6cqujkk8v1rURXpUSR9Ryw2+9OxjBkWSpx5Anida6QgLDmgOk7kSj3OEq5t 5kN6CQLecKkMzjRPJWZMvSYZqV5UImLGX3ydPhXbqzJ/xeOf9NKEJIAAZL9PkdIwu2oJ kq6Ed9LtJKrHSlG3kBCCYNQCrAmpmZ7aV7MVRnakWb8BYl1Hls9nGiyRgUMPVg5Wmwnw j55w== X-Gm-Message-State: AD7BkJLQ/tIA1EnyhQ9upXocTmRk1j5iaRysvGQ52Q05phYIWPPDQgQO7JrbMc/M0QdibM8d X-Received: by 10.28.32.199 with SMTP id g190mr2751816wmg.62.1460108725876; Fri, 08 Apr 2016 02:45:25 -0700 (PDT) Received: from localhost.localdomain ([195.55.142.58]) by smtp.gmail.com with ESMTPSA id s10sm9710681wjp.3.2016.04.08.02.45.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 08 Apr 2016 02:45:25 -0700 (PDT) From: Ard Biesheuvel To: edk2-devel@lists.01.org, lersek@redhat.com Date: Fri, 8 Apr 2016 11:44:52 +0200 Message-Id: <1460108711-12122-6-git-send-email-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.5.0 In-Reply-To: <1460108711-12122-1-git-send-email-ard.biesheuvel@linaro.org> References: <1460108711-12122-1-git-send-email-ard.biesheuvel@linaro.org> Subject: [edk2] [PATCH v2 05/24] ArmVirtPkg/VirtFdtDxe: remove GIC discovery X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Ard Biesheuvel MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" Now that we moved the GIC discovery to our ArmGicArchLib implementation, we can remove it from VirtFdtDxe, since it is no longer used. Remove the PcdArmGicRevision declaration and definitions as well: VirtFdtDxe no longer sets it, and no other drivers consume its value. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel Reviewed-by: Laszlo Ersek --- ArmVirtPkg/ArmVirtPkg.dec | 5 -- ArmVirtPkg/ArmVirtQemu.dsc | 1 - ArmVirtPkg/ArmVirtQemuKernel.dsc | 1 - ArmVirtPkg/ArmVirtXen.dsc | 1 - ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c | 51 -------------------- ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf | 4 -- 6 files changed, 63 deletions(-) -- 2.5.0 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel diff --git a/ArmVirtPkg/ArmVirtPkg.dec b/ArmVirtPkg/ArmVirtPkg.dec index fa908253b320..adbd5e319a09 100644 --- a/ArmVirtPkg/ArmVirtPkg.dec +++ b/ArmVirtPkg/ArmVirtPkg.dec @@ -72,11 +72,6 @@ [PcdsDynamic, PcdsFixedAtBuild] gArmVirtTokenSpaceGuid.PcdFwCfgDataAddress|0x0|UINT64|0x00000005 gArmVirtTokenSpaceGuid.PcdFwCfgDmaAddress|0x0|UINT64|0x00000009 - # - # Supported GIC revision (2, 3, ...) - # - gArmVirtTokenSpaceGuid.PcdArmGicRevision|0x0|UINT32|0x00000008 - [PcdsFeatureFlag] # # "Map PCI MMIO as Cached" diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc index 60a48bc28680..03148b67761d 100644 --- a/ArmVirtPkg/ArmVirtQemu.dsc +++ b/ArmVirtPkg/ArmVirtQemu.dsc @@ -208,7 +208,6 @@ [PcdsDynamicDefault.common] gArmTokenSpaceGuid.PcdGicDistributorBase|0x0 gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x0 gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x0 - gArmVirtTokenSpaceGuid.PcdArmGicRevision|0x0 ## PL031 RealTimeClock gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0 diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc index d7a216aaf8c8..cf7a5aab6d12 100644 --- a/ArmVirtPkg/ArmVirtQemuKernel.dsc +++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc @@ -193,7 +193,6 @@ [PcdsDynamicDefault.common] gArmTokenSpaceGuid.PcdGicDistributorBase|0x0 gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x0 gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x0 - gArmVirtTokenSpaceGuid.PcdArmGicRevision|0x0 ## PL031 RealTimeClock gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0 diff --git a/ArmVirtPkg/ArmVirtXen.dsc b/ArmVirtPkg/ArmVirtXen.dsc index f46a79c45e15..72bc4745309b 100644 --- a/ArmVirtPkg/ArmVirtXen.dsc +++ b/ArmVirtPkg/ArmVirtXen.dsc @@ -129,7 +129,6 @@ [PcdsDynamicDefault.common] gArmTokenSpaceGuid.PcdGicDistributorBase|0x0 gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x0 gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x0 - gArmVirtTokenSpaceGuid.PcdArmGicRevision|0x0 ## PL031 RealTimeClock gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0 diff --git a/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c b/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c index d3043fa9b877..0e308497e79e 100644 --- a/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c +++ b/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c @@ -42,7 +42,6 @@ typedef struct { typedef enum { PropertyTypeUnknown, - PropertyTypeGic, PropertyTypeRtc, PropertyTypeVirtio, PropertyTypeUart, @@ -50,7 +49,6 @@ typedef enum { PropertyTypePsci, PropertyTypeFwCfg, PropertyTypePciHost, - PropertyTypeGicV3, PropertyTypeXen, } PROPERTY_TYPE; @@ -60,7 +58,6 @@ typedef struct { } PROPERTY; STATIC CONST PROPERTY CompatibleProperties[] = { - { PropertyTypeGic, "arm,cortex-a15-gic" }, { PropertyTypeRtc, "arm,pl031" }, { PropertyTypeVirtio, "virtio,mmio" }, { PropertyTypeUart, "arm,pl011" }, @@ -69,7 +66,6 @@ STATIC CONST PROPERTY CompatibleProperties[] = { { PropertyTypePsci, "arm,psci-0.2" }, { PropertyTypeFwCfg, "qemu,fw-cfg-mmio" }, { PropertyTypePciHost, "pci-host-ecam-generic" }, - { PropertyTypeGicV3, "arm,gic-v3" }, { PropertyTypeXen, "xen,xen" }, { PropertyTypeUnknown, "" } }; @@ -294,7 +290,6 @@ InitializeVirtFdtDxe ( VIRTIO_TRANSPORT_DEVICE_PATH *DevicePath; EFI_HANDLE Handle; UINT64 RegBase; - UINT64 DistBase, CpuBase, RedistBase; CONST INTERRUPT_PROPERTY *InterruptProp; INT32 SecIntrNum, IntrNum, VirtIntrNum, HypIntrNum; CONST CHAR8 *PsciMethod; @@ -446,52 +441,6 @@ InitializeVirtFdtDxe ( } break; - case PropertyTypeGic: - ASSERT (Len == 32); - - DistBase = fdt64_to_cpu (((UINT64 *)RegProp)[0]); - CpuBase = fdt64_to_cpu (((UINT64 *)RegProp)[2]); - ASSERT (DistBase < MAX_UINT32); - ASSERT (CpuBase < MAX_UINT32); - - PcdSet32 (PcdGicDistributorBase, (UINT32)DistBase); - PcdSet32 (PcdGicInterruptInterfaceBase, (UINT32)CpuBase); - PcdSet32 (PcdArmGicRevision, 2); - - 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, size) pairs: the distributor interface (GICD), at least one - // redistributor region (GICR) containing dedicated redistributor - // interfaces for all individual CPUs, and the CPU interface (GICC). - // Under virtualization, we assume that the first redistributor region - // listed covers the boot CPU. Also, our GICv3 driver only supports the - // system register CPU interface, so we can safely ignore the MMIO version - // which is listed after the sequence of redistributor interfaces. - // This means we are only interested in the first two memory regions - // supplied, and ignore everything else. - // - ASSERT (Len >= 32); - - // RegProp[0..1] == { GICD base, GICD size } - DistBase = fdt64_to_cpu (((UINT64 *)RegProp)[0]); - ASSERT (DistBase < MAX_UINT32); - - // RegProp[2..3] == { GICR base, GICR size } - RedistBase = fdt64_to_cpu (((UINT64 *)RegProp)[2]); - ASSERT (RedistBase < MAX_UINT32); - - PcdSet32 (PcdGicDistributorBase, (UINT32)DistBase); - PcdSet32 (PcdGicRedistributorsBase, (UINT32)RedistBase); - PcdSet32 (PcdArmGicRevision, 3); - - DEBUG ((EFI_D_INFO, "Found GIC v3 (re)distributor @ 0x%Lx (0x%Lx)\n", - DistBase, RedistBase)); - break; - case PropertyTypeRtc: ASSERT (Len == 16); diff --git a/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf b/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf index f807bf76bb4b..628b14501f45 100644 --- a/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf +++ b/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf @@ -54,10 +54,6 @@ [Pcd] gArmVirtTokenSpaceGuid.PcdFwCfgSelectorAddress gArmVirtTokenSpaceGuid.PcdFwCfgDataAddress gArmVirtTokenSpaceGuid.PcdFwCfgDmaAddress - gArmVirtTokenSpaceGuid.PcdArmGicRevision - gArmTokenSpaceGuid.PcdGicDistributorBase - gArmTokenSpaceGuid.PcdGicRedistributorsBase - gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase gArmTokenSpaceGuid.PcdArmArchTimerSecIntrNum gArmTokenSpaceGuid.PcdArmArchTimerIntrNum gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum