Commit Graph

9 Commits

Author SHA1 Message Date
Alex Coplan via Newlib 63a901705e 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.
2020-09-30 11:08:46 +01:00
Tamar Christina 9a7f131e0e Initialize SVE system registers.
This patch initializes the SVE system registers if available
and initializes the vector length to the maximum supported.

This is done according to the SVE specification [1].

[1] https://developer.arm.com/docs/ddi0584/latest/arm-architecture-reference-manual-supplement-the-scalable-vector-extension-sve-for-armv8-a
2018-10-31 11:14:57 +00:00
Jeff Johnston 2ec54fb1d1 Patch from Richard Earnshaw <Richard.Earnshaw@arm.com>
* aarch64/cpu-init/rdimon-aem-el3.S (cpu_init_hook): Simplify
  entry/exit sequences.  Add CFI unwind rules.
2018-08-01 14:02:56 -04:00
Corinna Vinschen 645ec39159 * aarch64/cpu-init/rdimon-aem-el3.S (flat_map): Use bic-immediate
form to clear WXN bit.
2014-01-28 11:16:19 +00:00
Jeff Johnston 0388ee3d90 2014-01-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* aarch64/cpu-init/rdimon-aem-el3.S (flat_map): Clear WXN bit
        in SCTLR_EL3. Add dsb.
2014-01-24 19:01:15 +00:00
Marcus Shawcroft 81fc3e842a [AArch64] Ensure vector table is page aligned.
2013-07-12  Marcus Shawcroft  <marcus.shawcroft@arm.com>

        * aarch64/cpu-init/rdimon-aem-el3.S (vectors): Page align.
2013-07-12 09:42:46 +00:00
Marcus Shawcroft 289a9a6d9b [AArch64] Honour CFLAGS.
2013-04-19  Yufeng Zhang  <yufeng.zhang@arm.com>

	* aarch64/Makefile.in (rdimon-crt0.o, rdimon-trap.o)
	(rdimon-_exit.o, rdimon-_kill.o, rdimon-syscalls.o)
	(rdimon-libcfunc.o): Add $(CFLAGS) to the compiler command line.
	* aarch64/cpu-init/Makefile.in (${CPU_INIT_OBJS}): Add $(CFLAGS)
	to the compiler command line.
2013-04-19 14:24:45 +00:00
Corinna Vinschen 77a74ed692 * aarch64/configure.in: Replace the direct generation of
cpu-init/Makefile.in with AC_CONFIG_SUBDIRS(cpu-init).
	* aarch64/configure: Re-generate.
	* aarch64/cpu-init/Makefile.in (objtype): Remove.
	(Makefile, config.status): Update the rules.
	* aarch64/cpu-init/aclocal.m4: New file (generated).
	* aarch64/cpu-init/configure.in: New file.
	* aarch64/cpu-init/configure: New file (generated).
2012-11-23 10:43:31 +00:00
Jeff Johnston cdf81c0c4c 2012-09-26 Ian Bolton <ian.bolton@arm.com>
Jim MacArthur  <jim.macarthur@arm.com>
        Marcus Shawcroft  <marcus.shawcroft@arm.com>
        Nigel Stephens  <nigel.stephens@arm.com>
        Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
        Richard Earnshaw  <rearnsha@arm.com>
        Sofiane Naci  <sofiane.naci@arm.com>
        Tejas Belagod  <tejas.belagod@arm.com>
        Yufeng Zhang  <yufeng.zhang@arm.com>

        * aarch64/Makefile.in: New file.
        * aarch64/_exit.c: New file.
        * aarch64/_kill.c: New file.
        * aarch64/aclocal.m4: Generated.
        * aarch64/configure: Generated.
        * aarch64/configure.in: New file.
        * aarch64/cpu-init/Makefile.in: New file.
        * aarch64/cpu-init/rdimon-aem-el3.S: New file.
        * aarch64/crt0.S: New file.
        * aarch64/elf-rdimon.specs: New file.
        * aarch64/libcfunc.c: New file.
        * aarch64/svc.h: New file.
        * aarch64/syscalls.c: New file.
        * configure.in: Add AArch64.
        * configure: Re-generated.
2012-09-26 20:11:54 +00:00