public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH 1/2] arm64: kernel: hyp-stub: drop unneeded including files
@ 2019-11-15  9:44 Peng Fan
  2019-11-15  9:45 ` [PATCH 2/2] arm64: export __hyp_stub_vectors Peng Fan
  0 siblings, 1 reply; 6+ messages in thread
From: Peng Fan @ 2019-11-15  9:44 UTC (permalink / raw)
  To: catalin.marinas@arm.com, will@kernel.org
  Cc: Peng Fan, Alice Guo, jan.kiszka@siemens.com,
	linux-kernel@vger.kernel.org, ralf.ramsauer@oth-regensburg.de,
	james.morse@arm.com, allison@lohutok.net, tglx@linutronix.de,
	linux-arm-kernel@lists.infradead.org, dl-linux-imx

From: Peng Fan <peng.fan@nxp.com>

These files are not needed to be included, so remove them.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 arch/arm64/kernel/hyp-stub.S | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/arch/arm64/kernel/hyp-stub.S b/arch/arm64/kernel/hyp-stub.S
index 73d46070b315..f17af9a39562 100644
--- a/arch/arm64/kernel/hyp-stub.S
+++ b/arch/arm64/kernel/hyp-stub.S
@@ -8,12 +8,8 @@
 
 #include <linux/init.h>
 #include <linux/linkage.h>
-#include <linux/irqchip/arm-gic-v3.h>
 
 #include <asm/assembler.h>
-#include <asm/kvm_arm.h>
-#include <asm/kvm_asm.h>
-#include <asm/ptrace.h>
 #include <asm/virt.h>
 
 	.text
-- 
2.16.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] arm64: export __hyp_stub_vectors
  2019-11-15  9:44 [PATCH 1/2] arm64: kernel: hyp-stub: drop unneeded including files Peng Fan
@ 2019-11-15  9:45 ` Peng Fan
  2019-11-15  9:58   ` Jan Kiszka
                     ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Peng Fan @ 2019-11-15  9:45 UTC (permalink / raw)
  To: catalin.marinas@arm.com, will@kernel.org
  Cc: Peng Fan, Alice Guo, jan.kiszka@siemens.com,
	linux-kernel@vger.kernel.org, ralf.ramsauer@oth-regensburg.de,
	james.morse@arm.com, allison@lohutok.net, tglx@linutronix.de,
	linux-arm-kernel@lists.infradead.org, dl-linux-imx

From: Peng Fan <peng.fan@nxp.com>

External hypervisors, like Jailhouse, need this address when they are
deactivated, in order to restore original state.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 arch/arm64/include/asm/virt.h | 2 ++
 arch/arm64/kernel/hyp-stub.S  | 1 +
 2 files changed, 3 insertions(+)

diff --git a/arch/arm64/include/asm/virt.h b/arch/arm64/include/asm/virt.h
index 0958ed6191aa..b1b48353e3b3 100644
--- a/arch/arm64/include/asm/virt.h
+++ b/arch/arm64/include/asm/virt.h
@@ -62,6 +62,8 @@
  */
 extern u32 __boot_cpu_mode[2];
 
+extern char __hyp_stub_vectors[];
+
 void __hyp_set_vectors(phys_addr_t phys_vector_base);
 void __hyp_reset_vectors(void);
 
diff --git a/arch/arm64/kernel/hyp-stub.S b/arch/arm64/kernel/hyp-stub.S
index f17af9a39562..22b728fb14bd 100644
--- a/arch/arm64/kernel/hyp-stub.S
+++ b/arch/arm64/kernel/hyp-stub.S
@@ -38,6 +38,7 @@ ENTRY(__hyp_stub_vectors)
 	ventry	el1_fiq_invalid			// FIQ 32-bit EL1
 	ventry	el1_error_invalid		// Error 32-bit EL1
 ENDPROC(__hyp_stub_vectors)
+EXPORT_SYMBOL(__hyp_stub_vectors);
 
 	.align 11
 
-- 
2.16.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] arm64: export __hyp_stub_vectors
  2019-11-15  9:45 ` [PATCH 2/2] arm64: export __hyp_stub_vectors Peng Fan
