Patch in attachment is a minimalist copy of Cortex M3 code to be able to create a Cortex A8 target and use it for our OMAP3 investigation (*).

Idea is to extend this step by step with increasing knowledge.

Many thanks to Magnus for all the help with OMAP3!

Best regards

Dirk

(*) Commands that work with this e.g.:

-- cut --
> jtag tapenable omap3.cpu
Enabling Cortex-A8 @ OMAP3
Cortex-A8 @ OMAP3 enabled
1
> target create omap3.cpu cortex_a8 -endian little -chain-position omap3.cpu

> targets
    CmdName    Type       Endian     AbsChainPos Name          State
--  ---------- ---------- ---------- ----------- ------------- ----------
 0: omap3.cpu  cortex_a8  little              0      omap3.cpu unknown

> dap apsel 1
ap 1 selected, identification register 0x04770002

> omap3.cpu mdw 0x54011d00
0x54011d00 411fc082                            ...A

> dap info 1
ap identification register 0x04770002
        Type is mem-ap APB
ap debugbase 0x80000000
        ROM table in legacy format
        CID3 0xb1, CID2 0x5, CID1 0x10, CID0, 0xd
        MEMTYPE system memory not present. Dedicated debug bus
        ROMTABLE[0x0] = 0xd4010003
Component base address 0x54010000, pid4 0x4, start address 0x54010000 Component cid1 0x90, class is CoreSight component CID3 0xb1, CID2 0x5, CID1 0x90, CID0, 0xd PID3 0x10, PID2 0x2b, PID1 0xb9, PID0, 0x21 ROMTABLE[0x4] = 0xd4011003 Component base address 0x54011000, pid4 0x4, start address 0x54011000 Component cid1 0x90, class is CoreSight component CID3 0xb1, CID2 0x5, CID1 0x90, CID0, 0xd PID3 0x10, PID2 0x2b, PID1 0xbc, PID0, 0x8 ROMTABLE[0x8] = 0xd4012003 Component base address 0x54012000, pid4 0x0, start address 0x54012000 Component cid1 0x90, class is CoreSight component CID3 0xb1, CID2 0x5, CID1 0x90, CID0, 0xd PID3 0x0, PID2 0x9, PID1 0x71, PID0, 0x13 ROMTABLE[0xc] = 0xd4013002 Component not present ROMTABLE[0x10] = 0xd4019003 Component base address 0x54019000, pid4 0x4, start address 0x54019000
                Component cid1 0x90, class is CoreSight component
                CID3 0xb1, CID2 0x5, CID1 0x90, CID0, 0xd
                PID3 0x0, PID2 0x1b, PID1 0xb9, PID0, 0x12
        ROMTABLE[0x14] = 0xd401b003
Component base address 0x5401b000, pid4 0x4, start address 0x5401b000
                Component cid1 0x90, class is CoreSight component
                CID3 0xb1, CID2 0x5, CID1 0x90, CID0, 0xd
                PID3 0x0, PID2 0xb, PID1 0xb9, PID0, 0x7
        ROMTABLE[0x18] = 0xd401d003
Component base address 0x5401d000, pid4 0x0, start address 0x5401d000
                Component cid1 0xf0, class is Non standard layout
                CID3 0xb1, CID2 0x5, CID1 0xf0, CID0, 0xd
                PID3 0x0, PID2 0x9, PID1 0x73, PID0, 0x43
        ROMTABLE[0x1c] = 0xd4500003
Component base address 0x54500000, pid4 0x0, start address 0x54500000
                Component cid1 0x90, class is CoreSight component
                CID3 0xb1, CID2 0x5, CID1 0x90, CID0, 0xd
                PID3 0x0, PID2 0x19, PID1 0x71, PID0, 0x20
        ROMTABLE[0x20] = 0x0
                End of ROM table
-- cut --
Add minimalist Cortex A8 file.

Signed-off-by: Dirk Behme <dirk.be...@googlemail.com>

---
 src/target/Makefile.am |    4 
 src/target/Makefile.in |   17 +--
 src/target/cortex_a8.c |  273 +++++++++++++++++++++++++++++++++++++++++++++++++
 src/target/cortex_a8.h |   99 +++++++++++++++++
 src/target/target.c    |    4 
 5 files changed, 386 insertions(+), 11 deletions(-)

