From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lj1-f193.google.com (mail-lj1-f193.google.com [209.85.208.193]) by mx.groups.io with SMTP id smtpd.web11.2578.1570686151355119877 for ; Wed, 09 Oct 2019 22:42:31 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@semihalf-com.20150623.gappssmtp.com header.s=20150623 header.b=ZVVi/fqN; spf=none, err=SPF record not found (domain: semihalf.com, ip: 209.85.208.193, mailfrom: mw@semihalf.com) Received: by mail-lj1-f193.google.com with SMTP id m7so4878906lji.2 for ; Wed, 09 Oct 2019 22:42:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=V+BHEbRBRFSD/auqj4hRZWE0YdJTphSHWY4pMsJxwPU=; b=ZVVi/fqNjpOgv5ATCHkgHyQSMUz54w2X2+xkLHest8iexJy+OP8GR1kOyOCbgPATTw mBaOsJxBuuAyXrGu+T/IqSeuFM41eGrOBJg+F1jPEt+0WXz9jT1/hqyJhXg0KYAJMx0n /nEaUYiOpyZGkSjA9j5VMaNMGT6TpA9RAJBTMD1t8/U3xE9lFsnAJ4pWGtdxaR4fczyK 7NGqhLI29T9eUrJ9DW2nsq6ryliCdkEYvsHxmAQSx4amKF/H/m9gutnvVxrkLzf4B64c M0HaMYqFzfi8H7wHKBn4ZBaAEUB7z9joyPpaNyXx5fNu+vPZ22GHsBm0PY0skLEAkOB5 OqoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=V+BHEbRBRFSD/auqj4hRZWE0YdJTphSHWY4pMsJxwPU=; b=r+YNYFbf0omUUdqQOmW9iw1JDOe0wFojebv6eL4XC9oW9o6u5tuWwM8WZezbXZwtt9 DBay7Y9nTsBscsap2dtY+XPD5pjjdE8o+4jGVviIPQtS3uT7v24Z/MvUyAXWaDK0Qd/b 4bcwzzgruvpZXHyYqdyzW0IcW7U9HyoRTZG5Fpniqtjcelv2sx7evrcOzWyJ+FJRf33V M1XqE6QBueiMf47O1IjoTY/iqAC3gbEUSRUHOWKVlTtc66uBsY6aJblbZ9KcM9UdpvxH 9dVTjoe6LIgjxbEL4+DEvZkDj7XSjnwHWMjSQbq4ZpNNeKFQ0lIT4QgdIZhOkFwqqiuC 3gIQ== X-Gm-Message-State: APjAAAXMw0xdNd+UiIZEA7Ek20k05xlnzovgkOdjBGnEzemCqzP3beDo YMdzetVKLLp/fIMpSTWqdniA0+HrnQU+ZQ== X-Google-Smtp-Source: APXvYqxtBjiHGrnlziUUtKNSC1GKMopfcNZTpGpjI7SSFo9FhpbHBjq2a3VvCfvioeHjmjIRKz6vAA== X-Received: by 2002:a2e:3919:: with SMTP id g25mr4843197lja.162.1570686149340; Wed, 09 Oct 2019 22:42:29 -0700 (PDT) Return-Path: Received: from gilgamesh.semihalf.com (31-172-191-173.noc.fibertech.net.pl. [31.172.191.173]) by smtp.gmail.com with ESMTPSA id p27sm1001481lfo.95.2019.10.09.22.42.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 09 Oct 2019 22:42:28 -0700 (PDT) From: "Marcin Wojtas" To: devel@edk2.groups.io Cc: leif.lindholm@linaro.org, ard.biesheuvel@linaro.org, mw@semihalf.com, jsd@semihalf.com, jaz@semihalf.com, kostap@marvell.com Subject: [edk2-platforms: PATCH v3 1/9] Marvell/Armada7k8k: Fix 32-bit compilation Date: Thu, 10 Oct 2019 07:42:11 +0200 Message-Id: <1570686139-25182-2-git-send-email-mw@semihalf.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1570686139-25182-1-git-send-email-mw@semihalf.com> References: <1570686139-25182-1-git-send-email-mw@semihalf.com> It turned out, that the recently added features broke ARM compilation. Fix all issues: * Update signatures types in structures (UINTN -> UINT64) * Use fixed type for address in ICU * Limit memory for ARM build to 1GB and stop using non-existent PCD Signed-off-by: Marcin Wojtas --- Silicon/Marvell/Drivers/BoardDesc/MvBoardDescDxe.h | 2 +- Silicon/Marvell/Drivers/Gpio/MvGpioDxe/MvGpioDxe.h | 2 +- Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h | 4 ++-- Silicon/Marvell/Armada7k8k/Library/Armada7k8kLib/Armada7k8kLibMem.c | 8 ++++++++ Silicon/Marvell/Armada7k8k/Library/Armada7k8kLib/ARM/ArmPlatformHelper.S | 11 ----------- 5 files changed, 12 insertions(+), 15 deletions(-) diff --git a/Silicon/Marvell/Drivers/BoardDesc/MvBoardDescDxe.h b/Silicon/Marvell/Drivers/BoardDesc/MvBoardDescDxe.h index a6f551b..3b5a28c 100644 --- a/Silicon/Marvell/Drivers/BoardDesc/MvBoardDescDxe.h +++ b/Silicon/Marvell/Drivers/BoardDesc/MvBoardDescDxe.h @@ -22,7 +22,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent typedef struct { MARVELL_BOARD_DESC_PROTOCOL BoardDescProtocol; - UINTN Signature; + UINT64 Signature; EFI_HANDLE Handle; EFI_LOCK Lock; } MV_BOARD_DESC; diff --git a/Silicon/Marvell/Drivers/Gpio/MvGpioDxe/MvGpioDxe.h b/Silicon/Marvell/Drivers/Gpio/MvGpioDxe/MvGpioDxe.h index 1cb006a..ce683e7 100644 --- a/Silicon/Marvell/Drivers/Gpio/MvGpioDxe/MvGpioDxe.h +++ b/Silicon/Marvell/Drivers/Gpio/MvGpioDxe/MvGpioDxe.h @@ -36,7 +36,7 @@ typedef struct { EMBEDDED_GPIO GpioProtocol; GPIO_CONTROLLER *SoCGpio; UINTN GpioDeviceCount; - UINTN Signature; + UINT64 Signature; EFI_HANDLE Handle; } MV_GPIO; diff --git a/Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h b/Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h index 6432916..da7a41e 100644 --- a/Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h +++ b/Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h @@ -109,8 +109,8 @@ typedef enum { typedef struct { ICU_GROUP Group; - UINTN SetSpiAddr; - UINTN ClrSpiAddr; + EFI_PHYSICAL_ADDRESS SetSpiAddr; + EFI_PHYSICAL_ADDRESS ClrSpiAddr; } ICU_MSI; typedef struct { diff --git a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kLib/Armada7k8kLibMem.c b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kLib/Armada7k8kLibMem.c index a735fe5..cc19694 100644 --- a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kLib/Armada7k8kLibMem.c +++ b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kLib/Armada7k8kLibMem.c @@ -36,6 +36,7 @@ GetDramSize ( IN OUT UINT64 *MemSize ) { +#if defined(MDE_CPU_AARCH64) ARM_SMC_ARGS SmcRegs = {0}; EFI_STATUS Status; @@ -48,6 +49,13 @@ GetDramSize ( ArmCallSmc (&SmcRegs); *MemSize = SmcRegs.Arg0; +#else + // + // Use fixed value, as currently there is no support + // in Armada early firmware for 32-bit SMC + // + *MemSize = FixedPcdGet64 (PcdSystemMemorySize); +#endif return EFI_SUCCESS; } diff --git a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kLib/ARM/ArmPlatformHelper.S b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kLib/ARM/ArmPlatformHelper.S index 4416163..db43b0f 100644 --- a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kLib/ARM/ArmPlatformHelper.S +++ b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kLib/ARM/ArmPlatformHelper.S @@ -28,17 +28,6 @@ ASM_FUNC(ArmPlatformPeiBootAction) .err PcdSystemMemoryBase should be 0x0 on this platform! .endif - .if FixedPcdGet64 (PcdSystemMemorySize) > FixedPcdGet32 (PcdDramRemapTarget) - // - // Use the low range for UEFI itself. The remaining memory will be mapped - // and added to the GCD map later. - // - ADRL (r0, mSystemMemoryEnd) - MOV32 (r2, FixedPcdGet32 (PcdDramRemapTarget) - 1) - mov r3, #0 - strd r2, r3, [r0] - .endif - bx lr //UINTN -- 2.7.4