@ 2019-11-15  9:58   ` Jan Kiszka
  2019-11-15 10:05     ` Peng Fan
  2019-11-15 12:00   ` Ralf Ramsauer
  2019-11-15 12:29   ` Marc Zyngier
  2 siblings, 1 reply; 6+ messages in thread
From: Jan Kiszka @ 2019-11-15  9:58 UTC (permalink / raw)
  To: Peng Fan, catalin.marinas@arm.com, will@kernel.org
  Cc: Alice Guo, ralf.ramsauer@oth-regensburg.de,
	linux-kernel@vger.kernel.org, james.morse@arm.com,
	allison@lohutok.net, tglx@linutronix.de,
	linux-arm-kernel@lists.infradead.org, dl-linux-imx

On 15.11.19 10:45, Peng Fan wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> External hypervisors, like Jailhouse, need this address when they are
> deactivated, in order to restore original state.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
>   arch/arm64/include/asm/virt.h | 2 ++
>   arch/arm64/kernel/hyp-stub.S  | 1 +
>   2 files changed, 3 insertions(+)
> 
> diff --git a/arch/arm64/include/asm/virt.h b/arch/arm64/include/asm/virt.h
> index 0958ed6191aa..b1b48353e3b3 100644
> --- a/arch/arm64/include/asm/virt.h
> +++ b/arch/arm64/include/asm/virt.h
> @@ -62,6 +62,8 @@
>    */
>   extern u32 __boot_cpu_mode[2];
>   
> +extern char __hyp_stub_vectors[];
> +
>   void __hyp_set_vectors(phys_addr_t phys_vector_base);
>   void __hyp_reset_vectors(void);
>   
> diff --git a/arch/arm64/kernel/hyp-stub.S b/arch/arm64/kernel/hyp-stub.S
> index f17af9a39562..22b728fb14bd 100644
> --- a/arch/arm64/kernel/hyp-stub.S
> +++ b/arch/arm64/kernel/hyp-stub.S
> @@ -38,6 +38,7 @@ ENTRY(__hyp_stub_vectors)
>   	ventry	el1_fiq_invalid			// FIQ 32-bit EL1
>   	ventry	el1_error_invalid		// Error 32-bit EL1
>   ENDPROC(__hyp_stub_vectors)
> +EXPORT_SYMBOL(__hyp_stub_vectors);
>   
>   	.align 11
>   
> 

While I would not dislike to have patch-free access in Jailhouse, I'm 
not sure if an out-of-tree use case justifies this an export.

Also, this lacks the arm equivalent to be complete.

Jan

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [PATCH 2/2] arm64: export __hyp_stub_vectors
  2019-11-15  9:58   ` Jan Kiszka
@ 2019-11-15 10:05     ` Peng Fan
  0 siblings, 0 replies; 6+ messages in thread
From: Peng Fan @ 2019-11-15 10:05 UTC (permalink / raw)
  To: Jan Kiszka, catalin.marinas@arm.com, will@kernel.org
  Cc: Alice Guo, ralf.ramsauer@oth-regensburg.de,
	linux-kernel@vger.kernel.org, james.morse@arm.com,
	allison@lohutok.net, tglx@linutronix.de,
	linux-arm-kernel@lists.infradead.org, dl-linux-imx