Index: trunk/src/target/cortex_a8.c
===================================================================
--- /dev/null
+++ trunk/src/target/cortex_a8.c
@@ -0,0 +1,273 @@
+/***************************************************************************
+ *   Copyright (C) 2005 by Dominic Rath                                    *
+ *   dominic.r...@gmx.de                                                   *
+ *                                                                         *
+ *   Copyright (C) 2006 by Magnus Lundin                                   *
+ *   lun...@mlu.mine.nu                                                    *
+ *                                                                         *
+ *   Copyright (C) 2008 by Spencer Oliver                                  *
+ *   s...@spen-soft.co.uk                                                  *
+ *                                                                         *
+ *   Copyright (C) 2009 by Dirk Behme                                      *
+ *   dirk.be...@gmail.com - copy from cortex_m3                            *
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   This program is distributed in the hope that it will be useful,       *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
+ *   GNU General Public License for more details.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program; if not, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *                                                                         *
+ *   Cortex-A8(tm) TRM, ARM DDI 0344H                                      *
+ *                                                                         *
+ ***************************************************************************/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "replacements.h"
+
+#include "cortex_a8.h"
+#include "armv7m.h"
+
+#include "register.h"
+#include "target.h"
+#include "target_request.h"
+#include "log.h"
+#include "jtag.h"
+#include "arm_jtag.h"
+
+#include <stdlib.h>
+#include <string.h>
+
+/* cli handling */
+int cortex_a8_register_commands(struct command_context_s *cmd_ctx);
+
+/* forward declarations */
+int cortex_a8_target_create(struct target_s *target, Jim_Interp *interp);
+
+target_type_t cortexa8_target =
+{
+       .name = "cortex_a8",
+
+       .poll = NULL,
+       .arch_state = armv7m_arch_state,
+
+       .target_request_data = NULL,
+
+       .halt = NULL,
+       .resume = NULL,
+       .step = NULL,
+
+       .assert_reset = NULL,
+       .deassert_reset = NULL,
+       .soft_reset_halt = NULL,
+
+       .get_gdb_reg_list = armv7m_get_gdb_reg_list,
+
+       .read_memory = cortex_a8_read_memory,
+       .write_memory = cortex_a8_write_memory,
+       .bulk_write_memory = NULL,
+       .checksum_memory = NULL,
+       .blank_check_memory = NULL,
+
+       .run_algorithm = armv7m_run_algorithm,
+
+       .add_breakpoint = NULL,
+       .remove_breakpoint = NULL,
+       .add_watchpoint = NULL,
+       .remove_watchpoint = NULL,
+
+       .register_commands = cortex_a8_register_commands,
+       .target_create = cortex_a8_target_create,
+       .init_target = NULL,
+       .examine = NULL,
+       .quit = NULL
+};
+
+int cortex_a8_dcc_read(swjdp_common_t *swjdp, u8 *value, u8 *ctrl)
+{
+       u16 dcrdr;
+
+       mem_ap_read_buf_u16( swjdp, (u8*)&dcrdr, 1, DCB_DCRDR);
+       *ctrl = (u8)dcrdr;
+       *value = (u8)(dcrdr >> 8);
+
+       LOG_DEBUG("data 0x%x ctrl 0x%x", *value, *ctrl);
+
+       /* write ack back to software dcc register
+        * signify we have read data */
+       if (dcrdr & (1 << 0))
+       {
+               dcrdr = 0;
+               mem_ap_write_buf_u16( swjdp, (u8*)&dcrdr, 1, DCB_DCRDR);
+       }
+
+       return ERROR_OK;
+}
+
+int cortex_a8_read_memory(struct target_s *target, u32 address, u32 size, u32 
count, u8 *buffer)
+{
+       /* get pointers to arch-specific information */
+       armv7m_common_t *armv7m = target->arch_info;
+       swjdp_common_t *swjdp = &armv7m->swjdp_info;
+       int retval;
+
+       /* sanitize arguments */
+       if (((size != 4) && (size != 2) && (size != 1)) || (count == 0) || 
!(buffer))
+               return ERROR_INVALID_ARGUMENTS;
+
+       /* cortex_a8 handles unaligned memory access */
+
+       switch (size)
+       {
+               case 4:
+                       retval = mem_ap_read_buf_u32(swjdp, buffer, 4 * count, 
address);
+                       break;
+               case 2:
+                       retval = mem_ap_read_buf_u16(swjdp, buffer, 2 * count, 
address);
+                       break;
+               case 1:
+                       retval = mem_ap_read_buf_u8(swjdp, buffer, count, 
address);
+                       break;
+               default:
+                       LOG_ERROR("BUG: we shouldn't get here");
+                       exit(-1);
+       }
+
+       return retval;
+}
+
+int cortex_a8_write_memory(struct target_s *target, u32 address, u32 size, u32 
count, u8 *buffer)
+{
+       /* get pointers to arch-specific information */
+       armv7m_common_t *armv7m = target->arch_info;
+       swjdp_common_t *swjdp = &armv7m->swjdp_info;
+       int retval;
+
+       /* sanitize arguments */
+       if (((size != 4) && (size != 2) && (size != 1)) || (count == 0) || 
!(buffer))
+               return ERROR_INVALID_ARGUMENTS;
+
+       switch (size)
+       {
+               case 4:
+                       retval = mem_ap_write_buf_u32(swjdp, buffer, 4 * count, 
address);
+                       break;
+               case 2:
+                       retval = mem_ap_write_buf_u16(swjdp, buffer, 2 * count, 
address);
+                       break;
+               case 1:
+                       retval = mem_ap_write_buf_u8(swjdp, buffer, count, 
address);
+                       break;
+               default:
+                       LOG_ERROR("BUG: we shouldn't get here");
+                       exit(-1);
+       }
+
+       return retval;
+}
+
+int cortex_a8_handle_target_request(void *priv)
+{
+       target_t *target = priv;
+       if (!target->type->examined)
+               return ERROR_OK;
+       armv7m_common_t *armv7m = target->arch_info;
+       swjdp_common_t *swjdp = &armv7m->swjdp_info;
+
+       if (!target->dbg_msg_enabled)
+               return ERROR_OK;
+
+       if (target->state == TARGET_RUNNING)
+       {
+               u8 data;
+               u8 ctrl;
+
+               cortex_a8_dcc_read(swjdp, &data, &ctrl);
+
+               /* check if we have data */
+               if (ctrl & (1 << 0))
+               {
+                       u32 request;
+
+                       /* we assume target is quick enough */
+                       request = data;
+                       cortex_a8_dcc_read(swjdp, &data, &ctrl);
+                       request |= (data << 8);
+                       cortex_a8_dcc_read(swjdp, &data, &ctrl);
+                       request |= (data << 16);
+                       cortex_a8_dcc_read(swjdp, &data, &ctrl);
+                       request |= (data << 24);
+                       target_request(target, request);
+               }
+       }
+
+       return ERROR_OK;
+}
+
+int cortex_a8_init_arch_info(target_t *target, cortex_a8_common_t *cortex_a8, 
jtag_tap_t *tap)
+{
+       armv7m_common_t *armv7m;
+       armv7m = &cortex_a8->armv7m;
+
+       /* prepare JTAG information for the new target */
+       cortex_a8->jtag_info.tap = tap;
+       cortex_a8->jtag_info.scann_size = 4;
+
+       armv7m->swjdp_info.dp_select_value = -1;
+       armv7m->swjdp_info.ap_csw_value = -1;
+       armv7m->swjdp_info.ap_tar_value = -1;
+       armv7m->swjdp_info.jtag_info = &cortex_a8->jtag_info;
+
+       /* initialize arch-specific breakpoint handling */
+
+       cortex_a8->common_magic = CORTEX_A8_COMMON_MAGIC;
+       cortex_a8->arch_info = NULL;
+
+       /* register arch-specific functions */
+       armv7m->examine_debug_reason = NULL;
+
+       armv7m->pre_debug_entry = NULL;
+       armv7m->post_debug_entry = NULL;
+
+       armv7m->pre_restore_context = NULL;
+       armv7m->post_restore_context = NULL;
+
+       armv7m_init_arch_info(target, armv7m);
+       armv7m->arch_info = cortex_a8;
+       armv7m->load_core_reg_u32 = NULL;
+       armv7m->store_core_reg_u32 = NULL;
+
+       target_register_timer_callback(cortex_a8_handle_target_request, 1, 1, 
target);
+
+       return ERROR_OK;
+}
+
+int cortex_a8_target_create(struct target_s *target, Jim_Interp *interp)
+{
+       cortex_a8_common_t *cortex_a8 = calloc(1,sizeof(cortex_a8_common_t));
+
+       cortex_a8_init_arch_info(target, cortex_a8, target->tap);
+
+       return ERROR_OK;
+}
+
+int cortex_a8_register_commands(struct command_context_s *cmd_ctx)
+{
+       int retval;
+
+       retval = armv7m_register_commands(cmd_ctx);
+
+       register_command(cmd_ctx, NULL, "cortex_a8", NULL, COMMAND_ANY, 
"cortex_a8 specific commands");
+
+       return retval;
+}
Index: trunk/src/target/cortex_a8.h
===================================================================
--- /dev/null
+++ trunk/src/target/cortex_a8.h
@@ -0,0 +1,99 @@
+/***************************************************************************
+ *   Copyright (C) 2005 by Dominic Rath                                    *
+ *   dominic.r...@gmx.de                                                   *
+ *                                                                         *
+ *   Copyright (C) 2006 by Magnus Lundin                                   *
+ *   lun...@mlu.mine.nu                                                    *
+ *                                                                         *
+ *   Copyright (C) 2008 by Spencer Oliver                                  *
+ *   s...@spen-soft.co.uk                                                  *
+ *                                                                         *
+ *   Copyright (C) 2009 by Dirk Behme                                      *
+ *   dirk.be...@gmail.com - copy from cortex_m3                            *
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   This program is distributed in the hope that it will be useful,       *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
+ *   GNU General Public License for more details.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program; if not, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+#ifndef CORTEX_A8_H
+#define CORTEX_A8_H
+
+#include "register.h"
+#include "target.h"
+#include "armv7m.h"
+
+extern char* cortex_a8_state_strings[];
+
+#define CORTEX_A8_COMMON_MAGIC 0x411fc082
+
+#define CPUID          0x54011D00
+/* Debug Control Block */
+#define DCB_DHCSR      0x54011DF0
+#define DCB_DCRSR      0x54011DF4
+#define DCB_DCRDR      0x54011DF8
+#define DCB_DEMCR      0x54011DFC
+
+typedef struct  cortex_a8_fp_comparator_s
+{
+       int used;
+       int type;
+       u32 fpcr_value;
+       u32 fpcr_address;
+} cortex_a8_fp_comparator_t;
+
+typedef struct  cortex_a8_dwt_comparator_s
+{
+       int used;
+       u32 comp;
+       u32 mask;
+       u32 function;
+       u32 dwt_comparator_address;
+} cortex_a8_dwt_comparator_t;
+
+typedef struct cortex_a8_common_s
+{
+       int common_magic;
+       arm_jtag_t jtag_info;
+
+       /* Context information */
+       u32 dcb_dhcsr;
+       u32 nvic_dfsr;  /* Debug Fault Status Register - shows reason for debug 
halt */
+       u32 nvic_icsr;  /* Interrupt Control State Register - shows active and 
pending IRQ */
+
+       /* Flash Patch and Breakpoint (FPB) */
+       int fp_num_lit;
+       int fp_num_code;
+       int fp_code_available;
+       int fpb_enabled;
+       int auto_bp_type;
+       cortex_a8_fp_comparator_t *fp_comparator_list;
+
+       /* Data Watchpoint and Trace (DWT) */
+       int dwt_num_comp;
+       int dwt_comp_available;
+       cortex_a8_dwt_comparator_t *dwt_comparator_list;
+
+       /* Interrupts */
+       int intlinesnum;
+       u32 *intsetenable;
+
+       armv7m_common_t armv7m;
+       void *arch_info;
+} cortex_a8_common_t;
+
+extern int cortex_a8_init_arch_info(target_t *target, cortex_a8_common_t 
*cortex_a8, jtag_tap_t *tap);
+int cortex_a8_read_memory(struct target_s *target, u32 address, u32 size, u32 
count, u8 *buffer);
+int cortex_a8_write_memory(struct target_s *target, u32 address, u32 size, u32 
count, u8 *buffer);
+
+#endif /* CORTEX_A8_H */
Index: trunk/src/target/target.c
===================================================================
--- trunk.orig/src/target/target.c
+++ trunk/src/target/target.c
@@ -103,6 +103,7 @@ extern target_type_t arm926ejs_target;
 extern target_type_t feroceon_target;
 extern target_type_t xscale_target;
 extern target_type_t cortexm3_target;
