RTX5: added support for Cortex-A (preliminary)
diff --git a/ARM.CMSIS.pdsc b/ARM.CMSIS.pdsc
index 5724381..7cdf8ac 100644
--- a/ARM.CMSIS.pdsc
+++ b/ARM.CMSIS.pdsc
@@ -13,6 +13,8 @@
       - Added ARM Compiler 6 support
       - Updated Cortex-A core functions
       - Updated Startup and System files 
+      CMSIS-RTOS2:
+      - RTX5: added support for Cortex-A 
     </release>
     <release version="5.0.2-dev2">
       CMSIS-RTOS2:
@@ -662,8 +664,8 @@
   <conditions>
     <!-- compiler -->
     <condition id="ARMCC6">
-	    <accept Tcompiler="ARMCC" Toptions="AC6"/>
-	    <accept Tcompiler="ARMCC" Toptions="AC6LTO"/>
+      <accept Tcompiler="ARMCC" Toptions="AC6"/>
+      <accept Tcompiler="ARMCC" Toptions="AC6LTO"/>
     </condition>
     <condition id="ARMCC">
       <require Tcompiler="ARMCC" Toptions="AC5"/>
@@ -825,7 +827,25 @@
       <require Dcore="ARMV8MML" Ddsp="DSP" Dfpu="SP_FPU"/>
     </condition>
 
+    <!-- Cortex-A Devices -->
+    <condition id="RZ_A Device">
+      <description>Renesas RZ_A Device</description>
+      <require Dvendor="Renesas:117"/>
+      <require Dfamily="RZ_A"/>
+    </condition>
+    <condition id="Unknown Cortex-A Device">
+      <description>Unknown Cortex-A Device</description>
+      <require condition="ARMv7-A Device"/>
+      <deny    condition="RZ_A Device"/>
+    </condition>
+
     <!-- ARMCC compiler -->
+    <condition id="CA_ARMCC">
+      <description>Cortex-A5, Cortex-A7 or Cortex-A9 processor based device for the ARM Compiler</description>
+      <require condition="ARMv7-A Device"/>
+      <require Tcompiler="ARMCC"/>
+    </condition>
+
     <condition id="CM0_ARMCC">
       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the ARM Compiler</description>
       <require condition="CM0"/>
@@ -1157,6 +1177,12 @@
     </condition>
 
     <!-- GCC compiler -->
+    <condition id="CA_GCC">
+      <description>Cortex-A5, Cortex-A7 or Cortex-A9 processor based device for the GCC Compiler</description>
+      <require condition="ARMv7-A Device"/>
+      <require Tcompiler="GCC"/>
+    </condition>
+
     <condition id="CM0_GCC">
       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the GCC Compiler</description>
       <require condition="CM0"/>
@@ -1488,6 +1514,12 @@
     </condition>
 
     <!-- IAR compiler -->
+    <condition id="CA_IAR">
+      <description>Cortex-A5, Cortex-A7 or Cortex-A9 processor based device for the IAR Compiler</description>
+      <require condition="ARMv7-A Device"/>
+      <require Tcompiler="IAR"/>
+    </condition>
+
     <condition id="CM0_IAR">
       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the IAR Compiler</description>
       <require condition="CM0"/>
@@ -1781,6 +1813,14 @@
     </condition>
     <condition id="RTOS2 RTX5">
       <description>Components required for RTOS2 RTX5</description>
+      <accept condition="ARMv6_7_8-M Device"/>
+      <accept condition="ARMv7-A Device"/>
+      <require condition="ARMCC GCC IAR"/>
+      <require Cclass="CMSIS"  Cgroup="CORE"/>
+      <require Cclass="Device" Cgroup="Startup"/>
+    </condition>
+    <condition id="RTOS2 RTX5 Lib">
+      <description>Components required for RTOS2 RTX5 Library</description>
       <require condition="ARMv6_7_8-M Device"/>
       <require condition="ARMCC GCC IAR"/>
       <require Cclass="CMSIS"  Cgroup="CORE"/>
@@ -2330,7 +2370,7 @@
     </component>
 
     <!-- CMSIS-RTOS2 Keil RTX5 component -->
-    <component Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cversion="5.1.1" Capiversion="2.1.0" condition="RTOS2 RTX5">
+    <component Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cversion="5.1.1" Capiversion="2.1.0" condition="RTOS2 RTX5 Lib">
       <description>CMSIS-RTOS2 RTX5 for Cortex-M, SC000, C300 and ARMv8-M (Library)</description>
       <RTE_Components_h>
         <!-- the following content goes into file 'RTE_Components.h' -->
@@ -2465,8 +2505,12 @@
         <file category="header" name="CMSIS/RTOS2/RTX/Include/rtx_os.h"/>
 
         <!-- RTX configuration -->
