All of lore.kernel.org
 help / color / mirror / Atom feed
From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 03/18] arm64: boot protocol documentation update for GICv3
Date: Wed, 26 Feb 2014 14:37:00 +0000	[thread overview]
Message-ID: <530DFC0C.3040704@arm.com> (raw)
In-Reply-To: <20140225180658.GH23136@mudshark.cambridge.arm.com>

On 25/02/14 18:06, Will Deacon wrote:
> On Wed, Feb 05, 2014 at 01:30:35PM +0000, Marc Zyngier wrote:
>> Linux has some requirements that must be satisfied in order to boot
>> on a system built with a GICv3.
>>
>> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
>> ---
>>  Documentation/arm64/booting.txt | 7 +++++++
>>  1 file changed, 7 insertions(+)
>>
>> diff --git a/Documentation/arm64/booting.txt b/Documentation/arm64/booting.txt
>> index a9691cc..4a02ebd 100644
>> --- a/Documentation/arm64/booting.txt
>> +++ b/Documentation/arm64/booting.txt
>> @@ -131,6 +131,13 @@ Before jumping into the kernel, the following conditions must be met:
>>    the kernel image will be entered must be initialised by software at a
>>    higher exception level to prevent execution in an UNKNOWN state.
>>  
>> +  For systems with a GICv3 interrupt controller, it is expected that:
>> +  - ID_AA64PFR0_EL1.GIC (bits [27:24]) must have the value 0b0001
> 
> Since ID_AA64PFR0_EL1 is read-only at all exception levels, I don't see the
> value of this statement.

Think virtualization. A hypervisor can control reads of ID_AA64PFR0_EL1
by setting HCR_EL2.TID3, and report whatever it wants.

>> +  - If EL3 is present, it must program ICC_SRE_EL3.Enable (bit 3) to
>> +    0b1 and ICC_SRE_EL3.SRE (bit 0) to 0b1.
>> +  - If the kernel is entered at EL1, EL2 must set ICC_SRE_EL2.Enable
>> +    (bit 3) to 0b1 and ICC_SRE_EL2.SRE (bit 0) to 0b1.
> 
> Does this force the kernel to use SRE?

No. The kernel still have to explicitly set ICC_SRE_EL1.SRE to 1.

Cheers,

	M.
-- 
Jazz is not dead. It just smells funny...

  reply	other threads:[~2014-02-26 14:37 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-05 13:30 [PATCH 00/18] arm64: GICv3 support Marc Zyngier
2014-02-05 13:30 ` [PATCH 01/18] arm64: initial support for GICv3 Marc Zyngier
2014-02-07  8:59   ` Arnab Basu
2014-02-07 13:52     ` Christopher Covington
2014-02-13 15:28     ` Marc Zyngier
2014-02-17  1:19   ` Christoffer Dall
2014-02-17 16:41     ` Marc Zyngier
2014-02-17 18:10       ` Christoffer Dall
2014-02-25 18:06   ` Will Deacon
2014-02-26 12:53     ` Marc Zyngier
2014-02-27 12:07       ` Will Deacon
2014-03-15 15:22         ` Radha Mohan
2014-02-05 13:30 ` [PATCH 02/18] arm64: GICv3 device tree binding documentation Marc Zyngier
2014-02-07  5:41   ` Arnab Basu
2014-02-13 12:59     ` Marc Zyngier
2014-02-13 13:27       ` Rob Herring
2014-02-13 13:26   ` Rob Herring
2014-02-13 14:00     ` Marc Zyngier
2014-02-17  1:21   ` Christoffer Dall
2014-02-17 16:57     ` Marc Zyngier
2014-02-05 13:30 ` [PATCH 03/18] arm64: boot protocol documentation update for GICv3 Marc Zyngier
2014-02-05 15:03   ` Catalin Marinas
2014-02-25 18:06   ` Will Deacon
2014-02-26 14:37     ` Marc Zyngier [this message]
2014-02-26 15:31       ` Will Deacon
2014-02-26 15:59         ` Marc Zyngier
2014-02-26 16:01           ` Will Deacon
2014-02-05 13:30 ` [PATCH 04/18] KVM: arm/arm64: vgic: move GICv2 registers to their own structure Marc Zyngier
2014-03-04  3:32   ` Christoffer Dall
2014-02-05 13:30 ` [PATCH 05/18] KVM: ARM: vgic: introduce vgic_ops and LR manipulation primitives Marc Zyngier
2014-02-05 13:30 ` [PATCH 06/18] KVM: ARM: vgic: abstract access to the ELRSR bitmap Marc Zyngier
2014-02-05 13:30 ` [PATCH 07/18] KVM: ARM: vgic: abstract EISR bitmap access Marc Zyngier
2014-02-05 13:30 ` [PATCH 08/18] KVM: ARM: vgic: abstract MISR decoding Marc Zyngier
2014-02-05 13:30 ` [PATCH 09/18] KVM: ARM: vgic: move underflow handling to vgic_ops Marc Zyngier
2014-02-05 13:30 ` [PATCH 10/18] KVM: ARM: vgic: abstract VMCR access Marc Zyngier
2014-02-05 13:30 ` [PATCH 11/18] KVM: ARM: vgic: introduce vgic_enable Marc Zyngier
2014-02-05 13:30 ` [PATCH 12/18] KVM: ARM: introduce vgic_params structure Marc Zyngier
2014-02-05 13:30 ` [PATCH 13/18] KVM: ARM: vgic: split GICv2 backend from the main vgic code Marc Zyngier
2014-02-05 13:30 ` [PATCH 14/18] arm64: KVM: remove __kvm_hyp_code_{start, end} from hyp.S Marc Zyngier
2014-02-05 13:30 ` [PATCH 15/18] arm64: KVM: split GICv2 world switch from hyp code Marc Zyngier
2014-02-25 18:07   ` Will Deacon
2014-02-05 13:30 ` [PATCH 16/18] arm64: KVM: move hcr_el2 setting into vgic-v2-switch.S Marc Zyngier
2014-02-05 13:30 ` [PATCH 17/18] KVM: ARM: vgic: add the GICv3 backend Marc Zyngier
2014-02-25 18:07   ` Will Deacon
2014-02-26 18:18     ` Marc Zyngier
2014-02-27 12:12       ` Will Deacon
2014-02-05 13:30 ` [PATCH 18/18] arm64: KVM: vgic: add GICv3 world switch Marc Zyngier
2014-02-25 18:08   ` Will Deacon
2014-02-26 18:06     ` Marc Zyngier

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-all 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=530DFC0C.3040704@arm.com \
    --to=marc.zyngier@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.