more updates from Vincent Stehle:
CortexA8.xdc	Typo fix.
CortexA9.xdc	added (Derived from CortexA8.xdc)


diff --git a/src/arm/targets/CortexA8.xdc b/src/arm/targets/CortexA8.xdc
index fb58e6e..87cb0d6 100644
--- a/src/arm/targets/CortexA8.xdc
+++ b/src/arm/targets/CortexA8.xdc
@@ -8,7 +8,7 @@
 
     override readonly config string suffix  = "ea8";
 
-    override readonly config string isa     = "v7R";
+    override readonly config string isa     = "v7A";
 
     override readonly config xdc.bld.ITarget.Model model= {
 	endian: "little"
diff --git a/src/arm/targets/CortexA9.xdc b/src/arm/targets/CortexA9.xdc
new file mode 100644
index 0000000..939ad27
--- /dev/null
+++ b/src/arm/targets/CortexA9.xdc
@@ -0,0 +1,60 @@
+/*!
+ *  ======== CortexA9 ========
+ *  Experimental Cortex A9 target
+ */
+metaonly module CortexA9 inherits ITarget
+{
+    override readonly config string name    = "CortexA9";
+
+    override readonly config string suffix  = "ea9";
+
+    override readonly config string isa     = "v7A";
+
+    override readonly config xdc.bld.ITarget.Model model= {
+	endian: "little"
+    };
+
+    /*
+     *  The command used to compile C/C++ source files into object files
+     *  @p(dlist)
+     *      - `--depend`
+     *          this option is required to generate header file dependencies.
+     *          It can be removed but source files will not be remade when
+     *          headers change.
+     *
+     *      - `--depend-format=unix`
+     *          this option ensures that '/' is used even on Windows hosts
+     *          since '/' is a legit directory specifier this should result
+     *          in more portable dependencies.
+     *
+     *      - `--littleend`
+     *          force little endian compile implied by this target
+     *
+     *      - `--cpu=Cortex-A9`
+     *          Specify architecture.
+     *
+     *      - `--fpu=vfpv3`
+     *          Specify FPU.
+     */
+    override readonly config arm.targets.ITarget.Command cc = {
+        cmd: "$(rootDir)/Programs/$(VERS)/$(TARG)/armcc",
+        opts: "-c --depend=$@.dep --depend-format=unix --littleend --cpu=Cortex-A9 --fpu=vfpv3"
+    };
+
+    /*
+     *  The command used to assemble assembly source files into object files
+     *  @p(dlist)
+     *      - `--littleend`
+     *          force little endian compile implied by this target
+     *
+     *      - `--cpu=Cortex-A9`
+     *          Specify architecture.
+     *
+     *      - `--fpu=vfpv3`
+     *          Specify FPU.
+     */
+    override readonly config arm.targets.ITarget.Command asm = {
+        cmd: "$(rootDir)/Programs/$(VERS)/$(TARG)/armasm",
+        opts: "--littleend --cpu=Cortex-A9 --fpu=vfpv3"
+    };
+}
diff --git a/src/arm/targets/package.xdc b/src/arm/targets/package.xdc
index 77ca2a3..66894b1 100644
--- a/src/arm/targets/package.xdc
+++ b/src/arm/targets/package.xdc
@@ -1,4 +1,4 @@
 package arm.targets {
-    module CortexA8;
+    module CortexA8, CortexA9;
     module CortexM3;
 }