-        <file category="header" attr="config"   name="CMSIS/RTOS2/RTX/Config/RTX_Config.h"  version="5.1.0"/>
-        <file category="source" attr="config"   name="CMSIS/RTOS2/RTX/Config/RTX_Config.c"  version="5.1.0"/>
+        <file category="header" attr="config"   name="CMSIS/RTOS2/RTX/Config/RTX_Config.h"               version="5.1.0"/>
+        <file category="source" attr="config"   name="CMSIS/RTOS2/RTX/Config/RTX_Config.c"               version="5.1.0" condition="ARMv6_7_8-M Device" />
+        <file category="source" attr="config"   name="CMSIS/RTOS2/RTX/Config/Cortex_A/RTX_Config.c"      version="5.1.0" condition="Unknown Cortex-A Device"/>
+        <file category="source" attr="config"   name="CMSIS/RTOS2/RTX/Config/Renesas/RZ_A/RTX_Config.c"  version="5.1.0" condition="RZ_A Device"/>
+
+        <file category="source" attr="config"   name="CMSIS/RTOS2/RTX/Config/handlers.c"                 version="5.1.0" condition="ARMv7-A Device"/>
 
         <!-- RTX templates -->
         <file category="source" attr="template" name="CMSIS/RTOS2/RTX/Template/main.c"      version="2.0.0" select="CMSIS-RTOS2 'main' function"/>
@@ -2492,9 +2536,11 @@
         <file category="source" name="CMSIS/RTOS2/RTX/Source/rtx_msgqueue.c"/>
         <file category="source" name="CMSIS/RTOS2/RTX/Source/rtx_system.c"/>
         <file category="source" name="CMSIS/RTOS2/RTX/Source/rtx_evr.c"/>
+        <file category="source" name="CMSIS/RTOS2/RTX/Source/rtx_gic.c"             condition="ARMv7-A Device"/>
         <!-- RTX sources (library configuration) -->
         <file category="source" name="CMSIS/RTOS2/RTX/Source/rtx_lib.c"/>
         <!-- RTX sources (handlers ARMCC) -->
+        <file category="source" name="CMSIS/RTOS2/RTX/Source/ARM/irq_ca.s"          condition="CA_ARMCC"/>
         <file category="source" name="CMSIS/RTOS2/RTX/Source/ARM/irq_cm0.s"         condition="CM0_ARMCC"/>
         <file category="source" name="CMSIS/RTOS2/RTX/Source/ARM/irq_cm3.s"         condition="CM3_ARMCC"/>
         <file category="source" name="CMSIS/RTOS2/RTX/Source/ARM/irq_cm3.s"         condition="CM4_ARMCC"/>
@@ -2508,6 +2554,7 @@
         <file category="source" name="CMSIS/RTOS2/RTX/Source/ARM/irq_armv8mml.s"    condition="ARMv8MML_ARMCC"/>
         <file category="source" name="CMSIS/RTOS2/RTX/Source/ARM/irq_armv8mml.s"    condition="ARMv8MML_FP_ARMCC"/>
         <!-- RTX sources (handlers GCC) -->
+        <file category="source" name="CMSIS/RTOS2/RTX/Source/GCC/irq_ca.S"          condition="CA_GCC"/>
         <file category="source" name="CMSIS/RTOS2/RTX/Source/GCC/irq_cm0.S"         condition="CM0_GCC"/>
         <file category="source" name="CMSIS/RTOS2/RTX/Source/GCC/irq_cm3.S"         condition="CM3_GCC"/>
         <file category="source" name="CMSIS/RTOS2/RTX/Source/GCC/irq_cm3.S"         condition="CM4_GCC"/>
@@ -2521,6 +2568,7 @@
         <file category="source" name="CMSIS/RTOS2/RTX/Source/GCC/irq_armv8mml.S"    condition="ARMv8MML_GCC"/>
         <file category="source" name="CMSIS/RTOS2/RTX/Source/GCC/irq_armv8mml_fp.S" condition="ARMv8MML_FP_GCC"/>
         <!-- RTX sources (handlers IAR) -->
+        <file category="source" name="CMSIS/RTOS2/RTX/Source/IAR/irq_ca.s"          condition="CA_IAR"/>
         <file category="source" name="CMSIS/RTOS2/RTX/Source/IAR/irq_cm0.s"         condition="CM0_IAR"/>
         <file category="source" name="CMSIS/RTOS2/RTX/Source/IAR/irq_cm3.s"         condition="CM3_IAR"/>
         <file category="source" name="CMSIS/RTOS2/RTX/Source/IAR/irq_cm3.s"         condition="CM4_IAR"/>