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

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_47/] [or1ksim/] [cpu/] [common/] [trace.c] - Diff between revs 30 and 221

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

Rev 30 Rev 221
Line 32... Line 32...
 
 
/* Set instruction execution breakpoint. */
/* Set instruction execution breakpoint. */
 
 
void set_insnbrkpoint(unsigned long addr)
void set_insnbrkpoint(unsigned long addr)
{
{
 
  struct mem_entry *entry;
        addr &= 0xfffffffc;     /* 32-bit aligned */
        addr &= 0xfffffffc;     /* 32-bit aligned */
 
 
        if (addr < (MEMORY_START + MEMORY_LEN))
        if (verify_memoryarea(addr) && cur_area->getentry && (entry = cur_area->getentry(addr)))
                if (mem[addr].brk) {
                if (entry->brk) {
                        mem[addr].brk = 0;
                        entry->brk = 0;
                        printf("\nBreakpoint at 0x%.8lx cleared.\n", addr);
                        printf("\nBreakpoint at 0x%.8lx cleared.\n", addr);
                } else {
                } else {
                        mem[addr].brk = 1;
                        entry->brk = 1;
                        printf("\nBreakpoint at 0x%.8lx set.\n", addr);
                        printf("\nBreakpoint at 0x%.8lx set.\n", addr);
                }
                }
        else
        else
                printf("ERROR: Can't set this breakpoint out of memory.\n");
                printf("ERROR: Can't set this breakpoint out of memory.\n");
 
 

powered by: WebSVN 2.1.0

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