+extern target_type_t cortexa8_target;
 extern target_type_t arm11_target;
 extern target_type_t mips_m4k_target;
 extern target_type_t avr_target;
@@ -118,6 +119,7 @@ target_type_t *target_types[] =
        &feroceon_target,
        &xscale_target,
        &cortexm3_target,
+       &cortexa8_target,
        &arm11_target,
        &mips_m4k_target,
        &avr_target,
Index: trunk/src/target/Makefile.am
===================================================================
--- trunk.orig/src/target/Makefile.am
+++ trunk/src/target/Makefile.am
@@ -11,12 +11,12 @@ AM_CPPFLAGS = -DPKGLIBDIR=\"$(pkglibdir)
 noinst_LIBRARIES = libtarget.a
 libtarget_a_SOURCES = target.c register.c breakpoints.c armv4_5.c 
embeddedice.c etm.c arm7tdmi.c arm9tdmi.c \
        arm_jtag.c arm7_9_common.c algorithm.c arm920t.c arm720t.c 
armv4_5_mmu.c armv4_5_cache.c arm_disassembler.c \
-       arm966e.c arm926ejs.c feroceon.c etb.c xscale.c arm_simulator.c image.c 
armv7m.c cortex_m3.c arm_adi_v5.c \
+       arm966e.c arm926ejs.c feroceon.c etb.c xscale.c arm_simulator.c image.c 
armv7m.c cortex_m3.c cortex_a8.c arm_adi_v5.c \
        etm_dummy.c $(OOCD_TRACE_FILES) target_request.c trace.c arm11.c 
