From: Marc Zyngier <marc.zyngier@arm.com>
To: Catalin Marinas <catalin.marinas@arm.com>
Cc: "linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"kvmarm@lists.cs.columbia.edu" <kvmarm@lists.cs.columbia.edu>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
Will Deacon <Will.Deacon@arm.com>,
"pbonzini@redhat.com" <pbonzini@redhat.com>,
"gleb@redhat.com" <gleb@redhat.com>
Subject: Re: [PATCH v4 15/32] arm64: KVM: hypervisor initialization code
Date: Tue, 21 May 2013 15:49:08 +0100 [thread overview]
Message-ID: <519B8964.3050802@arm.com> (raw)
In-Reply-To: <20130521144005.GG27002@arm.com>
On 21/05/13 15:40, Catalin Marinas wrote:
> On Tue, May 14, 2013 at 03:13:43PM +0100, Marc Zyngier wrote:
>> --- /dev/null
>> +++ b/arch/arm64/kvm/hyp-init.S
> ...
>> + .text
>> + .pushsection .hyp.idmap.text, "ax"
>> +
>> + .align 11
>> +
>> +__kvm_hyp_init:
>> + .global __kvm_hyp_init
>> +
>> +ENTRY(__kvm_hyp_init_vector)
>
> Why do you need both __kvm_hyp_init and __kvm_hyp_init_vector? You could
> drop the former.
Actually, __kvm_hyp_init is refered to by the 32/64 shared code, so I
can't get rid of it right now.
I'll remove __kvm_hyp_init_vector for the time being, as it isn't used
anywhere.
>> +__do_hyp_init:
>> +
>> + msr ttbr0_el2, x0
>> +
>> + mrs x4, tcr_el1
>> + ldr x5, =TCR_EL2_MASK
>> + and x4, x4, x5
>> + ldr x5, =TCR_EL2_FLAGS
>> + orr x4, x4, x5
>> + msr tcr_el2, x4
>> +
>> + ldr x4, =VTCR_EL2_FLAGS
>> + msr vtcr_el2, x4
>> +
>> + mrs x4, mair_el1
>> + msr mair_el2, x4
>> + isb
>> +
>> + mov x4, #SCTLR_EL2_FLAGS
>> + msr sctlr_el2, x4
>> + isb
>> +
>> + /* MMU is now enabled. Get ready for the trampoline dance */
>> + ldr x4, =TRAMPOLINE_VA
>> + adr x5, target
>> + bfi x4, x5, #0, #PAGE_SHIFT
>> + br x4
>> +
>> + nop
>
> What is this nop for?
Nothing. I thought I had it removed already. Will get rid of it for good
this time.
Thanks,
M.
--
Jazz is not dead. It just smells funny...
next prev parent reply other threads:[~2013-05-21 14:49 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-14 14:13 [PATCH v4 00/32] Port of KVM to arm64 Marc Zyngier
2013-05-14 14:13 ` [PATCH v4 01/32] arm64: KVM: define HYP and Stage-2 translation page flags Marc Zyngier
2013-05-20 14:29 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 02/32] arm64: KVM: HYP mode idmap support Marc Zyngier
2013-05-20 15:31 ` Catalin Marinas
2013-05-20 15:43 ` Marc Zyngier
2013-05-14 14:13 ` [PATCH v4 03/32] arm64: KVM: EL2 register definitions Marc Zyngier
2013-05-20 15:35 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 04/32] arm64: KVM: system register definitions for 64bit guests Marc Zyngier
2013-05-20 15:38 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 05/32] arm64: KVM: Basic ESR_EL2 helpers and vcpu register access Marc Zyngier
2013-05-20 15:41 ` Catalin Marinas
2013-05-20 15:45 ` Marc Zyngier
2013-05-14 14:13 ` [PATCH v4 06/32] arm64: KVM: fault injection into a guest Marc Zyngier
2013-05-20 15:53 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 07/32] arm64: KVM: architecture specific MMU backend Marc Zyngier
2013-05-20 15:57 ` Catalin Marinas
2013-05-20 16:17 ` Marc Zyngier
2013-05-20 16:25 ` Catalin Marinas
2013-05-20 16:27 ` Marc Zyngier
2013-05-14 14:13 ` [PATCH v4 08/32] arm64: KVM: user space interface Marc Zyngier
2013-05-20 16:01 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 09/32] arm64: KVM: system register handling Marc Zyngier
2013-05-20 16:21 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 10/32] arm64: KVM: CPU specific system registers handling Marc Zyngier
2013-05-20 16:26 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 11/32] arm64: KVM: virtual CPU reset Marc Zyngier
2013-05-20 16:27 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 12/32] arm64: KVM: kvm_arch and kvm_vcpu_arch definitions Marc Zyngier
2013-05-20 16:29 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 13/32] arm64: KVM: MMIO access backend Marc Zyngier
2013-05-21 13:19 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 14/32] arm64: KVM: guest one-reg interface Marc Zyngier
2013-05-21 14:30 ` Catalin Marinas
2013-05-21 14:36 ` Marc Zyngier
2013-05-14 14:13 ` [PATCH v4 15/32] arm64: KVM: hypervisor initialization code Marc Zyngier
2013-05-21 14:40 ` Catalin Marinas
2013-05-21 14:49 ` Marc Zyngier [this message]
2013-05-14 14:13 ` [PATCH v4 16/32] arm64: KVM: HYP mode world switch implementation Marc Zyngier
2013-05-21 15:16 ` Catalin Marinas
2013-05-21 16:43 ` Marc Zyngier
2013-05-14 14:13 ` [PATCH v4 17/32] arm64: KVM: Exit handling Marc Zyngier
2013-05-21 15:20 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 18/32] arm64: KVM: Plug the VGIC Marc Zyngier
2013-05-21 15:21 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 19/32] arm64: KVM: Plug the arch timer Marc Zyngier
2013-05-21 15:27 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 20/32] arm64: KVM: PSCI implementation Marc Zyngier
2013-05-21 15:38 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 21/32] arm64: KVM: Build system integration Marc Zyngier
2013-05-21 15:42 ` Catalin Marinas
2013-05-21 16:09 ` Paolo Bonzini
2013-05-21 16:14 ` Marc Zyngier
2013-05-22 8:42 ` Catalin Marinas
2013-05-22 8:45 ` Paolo Bonzini
2013-05-14 14:13 ` [PATCH v4 22/32] arm64: KVM: define 32bit specific registers Marc Zyngier
2013-05-23 10:46 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 23/32] arm64: KVM: 32bit GP register access Marc Zyngier
2013-05-23 10:48 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 24/32] arm64: KVM: 32bit conditional execution emulation Marc Zyngier
2013-05-23 10:53 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 25/32] arm64: KVM: 32bit handling of coprocessor traps Marc Zyngier
2013-05-23 11:00 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 26/32] arm64: KVM: CPU specific 32bit coprocessor access Marc Zyngier
2013-05-23 11:00 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 27/32] arm64: KVM: 32bit specific register world switch Marc Zyngier
2013-05-23 11:02 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 28/32] arm64: KVM: 32bit guest fault injection Marc Zyngier
2013-05-23 11:08 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 29/32] arm64: KVM: enable initialization of a 32bit vcpu Marc Zyngier
2013-05-23 11:08 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 30/32] arm64: KVM: userspace API documentation Marc Zyngier
2013-05-23 11:10 ` Catalin Marinas
2013-05-14 14:13 ` [PATCH v4 31/32] arm64: KVM: MAINTAINERS update Marc Zyngier
2013-05-21 15:44 ` Catalin Marinas
2013-05-14 14:14 ` [PATCH v4 32/32] arm64: KVM: document kernel object mappings in HYP Marc Zyngier
2013-05-23 11:12 ` Catalin Marinas
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=519B8964.3050802@arm.com \
--to=marc.zyngier@arm.com \
--cc=Will.Deacon@arm.com \
--cc=catalin.marinas@arm.com \
--cc=gleb@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=pbonzini@redhat.com \
/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