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

Subversion Repositories eco32

[/] [eco32/] [trunk/] [monitor/] [monitor/] [common/] [start.h] - Diff between revs 59 and 84

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 59 Rev 84
/*
/*
 * start.h -- ECO32 ROM monitor startup and support routines
 * start.h -- ECO32 ROM monitor startup and support routines
 */
 */
 
 
 
 
#ifndef _START_H_
#ifndef _START_H_
#define _START_H_
#define _START_H_
 
 
 
 
typedef struct {
typedef struct {
  Word reg[32];                 /* general purpose registers */
  Word reg[32];                 /* general purpose registers */
  Word psw;                     /* PSW */
  Word psw;                     /* PSW */
  Word tlbIndex;                /* TLB index register */
  Word tlbIndex;                /* TLB index register */
  Word tlbHi;                   /* TLB EntryHi register */
  Word tlbHi;                   /* TLB EntryHi register */
  Word tlbLo;                   /* TLB EntryLo register */
  Word tlbLo;                   /* TLB EntryLo register */
 
  Word badAddr;                 /* bad address register */
} UserContext;
} UserContext;
 
 
typedef struct {
typedef struct {
  Word r31;                     /* return address */
  Word r31;                     /* return address */
  Word r29;                     /* stack pointer */
  Word r29;                     /* stack pointer */
  Word r16;                     /* local variable */
  Word r16;                     /* local variable */
  Word r17;                     /* local variable */
  Word r17;                     /* local variable */
  Word r18;                     /* local variable */
  Word r18;                     /* local variable */
  Word r19;                     /* local variable */
  Word r19;                     /* local variable */
  Word r20;                     /* local variable */
  Word r20;                     /* local variable */
  Word r21;                     /* local variable */
  Word r21;                     /* local variable */
  Word r22;                     /* local variable */
  Word r22;                     /* local variable */
  Word r23;                     /* local variable */
  Word r23;                     /* local variable */
} MonitorState;
} MonitorState;
 
 
 
 
int cinchk(void);
int cinchk(void);
int cin(void);
int cin(void);
int coutchk(void);
int coutchk(void);
void cout(char c);
void cout(char c);
 
 
int sinchk(void);
int sinchk(void);
int sin(void);
int sin(void);
int soutchk(void);
int soutchk(void);
void sout(char c);
void sout(char c);
 
 
int dskcap(int dskno);
int dskcap(int dskno);
int dskio(int dskno, char cmd, int sct, Word addr, int nscts);
int dskio(int dskno, char cmd, int sct, Word addr, int nscts);
 
 
void setISR(Word ptr);
void setISR(Word ptr);
void setUMSR(Word ptr);
void setUMSR(Word ptr);
extern Word isrPtr;
extern Word isrPtr;
extern Word umsrPtr;
extern Word umsrPtr;
 
 
Word getTLB_HI(int index);
Word getTLB_HI(int index);
Word getTLB_LO(int index);
Word getTLB_LO(int index);
void setTLB(int index, Word entryHi, Word entryLo);
void setTLB(int index, Word entryHi, Word entryLo);
 
 
Bool saveState(MonitorState *msp);
Bool saveState(MonitorState *msp);
 
 
extern MonitorState *monitorReturn;
extern MonitorState *monitorReturn;
extern UserContext userContext;
extern UserContext userContext;
 
 
void resume(void);
void resume(void);
 
 
 
 
#endif /* _START_H_ */
#endif /* _START_H_ */
 
 

powered by: WebSVN 2.1.0

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