arm11_dbgtap.c mips32.c mips_m4k.c \
        mips32_pracc.c mips32_dmaacc.c mips_ejtag.c avrt.c
 noinst_HEADERS = target.h trace.h register.h armv4_5.h embeddedice.h etm.h 
arm7tdmi.h arm9tdmi.h \
        arm_jtag.h arm7_9_common.h arm920t.h arm720t.h armv4_5_mmu.h 
armv4_5_cache.h breakpoints.h algorithm.h \
-       arm_disassembler.h arm966e.h arm926ejs.h etb.h xscale.h arm_simulator.h 
image.h armv7m.h cortex_m3.h arm_adi_v5.h \
+       arm_disassembler.h arm966e.h arm926ejs.h etb.h xscale.h arm_simulator.h 
image.h armv7m.h cortex_m3.h cortex_a8.h arm_adi_v5.h \
        etm_dummy.h oocd_trace.h target_request.h trace.h arm11.h mips32.h 
mips_m4k.h mips_ejtag.h mips32_pracc.h mips32_dmaacc.h avrt.h
 
 nobase_dist_pkglib_DATA =
Index: trunk/src/target/Makefile.in
===================================================================
--- trunk.orig/src/target/Makefile.in
+++ trunk/src/target/Makefile.in
@@ -54,7 +54,7 @@ am__libtarget_a_SOURCES_DIST = target.c
        arm7_9_common.c algorithm.c arm920t.c arm720t.c armv4_5_mmu.c \
        armv4_5_cache.c arm_disassembler.c arm966e.c arm926ejs.c \
        feroceon.c etb.c xscale.c arm_simulator.c image.c armv7m.c \
