Add new target type: OpenRISC

Add support for OpenRISC target. This implementation
supports the adv_debug_sys debug unit core. The mohor
dbg_if is not supported. Support for mohor TAP core
and Altera Virtual JTAG core are also provided.

Change-Id: I3b1cfab1bbb28e497c4fca6ed1bd3a4362609b72
Signed-off-by: Franck Jullien <franck.jullien@gmail.com>
Reviewed-on: http://openocd.zylin.com/1547
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
This commit is contained in:
Franck Jullien
2013-08-08 23:45:47 +02:00
committed by Spencer Oliver
parent d19fafc8bd
commit 4e79b48e2c
16 changed files with 3220 additions and 0 deletions

View File

@@ -397,3 +397,24 @@ int hexify(char *hex, const char *bin, int count, int out_maxlen)
return cmd_len;
}
void buffer_shr(void *_buf, unsigned buf_len, unsigned count)
{
unsigned i;
unsigned char *buf = _buf;
unsigned bytes_to_remove;
unsigned shift;
bytes_to_remove = count / 8;
shift = count - (bytes_to_remove * 8);
for (i = 0; i < (buf_len - 1); i++)
buf[i] = (buf[i] >> shift) | ((buf[i+1] << (8 - shift)) & 0xff);
buf[(buf_len - 1)] = buf[(buf_len - 1)] >> shift;
if (bytes_to_remove) {
memmove(buf, &buf[bytes_to_remove], buf_len - bytes_to_remove);
memset(&buf[buf_len - bytes_to_remove], 0, bytes_to_remove);
}
}