public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] libgloss/aarch64: Add support for Armv8-R AArch64
@ 2020-09-18 14:43 Alex Coplan
  2020-09-22 12:42 ` Kyrylo Tkachov
  2020-09-29 14:06 ` Richard Earnshaw (lists)
  0 siblings, 2 replies; 6+ messages in thread
From: Alex Coplan @ 2020-09-18 14:43 UTC (permalink / raw)
  To: newlib; +Cc: Richard Earnshaw

[-- Attachment #1: Type: text/plain, Size: 817 bytes --]

Hello,

This patch adds support for Armv8-R AArch64. We update the AArch64 CPU
boot code to work on Armv8-R if __ARM_ARCH_PROFILE is set to 'R'.
Armv8-R AArch64 has no EL3, so we don't set vbar_el3, and adjust the
code to set up the MPU for Armv8-R.

We also add a specs file for use with Armv8-R AArch64 models.

Testing:
 * Ran AArch64 GCC testsuite using --with-arch=armv8-r together with the
   new specs file and boot code in an Armv8-R AArch64 model.
 * Ran newlib testsuite, no regressions.

OK for master?

Thanks,
Alex

---

2020-09-18  Alex Coplan  <alex.coplan@arm.com>

libgloss/ChangeLog:

	* aarch64/Makefile.in: Install new specs file.
	* aarch64/cpu-init/Makefile.in: Also build boot code for Armv8-R.
	* aarch64/cpu-init/rdimon-aem-el3.S: Add support for Armv8-R.
	* aarch64/elf-aem-v8-r.specs: New.

[-- Attachment #2: patch.txt --]
[-- Type: text/plain, Size: 3270 bytes --]

diff --git a/libgloss/aarch64/Makefile.in b/libgloss/aarch64/Makefile.in
index 546557e3c..b8c2ca43c 100644
--- a/libgloss/aarch64/Makefile.in
+++ b/libgloss/aarch64/Makefile.in
@@ -85,7 +85,8 @@ RDIMON_BSP	= librdimon${${MULTILIBNAME}}.a
 RDIMON_OBJS	= $(patsubst %,rdimon-%,$(OBJS))
 RDIMON_SCRIPTS	= rdimon${${MULTILIBNAME}}.specs \
 		  aem-ve${${MULTILIBNAME}}.specs \
-		  aem-validation${${MULTILIBNAME}}.specs
+		  aem-validation${${MULTILIBNAME}}.specs \
+		  aem-v8-r${${MULTILIBNAME}}.specs
 RDIMON_INSTALL	= install-rdimon
 
 CFLAGS		= -g
diff --git a/libgloss/aarch64/cpu-init/Makefile.in b/libgloss/aarch64/cpu-init/Makefile.in
index 08aa1760f..3ada50d64 100644
--- a/libgloss/aarch64/cpu-init/Makefile.in
+++ b/libgloss/aarch64/cpu-init/Makefile.in
@@ -62,7 +62,7 @@ AR = @AR@
 LD = @LD@
 RANLIB = @RANLIB@
 
-CPU_INIT_OBJS = rdimon-aem-el3.o
+CPU_INIT_OBJS = rdimon-aem-el3.o rdimon-aem-v8-r.o
 CPU_INIT_INSTALL = install-cpu-init
 
 CFLAGS		= -g
@@ -79,10 +79,15 @@ all: ${CPU_INIT_OBJS}
 .PHONY: test
 test:
 
-# Static pattern rule for assembling cpu init files to object files.
-${CPU_INIT_OBJS}: %.o: %.S
+rdimon-aem-el3.o : rdimon-aem-el3.S
 	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $<
 
+rdimon-aem-v8-r.o : rdimon-aem-el3.S
+	# Force the ACLE macro __ARM_ARCH_PROFILE='R'. This should be defined by
+	# the compiler for compilers supporting -march=armv8-r on AArch64 but we
+	# want to be able to build this code with older compilers.
+	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -D__ARM_ARCH_PROFILE=82 -o $@ -c $<
+
 clean mostlyclean:
 	rm -f a.out core *.i *.o *-test *.srec *.dis *.x
 
diff --git a/libgloss/aarch64/cpu-init/rdimon-aem-el3.S b/libgloss/aarch64/cpu-init/rdimon-aem-el3.S
index e00f0b2c8..93dcdb353 100644
--- a/libgloss/aarch64/cpu-init/rdimon-aem-el3.S
+++ b/libgloss/aarch64/cpu-init/rdimon-aem-el3.S
@@ -43,7 +43,9 @@ _init_vectors:
         /* Installs a table of exception vectors to catch and handle all
            exceptions by terminating the process with a diagnostic.  */
 	adr	x0, vectors
+#if __ARM_ARCH_PROFILE != 'R'
 	msr	vbar_el3, x0
+#endif
 	msr	vbar_el2, x0
 	msr	vbar_el1, x0
 	ret
@@ -110,6 +112,14 @@ vectors:
 	.text
 	.align 2
 _flat_map:
+#if __ARM_ARCH_PROFILE == 'R'
+	mrs	x0, sctlr_el2
+	orr	x0, x0, #1         // SCTLR_EL2.M (enable MPU)
+	orr	x0, x0, #(1 << 17) // SCTLR_EL2.BR (background regions)
+	msr	sctlr_el2, x0
+	isb
+	ret
+#else
 	/* Page table setup (identity mapping).  */
 	adrp	x0, ttb
 	add	x0, x0, :lo12:ttb
@@ -173,6 +183,7 @@ _flat_map:
        isb
 .Lnosve:
 	ret
+#endif
 
 	.data
 	.align	12
diff --git a/libgloss/aarch64/elf-aem-v8-r.specs b/libgloss/aarch64/elf-aem-v8-r.specs
new file mode 100644
index 000000000..4daeffd11
--- /dev/null
+++ b/libgloss/aarch64/elf-aem-v8-r.specs
@@ -0,0 +1,20 @@
+# elf-aem-v8-r.specs
+#
+# Spec file for AArch64 baremetal newlib, libgloss on Armv8-R with version 2 of
+# AngelAPI semi-hosting.
+
+%rename link old_link
+
+*link:
+-Ttext-segment 0x10000 %(old_link)
+
+%rename lib libc
+
+*libgloss:
+-lrdimon
+
+*lib:
+cpu-init/rdimon-aem-v8-r.o%s --start-group %(libc) %(libgloss) --end-group
+
+*startfile:
+crti%O%s crtbegin%O%s %{!pg:rdimon-crt0%O%s} %{pg:rdimon-crt0%O%s}

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

* RE: [PATCH] libgloss/aarch64: Add support for Armv8-R AArch64
  2020-09-18 14:43 [PATCH] libgloss/aarch64: Add support for Armv8-R AArch64 Alex Coplan
@ 2020-09-22 12:42 ` Kyrylo Tkachov
  2020-09-29 14:06 ` Richard Earnshaw (lists)
  1 sibling, 0 replies; 6+ messages in thread
From: Kyrylo Tkachov @ 2020-09-22 12:42 UTC (permalink / raw)
  To: Alex Coplan, newlib; +Cc: Richard Earnshaw



> -----Original Message-----
> From: Newlib <newlib-bounces@sourceware.org> On Behalf Of Alex Coplan
> Sent: 18 September 2020 15:43
> To: newlib@sourceware.org
> Cc: Richard Earnshaw <Richard.Earnshaw@arm.com>
> Subject: [PATCH] libgloss/aarch64: Add support for Armv8-R AArch64
> 
> Hello,
> 
> This patch adds support for Armv8-R AArch64. We update the AArch64 CPU
> boot code to work on Armv8-R if __ARM_ARCH_PROFILE is set to 'R'.
> Armv8-R AArch64 has no EL3, so we don't set vbar_el3, and adjust the
> code to set up the MPU for Armv8-R.
> 
> We also add a specs file for use with Armv8-R AArch64 models.
> 
> Testing:
>  * Ran AArch64 GCC testsuite using --with-arch=armv8-r together with the
>    new specs file and boot code in an Armv8-R AArch64 model.
>  * Ran newlib testsuite, no regressions.
> 
> OK for master?
> 

FWIW this looks good to me but I'm not a maintainer.
Thanks,
Kyrill

> Thanks,
> Alex
> 
> ---
> 
> 2020-09-18  Alex Coplan  <alex.coplan@arm.com>
> 
> libgloss/ChangeLog:
> 
> 	* aarch64/Makefile.in: Install new specs file.
> 	* aarch64/cpu-init/Makefile.in: Also build boot code for Armv8-R.
> 	* aarch64/cpu-init/rdimon-aem-el3.S: Add support for Armv8-R.
> 	* aarch64/elf-aem-v8-r.specs: New.

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

* Re: [PATCH] libgloss/aarch64: Add support for Armv8-R AArch64
  2020-09-18 14:43 [PATCH] libgloss/aarch64: Add support for Armv8-R AArch64 Alex Coplan
  2020-09-22 12:42 ` Kyrylo Tkachov
@ 2020-09-29 14:06 ` Richard Earnshaw (lists)
  2020-09-29 16:27   ` Alex Coplan
  1 sibling, 1 reply; 6+ messages in thread
From: Richard Earnshaw (lists) @ 2020-09-29 14:06 UTC (permalink / raw)
  To: Alex Coplan, newlib

On 18/09/2020 15:43, Alex Coplan wrote:
> Hello,
> 
> This patch adds support for Armv8-R AArch64. We update the AArch64 CPU
> boot code to work on Armv8-R if __ARM_ARCH_PROFILE is set to 'R'.
> Armv8-R AArch64 has no EL3, so we don't set vbar_el3, and adjust the
> code to set up the MPU for Armv8-R.
> 
> We also add a specs file for use with Armv8-R AArch64 models.
> 
> Testing:
>  * Ran AArch64 GCC testsuite using --with-arch=armv8-r together with the
>    new specs file and boot code in an Armv8-R AArch64 model.
>  * Ran newlib testsuite, no regressions.
> 
> OK for master?
> 
> Thanks,
> Alex
> 
> ---
> 
> 2020-09-18  Alex Coplan  <alex.coplan@arm.com>
> 
> libgloss/ChangeLog:
> 
> 	* aarch64/Makefile.in: Install new specs file.
> 	* aarch64/cpu-init/Makefile.in: Also build boot code for Armv8-R.
> 	* aarch64/cpu-init/rdimon-aem-el3.S: Add support for Armv8-R.
> 	* aarch64/elf-aem-v8-r.specs: New.
> 

The main problem I see with this is that it assumes that the compiler
being used is *not* configured for a default CPU architecture of
ARMv8-r.  If it is, then the normal rdimon-aem-el3.o file will in fact
become the same as the v8-r version, which is not really what we want.

Perhaps, rather than hacking around the __ARM_ARCH_PROFILE setting you
should just set things up to build the file twice, but with a different
conventional pre-define set each time.

R.

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

* Re: [PATCH] libgloss/aarch64: Add support for Armv8-R AArch64
  2020-09-29 14:06 ` Richard Earnshaw (lists)
@ 2020-09-29 16:27   ` Alex Coplan
  2020-09-30 10:25     ` Richard Earnshaw (lists)
  0 siblings, 1 reply; 6+ messages in thread
From: Alex Coplan @ 2020-09-29 16:27 UTC (permalink / raw)
  To: Richard Earnshaw (lists); +Cc: newlib

[-- Attachment #1: Type: text/plain, Size: 1638 bytes --]

Hi Richard,

On 29/09/2020 15:06, Richard Earnshaw (lists) wrote:
> On 18/09/2020 15:43, Alex Coplan wrote:
> > Hello,
> > 
> > This patch adds support for Armv8-R AArch64. We update the AArch64 CPU
> > boot code to work on Armv8-R if __ARM_ARCH_PROFILE is set to 'R'.
> > Armv8-R AArch64 has no EL3, so we don't set vbar_el3, and adjust the
> > code to set up the MPU for Armv8-R.
> > 
> > We also add a specs file for use with Armv8-R AArch64 models.
> > 
> > Testing:
> >  * Ran AArch64 GCC testsuite using --with-arch=armv8-r together with the
> >    new specs file and boot code in an Armv8-R AArch64 model.
> >  * Ran newlib testsuite, no regressions.
> > 
> > OK for master?
> > 
> > Thanks,
> > Alex
> > 
> > ---
> > 
> > 2020-09-18  Alex Coplan  <alex.coplan@arm.com>
> > 
> > libgloss/ChangeLog:
> > 
> > 	* aarch64/Makefile.in: Install new specs file.
> > 	* aarch64/cpu-init/Makefile.in: Also build boot code for Armv8-R.
> > 	* aarch64/cpu-init/rdimon-aem-el3.S: Add support for Armv8-R.
> > 	* aarch64/elf-aem-v8-r.specs: New.
> > 
> 
> The main problem I see with this is that it assumes that the compiler
> being used is *not* configured for a default CPU architecture of
> ARMv8-r.  If it is, then the normal rdimon-aem-el3.o file will in fact
> become the same as the v8-r version, which is not really what we want.

Good catch. Thanks for the review.

> 
> Perhaps, rather than hacking around the __ARM_ARCH_PROFILE setting you
> should just set things up to build the file twice, but with a different
> conventional pre-define set each time.
> 
> R.

Sounds sensible. Is the revised patch (attached) OK?

Thanks,
Alex

[-- Attachment #2: v2.diff --]
[-- Type: text/x-diff, Size: 3052 bytes --]

diff --git a/libgloss/aarch64/Makefile.in b/libgloss/aarch64/Makefile.in
index 546557e3c..b8c2ca43c 100644
--- a/libgloss/aarch64/Makefile.in
+++ b/libgloss/aarch64/Makefile.in
@@ -85,7 +85,8 @@ RDIMON_BSP	= librdimon${${MULTILIBNAME}}.a
 RDIMON_OBJS	= $(patsubst %,rdimon-%,$(OBJS))
 RDIMON_SCRIPTS	= rdimon${${MULTILIBNAME}}.specs \
 		  aem-ve${${MULTILIBNAME}}.specs \
-		  aem-validation${${MULTILIBNAME}}.specs
+		  aem-validation${${MULTILIBNAME}}.specs \
+		  aem-v8-r${${MULTILIBNAME}}.specs
 RDIMON_INSTALL	= install-rdimon
 
 CFLAGS		= -g
diff --git a/libgloss/aarch64/cpu-init/Makefile.in b/libgloss/aarch64/cpu-init/Makefile.in
index 08aa1760f..c96f4ee0e 100644
--- a/libgloss/aarch64/cpu-init/Makefile.in
+++ b/libgloss/aarch64/cpu-init/Makefile.in
@@ -62,7 +62,7 @@ AR = @AR@
 LD = @LD@
 RANLIB = @RANLIB@
 
-CPU_INIT_OBJS = rdimon-aem-el3.o
+CPU_INIT_OBJS = rdimon-aem-el3.o rdimon-aem-v8-r.o
 CPU_INIT_INSTALL = install-cpu-init
 
 CFLAGS		= -g
@@ -79,10 +79,12 @@ all: ${CPU_INIT_OBJS}
 .PHONY: test
 test:
 
-# Static pattern rule for assembling cpu init files to object files.
-${CPU_INIT_OBJS}: %.o: %.S
+rdimon-aem-el3.o : rdimon-aem-el3.S
 	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $<
 
+rdimon-aem-v8-r.o : rdimon-aem-el3.S
+	$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -DBUILD_FOR_R_PROFILE -o $@ -c $<
+
 clean mostlyclean:
 	rm -f a.out core *.i *.o *-test *.srec *.dis *.x
 
diff --git a/libgloss/aarch64/cpu-init/rdimon-aem-el3.S b/libgloss/aarch64/cpu-init/rdimon-aem-el3.S
index e00f0b2c8..0296a8054 100644
--- a/libgloss/aarch64/cpu-init/rdimon-aem-el3.S
+++ b/libgloss/aarch64/cpu-init/rdimon-aem-el3.S
@@ -43,7 +43,9 @@ _init_vectors:
         /* Installs a table of exception vectors to catch and handle all
            exceptions by terminating the process with a diagnostic.  */
 	adr	x0, vectors
+#ifndef BUILD_FOR_R_PROFILE
 	msr	vbar_el3, x0
+#endif
 	msr	vbar_el2, x0
 	msr	vbar_el1, x0
 	ret
@@ -110,6 +112,14 @@ vectors:
 	.text
 	.align 2
 _flat_map:
+#ifdef BUILD_FOR_R_PROFILE
+	mrs	x0, sctlr_el2
+	orr	x0, x0, #1         // SCTLR_EL2.M (enable MPU)
+	orr	x0, x0, #(1 << 17) // SCTLR_EL2.BR (background regions)
+	msr	sctlr_el2, x0
+	isb
+	ret
+#else
 	/* Page table setup (identity mapping).  */
 	adrp	x0, ttb
 	add	x0, x0, :lo12:ttb
@@ -173,6 +183,7 @@ _flat_map:
        isb
 .Lnosve:
 	ret
+#endif
 
 	.data
 	.align	12
diff --git a/libgloss/aarch64/elf-aem-v8-r.specs b/libgloss/aarch64/elf-aem-v8-r.specs
new file mode 100644
index 000000000..4daeffd11
--- /dev/null
+++ b/libgloss/aarch64/elf-aem-v8-r.specs
@@ -0,0 +1,20 @@
+# elf-aem-v8-r.specs
+#
+# Spec file for AArch64 baremetal newlib, libgloss on Armv8-R with version 2 of
+# AngelAPI semi-hosting.
+
+%rename link old_link
+
+*link:
+-Ttext-segment 0x10000 %(old_link)
+
+%rename lib libc
+
+*libgloss:
+-lrdimon
+
+*lib:
+cpu-init/rdimon-aem-v8-r.o%s --start-group %(libc) %(libgloss) --end-group
+
+*startfile:
+crti%O%s crtbegin%O%s %{!pg:rdimon-crt0%O%s} %{pg:rdimon-crt0%O%s}

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

* Re: [PATCH] libgloss/aarch64: Add support for Armv8-R AArch64
  2020-09-29 16:27   ` Alex Coplan
@ 2020-09-30 10:25     ` Richard Earnshaw (lists)
  2020-09-30 13:25       ` UNSUBSCRIBE Brian Hawley
  0 siblings, 1 reply; 6+ messages in thread
From: Richard Earnshaw (lists) @ 2020-09-30 10:25 UTC (permalink / raw)
  To: Alex Coplan; +Cc: newlib

On 29/09/2020 17:27, Alex Coplan via Newlib wrote:
> Hi Richard,
> 
> On 29/09/2020 15:06, Richard Earnshaw (lists) wrote:
>> On 18/09/2020 15:43, Alex Coplan wrote:
>>> Hello,
>>>
>>> This patch adds support for Armv8-R AArch64. We update the AArch64 CPU
>>> boot code to work on Armv8-R if __ARM_ARCH_PROFILE is set to 'R'.
>>> Armv8-R AArch64 has no EL3, so we don't set vbar_el3, and adjust the
>>> code to set up the MPU for Armv8-R.
>>>
>>> We also add a specs file for use with Armv8-R AArch64 models.
>>>
>>> Testing:
>>>  * Ran AArch64 GCC testsuite using --with-arch=armv8-r together with the
>>>    new specs file and boot code in an Armv8-R AArch64 model.
>>>  * Ran newlib testsuite, no regressions.
>>>
>>> OK for master?
>>>
>>> Thanks,
>>> Alex
>>>
>>> ---
>>>
>>> 2020-09-18  Alex Coplan  <alex.coplan@arm.com>
>>>
>>> libgloss/ChangeLog:
>>>
>>> 	* aarch64/Makefile.in: Install new specs file.
>>> 	* aarch64/cpu-init/Makefile.in: Also build boot code for Armv8-R.
>>> 	* aarch64/cpu-init/rdimon-aem-el3.S: Add support for Armv8-R.
>>> 	* aarch64/elf-aem-v8-r.specs: New.
>>>
>>
>> The main problem I see with this is that it assumes that the compiler
>> being used is *not* configured for a default CPU architecture of
>> ARMv8-r.  If it is, then the normal rdimon-aem-el3.o file will in fact
>> become the same as the v8-r version, which is not really what we want.
> 
> Good catch. Thanks for the review.
> 
>>
>> Perhaps, rather than hacking around the __ARM_ARCH_PROFILE setting you
>> should just set things up to build the file twice, but with a different
>> conventional pre-define set each time.
>>
>> R.
> 
> Sounds sensible. Is the revised patch (attached) OK?
> 
> Thanks,
> Alex
> 

Pushed.  I've used the following as the commit message (note that newlib
doesn't use ChangeLog files anymore).

    libgloss: aarch64: Add support for Armv8-R AArch64

    This patch adds support for Armv8-R AArch64.

    Armv8-R AArch64 has no EL3, so we don't set vbar_el3, and adjust the
    code to set up the MPU for Armv8-R.  So build a different flavour of the
    startup code to support that.

    We also add a specs file that uses this alternative startup code which
    can be used with Armv8-R AArch64 models.

R.

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

* UNSUBSCRIBE
  2020-09-30 10:25     ` Richard Earnshaw (lists)
@ 2020-09-30 13:25       ` Brian Hawley
  0 siblings, 0 replies; 6+ messages in thread
From: Brian Hawley @ 2020-09-30 13:25 UTC (permalink / raw)
  Cc: Richard Earnshaw (lists) via Newlib






Brian Hawley
Luminex Software, Inc.
1-951-781-4100 x112
www.luminex.com



	  Original Message  	


From: newlib@sourceware.org
Sent: September 30, 2020 3:46 AM
To: alex.coplan@arm.com
Reply-to: Richard.Earnshaw@arm.com
Cc: newlib@sourceware.org
Subject: Re: [PATCH] libgloss/aarch64: Add support for Armv8-R AArch64


On 29/09/2020 17:27, Alex Coplan via Newlib wrote:
> Hi Richard,
>
> On 29/09/2020 15:06, Richard Earnshaw (lists) wrote:
>> On 18/09/2020 15:43, Alex Coplan wrote:
>>> Hello,
>>>
>>> This patch adds support for Armv8-R AArch64. We update the AArch64 CPU
>>> boot code to work on Armv8-R if __ARM_ARCH_PROFILE is set to 'R'.
>>> Armv8-R AArch64 has no EL3, so we don't set vbar_el3, and adjust the
>>> code to set up the MPU for Armv8-R.
>>>
>>> We also add a specs file for use with Armv8-R AArch64 models.
>>>
>>> Testing:
>>>  * Ran AArch64 GCC testsuite using --with-arch=armv8-r together with the
>>>    new specs file and boot code in an Armv8-R AArch64 model.
>>>  * Ran newlib testsuite, no regressions.
>>>
>>> OK for master?
>>>
>>> Thanks,
>>> Alex
>>>
>>> ---
>>>
>>> 2020-09-18  Alex Coplan  <alex.coplan@arm.com>
>>>
>>> libgloss/ChangeLog:
>>>
>>> * aarch64/Makefile.in: Install new specs file.
>>> * aarch64/cpu-init/Makefile.in: Also build boot code for Armv8-R.
>>> * aarch64/cpu-init/rdimon-aem-el3.S: Add support for Armv8-R.
>>> * aarch64/elf-aem-v8-r.specs: New.
>>>
>>
>> The main problem I see with this is that it assumes that the compiler
>> being used is *not* configured for a default CPU architecture of
>> ARMv8-r.  If it is, then the normal rdimon-aem-el3.o file will in fact
>> become the same as the v8-r version, which is not really what we want.
>
> Good catch. Thanks for the review.
>
>>
>> Perhaps, rather than hacking around the __ARM_ARCH_PROFILE setting you
>> should just set things up to build the file twice, but with a different
>> conventional pre-define set each time.
>>
>> R.
>
> Sounds sensible. Is the revised patch (attached) OK?
>
> Thanks,
> Alex
>

Pushed.  I've used the following as the commit message (note that newlib
doesn't use ChangeLog files anymore).

    libgloss: aarch64: Add support for Armv8-R AArch64

    This patch adds support for Armv8-R AArch64.

    Armv8-R AArch64 has no EL3, so we don't set vbar_el3, and adjust the
    code to set up the MPU for Armv8-R.  So build a different flavour of the
    startup code to support that.

    We also add a specs file that uses this alternative startup code which
    can be used with Armv8-R AArch64 models.

R.



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

end of thread, other threads:[~2020-09-30 13:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-18 14:43 [PATCH] libgloss/aarch64: Add support for Armv8-R AArch64 Alex Coplan
2020-09-22 12:42 ` Kyrylo Tkachov
2020-09-29 14:06 ` Richard Earnshaw (lists)
2020-09-29 16:27   ` Alex Coplan
2020-09-30 10:25     ` Richard Earnshaw (lists)
2020-09-30 13:25       ` UNSUBSCRIBE Brian Hawley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).