1. 21 Apr, 2013 7 commits
  2. 20 Apr, 2013 5 commits
    • Salvador Arroyo's avatar
      mips: m4k alternate pracc code. Patch 4 · 9695564e
      Salvador Arroyo authored
      
      
      Now all the functions with only fetch accesses are modified.
      The same delay between scans has been added to mips32_pracc_fastdata_xfer(), it should work
      at the same scan rates as the other pracc functions, but it needs higher scan_delays
      to work.
      
      Change-Id: Ifb31d8ea6de9d22674385782913d221a2494dbbf
      Signed-off-by: default avatarSalvador Arroyo <sarroyofdez@yahoo.es>
      Reviewed-on: http://openocd.zylin.com/1196
      
      
      Tested-by: jenkins
      Reviewed-by: default avatarFreddie Chopin <freddie.chopin@gmail.com>
      9695564e
    • Salvador Arroyo's avatar
      mips: m4k alternate pracc code. Patch 3 · d5e56462
      Salvador Arroyo authored
      
      
      Functions mips32_pracc_read_mem(), mips32_cp0_read() and mips32_pracc_read_regs() are now modified.
      mips32_cp0_read() is very similar to mips32_read_u32() with one store access.
      mips32_pracc_read_regs() is the only function that can not be executed from only one queue.
      Now this function is modified to use reg8, it saves all the registers but does not restore reg8.
      To remedy this, mips_ejtag_config_step() is called after mips32_save_context() in
      mips_m4k_debug_entry(). Function mips_ejtag_config_step() is modified to use reg8 and
      restore it from ejtag info instead of using DeSave for save/restore.
      
      Change-Id: Icc224f6d7e41abdec94199483401cb512cc0b450
      Signed-off-by: default avatarSalvador Arroyo <sarroyofdez@yahoo.es>
      Reviewed-on: http://openocd.zylin.com/1195
      
      
      Tested-by: jenkins
      Reviewed-by: default avatarFreddie Chopin <freddie.chopin@gmail.com>
      d5e56462
    • Salvador Arroyo's avatar
      mips: m4k alternate pracc code. Patch 2 · 37c28903
      Salvador Arroyo authored
      
      
      Each pracc function defines a variable ctx of type struct pracc_queue_info.
      To simplify the code tree auxiliary functions are defined: pracc_queue_init(), pracc_add() and
      pracc_queue_free().
      The second parameter in pracc_add() is the store address if the instruction is a store at dmseg,
      otherwise it should be 0.
      The code is executed by mips32_pracc_queue_exec(). If ejtag_info->mode is 0 mips32_pracc_exec()
      is called and it should work like with current code.
      To generate the delay between scans the number of clock ticks are calculated with the help of
      jtag_get_speed_khz(). Due to delays in the execution of each single ftdi instruction the number of ticks
      are higher as it should be, specially at higher scan rates.
      mips32_pracc_read_u32() should now work with the new code.
      
      Change-Id: I471590a4fc89b56af10bd46c48767b4c64de154f
      Signed-off-by: default avatarSalvador Arroyo <sarroyofdez@yahoo.es>
      Reviewed-on: http://openocd.zylin.com/1194
      
      
      Tested-by: jenkins
      Reviewed-by: default avatarFreddie Chopin <freddie.chopin@gmail.com>
      37c28903
    • Salvador Arroyo's avatar
      mips: m4k alternate pracc code. Patch 1 · 109f37c1
      Salvador Arroyo authored
      
      
      This patch and the following patches define another way of doing processor access without the need to read back
      the pracc address as needed in current pracc code.
      Current pracc code is executed linearly and unconditionally. The processor starts execution at 0xff200200
      and the fetch address is ever incremented by 4, including the last instruction in the delay slot of the branch to start.
      Most of the processor accesses are fetch and some are store accesses.
      After a previous patch regarding the way of restoring registers (reg8 and reg9), there are no load processor accesses.
      The pracc address for a store depends only on the store instruction given before.
      m4k core has a 5 stage pipeline and the memory access is done in the 3rth stage. This means that the store access
      will not arrive immediately after a store instruction, it appears after another instruction enters the pipeline.
      For reference: MD00249 mips32 m4k manual.
      A new struct pracc_queue_info is defined to help each function in generating the code. The field pracc_list holds in the
      lower half the list of instructions and in the upper half the store addressess, if any. In this way the list can be used by
      current code or by the new one to generate the sequence of pracc accesses.
      For every pracc access only one scan to register "all" is used by calling the new function mips_ejtag_add_scan_96().
      This function does not call jtag_execute_queue(), all the scans needed can be queued before calling for execution.
      The pracc bit is not checked before execution, is checked after the queue has been executed.
      Without calling the wait function the code works much faster, but the scan frequency must be limited. For pic32mx
      with core clock at 4Mhz works  up to 600Khz and with 8Mhz up to 1200. To increase the scan frequency a delay
      between scans is added by calling jtag_add_cloks().
      A time delay in nano seconds is stored in scan_delay, a new field in ejtag_info, and a handler is provided for it.
      A mode field is added to ejtag_info to hold the working mode. If a time delay of 2ms (2000000 ns) or higher is set,
      current code is executed, if lower, new code is executed.
      Initial default values are set in function mips32_init_arch_info. A reset does not change this settings.
      
      Change-Id: I266bdb386b24744435b6e29d8489a68c0c15ff65
      Signed-off-by: default avatarSalvador Arroyo <sarroyofdez@yahoo.es>
      Reviewed-on: http://openocd.zylin.com/1193
      
      
      Tested-by: jenkins
      Reviewed-by: default avatarFreddie Chopin <freddie.chopin@gmail.com>
      109f37c1
    • Freddie Chopin's avatar
      Improve clone command in README · 1936646f
      Freddie Chopin authored
      
      
      Without the explicit dir at the end the repository will be cloned to "code".
      
      Change-Id: Icd8b55b4ba74f23b214c3844e2fb785377768119
      Signed-off-by: default avatarFreddie Chopin <freddie.chopin@gmail.com>
      Reviewed-on: http://openocd.zylin.com/1349
      
      Reviewed-by: default avatarØyvind Harboe <oyvindharboe@gmail.com>
      Tested-by: jenkins
      1936646f
  3. 19 Apr, 2013 1 commit
  4. 17 Apr, 2013 7 commits
  5. 15 Apr, 2013 2 commits
  6. 11 Apr, 2013 2 commits
  7. 02 Apr, 2013 9 commits
  8. 31 Mar, 2013 1 commit
  9. 28 Mar, 2013 3 commits
  10. 24 Mar, 2013 2 commits
  11. 15 Mar, 2013 1 commit