Line 242... |
Line 242... |
/* Hardware simulation */
|
/* Hardware simulation */
|
int mem_read(State *s, int size, unsigned int address, int log);
|
int mem_read(State *s, int size, unsigned int address, int log);
|
void mem_write(State *s, int size, int unsigned address, unsigned value);
|
void mem_write(State *s, int size, int unsigned address, unsigned value);
|
void start_load(State *s, int rt, int data);
|
void start_load(State *s, int rt, int data);
|
|
|
|
|
/*---- Local functions -------------------------------------------------------*/
|
/*---- Local functions -------------------------------------------------------*/
|
|
|
/** Log to file a memory read operation (not including target reg change) */
|
/** Log to file a memory read operation (not including target reg change) */
|
void log_read(State *s, int full_address, int word_value, int size, int log){
|
void log_read(State *s, int full_address, int word_value, int size, int log){
|
if(s->t.log!=NULL && log!=0){
|
if(s->t.log!=NULL && log!=0){
|
Line 811... |
Line 812... |
/** Dump CPU state to console */
|
/** Dump CPU state to console */
|
void show_state(State *s)
|
void show_state(State *s)
|
{
|
{
|
int i,j;
|
int i,j;
|
printf("pid=%d userMode=%d, epc=0x%x\n", s->processId, s->userMode, s->epc);
|
printf("pid=%d userMode=%d, epc=0x%x\n", s->processId, s->userMode, s->epc);
|
|
printf("hi=0x%08x lo=0x%08x\n", s->hi, s->lo);
|
for(i = 0; i < 4; ++i)
|
for(i = 0; i < 4; ++i)
|
{
|
{
|
printf("%2.2d ", i * 8);
|
printf("%2.2d ", i * 8);
|
for(j = 0; j < 8; ++j)
|
for(j = 0; j < 8; ++j)
|
{
|
{
|