* [PATCH] ArmPkg: Bug #361 fix Watchdog PCDs
@ 2017-02-06 19:05 evan.lloyd
2017-02-07 8:41 ` Ard Biesheuvel
0 siblings, 1 reply; 2+ messages in thread
From: evan.lloyd @ 2017-02-06 19:05 UTC (permalink / raw)
To: edk2-devel; +Cc: Ard Biesheuvel, Leif Lindholm, Ryan Harkin
From: Alexei <Alexei.Fedorov@arm.com>
"ARM Generic Watchdog base addresses must be declared as UINT64 values"
https://bugzilla.tianocore.org/show_bug.cgi?id=361
PcdGenericWatchdogControlBase & PcdGenericWatchdogRefreshBase
are declared as UINT32 values in ArmPkg.dec, but for platforms
with addresses in the memory range above 4GB this causes build
error F000: Too large PCD value for datum type [UINT32]
of PCD gArmTokenSpaceGuid.PcdGenericWatchdogControlBase
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Alexei Fedorov <alexei.fedorov@arm.com>
Signed-off-by: Evan Lloyd <evan.lloyd@arm.com>
---
ArmPkg/ArmPkg.dec | 6 +++---
ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdog.h | 10 +++++-----
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/ArmPkg/ArmPkg.dec b/ArmPkg/ArmPkg.dec
index 090ed99513669e32aee2f083e1dcf8327be40842..8e9cf199becc65a9f6fe08e2d5b216bc2af4c31d 100644
--- a/ArmPkg/ArmPkg.dec
+++ b/ArmPkg/ArmPkg.dec
@@ -2,7 +2,7 @@
# ARM processor package.
#
# Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>
-# Copyright (c) 2011 - 2015, ARM Limited. All rights reserved.
+# Copyright (c) 2011 - 2017, ARM Limited. All rights reserved.
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -252,8 +252,8 @@ [PcdsFixedAtBuild.common, PcdsDynamic.common]
# ARM Generic Watchdog
#
- gArmTokenSpaceGuid.PcdGenericWatchdogControlBase|0x2A440000|UINT32|0x00000007
- gArmTokenSpaceGuid.PcdGenericWatchdogRefreshBase|0x2A450000|UINT32|0x00000008
+ gArmTokenSpaceGuid.PcdGenericWatchdogControlBase|0x2A440000|UINT64|0x00000007
+ gArmTokenSpaceGuid.PcdGenericWatchdogRefreshBase|0x2A450000|UINT64|0x00000008
gArmTokenSpaceGuid.PcdGenericWatchdogEl2IntrNum|93|UINT32|0x00000009
#
diff --git a/ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdog.h b/ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdog.h
index 578fd1e85f8e11b42e546f92123fd041a2d3b153..9e2aebcfd5e557269bbc36556dbcbc8f6809aeb0 100644
--- a/ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdog.h
+++ b/ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdog.h
@@ -1,6 +1,6 @@
/** @file
*
-* Copyright (c) 2013-2014, ARM Limited. All rights reserved.
+* Copyright (c) 2013-2017, ARM Limited. All rights reserved.
*
* This program and the accompanying materials
* are licensed and made available under the terms and conditions of the BSD
@@ -15,12 +15,12 @@
#define __GENERIC_WATCHDOG_H__
// Refresh Frame:
-#define GENERIC_WDOG_REFRESH_REG ((UINT32)FixedPcdGet32 (PcdGenericWatchdogRefreshBase) + 0x000)
+#define GENERIC_WDOG_REFRESH_REG ((UINTN)FixedPcdGet64 (PcdGenericWatchdogRefreshBase) + 0x000)
// Control Frame:
-#define GENERIC_WDOG_CONTROL_STATUS_REG ((UINT32)FixedPcdGet32 (PcdGenericWatchdogControlBase) + 0x000)
-#define GENERIC_WDOG_OFFSET_REG ((UINT32)FixedPcdGet32 (PcdGenericWatchdogControlBase) + 0x008)
-#define GENERIC_WDOG_COMPARE_VALUE_REG ((UINT32)FixedPcdGet32 (PcdGenericWatchdogControlBase) + 0x010)
+#define GENERIC_WDOG_CONTROL_STATUS_REG ((UINTN)FixedPcdGet64 (PcdGenericWatchdogControlBase) + 0x000)
+#define GENERIC_WDOG_OFFSET_REG ((UINTN)FixedPcdGet64 (PcdGenericWatchdogControlBase) + 0x008)
+#define GENERIC_WDOG_COMPARE_VALUE_REG ((UINTN)FixedPcdGet64 (PcdGenericWatchdogControlBase) + 0x010)
// Values of bit 0 of the Control/Status Register
#define GENERIC_WDOG_ENABLED 1
--
Guid("CE165669-3EF3-493F-B85D-6190EE5B9759")
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] ArmPkg: Bug #361 fix Watchdog PCDs
2017-02-06 19:05 [PATCH] ArmPkg: Bug #361 fix Watchdog PCDs evan.lloyd
@ 2017-02-07 8:41 ` Ard Biesheuvel
0 siblings, 0 replies; 2+ messages in thread
From: Ard Biesheuvel @ 2017-02-07 8:41 UTC (permalink / raw)
To: Evan Lloyd; +Cc: edk2-devel@lists.01.org, Leif Lindholm, Ryan Harkin
On 6 February 2017 at 19:05, <evan.lloyd@arm.com> wrote:
> From: Alexei <Alexei.Fedorov@arm.com>
>
> "ARM Generic Watchdog base addresses must be declared as UINT64 values"
> https://bugzilla.tianocore.org/show_bug.cgi?id=361
>
> PcdGenericWatchdogControlBase & PcdGenericWatchdogRefreshBase
> are declared as UINT32 values in ArmPkg.dec, but for platforms
> with addresses in the memory range above 4GB this causes build
> error F000: Too large PCD value for datum type [UINT32]
> of PCD gArmTokenSpaceGuid.PcdGenericWatchdogControlBase
>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Alexei Fedorov <alexei.fedorov@arm.com>
> Signed-off-by: Evan Lloyd <evan.lloyd@arm.com>
Applied, thanks.
> ---
> ArmPkg/ArmPkg.dec | 6 +++---
> ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdog.h | 10 +++++-----
> 2 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/ArmPkg/ArmPkg.dec b/ArmPkg/ArmPkg.dec
> index 090ed99513669e32aee2f083e1dcf8327be40842..8e9cf199becc65a9f6fe08e2d5b216bc2af4c31d 100644
> --- a/ArmPkg/ArmPkg.dec
> +++ b/ArmPkg/ArmPkg.dec
> @@ -2,7 +2,7 @@
> # ARM processor package.
> #
> # Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>
> -# Copyright (c) 2011 - 2015, ARM Limited. All rights reserved.
> +# Copyright (c) 2011 - 2017, ARM Limited. All rights reserved.
> #
> # This program and the accompanying materials
> # are licensed and made available under the terms and conditions of the BSD License
> @@ -252,8 +252,8 @@ [PcdsFixedAtBuild.common, PcdsDynamic.common]
> # ARM Generic Watchdog
> #
>
> - gArmTokenSpaceGuid.PcdGenericWatchdogControlBase|0x2A440000|UINT32|0x00000007
> - gArmTokenSpaceGuid.PcdGenericWatchdogRefreshBase|0x2A450000|UINT32|0x00000008
> + gArmTokenSpaceGuid.PcdGenericWatchdogControlBase|0x2A440000|UINT64|0x00000007
> + gArmTokenSpaceGuid.PcdGenericWatchdogRefreshBase|0x2A450000|UINT64|0x00000008
> gArmTokenSpaceGuid.PcdGenericWatchdogEl2IntrNum|93|UINT32|0x00000009
>
> #
> diff --git a/ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdog.h b/ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdog.h
> index 578fd1e85f8e11b42e546f92123fd041a2d3b153..9e2aebcfd5e557269bbc36556dbcbc8f6809aeb0 100644
> --- a/ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdog.h
> +++ b/ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdog.h
> @@ -1,6 +1,6 @@
> /** @file
> *
> -* Copyright (c) 2013-2014, ARM Limited. All rights reserved.
> +* Copyright (c) 2013-2017, ARM Limited. All rights reserved.
> *
> * This program and the accompanying materials
> * are licensed and made available under the terms and conditions of the BSD
> @@ -15,12 +15,12 @@
> #define __GENERIC_WATCHDOG_H__
>
> // Refresh Frame:
> -#define GENERIC_WDOG_REFRESH_REG ((UINT32)FixedPcdGet32 (PcdGenericWatchdogRefreshBase) + 0x000)
> +#define GENERIC_WDOG_REFRESH_REG ((UINTN)FixedPcdGet64 (PcdGenericWatchdogRefreshBase) + 0x000)
>
> // Control Frame:
> -#define GENERIC_WDOG_CONTROL_STATUS_REG ((UINT32)FixedPcdGet32 (PcdGenericWatchdogControlBase) + 0x000)
> -#define GENERIC_WDOG_OFFSET_REG ((UINT32)FixedPcdGet32 (PcdGenericWatchdogControlBase) + 0x008)
> -#define GENERIC_WDOG_COMPARE_VALUE_REG ((UINT32)FixedPcdGet32 (PcdGenericWatchdogControlBase) + 0x010)
> +#define GENERIC_WDOG_CONTROL_STATUS_REG ((UINTN)FixedPcdGet64 (PcdGenericWatchdogControlBase) + 0x000)
> +#define GENERIC_WDOG_OFFSET_REG ((UINTN)FixedPcdGet64 (PcdGenericWatchdogControlBase) + 0x008)
> +#define GENERIC_WDOG_COMPARE_VALUE_REG ((UINTN)FixedPcdGet64 (PcdGenericWatchdogControlBase) + 0x010)
>
> // Values of bit 0 of the Control/Status Register
> #define GENERIC_WDOG_ENABLED 1
> --
> Guid("CE165669-3EF3-493F-B85D-6190EE5B9759")
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-02-07 8:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-06 19:05 [PATCH] ArmPkg: Bug #361 fix Watchdog PCDs evan.lloyd
2017-02-07 8:41 ` Ard Biesheuvel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox