Message ID | 20240716142906.1502802-7-luca.fancellu@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add Armv8-R AArch64 support | expand |
On Tue, Jul 16, 2024 at 03:29:06PM +0100, Luca Fancellu wrote: > When bootwrapper is compiled with Xen support and it is started > at EL2 on Armv8-R AArch64, keep the current EL and jump to the > Xen image. > > Signed-off-by: Luca Fancellu <luca.fancellu@arm.com> Just to check, this requires using spin-table, right? I don't expect there to be interworking between the boot-wrapper and Xen. Mark. > --- > v2 changes: > - Don't write 1 on flag_keep_el since now the logic will jump to > reset_no_el3 and write it there. > - removed check for smc conduit when Xen is booted, change commit > message. > --- > Makefile.am | 1 + > arch/aarch64/boot.S | 2 ++ > 2 files changed, 3 insertions(+) > > diff --git a/Makefile.am b/Makefile.am > index 34fbfb1f4ff8..bafce34682c3 100644 > --- a/Makefile.am > +++ b/Makefile.am > @@ -112,6 +112,7 @@ XEN_CHOSEN := xen,xen-bootargs = \"$(XEN_CMDLINE)\"; \ > compatible = \"xen,linux-zimage\", \"xen,multiboot-module\"; \ > reg = <0x0 $(DOM0_OFFSET) 0x0 $(KERNEL_SIZE)>; \ > }; > +DEFINES += -DXEN > endif > > if INITRD > diff --git a/arch/aarch64/boot.S b/arch/aarch64/boot.S > index 2a8234f7a17d..38ed4ed48985 100644 > --- a/arch/aarch64/boot.S > +++ b/arch/aarch64/boot.S > @@ -88,6 +88,7 @@ reset_at_el2: > cmp x0, 0xf > bne reset_no_el3 > > +#if !defined(XEN) > /* > * Armv8-R AArch64 is found, check if Linux can be booted. > * Check MSA_frac, bits [55:52]: > @@ -107,6 +108,7 @@ reset_at_el2: > mov w0, #SPSR_KERNEL_EL1 > ldr x1, =spsr_to_elx > str w0, [x1] > +#endif > > bl cpu_init_armv8r_el2 > > -- > 2.34.1 >
Hi Mark, > On 23 Jul 2024, at 13:27, Mark Rutland <mark.rutland@arm.com> wrote: > > On Tue, Jul 16, 2024 at 03:29:06PM +0100, Luca Fancellu wrote: >> When bootwrapper is compiled with Xen support and it is started >> at EL2 on Armv8-R AArch64, keep the current EL and jump to the >> Xen image. >> >> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com> > > Just to check, this requires using spin-table, right? > > I don't expect there to be interworking between the boot-wrapper and > Xen. Yes Xen on Armv8-R AArch64 requires spin-table. Cheers, Luca
diff --git a/Makefile.am b/Makefile.am index 34fbfb1f4ff8..bafce34682c3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -112,6 +112,7 @@ XEN_CHOSEN := xen,xen-bootargs = \"$(XEN_CMDLINE)\"; \ compatible = \"xen,linux-zimage\", \"xen,multiboot-module\"; \ reg = <0x0 $(DOM0_OFFSET) 0x0 $(KERNEL_SIZE)>; \ }; +DEFINES += -DXEN endif if INITRD diff --git a/arch/aarch64/boot.S b/arch/aarch64/boot.S index 2a8234f7a17d..38ed4ed48985 100644 --- a/arch/aarch64/boot.S +++ b/arch/aarch64/boot.S @@ -88,6 +88,7 @@ reset_at_el2: cmp x0, 0xf bne reset_no_el3 +#if !defined(XEN) /* * Armv8-R AArch64 is found, check if Linux can be booted. * Check MSA_frac, bits [55:52]: @@ -107,6 +108,7 @@ reset_at_el2: mov w0, #SPSR_KERNEL_EL1 ldr x1, =spsr_to_elx str w0, [x1] +#endif bl cpu_init_armv8r_el2
When bootwrapper is compiled with Xen support and it is started at EL2 on Armv8-R AArch64, keep the current EL and jump to the Xen image. Signed-off-by: Luca Fancellu <luca.fancellu@arm.com> --- v2 changes: - Don't write 1 on flag_keep_el since now the logic will jump to reset_no_el3 and write it there. - removed check for smc conduit when Xen is booted, change commit message. --- Makefile.am | 1 + arch/aarch64/boot.S | 2 ++ 2 files changed, 3 insertions(+)