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

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_49/] [or1ksim/] [cpu/] [common/] [parse.c] - Diff between revs 232 and 242

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

Rev 232 Rev 242
Line 27... Line 27...
#include "dmmu.h"
#include "dmmu.h"
#include "coff.h"
#include "coff.h"
#include "debug_unit.h"
#include "debug_unit.h"
#include "opcode/or32.h"
#include "opcode/or32.h"
#include "parse.h"
#include "parse.h"
 
#include "sim-config.h"
 
 
#define MEMORY_LEN 0x100000000
#define MEMORY_LEN 0x100000000
#define MAXLINE_LEN     18000
#define MAXLINE_LEN     18000
 
 
extern char *disassembled;
extern char *disassembled;
Line 167... Line 168...
                num = eval_label(item);
                num = eval_label(item);
 
 
        debug("adddataword: [0x%x] <= %x\n", translate(freemem,breakpoint), num);
        debug("adddataword: [0x%x] <= %x\n", translate(freemem,breakpoint), num);
        setsim_mem32(translate(freemem,breakpoint), num);
        setsim_mem32(translate(freemem,breakpoint), num);
 
 
        if(!GlobalMode)
         if(config.filename) /* When external debugger loads data, it should not change freemem */
          freemem += 4;
          freemem += 4;
}
}
 
 
void adddatahalf(char *item,int* breakpoint)
void adddatahalf(char *item,int* breakpoint)
{
{
Line 233... Line 234...
/* Added new mode execution code */
/* Added new mode execution code */
/* Changed parameters so address can be passed as argument */
/* Changed parameters so address can be passed as argument */
void addprogram(unsigned long address, unsigned long insn, int* breakpoint)
void addprogram(unsigned long address, unsigned long insn, int* breakpoint)
{
{
  char insn_first2_char[3];
  char insn_first2_char[3];
  int vaddr = GlobalMode ? translate(address,breakpoint) : translate(freemem,breakpoint);
  int vaddr = (!config.filename) ? translate(address,breakpoint) : translate(freemem,breakpoint);
 
 
  debug("addprogram 1\n");
  debug("addprogram 1\n");
 
 
  *breakpoint += CheckDebugUnit(DebugStoreAddress,vaddr);  /* 22/06/01 MM*/
  *breakpoint += CheckDebugUnit(DebugStoreAddress,vaddr);  /* 22/06/01 MM*/
  *breakpoint += CheckDebugUnit(DebugStoreData,insn);
  *breakpoint += CheckDebugUnit(DebugStoreData,insn);
 
 
  setsim_mem32 (vaddr, insn);
  setsim_mem32 (vaddr, insn);
 
 
  if(!GlobalMode)
  if(config.filename)
    freemem += insn_len (insn_decode (insn));
    freemem += insn_len (insn_decode (insn));
}
}
 
 
/* Load big-endian COFF file. At the moment it doesn't load symbols yet. */
/* Load big-endian COFF file. At the moment it doesn't load symbols yet. */
 
 

powered by: WebSVN 2.1.0

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