OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [gdb-5.0/] [gdb/] [config/] [or1k/] [tm-or1k.h] - Diff between revs 122 and 126

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 122 Rev 126
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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.