public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Marcin Wojtas <mw@semihalf.com>
To: edk2-devel@lists.01.org
Cc: leif.lindholm@linaro.org, ard.biesheuvel@linaro.org,
	nadavh@marvell.com, neta@marvell.com, kostap@marvell.com,
	jinghua@marvell.com, mw@semihalf.com, jsd@semihalf.com
Subject: [platforms: PATCH v2 07/12] Marvell/Armada: Ensure GICC frames adjacency
Date: Wed, 11 Oct 2017 12:15:34 +0200	[thread overview]
Message-ID: <1507716939-31798-8-git-send-email-mw@semihalf.com> (raw)
In-Reply-To: <1507716939-31798-1-git-send-email-mw@semihalf.com>

From: Ard Biesheuvel <ard.biesheuvel@linaro.org>

The GIC architecture mandates that the CPU interface, which consists
of 2 consecutive 4 KB frames, can be mapped using separate mappings.
Since this is problematic on 64 KB pages, the MMU-400 aliases each
frame 16 times, and the two consecutive frames can be found at offset
0xf000.

Therefore use the last alias from the first series of aliases as the
base address, so that the first frame from the second series becomes
directly adjacent, whilst remaining covered by a separate 64KB page.

This patch is intended to expose correct GICC alias via
MADT, once ACPI support is added.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Marcin Wojtas <mw@semihalf.com>
---
 Platform/Marvell/Armada/Armada.dsc.inc | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/Platform/Marvell/Armada/Armada.dsc.inc b/Platform/Marvell/Armada/Armada.dsc.inc
index 5071bd5..bd2336f 100644
--- a/Platform/Marvell/Armada/Armada.dsc.inc
+++ b/Platform/Marvell/Armada/Armada.dsc.inc
@@ -263,7 +263,14 @@
 
   # ARM Generic Interrupt Controller
   gArmTokenSpaceGuid.PcdGicDistributorBase|0xF0210000
-  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0xF0220000
+
+  #
+  # NOTE: the GIC architecture mandates that the CPU interface, which consists
+  # of 2 consecutive 4 KB frames, can be mapped using separate mappings.
+  # Since this is problematic on 64 KB pages, the MMU-400 aliases each frame
+  # 16 times, and the two consecutive frames can be found at offset 0xf000
+  #
+  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0xF022F000
 
   # ARM Architectural Timer Support
   gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|25000000
-- 
2.7.4



  parent reply	other threads:[~2017-10-11 10:12 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-11 10:15 [platforms: PATCH v2 00/12] Armada 7k/8k - misc improvements Marcin Wojtas
2017-10-11 10:15 ` [platforms: PATCH v2 01/12] Marvell/Armada: Introduce platform initialization driver Marcin Wojtas
2017-10-11 10:15 ` [platforms: PATCH v2 02/12] Marvell/Armada: Switch to dynamic PCDs Marcin Wojtas
2017-10-11 10:15 ` [platforms: PATCH v2 03/12] Marvell/Armada: Armada70x0Lib: Terminate call stack list at entry Marcin Wojtas
2017-10-11 10:15 ` [platforms: PATCH v2 04/12] Marvell/Armada: Use 4k/64k aligned sections for DXE/DXE-rt modules Marcin Wojtas
2017-10-11 10:15 ` [platforms: PATCH v2 05/12] Marvell/Armada: Switch to generic BDS Marcin Wojtas
2017-10-11 10:15 ` [platforms: PATCH v2 06/12] Marvell/Armada: Re-enable driver model diagnostics PCDs Marcin Wojtas
2017-10-11 10:15 ` Marcin Wojtas [this message]
2017-10-11 10:15 ` [platforms: PATCH v2 08/12] Marvell/Armada: Disable PerformanceLibrary Marcin Wojtas
2017-10-11 10:15 ` [platforms: PATCH v2 09/12] Marvell/Armada: Switch to unicore PrePi Marcin Wojtas
2017-10-11 10:15 ` [platforms: PATCH v2 10/12] Marvell/Armada: Remove outdated SEC alignment override Marcin Wojtas
2017-10-11 10:15 ` [platforms: PATCH v2 11/12] Marvell/Armada: Add the UefiPxeBcDxe driver Marcin Wojtas
2017-10-11 10:15 ` [platforms: PATCH v2 12/12] Marvell/Documentation: Follow EDK2 coding style in the PortingGuide Marcin Wojtas
2017-10-11 11:38 ` [platforms: PATCH v2 00/12] Armada 7k/8k - misc improvements Leif Lindholm
2017-10-11 11:46   ` Marcin Wojtas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1507716939-31798-8-git-send-email-mw@semihalf.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox