Browse Source

Remove annoying end-of-line whitespace from most src/*

files; omitted src/httpd


git-svn-id: svn://svn.berlios.de/openocd/trunk@2742 b42882b7-edfa-0310-969c-e2dbd0fdcd60
tags/v0.3.0-rc0
dbrownell 13 years ago
parent
commit
86a7d813a1
20 changed files with 183 additions and 183 deletions
  1. +3
    -3
      src/Makefile.am
  2. +23
    -23
      src/flash/ocl/at91sam7x/at91sam7x_ram.ld
  3. +46
    -46
      src/flash/ocl/at91sam7x/crt.s
  4. +8
    -8
      src/flash/ocl/at91sam7x/makefile
  5. +2
    -2
      src/helper/Makefile.am
  6. +20
    -20
      src/helper/startup.tcl
  7. +3
    -3
      src/jtag/jlink.c
  8. +14
    -14
      src/jtag/rlink/call.m4
  9. +1
    -1
      src/server/gdb_server.c
  10. +1
    -1
      src/target/Makefile.am
  11. +1
    -1
      src/target/arm11.c
  12. +3
    -3
      src/target/arm7_9_common.c
  13. +2
    -2
      src/target/arm926ejs.c
  14. +6
    -6
      src/target/breakpoints.c
  15. +4
    -4
      src/target/cortex_a8.c
  16. +7
    -7
      src/target/mips_m4k.c
  17. +1
    -1
      src/target/target.c
  18. +1
    -1
      src/target/target.h
  19. +35
    -35
      src/target/xscale/debug_handler.S
  20. +2
    -2
      src/target/xscale/debug_handler.cmd

+ 3
- 3
src/Makefile.am View File

@@ -9,7 +9,7 @@ else
MAINFILE = main.c
endif

openocd_SOURCES = $(MAINFILE)
openocd_SOURCES = $(MAINFILE)
openocd_LDADD = libopenocd.la

libopenocd_la_SOURCES = openocd.c
@@ -38,7 +38,7 @@ endif
libopenocd_la_CPPFLAGS += $(AM_CPPFLAGS) $(CPPFLAGS)

# the library search path.
libopenocd_la_LDFLAGS = $(all_libraries)
libopenocd_la_LDFLAGS = $(all_libraries)

if IS_MINGW
MINGWLDADD = -lwsock32
@@ -97,6 +97,6 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
# assumption is: You are only rebuilding the EXE.... and everything
# else is/was previously installed.
#
# use at your own risk
# use at your own risk
quick: all install-binPROGRAMS


+ 23
- 23
src/flash/ocl/at91sam7x/at91sam7x_ram.ld View File

@@ -1,30 +1,30 @@
/****************************************************************************
* Copyright (c) 2006 by Michael Fischer. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the author nor the names of its contributors may
* be used to endorse or promote products derived from this software
* 3. Neither the name of the author nor the names of its contributors may
* be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
****************************************************************************
@@ -94,11 +94,11 @@ SECTIONS
*(COMMON)
. = ALIGN(4);
PROVIDE (__bss_end = .);
. = ALIGN(256);
PROVIDE (__stack_start = .);
PROVIDE (__stack_fiq_start = .);
. += FIQ_STACK_SIZE;
. = ALIGN(4);
@@ -124,9 +124,9 @@ SECTIONS
. = ALIGN(4);
PROVIDE (__stack_svc_end = .);
PROVIDE (__stack_end = .);
PROVIDE (__heap_start = .);
PROVIDE (__heap_start = .);
} > ram
}
/*** EOF ***/


+ 46
- 46
src/flash/ocl/at91sam7x/crt.s View File

@@ -1,30 +1,30 @@
/****************************************************************************
* Copyright (c) 2006 by Michael Fischer. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the author nor the names of its contributors may
* be used to endorse or promote products derived from this software
* 3. Neither the name of the author nor the names of its contributors may
* be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
****************************************************************************
@@ -33,14 +33,14 @@
*
* 18.12.06 mifi First Version
* The hardware initialization is based on the startup file
* crtat91sam7x256_rom.S from NutOS 4.2.1.
* crtat91sam7x256_rom.S from NutOS 4.2.1.
* Therefore partial copyright by egnite Software GmbH.
****************************************************************************/

/*
* Some defines for the program status registers
*/
ARM_MODE_USER = 0x10 /* Normal User Mode */
ARM_MODE_USER = 0x10 /* Normal User Mode */
ARM_MODE_FIQ = 0x11 /* FIQ Fast Interrupts Mode */
ARM_MODE_IRQ = 0x12 /* IRQ Standard Interrupts Mode */
ARM_MODE_SVC = 0x13 /* Supervisor Interrupts Mode */
@@ -48,10 +48,10 @@
ARM_MODE_UNDEF = 0x1B /* Undefined Instructions Mode */
ARM_MODE_SYS = 0x1F /* System Running in Priviledged Operating Mode */
ARM_MODE_MASK = 0x1F
I_BIT = 0x80 /* disable IRQ when I bit is set */
F_BIT = 0x40 /* disable IRQ when I bit is set */
/*
* Register Base Address
*/
@@ -70,10 +70,10 @@
MC_BASE = 0xFFFFFF00
MC_FMR_OFF = 0x00000060
MC_FWS_1FWS = 0x00480100
.section .vectors,"ax"
.code 32
/****************************************************************************/
/* Vector table and reset entry */
/****************************************************************************/
@@ -101,7 +101,7 @@ FIQAddr: .word FIQHandler

.section .init, "ax"
.code 32
.global ResetHandler
.global ExitFunction
.extern main
@@ -116,7 +116,7 @@ ResetHandler:
ldr r0, =WDT_WDDIS
str r0, [r1, #WDT_MR_OFF]

/*
* Enable user reset: assertion length programmed to 1ms
*/
@@ -124,7 +124,7 @@ ResetHandler:
ldr r1, =RSTC_MR
str r0, [r1, #0]

/*
* Use 2 cycles for flash access.
*/
@@ -141,22 +141,22 @@ ResetHandler:
str r0, [r1, #AIC_EOICR_OFF]
str r0, [r1, #AIC_IDCR_OFF]

/*
* Setup a stack for each mode
*/
msr CPSR_c, #ARM_MODE_UNDEF | I_BIT | F_BIT /* Undefined Instruction Mode */
*/
msr CPSR_c, #ARM_MODE_UNDEF | I_BIT | F_BIT /* Undefined Instruction Mode */
ldr sp, =__stack_und_end
msr CPSR_c, #ARM_MODE_ABORT | I_BIT | F_BIT /* Abort Mode */
ldr sp, =__stack_abt_end
msr CPSR_c, #ARM_MODE_FIQ | I_BIT | F_BIT /* FIQ Mode */
msr CPSR_c, #ARM_MODE_FIQ | I_BIT | F_BIT /* FIQ Mode */
ldr sp, =__stack_fiq_end
msr CPSR_c, #ARM_MODE_IRQ | I_BIT | F_BIT /* IRQ Mode */
msr CPSR_c, #ARM_MODE_IRQ | I_BIT | F_BIT /* IRQ Mode */
ldr sp, =__stack_irq_end
msr CPSR_c, #ARM_MODE_SVC | I_BIT | F_BIT /* Supervisor Mode */
ldr sp, =__stack_svc_end

@@ -171,27 +171,27 @@ bss_clear_loop:
cmp r1, r2
strne r3, [r1], #+4
bne bss_clear_loop
/*
* Jump to main
*/
mrs r0, cpsr
bic r0, r0, #I_BIT | F_BIT /* Enable FIQ and IRQ interrupt */
msr cpsr, r0
mov r0, #0 /* No arguments */
mov r1, #0 /* No arguments */
ldr r2, =main
mov lr, pc
bx r2 /* And jump... */
ExitFunction:
nop
nop
nop
b ExitFunction
b ExitFunction

/****************************************************************************/
/* Default interrupt handler */
@@ -199,7 +199,7 @@ ExitFunction:

UndefHandler:
b UndefHandler
SWIHandler:
b SWIHandler

@@ -208,13 +208,13 @@ PAbortHandler:

DAbortHandler:
b DAbortHandler
IRQHandler:
b IRQHandler
FIQHandler:
b FIQHandler
.weak ExitFunction
.weak UndefHandler, PAbortHandler, DAbortHandler
.weak IRQHandler, FIQHandler


+ 8
- 8
src/flash/ocl/at91sam7x/makefile View File

@@ -13,19 +13,19 @@ OBJDUMP = $(TRGT)objdump
MCU = arm7tdmi

# List all default C defines here, like -D_DEBUG=1
DDEFS =
DDEFS =

# List all default ASM defines here, like -D_DEBUG=1
DADEFS =
DADEFS =

# List all default directories to look for include files here
DINCDIR =
DINCDIR =

# List the default directory to look for the libraries here
DLIBDIR =

# List all default libraries here
DLIBS =
DLIBS =

#
# End of default section
@@ -42,10 +42,10 @@ PROJECT = at91sam7x_ocl
LDSCRIPT= at91sam7x_ram.ld

# List all user C define here, like -D_DEBUG=1
UDEFS =
UDEFS =

# Define ASM defines here
UADEFS =
UADEFS =

# List C source files here
SRC = main.c dcc.c samflash.c
@@ -60,7 +60,7 @@ UINCDIR =
ULIBDIR =

# List all user libraries here
ULIBS =
ULIBS =

# Define optimisation level here
OPT = -O2
@@ -122,7 +122,7 @@ clean:
-rm -f $(ASRC:.s=.lst)
-rm -fR .dep

#
#
# Include the dependency files, should be the last of the makefile
#
#-include $(shell mkdir .dep 2>/dev/null) $(wildcard .dep/*)


+ 2
- 2
src/helper/Makefile.am View File

@@ -7,9 +7,9 @@ METASOURCES = AUTO
noinst_LTLIBRARIES = libhelper.la

if ECOSBOARD
CONFIGFILES =
CONFIGFILES =
else
CONFIGFILES = options.c jim.c jim-eventloop.c
CONFIGFILES = options.c jim.c jim-eventloop.c
endif




+ 20
- 20
src/helper/startup.tcl View File

@@ -24,16 +24,16 @@ proc get_help_text {} {

# Show flash in human readable form
# This is an example of a human readable form of a low level fn
proc flash_banks {} {
set i 0
proc flash_banks {} {
set i 0
set result ""
foreach {a} [ocd_flash_banks] {
if {$i > 0} {
set result "$result\n"
}
set result [format "$result#%d: %s at 0x%08x, size 0x%08x, buswidth %d, chipwidth %d" $i $a(name) $a(base) $a(size) $a(bus_width) $a(chip_width)]
set i [expr $i+1]
}
set i [expr $i+1]
}
return $result
}

@@ -56,7 +56,7 @@ proc help {args} {
set n 0
while 1 {
if {$n > [string length $h]} {break}
set next_a [expr $n+$w]
if {[string length $h]>$n+$w} {
set xxxx [string range $h $n [expr $n+$w]]
@@ -67,8 +67,8 @@ proc help {args} {
set next_a [expr $lastpos+$n+1]
}
}
puts [format "%-25s %s" $cmdname [string range $h $n [expr $next_a-1]] ]
set cmdname ""
set n [expr $next_a]
@@ -144,11 +144,11 @@ proc ocd_process_reset { MODE } {
set in_process_reset 0
return -code error "'reset' can not be invoked recursively"
}
set in_process_reset 1
set success [expr [catch {ocd_process_reset_inner $MODE} result]==0]
set success [expr [catch {ocd_process_reset_inner $MODE} result]==0]
set in_process_reset 0
if {$success} {
return $result
} else {
@@ -239,13 +239,13 @@ proc ocd_process_reset_inner { MODE } {
# the JTAG tap reset signal might be hooked to a slow
# resistor/capacitor circuit - and it might take a while
# to charge
# Catch, but ignore any errors.
catch { $t arp_waitstate halted 1000 }
# Did we succeed?
set s [$t curstate]
if { 0 != [string compare $s "halted" ] } {
return -error [format "TARGET: %s - Not halted" $t]
}
@@ -262,7 +262,7 @@ proc ocd_process_reset_inner { MODE } {
set err [catch "$t arp_waitstate halted 5000"]
# Did it halt?
if { $err == 0 } {
$t invoke-event reset-init
$t invoke-event reset-init
}
}
}
@@ -294,13 +294,13 @@ add_help_text cpu "<name> - prints out target options and a comment on CPU which
# A list of names of CPU and options required
set ocd_cpu_list {
{
name IXP42x
options {xscale -variant IXP42x}
name IXP42x
options {xscale -variant IXP42x}
comment {IXP42x cpu}
}
{
name arm7
options {arm7tdmi -variant arm7tdmi}
name arm7
options {arm7tdmi -variant arm7tdmi}
comment {vanilla ARM7}
}
}
@@ -312,7 +312,7 @@ proc ocd_cpu {args} {
global ocd_cpu_list
foreach a [lsort $ocd_cpu_list] {
if {[string length $args]==0||[string first [string toupper $name] [string toupper "$a(name)$a(options)$a(comment)"]]!=-1} {
lappend result $a
lappend result $a
}
}
return $result
@@ -352,5 +352,5 @@ proc capture_catch {a} {
catch {
capture {uplevel $a}
} result
return $result
return $result
}

+ 3
- 3
src/jtag/jlink.c View File

@@ -314,7 +314,7 @@ static int jlink_init(void)
LOG_ERROR("Cannot find jlink Interface! Please check connection and permissions.");
return ERROR_JTAG_INIT_FAILED;
}
/*
* The next three instructions were added after discovering a problem while using an oscilloscope. For the V8
* SAM-ICE dongle (and likely other j-link device variants), the reset line to the target microprocessor was found to
@@ -324,7 +324,7 @@ static int jlink_init(void)
* following a new USB session. Keeping the processor in reset during the first read collecting version information
* seems to prevent errant "J-Link command EMU_CMD_VERSION failed" issues.
*/
LOG_INFO("J-Link initialization started / target CPU reset initiated");
jlink_simple_command(EMU_CMD_HW_TRST0);
jlink_simple_command(EMU_CMD_HW_RESET0);
@@ -881,7 +881,7 @@ static jlink_jtag_t* jlink_usb_open()

if (result->usb_handle)
{
/* BE ***VERY CAREFUL*** ABOUT MAKING CHANGES IN THIS AREA!!!!!!!!!!!
* The behavior of libusb is not completely consistent across Windows, Linux, and Mac OS X platforms. The actions taken
* in the following compiler conditionals may not agree with published documentation for libusb, but were found


+ 14
- 14
src/jtag/rlink/call.m4 View File

@@ -67,7 +67,7 @@ m4_define(`m4_delay_setup',
A.L = m4_low_nybble(`('$1`) / 2')
Y = A
)')
m4_define(`m4_delay_loop',
`; delay loop (m4_eval($1) cycles)'
`m4_ifelse(m4_eval(`('$1`) < 6'), 1,
@@ -79,7 +79,7 @@ m4_define(`m4_delay_loop',
)')

m4_dnl These are utility macros for use with delays. Specifically, there is code below which needs some predictability in code size for relative jumps to reach. The m4_delay macro generates an extra NOP when an even delay is needed, and the m4_delay_loop macro generates an extra NOP when an odd delay is needed. Using this for the argument to the respective macro rounds up the argument so that the extra NOP will not be generated. There is also logic built in to cancel the rounding when the result is small enough that a loop would not be generated.
m4_define(`m4_delay_loop_round_up', `m4_ifelse(m4_eval($1` < 6'), 1, $1, m4_eval(`(('$1`) + 1) / 2 * 2'))')
m4_define(`m4_delay_round_up', `m4_ifelse(m4_eval($1` < 6'), 1, $1, m4_eval(`(('$1`) / 2 * 2) + 1'))')

@@ -106,7 +106,7 @@ m4_divert(`0')m4_dnl
A.H = 0xc ; lookup table at 0x1550 + 0xc0 = 0x1610

; branch to address in lookup table
Y = A
Y = A
A = <Y>
BRANCH

@@ -203,7 +203,7 @@ entry_download:
; ; Ack buffer 0 in download mode
; A.L = 0x1
; BUFFER_MNGT = A
;
;
; STATUS STOP


@@ -213,7 +213,7 @@ entry_download:

A = CMP01 ; bits 3..0 contain the number of bytes to shift - 1
A.H = 0
Y = A ; loop counter
Y = A ; loop counter

A = CMP01
EXCHANGE
@@ -262,7 +262,7 @@ opcode_shift_tdi_andor_tms_bytes__loop:

A = CMP01 ; bits 3..0 contain the number of bytes to shift - 1
A.H = 0
Y = A ; loop counter
Y = A ; loop counter

opcode_shift_tdo_bytes__loop:
SHIFT MPEG PIN0=>IN
@@ -303,7 +303,7 @@ opcode_shift_tdio_bytes__loop:

JP sub_shift_tdio_bits
opcode_shift_tdio_bytes__sub_return:
A = CMP10 ; byte loop counter
CP A=>X
CLC
@@ -323,7 +323,7 @@ opcode_shift_tdio_bytes__sub_return:
A = CMP01 ; bits 2..0 contain the number of bits to shift - 1
A.H = 0
BCLR 3 ; set TMS=1 if bit 3 was set
CMP11 = A ; bit loop counter
CMP11 = A ; bit loop counter

A.H = opcode_shift_tdio_bits__sub_return
A.L = opcode_shift_tdio_bits__sub_return
@@ -334,7 +334,7 @@ opcode_shift_tdio_bytes__sub_return:
DR_CARD = A
JP sub_shift_tdio_bits
opcode_shift_tdio_bits__sub_return:
A = X
;DR_MPEG = A ; return TCK low, as str912 reset halt seems to require it
BRANCH
@@ -365,9 +365,9 @@ m4_delay_setup(m4_delay_loop_round_up(SETUP_DELAY_CYCLES - 1))
m4_delay_loop(m4_delay_loop_round_up(SETUP_DELAY_CYCLES - 1))

BSET 2 ; TCK high
DR_MPEG = A
DR_MPEG = A

A = DR_MPEG ; set carry bit to TDO
A = DR_MPEG ; set carry bit to TDO
CLC
BCLR 0
JP +2
@@ -431,7 +431,7 @@ opcode_shift_tms_tdi_bit_pair__sub_return:
BSET 3 ; bit says whether to return TDO
JP +2
ADR_BUFFER1 -= X ; subroutine returns it, so undo that
A = X
DR_MPEG = A ; return TCK low, as str912 reset halt seems to require it
BRANCH
@@ -443,7 +443,7 @@ opcode_shift_tms_tdi_bit_pair__sub_return:

A = CMP01 ; bits 3..0 contain the number of bits to shift - 1 (only 1-8 bits is valid... no checking, just improper operation)
A.H = 0
CMP11 = A ; bit loop counter
CMP11 = A ; bit loop counter

A = DATA_BUFFER0 ; get byte from input buffer
ADR_BUFFER0 += X
@@ -467,7 +467,7 @@ m4_delay_setup(SETUP_DELAY_CYCLES - 1)
m4_delay_loop(SETUP_DELAY_CYCLES - 1)

BSET 2 ; TCK high
DR_MPEG = A
DR_MPEG = A

m4_delay(HOLD_DELAY_CYCLES - 10)



+ 1
- 1
src/server/gdb_server.c View File

@@ -822,7 +822,7 @@ int gdb_connection_closed(connection_t *connection)
log_remove_callback(gdb_log_callback, connection);

gdb_actual_connections--;
LOG_DEBUG("GDB Close, Target: %s, state: %s, gdb_actual_connections=%d",
LOG_DEBUG("GDB Close, Target: %s, state: %s, gdb_actual_connections=%d",
gdb_service->target->cmd_name,
target_state_name(gdb_service->target),
gdb_actual_connections);


+ 1
- 1
src/target/Makefile.am View File

@@ -98,7 +98,7 @@ noinst_HEADERS = \
avrt.h

nobase_dist_pkglib_DATA =
nobase_dist_pkglib_DATA += xscale/debug_handler.bin
nobase_dist_pkglib_DATA += xscale/debug_handler.bin
nobase_dist_pkglib_DATA += ecos/at91eb40a.elf

MAINTAINERCLEANFILES = $(srcdir)/Makefile.in

+ 1
- 1
src/target/arm11.c View File

@@ -1066,7 +1066,7 @@ int arm11_step(struct target_s *target, int current, uint32_t address, int handl
retval = arm11_simulate_step(target, &next_pc);
if (retval != ERROR_OK)
return retval;
brp[0].value = next_pc;
brp[1].value = 0x1 | (3 << 1) | (0x0F << 5) | (0 << 14) | (0 << 16) | (0 << 20) | (0 << 21);
}


+ 3
- 3
src/target/arm7_9_common.c View File

@@ -95,7 +95,7 @@ static void arm7_9_assign_wp(arm7_9_common_t *arm7_9, breakpoint_t *breakpoint)
{
LOG_ERROR("BUG: no hardware comparator available");
}
LOG_DEBUG("BPID: %d (0x%08" PRIx32 ") using hw wp: %d",
LOG_DEBUG("BPID: %d (0x%08" PRIx32 ") using hw wp: %d",
breakpoint->unique_id,
breakpoint->address,
breakpoint->set );
@@ -158,7 +158,7 @@ static int arm7_9_set_software_breakpoints(arm7_9_common_t *arm7_9)
LOG_ERROR("BUG: both watchpoints used, but wp_available >= 1");
return ERROR_FAIL;
}
LOG_DEBUG("SW BP using hw wp: %d",
LOG_DEBUG("SW BP using hw wp: %d",
arm7_9->sw_breakpoints_added );

return jtag_execute_queue();
@@ -371,7 +371,7 @@ int arm7_9_unset_breakpoint(struct target_s *target, breakpoint_t *breakpoint)

if (breakpoint->type == BKPT_HARD)
{
LOG_DEBUG("BPID: %d Releasing hw wp: %d",
LOG_DEBUG("BPID: %d Releasing hw wp: %d",
breakpoint->unique_id,
breakpoint->set );
if (breakpoint->set == 1)


+ 2
- 2
src/target/arm926ejs.c View File

@@ -174,12 +174,12 @@ int arm926ejs_cp15_read(target_t *target, uint32_t op1, uint32_t op2, uint32_t C
{
return retval;
}
if (buf_get_u32(&access, 0, 1) == 1)
{
break;
}
/* 10ms timeout */
if ((timeval_ms()-then)>10)
{


+ 6
- 6
src/target/breakpoints.c View File

@@ -54,7 +54,7 @@ int breakpoint_add(target_t *target, uint32_t address, uint32_t length, enum bre
{
n++;
if (breakpoint->address == address){
LOG_DEBUG("Duplicate Breakpoint address: 0x%08" PRIx32 " (BP %d)",
LOG_DEBUG("Duplicate Breakpoint address: 0x%08" PRIx32 " (BP %d)",
address, breakpoint->unique_id );
return ERROR_OK;
}
@@ -76,10 +76,10 @@ int breakpoint_add(target_t *target, uint32_t address, uint32_t length, enum bre
switch (retval)
{
case ERROR_TARGET_RESOURCE_NOT_AVAILABLE:
LOG_INFO("can't add %s breakpoint, resource not available (BPID=%d)",
LOG_INFO("can't add %s breakpoint, resource not available (BPID=%d)",
breakpoint_type_strings[(*breakpoint_p)->type],
(*breakpoint_p)->unique_id );
free((*breakpoint_p)->orig_instr);
free(*breakpoint_p);
*breakpoint_p = NULL;
@@ -87,7 +87,7 @@ int breakpoint_add(target_t *target, uint32_t address, uint32_t length, enum bre
break;
case ERROR_TARGET_NOT_HALTED:
LOG_INFO("can't add breakpoint while target is running (BPID: %d)",
(*breakpoint_p)->unique_id );
(*breakpoint_p)->unique_id );
free((*breakpoint_p)->orig_instr);
free(*breakpoint_p);
*breakpoint_p = NULL;
@@ -207,7 +207,7 @@ int watchpoint_add(target_t *target, uint32_t address, uint32_t length, enum wat
switch (retval)
{
case ERROR_TARGET_RESOURCE_NOT_AVAILABLE:
LOG_INFO("can't add %s watchpoint, resource not available (WPID: %d)",
LOG_INFO("can't add %s watchpoint, resource not available (WPID: %d)",
watchpoint_rw_strings[(*watchpoint_p)->rw],
(*watchpoint_p)->unique_id );
free (*watchpoint_p);
@@ -230,7 +230,7 @@ int watchpoint_add(target_t *target, uint32_t address, uint32_t length, enum wat

LOG_DEBUG("added %s watchpoint at 0x%8.8" PRIx32 " of length 0x%8.8x (WPID: %d)",
watchpoint_rw_strings[(*watchpoint_p)->rw],
(*watchpoint_p)->address,
(*watchpoint_p)->address,
(*watchpoint_p)->length,
(*watchpoint_p)->unique_id );



+ 4
- 4
src/target/cortex_a8.c View File

@@ -138,8 +138,8 @@ int cortex_a8_init_debug_access(target_t *target)
/* Clear Sticky Power Down status Bit in PRSR to enable access to
the registers in the Core Power Domain */
retval = mem_ap_read_atomic_u32(swjdp, armv7a->debug_base + CPUDBG_PRSR, &dummy);
/* Enabling of instruction execution in debug mode is done in debug_entry code */
/* Enabling of instruction execution in debug mode is done in debug_entry code */
return retval;
}

@@ -1374,7 +1374,7 @@ int cortex_a8_examine(struct target_s *target)
uint32_t didr, ctypr, ttypr, cpuid;

LOG_DEBUG("TODO");
/* Here we shall insert a proper ROM Table scan */
armv7a->debug_base = OMAP3530_DEBUG_BASE;

@@ -1451,7 +1451,7 @@ int cortex_a8_examine(struct target_s *target)

/* Configure core debug access */
cortex_a8_init_debug_access(target);
target->type->examined = 1;

return retval;


+ 7
- 7
src/target/mips_m4k.c View File

@@ -524,7 +524,7 @@ int mips_m4k_set_breakpoint(struct target_s *target, breakpoint_t *breakpoint)
target_write_u32(target, comparator_list[bp_num].reg_address, comparator_list[bp_num].bp_value);
target_write_u32(target, comparator_list[bp_num].reg_address + 0x08, 0x00000000);
target_write_u32(target, comparator_list[bp_num].reg_address + 0x18, 1);
LOG_DEBUG("bpid: %d, bp_num %i bp_value 0x%" PRIx32 "",
LOG_DEBUG("bpid: %d, bp_num %i bp_value 0x%" PRIx32 "",
breakpoint->unique_id,
bp_num, comparator_list[bp_num].bp_value);
}
@@ -612,7 +612,7 @@ int mips_m4k_unset_breakpoint(struct target_s *target, breakpoint_t *breakpoint)
comparator_list[bp_num].used = 0;
comparator_list[bp_num].bp_value = 0;
target_write_u32(target, comparator_list[bp_num].reg_address + 0x18, 0);
}
else
{
@@ -711,9 +711,9 @@ int mips_m4k_set_watchpoint(struct target_s *target, watchpoint_t *watchpoint)
* and exclude both load and store accesses from watchpoint
* condition evaluation
*/
int enable = EJTAG_DBCn_NOSB | EJTAG_DBCn_NOLB | EJTAG_DBCn_BE |
int enable = EJTAG_DBCn_NOSB | EJTAG_DBCn_NOLB | EJTAG_DBCn_BE |
(0xff << EJTAG_DBCn_BLM_SHIFT);
if (watchpoint->set)
{
LOG_WARNING("watchpoint already set");
@@ -765,7 +765,7 @@ int mips_m4k_set_watchpoint(struct target_s *target, watchpoint_t *watchpoint)
target_write_u32(target, comparator_list[wp_num].reg_address + 0x18, enable);
target_write_u32(target, comparator_list[wp_num].reg_address + 0x20, 0);
LOG_DEBUG("wp_num %i bp_value 0x%" PRIx32 "", wp_num, comparator_list[wp_num].bp_value);
return ERROR_OK;
}

@@ -774,7 +774,7 @@ int mips_m4k_unset_watchpoint(struct target_s *target, watchpoint_t *watchpoint)
/* get pointers to arch-specific information */
mips32_common_t *mips32 = target->arch_info;
mips32_comparator_t * comparator_list = mips32->data_break_list;
if (!watchpoint->set)
{
LOG_WARNING("watchpoint not set");
@@ -804,7 +804,7 @@ int mips_m4k_add_watchpoint(struct target_s *target, watchpoint_t *watchpoint)
LOG_INFO("no hardware watchpoints available");
return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
}
mips32->num_data_bpoints_avail--;

mips_m4k_set_watchpoint(target, watchpoint);


+ 1
- 1
src/target/target.c View File

@@ -1241,7 +1241,7 @@ int target_read_buffer(struct target_s *target, uint32_t address, uint32_t size,
address += aligned;
size -= aligned;
}
/*prevent byte access when possible (avoid AHB access limitations in some cases)*/
if(size >=2)
{


+ 1
- 1
src/target/target.h View File

@@ -42,7 +42,7 @@ struct command_context_s;
* TARGET_RESET = 3: the target is being held in reset (only a temporary state,
* not sure how this is used with all the recent changes)
* TARGET_DEBUG_RUNNING = 4: the target is running, but it is executing code on
* behalf of the debugger (e.g. algorithm for flashing)
* behalf of the debugger (e.g. algorithm for flashing)
*
* also see: target_state_name();
*/


+ 35
- 35
src/target/xscale/debug_handler.S View File

@@ -30,7 +30,7 @@
1:
mrc p14, 0, r15, c14, c0, 0
bvs 1b
mcr p14, 0, \reg, c8, c0, 0
mcr p14, 0, \reg, c8, c0, 0
.endm

@ receive word from debugger
@@ -38,7 +38,7 @@
1:
mrc p14, 0, r15, c14, c0, 0
bpl 1b
mrc p14, 0, \reg, c9, c0, 0
mrc p14, 0, \reg, c9, c0, 0
.endm

@ save register on debugger, small
@@ -75,7 +75,7 @@ reset_handler:
mrc p14, 0, r13, c10, c0
@ check if global enable bit (GE) is set
ands r13, r13, #0x80000000
bne debug_handler

@ set global enable bit (GE)
@@ -111,7 +111,7 @@ debug_handler:
cmp r1, #MODE_USR

bne not_user_mode
@ replace USR mode with SYS
bic r0, r0, #MODE_MASK
orr r0, r0, #MODE_SYS
@@ -124,7 +124,7 @@ not_user_mode:
@ wait for command from debugger, than execute desired function
get_command:
bl receive_from_debugger
@ 0x0n - register access
cmp r0, #0x0
beq get_banked_registers
@@ -145,10 +145,10 @@ get_command:
@ 0x2n - write memory
cmp r0, #0x21
beq write_byte
cmp r0, #0x22
beq write_half_word
cmp r0, #0x24
beq write_word

@@ -172,7 +172,7 @@ get_command:

cmp r0, #0x51
beq invalidate_d_cache
cmp r0, #0x52
beq invalidate_i_cache

@@ -185,10 +185,10 @@ get_command:

cmp r0, #0x61
beq read_trace_buffer
cmp r0, #0x62
beq clean_trace_buffer
@ return (back to get_command)
b get_command

@@ -221,11 +221,11 @@ resume:
m_receive_from_debugger lr

@ branch back to application code, restoring CPSR
subs pc, lr, #0
subs pc, lr, #0

@ get banked registers
@ receive mode bits from host, then run into save_banked_registers to
@ receive mode bits from host, then run into save_banked_registers to
get_banked_registers:
bl receive_from_debugger

@@ -239,7 +239,7 @@ save_banked_registers:

@ keep current mode bits in r1 for later use
and r1, r0, #MODE_MASK
@ backup banked registers
m_send_to_debugger r8
m_send_to_debugger r9
@@ -251,7 +251,7 @@ save_banked_registers:

@ if not in SYS mode (or USR, which we replaced with SYS before)
cmp r1, #MODE_SYS
beq no_spsr_to_save

@ backup SPSR
@@ -271,8 +271,8 @@ no_spsr_to_save:


@ set banked registers
@ receive mode bits from host, then run into save_banked_registers to
@ receive mode bits from host, then run into save_banked_registers to
set_banked_registers:
bl receive_from_debugger

@@ -286,7 +286,7 @@ restore_banked_registers:

@ keep current mode bits in r1 for later use
and r1, r0, #MODE_MASK
@ set banked registers
m_receive_from_debugger r8
m_receive_from_debugger r9
@@ -298,7 +298,7 @@ restore_banked_registers:

@ if not in SYS mode (or USR, which we replaced with SYS before)
cmp r1, #MODE_SYS
beq no_spsr_to_restore

@ set SPSR
@@ -327,7 +327,7 @@ read_byte:

rb_loop:
ldrb r0, [r2], #1
@ drain write- (and fill-) buffer to work around XScale errata
mcr p15, 0, r8, c7, c10, 4

@@ -335,7 +335,7 @@ rb_loop:

subs r1, r1, #1
bne rb_loop
@ return
b get_command

@@ -352,7 +352,7 @@ read_half_word:

rh_loop:
ldrh r0, [r2], #2
@ drain write- (and fill-) buffer to work around XScale errata
mcr p15, 0, r8, c7, c10, 4

@@ -360,7 +360,7 @@ rh_loop:

subs r1, r1, #1
bne rh_loop
@ return
b get_command

@@ -377,7 +377,7 @@ read_word:

rw_loop:
ldr r0, [r2], #4
@ drain write- (and fill-) buffer to work around XScale errata
mcr p15, 0, r8, c7, c10, 4

@@ -385,7 +385,7 @@ rw_loop:

subs r1, r1, #1
bne rw_loop
@ return
b get_command

@@ -409,7 +409,7 @@ wb_loop:

subs r1, r1, #1
bne wb_loop
@ return
b get_command

@@ -433,7 +433,7 @@ wh_loop:

subs r1, r1, #1
bne wh_loop
@ return
b get_command

@@ -457,7 +457,7 @@ ww_loop:

subs r1, r1, #1
bne ww_loop
@ return
b get_command

@@ -466,7 +466,7 @@ ww_loop:
clear_sa:
@ read DCSR
mrc p14, 0, r0, c10, c0
@ clear SA bit
bic r0, r0, #0x20

@@ -481,7 +481,7 @@ clear_sa:
clean_d_cache:
@ r0: cache clean area
bl receive_from_debugger
mov r1, #1024
clean_loop:
mcr p15, 0, r0, c7, c2, 5
@@ -568,7 +568,7 @@ read_cp_table:
b read_cp_reg_reply

read_cp_reg_reply:
bl send_to_debugger
bl send_to_debugger

@ return
b get_command
@@ -641,14 +641,14 @@ read_tb_loop:
@ dump checkpoint register 0
mrc p14, 0, r0, c12, c0, 0 @ XSCALE_CHKPT0 (0x10)
bl send_to_debugger
@ dump checkpoint register 1
mrc p14, 0, r0, c13, c0, 0 @ XSCALE_CHKPT1 (0x11)
bl send_to_debugger

@ return
b get_command
@ ----

clean_trace_buffer:
@@ -662,7 +662,7 @@ clean_tb_loop:

@ return
b get_command
@ ----


@@ -697,7 +697,7 @@ resume_w_trace:
mcr p14, 0, r13, c10, c0, 0 @ XSCALE_DCSR

@ branch back to application code, restoring CPSR
subs pc, lr, #0
subs pc, lr, #0

undef_handler:
swi_handler:


+ 2
- 2
src/target/xscale/debug_handler.cmd View File

@@ -2,14 +2,14 @@
ENTRY(reset_handler)

/* specify the mini-ICache memory areas */
MEMORY
MEMORY
{
mini_icache_0 (x) : ORIGIN = 0x0, LENGTH = 1024 /* first part of mini icache (sets 0-31) */
mini_icache_1 (x) : ORIGIN = 0x400, LENGTH = 1024 /* second part of mini icache (sets 0-31) */
}

/* now define the output sections */
SECTIONS
SECTIONS
{
.part1 :
{


Loading…
Cancel
Save