From: Marc Zyngier <marc.zyngier@arm.com> To: linux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org, kvmarm@lists.cs.columbia.edu Cc: Russell King <linux@arm.linux.org.uk>, Ard Biesheuvel <ard.biesheuvel@linaro.org>, Catalin Marinas <catalin.marinas@arm.com> Subject: [PATCH v2 09/22] ARM: KVM: Convert KVM to use HVC_GET_VECTORS Date: Thu, 23 Feb 2017 10:26:44 +0000 [thread overview] Message-ID: <20170223102657.23100-10-marc.zyngier@arm.com> (raw) In-Reply-To: <20170223102657.23100-1-marc.zyngier@arm.com> The conversion of the HYP stub ABI to something similar to arm64 left the KVM code broken, as it doesn't know about the new stub numbering. Let's move the various #defines to virt.h, and let KVM use HVC_GET_VECTORS. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> --- arch/arm/include/asm/virt.h | 8 ++++++++ arch/arm/kernel/hyp-stub.S | 4 ---- arch/arm/kvm/hyp/hyp-entry.S | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/arch/arm/include/asm/virt.h b/arch/arm/include/asm/virt.h index 6dae1956c74d..4ea16fcaf2ed 100644 --- a/arch/arm/include/asm/virt.h +++ b/arch/arm/include/asm/virt.h @@ -94,6 +94,14 @@ extern char __hyp_text_start[]; extern char __hyp_text_end[]; #endif +#else + +/* Only assembly code should need those */ + +#define HVC_GET_VECTORS 0 +#define HVC_SET_VECTORS 1 +#define HVC_SOFT_RESTART 2 + #endif /* __ASSEMBLY__ */ #endif /* ! VIRT_H */ diff --git a/arch/arm/kernel/hyp-stub.S b/arch/arm/kernel/hyp-stub.S index 82915231c6f8..8301db963d83 100644 --- a/arch/arm/kernel/hyp-stub.S +++ b/arch/arm/kernel/hyp-stub.S @@ -22,10 +22,6 @@ #include <asm/assembler.h> #include <asm/virt.h> -#define HVC_GET_VECTORS 0 -#define HVC_SET_VECTORS 1 -#define HVC_SOFT_RESTART 2 - #ifndef ZIMAGE /* * For the kernel proper, we need to find out the CPU boot mode long after diff --git a/arch/arm/kvm/hyp/hyp-entry.S b/arch/arm/kvm/hyp/hyp-entry.S index 96beb53934c9..1f8db7d21fc5 100644 --- a/arch/arm/kvm/hyp/hyp-entry.S +++ b/arch/arm/kvm/hyp/hyp-entry.S @@ -127,7 +127,7 @@ hyp_hvc: pop {r0, r1, r2} /* Check for __hyp_get_vectors */ - cmp r0, #-1 + cmp r0, #HVC_GET_VECTORS mrceq p15, 4, r0, c12, c0, 0 @ get HVBAR beq 1f -- 2.11.0
WARNING: multiple messages have this Message-ID (diff)
From: marc.zyngier@arm.com (Marc Zyngier) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 09/22] ARM: KVM: Convert KVM to use HVC_GET_VECTORS Date: Thu, 23 Feb 2017 10:26:44 +0000 [thread overview] Message-ID: <20170223102657.23100-10-marc.zyngier@arm.com> (raw) In-Reply-To: <20170223102657.23100-1-marc.zyngier@arm.com> The conversion of the HYP stub ABI to something similar to arm64 left the KVM code broken, as it doesn't know about the new stub numbering. Let's move the various #defines to virt.h, and let KVM use HVC_GET_VECTORS. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> --- arch/arm/include/asm/virt.h | 8 ++++++++ arch/arm/kernel/hyp-stub.S | 4 ---- arch/arm/kvm/hyp/hyp-entry.S | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/arch/arm/include/asm/virt.h b/arch/arm/include/asm/virt.h index 6dae1956c74d..4ea16fcaf2ed 100644 --- a/arch/arm/include/asm/virt.h +++ b/arch/arm/include/asm/virt.h @@ -94,6 +94,14 @@ extern char __hyp_text_start[]; extern char __hyp_text_end[]; #endif +#else + +/* Only assembly code should need those */ + +#define HVC_GET_VECTORS 0 +#define HVC_SET_VECTORS 1 +#define HVC_SOFT_RESTART 2 + #endif /* __ASSEMBLY__ */ #endif /* ! VIRT_H */ diff --git a/arch/arm/kernel/hyp-stub.S b/arch/arm/kernel/hyp-stub.S index 82915231c6f8..8301db963d83 100644 --- a/arch/arm/kernel/hyp-stub.S +++ b/arch/arm/kernel/hyp-stub.S @@ -22,10 +22,6 @@ #include <asm/assembler.h> #include <asm/virt.h> -#define HVC_GET_VECTORS 0 -#define HVC_SET_VECTORS 1 -#define HVC_SOFT_RESTART 2 - #ifndef ZIMAGE /* * For the kernel proper, we need to find out the CPU boot mode long after diff --git a/arch/arm/kvm/hyp/hyp-entry.S b/arch/arm/kvm/hyp/hyp-entry.S index 96beb53934c9..1f8db7d21fc5 100644 --- a/arch/arm/kvm/hyp/hyp-entry.S +++ b/arch/arm/kvm/hyp/hyp-entry.S @@ -127,7 +127,7 @@ hyp_hvc: pop {r0, r1, r2} /* Check for __hyp_get_vectors */ - cmp r0, #-1 + cmp r0, #HVC_GET_VECTORS mrceq p15, 4, r0, c12, c0, 0 @ get HVBAR beq 1f -- 2.11.0
next prev parent reply other threads:[~2017-02-23 10:26 UTC|newest] Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-02-23 10:26 [PATCH v2 00/22] arm/arm64: KVM: Rework the hyp-stub API Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 01/22] arm64: hyp-stub: Implement HVC_RESET_VECTORS stub hypercall Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 02/22] arm64: KVM: " Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 03/22] arm64: KVM: Implement HVC_GET_VECTORS in the init code Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 04/22] arm64: KVM: Allow the main HYP code to use the init hyp stub implementation Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 05/22] arm64: KVM: Convert __cpu_reset_hyp_mode to using __hyp_reset_vectors Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 06/22] arm64: KVM: Implement HVC_SOFT_RESTART in the init code Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 07/22] ARM: hyp-stub: improve ABI Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 08/22] ARM: soft-reboot into same mode that we entered the kernel Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier [this message] 2017-02-23 10:26 ` [PATCH v2 09/22] ARM: KVM: Convert KVM to use HVC_GET_VECTORS Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 10/22] ARM: Update cpu_v7_reset documentation Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 11/22] ARM: hyp-stub: Use r1 for the soft-restart address Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 12/22] ARM: Expose the VA/IDMAP offset Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 13/22] ARM: hyp-stub: Implement HVC_RESET_VECTORS stub hypercall Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 14/22] ARM: KVM: " Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 15/22] ARM: KVM: Implement HVC_GET_VECTORS in the init code Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 16/22] ARM: KVM: Allow the main HYP code to use the init hyp stub implementation Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 17/22] ARM: KVM: Convert __cpu_reset_hyp_mode to using __hyp_reset_vectors Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 18/22] ARM: KVM: Implement HVC_SOFT_RESTART in the init code Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 19/22] arm/arm64: KVM: Use __hyp_reset_vectors() directly Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 20/22] arm/arm64: KVM: Remove kvm_get_idmap_start Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 21/22] arm/arm64: KVM: Use HVC_RESET_VECTORS to reinit HYP mode Marc Zyngier 2017-02-23 10:26 ` Marc Zyngier 2017-02-23 10:26 ` [PATCH v2 22/22] arm/arm64: Add hyp-stub API documentation Marc Zyngier 2017-02-23 10:26 ` 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=20170223102657.23100-10-marc.zyngier@arm.com \ --to=marc.zyngier@arm.com \ --cc=ard.biesheuvel@linaro.org \ --cc=catalin.marinas@arm.com \ --cc=kvm@vger.kernel.org \ --cc=kvmarm@lists.cs.columbia.edu \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux@arm.linux.org.uk \ /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: linkBe 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.