Skip to content

Commit c8867bc

Browse files
committed
- Add initial support for ARMv8A, ARMV7R and ARMV8R
- Added core_cxx.h files for ARMv8A, ARMV7R and ARMV8R based profiles - Moved gic peripheral to separate file - Moved __FPU_Enable function to the architecture specific file - Extend core-test routines for new supported core-types
1 parent b0bbb04 commit c8867bc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+6030
-3318
lines changed

ARM.CMSIS.pdsc

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22

3-
<package schemaVersion="1.7.36" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="https://raw.githubusercontent.com/Open-CMSIS-Pack/Open-CMSIS-Pack-Spec/v1.7.36/schema/PACK.xsd">
3+
<package schemaVersion="1.7.37" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="https://raw.githubusercontent.com/Open-CMSIS-Pack/Open-CMSIS-Pack-Spec/v1.7.37/schema/PACK.xsd">
44
<name>CMSIS</name>
55
<description overview="./CMSIS/Documentation/Overview.md">CMSIS (Common Microcontroller Software Interface Standard)</description>
66
<vendor>ARM</vendor>
@@ -612,6 +612,25 @@
612612
<accept Dcore="Cortex-A7"/>
613613
<accept Dcore="Cortex-A9"/>
614614
</condition>
615+
<condition id="ARMv8-A Device">
616+
<description>Armv8-A architecture based device</description>
617+
<accept Dcore="Cortex-A35"/>
618+
<accept Dcore="Cortex-A53"/>
619+
<accept Dcore="Cortex-A55"/>
620+
<accept Dcore="Cortex-A57"/>
621+
</condition>
622+
<condition id="ARMv7_8-A Device">
623+
<description>Armv7-A and Armv8-A architecture based device</description>
624+
<accept condition="ARMv7-A Device"/>
625+
<accept condition="ARMv8-A Device"/>
626+
</condition>
627+
<condition id="ARMv7-R Device">
628+
<description>Armv7-R architecture based device</description>
629+
<accept Dcore="Cortex-R4"/>
630+
<accept Dcore="Cortex-R5"/>
631+
<accept Dcore="Cortex-R7"/>
632+
<accept Dcore="Cortex-R8"/>
633+
</condition>
615634

616635
<condition id="TrustZone">
617636
<description>TrustZone</description>
@@ -659,7 +678,7 @@
659678
</files>
660679
</component>
661680

662-
<component Cclass="CMSIS" Cgroup="CORE" Cversion="6.1.0" condition="ARMv7-A Device" >
681+
<component Cclass="CMSIS" Cgroup="CORE" Cversion="6.1.0" condition="ARMv7_8-A Device" >
663682
<description>CMSIS-CORE for Cortex-A</description>
664683
<files>
665684
<!-- CPU independent -->
@@ -668,6 +687,15 @@
668687
</files>
669688
</component>
670689

690+
<component Cclass="CMSIS" Cgroup="CORE" Cversion="6.1.0" condition="ARMv7-R Device" >
691+
<description>CMSIS-CORE for Cortex-R</description>
692+
<files>
693+
<!-- CPU independent -->
694+
<!-- <file category="doc" name="CMSIS/Documentation/html/Core_R/index.html"/> -->
695+
<file category="include" name="CMSIS/Core/Include/"/>
696+
</files>
697+
</component>
698+
671699
<!-- IRQ Controller -->
672700
<component Cclass="Device" Cgroup="IRQ Controller" Csub="GIC" Capiversion="1.0.0" Cversion="1.2.0" condition="ARMv7-A Device">
673701
<description>IRQ Controller implementation using GIC</description>

CMSIS/Core/Include/a-profile/armv7a.h

Lines changed: 2340 additions & 0 deletions
Large diffs are not rendered by default.

CMSIS/Core/Include/a-profile/cmsis_cp15.h renamed to CMSIS/Core/Include/a-profile/armv7a_cp15.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2009-2017 ARM Limited. All rights reserved.
2+
* Copyright (c) 2009-2024 ARM Limited. All rights reserved.
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*
@@ -362,10 +362,10 @@ __STATIC_FORCEINLINE uint32_t __get_CNTP_CTL(void)
362362

363363
/******************************* VIRTUAL TIMER *******************************/
364364
/** see [ARM DDI 0406C.d] :
365-
. §B4.1.31 "CNTV_CTL, Counter-timer Virtual Timer Control register"
366-
. §B4.1.32 "CNTV_CVAL, Counter-timer Virtual Timer CompareValue register"
367-
. §B4.1.33 "CNTV_TVAL, Counter-timer Virtual Timer TimerValue register"
368-
. §B4.1.34 "CNTVCT, Counter-timer Virtual Count register"
365+
* B4.1.31 "CNTV_CTL, Counter-timer Virtual Timer Control register"
366+
* B4.1.32 "CNTV_CVAL, Counter-timer Virtual Timer CompareValue register"
367+
* B4.1.33 "CNTV_TVAL, Counter-timer Virtual Timer TimerValue register"
368+
* B4.1.34 "CNTVCT, Counter-timer Virtual Count register"
369369
**/
370370
/** \brief Set CNTV_TVAL
371371
This function assigns the given value to VL1 Virtual Timer Value Register (CNTV_TVAL).

0 commit comments

Comments
 (0)