-       cortex_m3.c arm_adi_v5.c etm_dummy.c oocd_trace.c \
+       cortex_m3.c cortex_a8.c arm_adi_v5.c etm_dummy.c oocd_trace.c \
        target_request.c trace.c arm11.c arm11_dbgtap.c mips32.c \
        mips_m4k.c mips32_pracc.c mips32_dmaacc.c mips_ejtag.c avrt.c
 @oocd_trace_t...@am__objects_1 = oocd_trace.$(OBJEXT)
@@ -67,11 +67,11 @@ am_libtarget_a_OBJECTS = target.$(OBJEXT
        arm966e.$(OBJEXT) arm926ejs.$(OBJEXT) feroceon.$(OBJEXT) \
        etb.$(OBJEXT) xscale.$(OBJEXT) arm_simulator.$(OBJEXT) \
        image.$(OBJEXT) armv7m.$(OBJEXT) cortex_m3.$(OBJEXT) \
-       arm_adi_v5.$(OBJEXT) etm_dummy.$(OBJEXT) $(am__objects_1) \
-       target_request.$(OBJEXT) trace.$(OBJEXT) arm11.$(OBJEXT) \
-       arm11_dbgtap.$(OBJEXT) mips32.$(OBJEXT) mips_m4k.$(OBJEXT) \
-       mips32_pracc.$(OBJEXT) mips32_dmaacc.$(OBJEXT) \
-       mips_ejtag.$(OBJEXT) avrt.$(OBJEXT)
+       cortex_a8.$(OBJEXT) arm_adi_v5.$(OBJEXT) etm_dummy.$(OBJEXT) \
+       $(am__objects_1) target_request.$(OBJEXT) trace.$(OBJEXT) \
+       arm11.$(OBJEXT) arm11_dbgtap.$(OBJEXT) mips32.$(OBJEXT) \
+       mips_m4k.$(OBJEXT) mips32_pracc.$(OBJEXT) \
+       mips32_dmaacc.$(OBJEXT) mips_ejtag.$(OBJEXT) avrt.$(OBJEXT)
 libtarget_a_OBJECTS = $(am_libtarget_a_OBJECTS)
 DEFAULT_INCLUDES = -...@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
@@ -201,13 +201,13 @@ AM_CPPFLAGS = -DPKGLIBDIR=\"$(pkglibdir)
 noinst_LIBRARIES = libtarget.a
 libtarget_a_SOURCES = target.c register.c breakpoints.c armv4_5.c 
embeddedice.c etm.c arm7tdmi.c arm9tdmi.c \
        arm_jtag.c arm7_9_common.c algorithm.c arm920t.c arm720t.c 
armv4_5_mmu.c armv4_5_cache.c arm_disassembler.c \
-       arm966e.c arm926ejs.c feroceon.c etb.c xscale.c arm_simulator.c image.c 
armv7m.c cortex_m3.c arm_adi_v5.c \
+       arm966e.c arm926ejs.c feroceon.c etb.c xscale.c arm_simulator.c image.c 
armv7m.c cortex_m3.c cortex_a8.c arm_adi_v5.c \
        etm_dummy.c $(OOCD_TRACE_FILES) target_request.c trace.c arm11.c 
arm11_dbgtap.c mips32.c mips_m4k.c \
        mips32_pracc.c mips32_dmaacc.c mips_ejtag.c avrt.c
 
 noinst_HEADERS = target.h trace.h register.h armv4_5.h embeddedice.h etm.h 
arm7tdmi.h arm9tdmi.h \
        arm_jtag.h arm7_9_common.h arm920t.h arm720t.h armv4_5_mmu.h 
armv4_5_cache.h breakpoints.h algorithm.h \
-       arm_disassembler.h arm966e.h arm926ejs.h etb.h xscale.h arm_simulator.h 
image.h armv7m.h cortex_m3.h arm_adi_v5.h \
+       arm_disassembler.h arm966e.h arm926ejs.h etb.h xscale.h arm_simulator.h 
image.h armv7m.h cortex_m3.h cortex_a8.h arm_adi_v5.h \
        etm_dummy.h oocd_trace.h target_request.h trace.h arm11.h mips32.h 
mips_m4k.h mips_ejtag.h mips32_pracc.h mips32_dmaacc.h avrt.h
 
 # Various chip targets
@@ -287,6 +287,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/armv7m...@am__quote@
 @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/avrt...@am__quote@
 @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/breakpoints...@am__quote@
+...@amdep_true@@am__include@ @am__qu...@./$(DEPDIR)/cortex_a8...@am__quote@
 @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/cortex_m3...@am__quote@
 @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/embeddedice...@am__quote@
 @AMDEP_TRUE@@am__include@ @am__qu...@./$(DEPDIR)/etb...@am__quote@
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to