Line 24... |
Line 24... |
#ifndef TARGET_OR1K
|
#ifndef TARGET_OR1K
|
#define TARGET_OR1K
|
#define TARGET_OR1K
|
#endif
|
#endif
|
|
|
#include "defs.h"
|
#include "defs.h"
|
|
#include <inttypes.h> /* CZ */
|
|
|
struct value;
|
struct value;
|
|
|
struct struct_or1k_implementation
|
struct struct_or1k_implementation
|
{
|
{
|
Line 590... |
Line 591... |
|
|
extern int num_hw_watches;
|
extern int num_hw_watches;
|
extern struct hwatch_struct or1k_hwatch[MAX_HW_WATCHES];
|
extern struct hwatch_struct or1k_hwatch[MAX_HW_WATCHES];
|
|
|
/* Possible errors are listed here. */
|
/* Possible errors are listed here. */
|
enum enum_errors
|
enum enum_errors /* modified <chris@asics.ws> CZ 24/05/01 */
|
{
|
{
|
ERR_NONE, ERR_CRC
|
/* Codes > 0 are for system errors */
|
|
|
|
ERR_NONE = 0,
|
|
ERR_CRC = -1,
|
|
JTAG_PROXY_INVALID_COMMAND = -2,
|
|
JTAG_PROXY_SERVER_TERMINATED = -3,
|
|
JTAG_PROXY_NO_CONNECTION = -4,
|
|
JTAG_PROXY_PROTOCOL_ERROR = -5,
|
|
JTAG_PROXY_COMMAND_NOT_IMPLEMENTED = -6,
|
|
JTAG_PROXY_INVALID_CHAIN = -7,
|
|
JTAG_PROXY_INVALID_ADDRESS = -8,
|
};
|
};
|
|
|
/* All JTAG chains. */
|
/* All JTAG chains. */
|
enum jtag_chains
|
enum jtag_chains
|
{
|
{
|
Line 667... |
Line 678... |
extern void or1k_flush_pipeline PARAMS ((void));
|
extern void or1k_flush_pipeline PARAMS ((void));
|
|
|
/* Sifts unused matchpoints to higher indexses. */
|
/* Sifts unused matchpoints to higher indexses. */
|
extern void sift_matchpoints ();
|
extern void sift_matchpoints ();
|
|
|
|
|
|
/* Added by Chris Ziomkowski <chris@asics.ws> 24/05/01 */
|
|
typedef enum {
|
|
JTAG_COMMAND_READ = 1,
|
|
JTAG_COMMAND_WRITE = 2,
|
|
JTAG_COMMAND_CHAIN = 3,
|
|
} JTAG_proxy_protocol_commands;
|
|
|
|
/* Each transmit structure must begin with an integer
|
|
which specifies the type of command. Information
|
|
after this is variable. Make sure to have all information
|
|
aligned properly. If we stick with 32 bit integers, it
|
|
should be portable onto every platform. These structures
|
|
will be transmitted across the network in network byte
|
|
order.
|
|
*/
|
|
|
|
typedef struct {
|
|
uint32_t command;
|
|
uint32_t length;
|
|
uint32_t address;
|
|
uint32_t data_H;
|
|
uint32_t data_L;
|
|
} JTAGProxyWriteMessage;
|
|
|
|
typedef struct {
|
|
uint32_t command;
|
|
uint32_t length;
|
|
uint32_t address;
|
|
} JTAGProxyReadMessage;
|
|
|
|
typedef struct {
|
|
uint32_t command;
|
|
uint32_t length;
|
|
uint32_t chain;
|
|
} JTAGProxyChainMessage;
|
|
|
|
/* The responses are messages specific, however convention
|
|
states the first word should be an error code. Again,
|
|
sticking with 32 bit integers should provide maximum
|
|
portability. */
|
|
|
|
typedef struct {
|
|
int32_t status;
|
|
} JTAGProxyWriteResponse;
|
|
|
|
typedef struct {
|
|
int32_t status;
|
|
uint32_t data_H;
|
|
uint32_t data_L;
|
|
} JTAGProxyReadResponse;
|
|
|
|
typedef struct {
|
|
int32_t status;
|
|
} JTAGProxyChainResponse;
|
|
|
#endif /* TM_OR1K_H */
|
#endif /* TM_OR1K_H */
|
|
|
No newline at end of file
|
No newline at end of file
|