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

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_42/] [or1ksim/] [cpu/] [common/] [abstract.c] - Diff between revs 242 and 251

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

Rev 242 Rev 251
Line 69... Line 69...
        if (verify_memoryarea(i+j)) {
        if (verify_memoryarea(i+j)) {
          struct mem_entry *entry;
          struct mem_entry *entry;
          if (cur_area->getentry && (entry = cur_area->getentry(i+j)))
          if (cur_area->getentry && (entry = cur_area->getentry(i+j)))
            for(tmp = entry->label; tmp; tmp = tmp->next)
            for(tmp = entry->label; tmp; tmp = tmp->next)
              printf(" %s%s", tmp->name, LABELEND_CHAR);
              printf(" %s%s", tmp->name, LABELEND_CHAR);
          printf("%02x ", data = evalsim_mem8(i+j));
          printf("%02x ", data = eval_mem8(i+j, &breakpoint));
        } else printf("XX ");
        } else printf("XX ");
        j++;
        j++;
      } else {
      } else {
        int breakpoint;
        int breakpoint;
        unsigned int _insn = eval_mem32(i, &breakpoint);
        unsigned int _insn = eval_mem32(i, &breakpoint);
Line 362... Line 362...
 
 
  if (verify_memoryarea(memaddr)) {
  if (verify_memoryarea(memaddr)) {
    switch(cur_area->granularity) {
    switch(cur_area->granularity) {
    case 1:
    case 1:
      temp = cur_area->readfunc(memaddr);
      temp = cur_area->readfunc(memaddr);
      temp |= cur_area->readfunc(memaddr + 1) << 16;
 
      temp |= cur_area->readfunc(memaddr + 2) << 8;
 
      temp |= cur_area->readfunc(memaddr + 3);
 
      break;
      break;
    case 2:
    case 2:
    case 4:
    case 4:
      printf("EXCEPTION: read 8-bit value from %u-bit region (address 0x%08lX)\n", cur_area->granularity * 8, memaddr);
      printf("EXCEPTION: read 8-bit value from %u-bit region (address 0x%08lX)\n", cur_area->granularity * 8, memaddr);
      cont_run = 0;
      cont_run = 0;
Line 405... Line 402...
    switch(cur_area->granularity) {
    switch(cur_area->granularity) {
    case 1:
    case 1:
      cur_area->writefunc(memaddr, (value >> 24) & 0xFF);
      cur_area->writefunc(memaddr, (value >> 24) & 0xFF);
      cur_area->writefunc(memaddr + 1, (value >> 16) & 0xFF);
      cur_area->writefunc(memaddr + 1, (value >> 16) & 0xFF);
      cur_area->writefunc(memaddr + 2, (value >> 8) & 0xFF);
      cur_area->writefunc(memaddr + 2, (value >> 8) & 0xFF);
      cur_area->writefunc(memaddr + 3, value & 0xFF);
      cur_area->writefunc(memaddr + 3, (value      ) & 0xFF);
      break;
      break;
    case 2:
    case 2:
      cur_area->writefunc(memaddr, (value >> 16) & 0xFFFF);
      cur_area->writefunc(memaddr, (value >> 16) & 0xFFFF);
      cur_area->writefunc(memaddr + 2, value & 0xFFFF);
      cur_area->writefunc(memaddr + 2, value & 0xFFFF);
      break;
      break;
Line 446... Line 443...
    case 1:
    case 1:
      cur_area->writefunc(memaddr, (value >> 8) & 0xFF);
      cur_area->writefunc(memaddr, (value >> 8) & 0xFF);
      cur_area->writefunc(memaddr + 1, value & 0xFF);
      cur_area->writefunc(memaddr + 1, value & 0xFF);
      break;
      break;
    case 2:
    case 2:
      cur_area->writefunc(memaddr, (value >> 16) & 0xFFFF);
      cur_area->writefunc(memaddr, value & 0xFFFF);
      break;
      break;
    case 4:
    case 4:
      printf("EXCEPTION: write 16-bit value to 32-bit region (address 0x%08lX)\n", memaddr);
      printf("EXCEPTION: write 16-bit value to 32-bit region (address 0x%08lX)\n", memaddr);
      cont_run = 0;
      cont_run = 0;
      break;
      break;

powered by: WebSVN 2.1.0

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