From: Marc Zyngier <marc.zyngier@arm.com> To: Christoffer Dall <christoffer.dall@linaro.org> Cc: Mark Rutland <marc.rutland@arm.com>, Catalin Marinas <catalin.marinas@arm.com>, kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu Subject: [PATCH 21/21] arm64: KVM: Remove weak attributes Date: Mon, 16 Nov 2015 13:11:59 +0000 [thread overview] Message-ID: <1447679519-17888-22-git-send-email-marc.zyngier@arm.com> (raw) In-Reply-To: <1447679519-17888-1-git-send-email-marc.zyngier@arm.com> As we've now switched to the new world switch implementation, remove the weak attributes, as nobody is supposed to override it anymore. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> --- arch/arm64/kvm/hyp/debug-sr.c | 5 ++--- arch/arm64/kvm/hyp/hyp-entry.S | 3 --- arch/arm64/kvm/hyp/switch.c | 5 ++--- arch/arm64/kvm/hyp/tlb.c | 16 +++++++--------- arch/arm64/kvm/hyp/vgic-v3-sr.c | 5 ++--- 5 files changed, 13 insertions(+), 21 deletions(-) diff --git a/arch/arm64/kvm/hyp/debug-sr.c b/arch/arm64/kvm/hyp/debug-sr.c index c7da3ec..f8ec964 100644 --- a/arch/arm64/kvm/hyp/debug-sr.c +++ b/arch/arm64/kvm/hyp/debug-sr.c @@ -127,10 +127,9 @@ void __hyp_text __debug_clear_restore_state(struct kvm_vcpu *vcpu, } } -u32 __hyp_text __debug_read_mdcr_el2(void) +static u32 __hyp_text __debug_read_mdcr_el2(void) { return read_sysreg(mdcr_el2); } -__alias(__debug_read_mdcr_el2) -u32 __weak __kvm_get_mdcr_el2(void); +__alias(__debug_read_mdcr_el2) u32 __kvm_get_mdcr_el2(void); diff --git a/arch/arm64/kvm/hyp/hyp-entry.S b/arch/arm64/kvm/hyp/hyp-entry.S index 28de58f..658b9af 100644 --- a/arch/arm64/kvm/hyp/hyp-entry.S +++ b/arch/arm64/kvm/hyp/hyp-entry.S @@ -175,9 +175,7 @@ ENDPROC(\label) .align 11 - .weak __kvm_hyp_vector ENTRY(__kvm_hyp_vector) -ENTRY(__hyp_vector) ventry el2t_sync_invalid // Synchronous EL2t ventry el2t_irq_invalid // IRQ EL2t ventry el2t_fiq_invalid // FIQ EL2t @@ -197,5 +195,4 @@ ENTRY(__hyp_vector) ventry el1_irq // IRQ 32-bit EL1 ventry el1_fiq_invalid // FIQ 32-bit EL1 ventry el1_error_invalid // Error 32-bit EL1 -ENDPROC(__hyp_vector) ENDPROC(__kvm_hyp_vector) diff --git a/arch/arm64/kvm/hyp/switch.c b/arch/arm64/kvm/hyp/switch.c index ef58066..a2885f5 100644 --- a/arch/arm64/kvm/hyp/switch.c +++ b/arch/arm64/kvm/hyp/switch.c @@ -84,7 +84,7 @@ static void __hyp_text __vgic_restore_state(struct kvm_vcpu *vcpu) __vgic_call_restore_state()(vcpu); } -int __hyp_text __guest_run(struct kvm_vcpu *vcpu) +static int __hyp_text __guest_run(struct kvm_vcpu *vcpu) { struct kvm_cpu_context *host_ctxt; struct kvm_cpu_context *guest_ctxt; @@ -141,8 +141,7 @@ int __hyp_text __guest_run(struct kvm_vcpu *vcpu) return exit_code; } -__alias(__guest_run) -int __weak __kvm_vcpu_run(struct kvm_vcpu *vcpu); +__alias(__guest_run) int __kvm_vcpu_run(struct kvm_vcpu *vcpu); static const char *__hyp_panic_string = "HYP panic:\nPS:%08x PC:%p ESR:%p\nFAR:%p HPFAR:%p PAR:%p\nVCPU:%p\n"; diff --git a/arch/arm64/kvm/hyp/tlb.c b/arch/arm64/kvm/hyp/tlb.c index 2c279a8..250e06c 100644 --- a/arch/arm64/kvm/hyp/tlb.c +++ b/arch/arm64/kvm/hyp/tlb.c @@ -17,7 +17,7 @@ #include "hyp.h" -void __hyp_text __tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa) +static void __hyp_text __tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa) { dsb(ishst); @@ -47,10 +47,10 @@ void __hyp_text __tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa) write_sysreg(0, vttbr_el2); } -__alias(__tlb_flush_vmid_ipa) -void __weak __kvm_tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa); +__alias(__tlb_flush_vmid_ipa) void __kvm_tlb_flush_vmid_ipa(struct kvm *kvm, + phys_addr_t ipa); -void __hyp_text __tlb_flush_vmid(struct kvm *kvm) +static void __hyp_text __tlb_flush_vmid(struct kvm *kvm) { dsb(ishst); @@ -66,10 +66,9 @@ void __hyp_text __tlb_flush_vmid(struct kvm *kvm) write_sysreg(0, vttbr_el2); } -__alias(__tlb_flush_vmid) -void __weak __kvm_tlb_flush_vmid(struct kvm *kvm); +__alias(__tlb_flush_vmid) void __kvm_tlb_flush_vmid(struct kvm *kvm); -void __hyp_text __tlb_flush_vm_context(void) +static void __hyp_text __tlb_flush_vm_context(void) { dsb(ishst); asm volatile("tlbi alle1is \n" @@ -77,5 +76,4 @@ void __hyp_text __tlb_flush_vm_context(void) dsb(ish); } -__alias(__tlb_flush_vm_context) -void __weak __kvm_flush_vm_context(void); +__alias(__tlb_flush_vm_context) void __kvm_flush_vm_context(void); diff --git a/arch/arm64/kvm/hyp/vgic-v3-sr.c b/arch/arm64/kvm/hyp/vgic-v3-sr.c index 0cf316c..9189f71 100644 --- a/arch/arm64/kvm/hyp/vgic-v3-sr.c +++ b/arch/arm64/kvm/hyp/vgic-v3-sr.c @@ -216,10 +216,9 @@ void __hyp_text __vgic_v3_restore_state(struct kvm_vcpu *vcpu) } } -u64 __hyp_text __vgic_v3_read_ich_vtr_el2(void) +static u64 __hyp_text __vgic_v3_read_ich_vtr_el2(void) { return read_gicreg(ICH_VTR_EL2); } -__alias(__vgic_v3_read_ich_vtr_el2) -u64 __weak __vgic_v3_get_ich_vtr_el2(void); +__alias(__vgic_v3_read_ich_vtr_el2) u64 __vgic_v3_get_ich_vtr_el2(void); -- 2.1.4
WARNING: multiple messages have this Message-ID (diff)
From: marc.zyngier@arm.com (Marc Zyngier) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 21/21] arm64: KVM: Remove weak attributes Date: Mon, 16 Nov 2015 13:11:59 +0000 [thread overview] Message-ID: <1447679519-17888-22-git-send-email-marc.zyngier@arm.com> (raw) In-Reply-To: <1447679519-17888-1-git-send-email-marc.zyngier@arm.com> As we've now switched to the new world switch implementation, remove the weak attributes, as nobody is supposed to override it anymore. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> --- arch/arm64/kvm/hyp/debug-sr.c | 5 ++--- arch/arm64/kvm/hyp/hyp-entry.S | 3 --- arch/arm64/kvm/hyp/switch.c | 5 ++--- arch/arm64/kvm/hyp/tlb.c | 16 +++++++--------- arch/arm64/kvm/hyp/vgic-v3-sr.c | 5 ++--- 5 files changed, 13 insertions(+), 21 deletions(-) diff --git a/arch/arm64/kvm/hyp/debug-sr.c b/arch/arm64/kvm/hyp/debug-sr.c index c7da3ec..f8ec964 100644 --- a/arch/arm64/kvm/hyp/debug-sr.c +++ b/arch/arm64/kvm/hyp/debug-sr.c @@ -127,10 +127,9 @@ void __hyp_text __debug_clear_restore_state(struct kvm_vcpu *vcpu, } } -u32 __hyp_text __debug_read_mdcr_el2(void) +static u32 __hyp_text __debug_read_mdcr_el2(void) { return read_sysreg(mdcr_el2); } -__alias(__debug_read_mdcr_el2) -u32 __weak __kvm_get_mdcr_el2(void); +__alias(__debug_read_mdcr_el2) u32 __kvm_get_mdcr_el2(void); diff --git a/arch/arm64/kvm/hyp/hyp-entry.S b/arch/arm64/kvm/hyp/hyp-entry.S index 28de58f..658b9af 100644 --- a/arch/arm64/kvm/hyp/hyp-entry.S +++ b/arch/arm64/kvm/hyp/hyp-entry.S @@ -175,9 +175,7 @@ ENDPROC(\label) .align 11 - .weak __kvm_hyp_vector ENTRY(__kvm_hyp_vector) -ENTRY(__hyp_vector) ventry el2t_sync_invalid // Synchronous EL2t ventry el2t_irq_invalid // IRQ EL2t ventry el2t_fiq_invalid // FIQ EL2t @@ -197,5 +195,4 @@ ENTRY(__hyp_vector) ventry el1_irq // IRQ 32-bit EL1 ventry el1_fiq_invalid // FIQ 32-bit EL1 ventry el1_error_invalid // Error 32-bit EL1 -ENDPROC(__hyp_vector) ENDPROC(__kvm_hyp_vector) diff --git a/arch/arm64/kvm/hyp/switch.c b/arch/arm64/kvm/hyp/switch.c index ef58066..a2885f5 100644 --- a/arch/arm64/kvm/hyp/switch.c +++ b/arch/arm64/kvm/hyp/switch.c @@ -84,7 +84,7 @@ static void __hyp_text __vgic_restore_state(struct kvm_vcpu *vcpu) __vgic_call_restore_state()(vcpu); } -int __hyp_text __guest_run(struct kvm_vcpu *vcpu) +static int __hyp_text __guest_run(struct kvm_vcpu *vcpu) { struct kvm_cpu_context *host_ctxt; struct kvm_cpu_context *guest_ctxt; @@ -141,8 +141,7 @@ int __hyp_text __guest_run(struct kvm_vcpu *vcpu) return exit_code; } -__alias(__guest_run) -int __weak __kvm_vcpu_run(struct kvm_vcpu *vcpu); +__alias(__guest_run) int __kvm_vcpu_run(struct kvm_vcpu *vcpu); static const char *__hyp_panic_string = "HYP panic:\nPS:%08x PC:%p ESR:%p\nFAR:%p HPFAR:%p PAR:%p\nVCPU:%p\n"; diff --git a/arch/arm64/kvm/hyp/tlb.c b/arch/arm64/kvm/hyp/tlb.c index 2c279a8..250e06c 100644 --- a/arch/arm64/kvm/hyp/tlb.c +++ b/arch/arm64/kvm/hyp/tlb.c @@ -17,7 +17,7 @@ #include "hyp.h" -void __hyp_text __tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa) +static void __hyp_text __tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa) { dsb(ishst); @@ -47,10 +47,10 @@ void __hyp_text __tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa) write_sysreg(0, vttbr_el2); } -__alias(__tlb_flush_vmid_ipa) -void __weak __kvm_tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa); +__alias(__tlb_flush_vmid_ipa) void __kvm_tlb_flush_vmid_ipa(struct kvm *kvm, + phys_addr_t ipa); -void __hyp_text __tlb_flush_vmid(struct kvm *kvm) +static void __hyp_text __tlb_flush_vmid(struct kvm *kvm) { dsb(ishst); @@ -66,10 +66,9 @@ void __hyp_text __tlb_flush_vmid(struct kvm *kvm) write_sysreg(0, vttbr_el2); } -__alias(__tlb_flush_vmid) -void __weak __kvm_tlb_flush_vmid(struct kvm *kvm); +__alias(__tlb_flush_vmid) void __kvm_tlb_flush_vmid(struct kvm *kvm); -void __hyp_text __tlb_flush_vm_context(void) +static void __hyp_text __tlb_flush_vm_context(void) { dsb(ishst); asm volatile("tlbi alle1is \n" @@ -77,5 +76,4 @@ void __hyp_text __tlb_flush_vm_context(void) dsb(ish); } -__alias(__tlb_flush_vm_context) -void __weak __kvm_flush_vm_context(void); +__alias(__tlb_flush_vm_context) void __kvm_flush_vm_context(void); diff --git a/arch/arm64/kvm/hyp/vgic-v3-sr.c b/arch/arm64/kvm/hyp/vgic-v3-sr.c index 0cf316c..9189f71 100644 --- a/arch/arm64/kvm/hyp/vgic-v3-sr.c +++ b/arch/arm64/kvm/hyp/vgic-v3-sr.c @@ -216,10 +216,9 @@ void __hyp_text __vgic_v3_restore_state(struct kvm_vcpu *vcpu) } } -u64 __hyp_text __vgic_v3_read_ich_vtr_el2(void) +static u64 __hyp_text __vgic_v3_read_ich_vtr_el2(void) { return read_gicreg(ICH_VTR_EL2); } -__alias(__vgic_v3_read_ich_vtr_el2) -u64 __weak __vgic_v3_get_ich_vtr_el2(void); +__alias(__vgic_v3_read_ich_vtr_el2) u64 __vgic_v3_get_ich_vtr_el2(void); -- 2.1.4
next prev parent reply other threads:[~2015-11-16 13:11 UTC|newest] Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-11-16 13:11 [PATCH 00/21] arm64: KVM: world switch in C Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 01/21] arm64: add macros to read/write system registers Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 02/21] arm64: KVM: Add a HYP-specific header file Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 03/21] arm64: KVM: Implement vgic-v2 save/restore Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-20 15:22 ` Steve Capper 2015-11-20 15:22 ` Steve Capper 2015-11-20 15:54 ` Marc Zyngier 2015-11-20 15:54 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 04/21] arm64: KVM: Implement vgic-v3 save/restore Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-20 16:48 ` Steve Capper 2015-11-20 16:48 ` Steve Capper 2015-11-20 17:41 ` Marc Zyngier 2015-11-20 17:41 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 05/21] arm64: KVM: Implement timer save/restore Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-23 10:47 ` Steve Capper 2015-11-23 10:47 ` Steve Capper 2015-11-25 8:23 ` Marc Zyngier 2015-11-25 8:23 ` Marc Zyngier 2015-11-25 8:23 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 06/21] arm64: KVM: Implement system register save/restore Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 07/21] arm64: KVM: Implement 32bit " Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 08/21] arm64: KVM: Implement debug save/restore Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 09/21] arm64: KVM: Implement guest entry Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 10/21] arm64: KVM: Add patchable function selector Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 11/21] arm64: KVM: Implement the core world switch Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-24 17:29 ` Alex Bennée 2015-11-24 17:29 ` Alex Bennée 2015-11-24 17:40 ` Marc Zyngier 2015-11-24 17:40 ` Marc Zyngier 2015-11-24 17:40 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 12/21] arm64: KVM: Implement fpsimd save/restore Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-17 11:13 ` Steve Capper 2015-11-17 11:13 ` Steve Capper 2015-11-17 11:25 ` Marc Zyngier 2015-11-17 11:25 ` Marc Zyngier 2015-11-17 11:49 ` Steve Capper 2015-11-17 11:49 ` Steve Capper 2015-11-17 11:56 ` Marc Zyngier 2015-11-17 11:56 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 13/21] arm64: KVM: Implement TLB handling Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 14/21] arm64: KVM: HYP mode entry points Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 15/21] arm64: KVM: Add panic handling Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-16 14:16 ` Mark Rutland 2015-11-16 14:16 ` Mark Rutland 2015-11-16 14:26 ` Marc Zyngier 2015-11-16 14:26 ` Marc Zyngier 2015-11-16 14:32 ` Mark Rutland 2015-11-16 14:32 ` Mark Rutland 2015-11-16 14:44 ` Marc Zyngier 2015-11-16 14:44 ` Marc Zyngier 2015-11-16 15:53 ` Ard Biesheuvel 2015-11-16 15:53 ` Ard Biesheuvel 2015-11-16 16:57 ` Marc Zyngier 2015-11-16 16:57 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 16/21] arm64: KVM: Add compatibility aliases Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 17/21] arm64: KVM: Map the kernel RO section into HYP Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-16 14:27 ` Mark Rutland 2015-11-16 14:27 ` Mark Rutland 2015-11-16 14:43 ` Marc Zyngier 2015-11-16 14:43 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 18/21] arm64: KVM: Move away from the assembly version of the world switch Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 19/21] arm64: KVM: Turn system register numbers to an enum Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-16 13:11 ` [PATCH 20/21] arm64: KVM: Cleanup asm-offset.c Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier 2015-11-16 13:11 ` Marc Zyngier [this message] 2015-11-16 13:11 ` [PATCH 21/21] arm64: KVM: Remove weak attributes 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=1447679519-17888-22-git-send-email-marc.zyngier@arm.com \ --to=marc.zyngier@arm.com \ --cc=catalin.marinas@arm.com \ --cc=christoffer.dall@linaro.org \ --cc=kvm@vger.kernel.org \ --cc=kvmarm@lists.cs.columbia.edu \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=marc.rutland@arm.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: 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.