> Subject: Re: [PATCH 2/2] arm64: export __hyp_stub_vectors
> 
> On 15.11.19 10:45, Peng Fan wrote:
> > From: Peng Fan <peng.fan@nxp.com>
> >
> > External hypervisors, like Jailhouse, need this address when they are
> > deactivated, in order to restore original state.
> >
> > Signed-off-by: Peng Fan <peng.fan@nxp.com>
> > ---
> >   arch/arm64/include/asm/virt.h | 2 ++
> >   arch/arm64/kernel/hyp-stub.S  | 1 +
> >   2 files changed, 3 insertions(+)
> >
> > diff --git a/arch/arm64/include/asm/virt.h
> > b/arch/arm64/include/asm/virt.h index 0958ed6191aa..b1b48353e3b3
> > 100644
> > --- a/arch/arm64/include/asm/virt.h
> > +++ b/arch/arm64/include/asm/virt.h
> > @@ -62,6 +62,8 @@
> >    */
> >   extern u32 __boot_cpu_mode[2];
> >
> > +extern char __hyp_stub_vectors[];
> > +
> >   void __hyp_set_vectors(phys_addr_t phys_vector_base);
> >   void __hyp_reset_vectors(void);
> >
> > diff --git a/arch/arm64/kernel/hyp-stub.S
> > b/arch/arm64/kernel/hyp-stub.S index f17af9a39562..22b728fb14bd
> 100644
> > --- a/arch/arm64/kernel/hyp-stub.S
> > +++ b/arch/arm64/kernel/hyp-stub.S
> > @@ -38,6 +38,7 @@ ENTRY(__hyp_stub_vectors)
> >   	ventry	el1_fiq_invalid			// FIQ 32-bit EL1
> >   	ventry	el1_error_invalid		// Error 32-bit EL1
> >   ENDPROC(__hyp_stub_vectors)
> > +EXPORT_SYMBOL(__hyp_stub_vectors);
> >
> >   	.align 11
> >
> >
> 
> While I would not dislike to have patch-free access in Jailhouse, I'm not sure if
> an out-of-tree use case justifies this an export.
> 
> Also, this lacks the arm equivalent to be complete.

arm and arm64 has different maintainers. If this arm64 is acceptable, I'll create
arm patch and send out.

Thanks,
Peng.

> 
> Jan
> 
> --
> Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate
> Competence Center Embedded Linux
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] arm64: export __hyp_stub_vectors
  2019-11-15  9:45 ` [PATCH 2/2] arm64: export __hyp_stub_vectors Peng Fan
  2019-11-15  9:58   ` Jan Kiszka
@ 2019-11-15 12:00   ` Ralf Ramsauer
  2019-11-15 12:29   ` Marc Zyngier
  2 siblings, 0 replies; 6+ messages in thread
From: Ralf Ramsauer @ 2019-11-15 12:00 UTC (permalink / raw)
  To: Peng Fan, catalin.marinas@arm.com, will@kernel.org
  Cc: Alice Guo, jan.kiszka@siemens.com, linux-kernel@vger.kernel.org,
	james.morse@arm.com, allison@lohutok.net, tglx@linutronix.de,
	linux-arm-kernel@lists.infradead.org, dl-linux-imx

Hi Peng,

On 11/15/19 10:45 AM, Peng Fan wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> External hypervisors, like Jailhouse, need this address when they are
> deactivated, in order to restore original state.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
>  arch/arm64/include/asm/virt.h | 2 ++
>  arch/arm64/kernel/hyp-stub.S  | 1 +
>  2 files changed, 3 insertions(+)
> 
> diff --git a/arch/arm64/include/asm/virt.h b/arch/arm64/include/asm/virt.h
> index 0958ed6191aa..b1b48353e3b3 100644
> --- a/arch/arm64/include/asm/virt.h
> +++ b/arch/arm64/include/asm/virt.h
> @@ -62,6 +62,8 @@
>   */
>  extern u32 __boot_cpu_mode[2];
>  
> +extern char __hyp_stub_vectors[];
> +

In jailhouse, we call it:

driver/main.c:extern unsigned int __hyp_stub_vectors[];


>  void __hyp_set_vectors(phys_addr_t phys_vector_base);
>  void __hyp_reset_vectors(void);
>  
> diff --git a/arch/arm64/kernel/hyp-stub.S b/arch/arm64/kernel/hyp-stub.S
> index f17af9a39562..22b728fb14bd 100644
> --- a/arch/arm64/kernel/hyp-stub.S
> +++ b/arch/arm64/kernel/hyp-stub.S
> @@ -38,6 +38,7 @@ ENTRY(__hyp_stub_vectors)
>  	ventry	el1_fiq_invalid			// FIQ 32-bit EL1
>  	ventry	el1_error_invalid		// Error 32-bit EL1
>  ENDPROC(__hyp_stub_vectors)
> +EXPORT_SYMBOL(__hyp_stub_vectors);

_GPL?

I wrote, with the same motivation, almost the same patch a while ago:

https://github.com/siemens/linux/commit/15b46bf77bdb5c6b1889f729efc3bf424ddfad9c

Back then, I had to import asm-generic/export.h. Is it now indirectly
included?

Thanks
  Ralf

>  
>  	.align 11
>  
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] arm64: export __hyp_stub_vectors
  2019-11-15  9:45 ` [PATCH 2/2] arm64: export __hyp_stub_vectors Peng Fan
  2019-11-15  9:58   ` Jan Kiszka
  2019-11-15 12:00   ` Ralf Ramsauer
@ 2019-11-15 12:29   ` Marc Zyngier
  2 siblings, 0 replies; 6+ messages in thread
From: Marc Zyngier @ 2019-11-15 12:29 UTC (permalink / raw)
  To: Peng Fan
  Cc: Alice Guo, catalin.marinas, ralf.ramsauer, linux-kernel,
	james.morse, linux-arm-kernel, jan.kiszka, tglx, will, allison,
	dl-linux-imx

On 2019-11-15 09:45, Peng Fan wrote:
> From: Peng Fan <peng.fan@nxp.com>
>
> External hypervisors, like Jailhouse, need this address when they are
> deactivated, in order to restore original state.
>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
>  arch/arm64/include/asm/virt.h | 2 ++
>  arch/arm64/kernel/hyp-stub.S  | 1 +
>  2 files changed, 3 insertions(+)
>
> diff --git a/arch/arm64/include/asm/virt.h 
> b/arch/arm64/include/asm/virt.h
> index 0958ed6191aa..b1b48353e3b3 100644
> --- a/arch/arm64/include/asm/virt.h
> +++ b/arch/arm64/include/asm/virt.h
> @@ -62,6 +62,8 @@
>   */
>  extern u32 __boot_cpu_mode[2];
>
> +extern char __hyp_stub_vectors[];
> +
>  void __hyp_set_vectors(phys_addr_t phys_vector_base);
>  void __hyp_reset_vectors(void);
>
> diff --git a/arch/arm64/kernel/hyp-stub.S 
> b/arch/arm64/kernel/hyp-stub.S
> index f17af9a39562..22b728fb14bd 100644
> --- a/arch/arm64/kernel/hyp-stub.S
> +++ b/arch/arm64/kernel/hyp-stub.S
> @@ -38,6 +38,7 @@ ENTRY(__hyp_stub_vectors)
>  	ventry	el1_fiq_invalid			// FIQ 32-bit EL1
>  	ventry	el1_error_invalid		// Error 32-bit EL1
>  ENDPROC(__hyp_stub_vectors)
> +EXPORT_SYMBOL(__hyp_stub_vectors);

NAK.

There is no in-tree users of this. If you're using jailhouse, you're
already patching your kernel, and you can carry this. Mainline doesn't
need this at all.

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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-11-15 12:30 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-11-15  9:44 [PATCH 1/2] arm64: kernel: hyp-stub: drop unneeded including files Peng Fan
2019-11-15  9:45 ` [PATCH 2/2] arm64: export __hyp_stub_vectors Peng Fan
2019-11-15  9:58   ` Jan Kiszka
2019-11-15 10:05     ` Peng Fan
2019-11-15 12:00   ` Ralf Ramsauer
2019-11-15 12:29   ` Marc Zyngier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox