|
Message
From: György 'nog' Jeney<nog@s...>
Date: Fri May 20 20:02:37 CEST 2005
Subject: [openrisc] [or1ksim #88] Remove breakpoint argument to *_direct*
Hi,Changelog says it all. ChangeLog: * Remove useless *breakpoint argument from {set,eval}_direct* functions.
nog. -------------- next part -------------- diff -upr --unidirectional-new-file ./cpu/common/abstract.c /home/nog/or1ksim-ac/cpu/common/abstract.c --- ./cpu/common/abstract.c 2005-05-13 22:05:34.000000000 +0200 +++ /home/nog/or1ksim-ac/cpu/common/abstract.c 2005-05-20 17:51:54.000000000 +0200 @@ -436,8 +436,7 @@ uint32_t eval_mem32(oraddr_t memaddr,int * * STATISTICS OK */ -uint32_t eval_direct32(oraddr_t memaddr, int *breakpoint, int through_mmu, - int through_dc) +uint32_t eval_direct32(oraddr_t memaddr, int through_mmu, int through_dc) { oraddr_t phys_memaddr; struct dev_memarea *mem; @@ -505,23 +504,12 @@ uint32_t eval_insn(oraddr_t memaddr, int * * STATISTICS OK */ -uint32_t eval_insn_direct(oraddr_t memaddr, int* breakpoint, int through_mmu) +uint32_t eval_insn_direct(oraddr_t memaddr, int through_mmu) { - uint32_t temp; - int brk; - if(through_mmu) memaddr = peek_into_itlb(memaddr); - if (config.debug.enabled) - *breakpoint += CheckDebugUnit(DebugLoadAddress, memaddr); - - temp = eval_direct32(memaddr, &brk, 0, 0); - - if (config.debug.enabled) - *breakpoint += CheckDebugUnit(DebugLoadData, temp); - - return temp; + return eval_direct32(memaddr, 0, 0); } @@ -564,8 +552,7 @@ uint16_t eval_mem16(oraddr_t memaddr,int * * STATISTICS OK. */ -uint16_t eval_direct16(oraddr_t memaddr, int *breakpoint, int through_mmu, - int through_dc) +uint16_t eval_direct16(oraddr_t memaddr, int through_mmu, int through_dc) { oraddr_t phys_memaddr; struct dev_memarea *mem; @@ -627,8 +614,7 @@ uint8_t eval_mem8(oraddr_t memaddr,int* * * STATISTICS OK. */ -uint8_t eval_direct8(oraddr_t memaddr, int *breakpoint, int through_mmu, - int through_dc) +uint8_t eval_direct8(oraddr_t memaddr, int through_mmu, int through_dc) { oraddr_t phys_memaddr; struct dev_memarea *mem; @@ -763,8 +749,8 @@ void set_mem32(oraddr_t memaddr, uint32_ /* * STATISTICS NOT OK. */ -void set_direct32(oraddr_t memaddr, uint32_t value,int* breakpoint, - int through_mmu, int through_dc) +void set_direct32(oraddr_t memaddr, uint32_t value, int through_mmu, + int through_dc) { oraddr_t phys_memaddr; struct dev_memarea *mem; @@ -836,8 +822,8 @@ void set_mem16(oraddr_t memaddr, uint16_ /* * STATISTICS NOT OK. */ -void set_direct16(oraddr_t memaddr, uint16_t value, int* breakpoint, - int through_mmu, int through_dc) +void set_direct16(oraddr_t memaddr, uint16_t value, int through_mmu, + int through_dc) { oraddr_t phys_memaddr; struct dev_memarea *mem; @@ -903,8 +889,8 @@ void set_mem8(oraddr_t memaddr, uint8_t /* * STATISTICS NOT OK. */ -void set_direct8(oraddr_t memaddr, uint8_t value, int* breakpoint, - int through_mmu, int through_dc) +void set_direct8(oraddr_t memaddr, uint8_t value, int through_mmu, + int through_dc) { oraddr_t phys_memaddr; struct dev_memarea *mem; @@ -959,7 +945,6 @@ void dumpmemory(oraddr_t from, oraddr_t oraddr_t i, j; struct label_entry *tmp; int ilen = disasm ? 4 : 16;
- int breakpoint;
for(i = from; i < to; i += ilen) {
PRINTF("%"PRIxADDR": ", i);
@@ -971,11 +956,11 @@ void dumpmemory(oraddr_t from, oraddr_t
entry = get_label(i + j);
if (entry)
PRINTF("(%s)", entry->name);
- PRINTF("%02"PRIx8" ", eval_direct8(i + j, &breakpoint, 0, 0));
+ PRINTF("%02"PRIx8" ", eval_direct8(i + j, 0, 0));
} else PRINTF("XX ");
j++;
} else {
- uint32_t _insn = eval_direct32(i, &breakpoint, 0, 0);
+ uint32_t _insn = eval_direct32(i, 0, 0);
int index = insn_decode (_insn);
int len = insn_len (index);
diff -upr --unidirectional-new-file ./cpu/common/abstract.h /home/nog/or1ksim-ac/cpu/common/abstract.h
--- ./cpu/common/abstract.h 2005-05-13 22:05:34.000000000 +0200
+++ /home/nog/or1ksim-ac/cpu/common/abstract.h 2005-05-20 17:52:28.000000000 +0200
@@ -133,15 +133,15 @@ char *generate_time_pretty (char *dest,
/* Returns 32-bit values from mem array. */
uint32_t eval_insn(oraddr_t, int *);
-uint32_t eval_insn_direct(oraddr_t memaddr, int* breakpoint, int through_mmu);
+uint32_t eval_insn_direct(oraddr_t memaddr, int through_mmu);
-uint8_t eval_direct8(oraddr_t memaddr, int *breakpoint, int through_mmu, int through_dc);
-uint16_t eval_direct16(oraddr_t memaddr, int *breakpoint, int through_mmu, int through_dc);
-uint32_t eval_direct32(oraddr_t addr, int *breakpoint, int through_mmu, int through_dc);
-
-void set_direct8(oraddr_t, uint8_t, int *, int, int);
-void set_direct16(oraddr_t, uint16_t, int *, int, int);
-void set_direct32(oraddr_t, uint32_t, int *, int, int);
+uint8_t eval_direct8(oraddr_t memaddr, int through_mmu, int through_dc);
+uint16_t eval_direct16(oraddr_t memaddr, int through_mmu, int through_dc);
+uint32_t eval_direct32(oraddr_t addr, int through_mmu, int through_dc);
+
+void set_direct8(oraddr_t, uint8_t, int, int);
+void set_direct16(oraddr_t, uint16_t, int, int);
+void set_direct32(oraddr_t, uint32_t, int, int);
/* Same as set_direct32, but it also writes to memory that is non-writeable to
* the rest of the sim. Used to do program loading. */
diff -upr --unidirectional-new-file ./cpu/common/parse.c /home/nog/or1ksim-ac/cpu/common/parse.c
--- ./cpu/common/parse.c 2005-05-13 22:05:34.000000000 +0200
+++ /home/nog/or1ksim-ac/cpu/common/parse.c 2005-05-20 17:53:42.000000000 +0200
@@ -94,7 +94,6 @@ char *strstrip (char *dst, const char *s
static oraddr_t translate(oraddr_t laddr,int* breakpoint)
{
int i;
- int brkp;
/* No translation (i.e. when loading kernel into simulator) */
/* PRINTF("transl_table=%x laddr=%x\n", transl_table, laddr);
@@ -104,34 +103,33 @@ static oraddr_t translate(oraddr_t laddr
/* Try to find our translation in the table. */
for(i = 0; i < (MEMORY_LEN / PAGE_SIZE) * 16; i += 16)
- if ((laddr & ~(PAGE_SIZE - 1)) == eval_direct32(transl_table + i,
- &brkp, 0, 0)) {
+ if ((laddr & ~(PAGE_SIZE - 1)) == eval_direct32(transl_table + i, 0, 0)) {
/* Page modified */
- set_direct32(transl_table + i + 8, -2, &brkp, 0, 0);
+ set_direct32(transl_table + i + 8, -2, 0, 0);
PRINTF("found paddr=%"PRIx32"\n",
- eval_direct32(transl_table + i + 4, &brkp, 0, 0) |
+ eval_direct32(transl_table + i + 4, 0, 0) |
(laddr & (PAGE_SIZE - 1)));
- return (oraddr_t)eval_direct32(transl_table + i + 4, &brkp, 0, 0) |
+ return (oraddr_t)eval_direct32(transl_table + i + 4, 0, 0) |
(laddr & (oraddr_t)(PAGE_SIZE - 1));
}
/* Allocate new phy page for us. */
for(i = 0; i < (MEMORY_LEN / PAGE_SIZE) * 16; i += 16)
- if (eval_direct32(transl_table + i + 8, &brkp, 0, 0) == 0) {
+ if (eval_direct32(transl_table + i + 8, 0, 0) == 0) {
/* VPN */
- set_direct32(transl_table + i, laddr & ~(PAGE_SIZE - 1), &brkp, 0, 0);
+ set_direct32(transl_table + i, laddr & ~(PAGE_SIZE - 1), 0, 0);
/* PPN */
- set_direct32(transl_table + i + 4, (i/16) * PAGE_SIZE, &brkp, 0, 0);
+ set_direct32(transl_table + i + 4, (i/16) * PAGE_SIZE, 0, 0);
/* Page modified */
- set_direct32(transl_table + i + 8, -2, &brkp, 0, 0);
+ set_direct32(transl_table + i + 8, -2, 0, 0);
PRINTF("newly allocated ppn=%"PRIx32"\n",
- eval_direct32(transl_table + i + 4, &brkp, 0, 0));
+ eval_direct32(transl_table + i + 4, 0, 0));
PRINTF("newly allocated .ppn=%"PRIxADDR"\n", transl_table + i + 4);
PRINTF("newly allocated ofs=%"PRIxADDR"\n", (laddr & (PAGE_SIZE - 1)));
PRINTF("newly allocated paddr=%"PRIx32"\n",
- eval_direct32(transl_table + i + 4, &brkp, 0, 0) |
+ eval_direct32(transl_table + i + 4, 0, 0) |
(laddr & (PAGE_SIZE - 1)));
- return (oraddr_t)eval_direct32(transl_table + i + 4, &brkp, 0, 0) |
+ return (oraddr_t)eval_direct32(transl_table + i + 4, 0, 0) |
(laddr & (oraddr_t)(PAGE_SIZE - 1));
}
/* If we come this far then all phy memory is used and we can't find our page
diff -upr --unidirectional-new-file ./cpu/or32/dyn_rec_stubs.c /home/nog/or1ksim-ac/cpu/or32/dyn_rec_stubs.c
--- ./cpu/or32/dyn_rec_stubs.c 2005-05-13 22:05:34.000000000 +0200
+++ /home/nog/or1ksim-ac/cpu/or32/dyn_rec_stubs.c 2005-05-20 17:49:24.000000000 +0200
@@ -191,13 +191,12 @@ int immu_ex_from_insn;
oraddr_t pcprev;
/* FIXME: eval_insn should become this */
-uint32_t eval_insn_direct(oraddr_t memaddr, int* breakpoint, int through_mmu)
+uint32_t eval_insn_direct(oraddr_t memaddr, int through_mmu)
{
return 0;
}
-uint32_t eval_direct32(oraddr_t memaddr, int *breakpoint, int through_mmu,
- int through_dc)
+uint32_t eval_direct32(oraddr_t memaddr, int through_mmu, int through_dc)
{
return 0;
}
diff -upr --unidirectional-new-file ./cpu/or32/execute.c /home/nog/or1ksim-ac/cpu/or32/execute.c
--- ./cpu/or32/execute.c 2005-05-12 19:07:19.000000000 +0200
+++ /home/nog/or1ksim-ac/cpu/or32/execute.c 2005-05-20 17:48:30.000000000 +0200
@@ -442,7 +442,6 @@ void dump_exe_log (void)
oraddr_t insn_addr = cpu_state.iqueue.insn_addr;
unsigned int i, j;
uorreg_t operand;
- int breakpoint;
if (insn_addr == 0xffffffff) return;
if ((config.sim.exe_log_start <= runtime.cpu.instructions) &&
@@ -457,11 +456,11 @@ void dump_exe_log (void)
fprintf (runtime.sim.fexe_log, "\nEXECUTED(%11llu): %"PRIxADDR": ",
runtime.cpu.instructions, insn_addr);
fprintf (runtime.sim.fexe_log, "%.2x%.2x",
- eval_direct8(insn_addr, &breakpoint, 0, 0),
- eval_direct8(insn_addr + 1, &breakpoint, 0, 0));
+ eval_direct8(insn_addr, 0, 0),
+ eval_direct8(insn_addr + 1, 0, 0));
fprintf (runtime.sim.fexe_log, "%.2x%.2x",
- eval_direct8(insn_addr + 2, &breakpoint, 0, 0),
- eval_direct8(insn_addr + 3, &breakpoint, 0 ,0));
+ eval_direct8(insn_addr + 2, 0, 0),
+ eval_direct8(insn_addr + 3, 0 ,0));
for(i = 0; i < MAX_GPRS; i++) {
if (i % 4 == 0)
fprintf(runtime.sim.fexe_log, "\n");
diff -upr --unidirectional-new-file ./cuc/cuc.c /home/nog/or1ksim-ac/cuc/cuc.c
--- ./cuc/cuc.c 2005-05-12 19:07:19.000000000 +0200
+++ /home/nog/or1ksim-ac/cuc/cuc.c 2005-05-20 17:54:04.000000000 +0200
@@ -482,8 +482,7 @@ unsigned long extract_function (char *ou
assert (fo = fopen (out_fn, "wt+"));
do {
- int breakpoint;
- unsigned long d = eval_direct32 (a, &breakpoint, 0, 0);
+ unsigned long d = eval_direct32 (a, 0, 0);
int index = insn_decode (d);
assert (index >= 0);
if (x) x++;
diff -upr --unidirectional-new-file ./debug/debug_unit.c /home/nog/or1ksim-ac/debug/debug_unit.c
--- ./debug/debug_unit.c 2005-03-31 16:39:43.000000000 +0200
+++ /home/nog/or1ksim-ac/debug/debug_unit.c 2005-05-20 17:57:03.000000000 +0200
@@ -405,7 +421,7 @@ int debug_set_mem (unsigned int address,
else {
// circumvent the read-only check usually done for mem accesses
// data is in host order, because that's what set_direct32 needs
- set_direct32(address, data, NULL, 0, 0);
+ set_direct32(address, data, 0, 0);
}
return err;
}
@@ -418,7 +434,7 @@ int debug_get_mem(unsigned int address,u
err = JTAG_PROXY_INVALID_ADDRESS;
else
{
- *data=eval_direct32(address, NULL, 0, 0);
+ *data=eval_direct32(address, 0, 0);
}
debug (2, "MEMREAD (%08x) = %08lx\n", address, *data);
return err;
diff -upr --unidirectional-new-file ./peripheral/dma.c /home/nog/or1ksim-ac/peripheral/dma.c
--- ./peripheral/dma.c 2005-05-13 22:05:34.000000000 +0200
+++ /home/nog/or1ksim-ac/peripheral/dma.c 2005-05-20 17:56:19.000000000 +0200
@@ -239,7 +239,6 @@ void dma_write_ch_csr( struct dma_channe
*/
void dma_channel_clock( void *dat )
{
- int breakpoint = 0;
struct dma_channel *channel = dat;
/* Do we need to abort? */
@@ -292,9 +291,8 @@ void dma_channel_clock( void *dat )
}
/* Transfer one word */
- set_direct32( channel->destination, eval_direct32( channel->source,
- &breakpoint, 0, 0 ),
- &breakpoint, 0, 0 );
+ set_direct32( channel->destination, eval_direct32( channel->source, 0, 0 ),
+ 0, 0 );
/* Advance the source and destionation pointers */
masked_increase( &(channel->source), channel->source_mask );
@@ -325,8 +323,7 @@ void dma_channel_clock( void *dat )
/* Copy relevant valued from linked list descriptor to channel registers */
void dma_load_descriptor( struct dma_channel *channel )
{
- int breakpoint = 0;
- unsigned long desc_csr = eval_direct32( channel->regs.desc + DMA_DESC_CSR, &breakpoint, 0, 0 );
+ unsigned long desc_csr = eval_direct32( channel->regs.desc + DMA_DESC_CSR, 0, 0 );
channel->load_next_descriptor_when_done = !TEST_FLAG( desc_csr, DMA_DESC_CSR, EOL );
@@ -337,11 +334,11 @@ void dma_load_descriptor( struct dma_cha
SET_FIELD( channel->regs.sz, DMA_CH_SZ, TOT_SZ, GET_FIELD( desc_csr, DMA_DESC_CSR, TOT_SZ ) );
- channel->regs.a0 = eval_direct32( channel->regs.desc + DMA_DESC_ADR0, &breakpoint, 0, 0 );
- channel->regs.a1 = eval_direct32( channel->regs.desc + DMA_DESC_ADR1, &breakpoint, 0, 0 );
+ channel->regs.a0 = eval_direct32( channel->regs.desc + DMA_DESC_ADR0, 0, 0 );
+ channel->regs.a1 = eval_direct32( channel->regs.desc + DMA_DESC_ADR1, 0, 0 );
channel->current_descriptor = channel->regs.desc;
- channel->regs.desc = eval_direct32( channel->regs.desc + DMA_DESC_NEXT, &breakpoint, 0, 0 );
+ channel->regs.desc = eval_direct32( channel->regs.desc + DMA_DESC_NEXT, 0, 0 );
}
diff -upr --unidirectional-new-file ./peripheral/eth.c /home/nog/or1ksim-ac/peripheral/eth.c
--- ./peripheral/eth.c 2005-05-13 22:05:34.000000000 +0200
+++ /home/nog/or1ksim-ac/peripheral/eth.c 2005-05-20 18:03:53.000000000 +0200
@@ -78,7 +78,6 @@ static void eth_write_tx_bd_num( struct
void eth_controller_tx_clock( void *dat )
{
struct eth_device *eth = dat;
- int breakpoint = 0;
int bAdvance = 1;
#if HAVE_ETH_PHY
struct sockaddr_ll sll;
@@ -157,7 +156,7 @@ void eth_controller_tx_clock( void *dat
case ETH_TXSTATE_READFIFO:
#if 1
if ( eth->tx.bytes_sent < eth->tx.packet_length ) {
- read_word = eval_direct32(eth->tx.bytes_sent + eth->tx.bd_addr, &breakpoint, 0, 0);
+ read_word = eval_direct32(eth->tx.bytes_sent + eth->tx.bd_addr, 0, 0);
eth->tx_buff[eth->tx.bytes_sent] = (unsigned char)(read_word >> 24);
eth->tx_buff[eth->tx.bytes_sent+1] = (unsigned char)(read_word >> 16);
eth->tx_buff[eth->tx.bytes_sent+2] = (unsigned char)(read_word >> 8);
@@ -166,7 +165,7 @@ void eth_controller_tx_clock( void *dat
}
#else
if ( eth->tx.bytes_sent < eth->tx.packet_length ) {
- eth->tx_buff[eth->tx.bytes_sent] = eval_direct8(eth->tx.bytes_sent + eth->tx.bd_addr, &breakpoint, 0, 0);
+ eth->tx_buff[eth->tx.bytes_sent] = eval_direct8(eth->tx.bytes_sent + eth->tx.bd_addr, 0, 0);
eth->tx.bytes_sent += 1;
}
#endif
@@ -250,7 +249,6 @@ void eth_controller_tx_clock( void *dat
void eth_controller_rx_clock( void *dat )
{
struct eth_device *eth = dat;
- int breakpoint = 0;
long nread;
unsigned long send_word;
@@ -393,14 +391,14 @@ void eth_controller_rx_clock( void *dat
((unsigned long)eth->rx_buff[eth->rx.bytes_read+1] << 16) |
((unsigned long)eth->rx_buff[eth->rx.bytes_read+2] << 8) |
((unsigned long)eth->rx_buff[eth->rx.bytes_read+3] );
- set_direct32( eth->rx.bd_addr + eth->rx.bytes_read, send_word, &breakpoint, 0, 0);
+ set_direct32( eth->rx.bd_addr + eth->rx.bytes_read, send_word, 0, 0);
/* update counters */
TRACE ("Write %ld, left %ld - %08lXd\n", eth->rx.bytes_read,
eth->rx.bytes_left, send_word);
eth->rx.bytes_left -= 4;
eth->rx.bytes_read += 4;
#else
- set_direct8( eth->rx.bd_addr + eth->rx.bytes_read, eth->rx_buff[eth->rx.bytes_read], &breakpoint, 0, 0);
+ set_direct8( eth->rx.bd_addr + eth->rx.bytes_read, eth->rx_buff[eth->rx.bytes_read], 0, 0);
eth->rx.bytes_left -= 1;
eth->rx.bytes_read += 1;
#endif
diff -upr --unidirectional-new-file ./peripheral/fb.c /home/nog/or1ksim-ac/peripheral/fb.c
--- ./peripheral/fb.c 2005-05-13 22:05:34.000000000 +0200
+++ /home/nog/or1ksim-ac/peripheral/fb.c 2005-05-20 17:54:41.000000000 +0200
@@ -182,11 +182,10 @@ static int fb_dump_image8 (struct fb_sta
int align = (4 - sx) % 4;
int zero = CNV32(0);
int add;
- int breakpoint;
while (align < 0) align += 4;
for (x = 0; x < sx; x++) {
add = (fb->addr & ~(FB_WRAP - 1)) | ((fb->addr + y * sx + x) & (FB_WRAP - 1));
- fputc (eval_direct8 (add, &breakpoint, 0, 0), fo);
+ fputc (eval_direct8 (add, 0, 0), fo);
}
if (align && !fwrite (&zero, align, 1, fo)) return 1;
}
@@ -207,8 +206,6 @@ static int fb_dump_image24 (struct fb_st
unsigned short int u16;
unsigned long int u32;
- int breakpoint;
-
if (config.sim.verbose) PRINTF ("Creating %s...", filename);
fo = fopen (filename, "wb+");
u16 = CNV16(19778); /* BM */
@@ -250,13 +247,13 @@ static int fb_dump_image24 (struct fb_st
for (x = 0; x < sx; x++)
if (y >= fb->cameray && x >= fb->camerax && y < fb->cameray + CAM_SIZEY && x < fb->camerax + CAM_SIZEX) {
int add = (fb->cam_addr + (x - fb->camerax + (y - fb->cameray) * CAM_SIZEX) * 2) ^ 2;
- unsigned short d = eval_direct16 (add, &breakpoint, 0, 0);
+ unsigned short d = eval_direct16 (add, 0, 0);
line[x][0] = ((d >> 0) & 0x1f) << 3; /* Blue */
line[x][1] = ((d >> 5) & 0x3f) << 2; /* Green */
line[x][2] = ((d >> 11) & 0x1f) << 3; /* Red */
} else {
int add = (fb->addr & ~(FB_WRAP - 1)) | ((fb->addr + y * sx + x) & (FB_WRAP - 1));
- unsigned short d = fb->pal[eval_direct8 (add, &breakpoint, 0, 0)];
+ unsigned short d = fb->pal[eval_direct8 (add, 0, 0)];
line[x][0] = ((d >> 0) & 0x1f) << 3; /* Blue */
line[x][1] = ((d >> 5) & 0x3f) << 2; /* Green */
line[x][2] = ((d >> 11) & 0x1f) << 3; /* Red */
diff -upr --unidirectional-new-file ./peripheral/vga.c /home/nog/or1ksim-ac/peripheral/vga.c
--- ./peripheral/vga.c 2005-05-13 22:05:34.000000000 +0200
+++ /home/nog/or1ksim-ac/peripheral/vga.c 2005-05-20 17:56:37.000000000 +0200
@@ -186,8 +186,7 @@ static int vga_dump_image (char *filenam
int align = 4 - ((bpp + 1) * sx) % 4;
int zero = 0;
for (x = 0; x < sx; x++) {
- int breakpoint;
- unsigned long pixel = eval_direct32 (vga->vbar[vga->vbindex] + (y * sx + x) * (bpp + 1), &breakpoint, 0, 0);
+ unsigned long pixel = eval_direct32 (vga->vbar[vga->vbindex] + (y * sx + x) * (bpp + 1), 0, 0);
if (!fwrite (&pixel, sizeof (pixel), 1, fo)) return 1;
}
if (!fwrite (&zero, align, 1, fo)) return 1;
diff -upr --unidirectional-new-file ./sim-cmd.c /home/nog/or1ksim-ac/sim-cmd.c
--- ./sim-cmd.c 2005-05-12 19:07:19.000000000 +0200
+++ /home/nog/or1ksim-ac/sim-cmd.c 2005-05-20 17:57:47.000000000 +0200
@@ -93,7 +93,6 @@ extern char *disassembled;
static void debugmem( oraddr_t from, oraddr_t to )
{
int i;
- int breakpoint;
PRINTF("starting to dump mem...\n");
for(i=from; i<to; ) {
struct label_entry *entry;
@@ -103,7 +102,7 @@ static void debugmem( oraddr_t from, ora
if (verify_memoryarea(i) && (entry = get_label(i)))
PRINTF("label: %s |", entry->name);
- insn = eval_direct32(i, &breakpoint, 0, 0);
+ insn = eval_direct32(i, 0, 0);
disassemble_insn (insn);
PRINTF("%08x %s\n", insn, disassembled);
i += 4;
@@ -264,7 +263,6 @@ static int sim_cmd_cm(int argc, char **a
{
static oraddr_t from = 0, to = 0;
static unsigned int size = 0;
- int breakpoint;
int i;
if(argc >= 2) {
@@ -289,8 +287,7 @@ static int sim_cmd_cm(int argc, char **a
}
for(i = 0; i < size; i += 4)
- set_direct32(to + i, eval_direct32(from + i, &breakpoint, 0, 0),
- &breakpoint, 0, 0);
+ set_direct32(to + i, eval_direct32(from + i, 0, 0), 0, 0);
return 0;
}
diff -upr --unidirectional-new-file ./support/dumpverilog.c /home/nog/or1ksim-ac/support/dumpverilog.c
--- ./support/dumpverilog.c 2005-05-12 19:07:19.000000000 +0200
+++ /home/nog/or1ksim-ac/support/dumpverilog.c 2005-05-20 18:03:07.000000000 +0200
@@ -52,13 +52,12 @@ void dumpverilog(char *verilog_modname,
unsigned int i, done = 0;
struct label_entry *tmp;
char dis[DISWIDTH + 100];
- int breakpoint;
PRINTF("// This file was generated by or1ksim %s\n", rcsrev);
PRINTF(OR1K_MEM_VERILOG_HEADER(verilog_modname, from/DWQ, to/DWQ, (DISWIDTH*8)));
for(i = from; i < to; i++)
{
- unsigned int _insn = eval_direct32 (i, &breakpoint, 0, 0);
+ unsigned int _insn = eval_direct32 (i, 0, 0);
int index = insn_decode(_insn);
if (index >= 0)
{
@@ -67,7 +66,7 @@ void dumpverilog(char *verilog_modname,
PRINTF("\n//\t%s%s", tmp->name, LABELEND_CHAR);
PRINTF("\n\tmem['h%x] = %d'h%.8"PRIx32";", i/DWQ, DW,
- eval_direct32(i, &breakpoint, 0, 0));
+ eval_direct32(i, 0, 0));
disassemble_insn (_insn);
strcpy (dis, disassembled);
@@ -83,7 +82,7 @@ void dumpverilog(char *verilog_modname,
PRINTF("\n");
PRINTF("\n\tmem['h%x] = 'h%.2x;", i/DWQ,
- eval_direct8(i, &breakpoint, 0, 0));
+ eval_direct8(i, 0, 0));
}
done = 1;
}
@@ -102,11 +101,11 @@ void dumpverilog(char *verilog_modname,
PRINTF("\n%.8x: ", i);
/* don't print ascii chars below 0x20. */
- if (eval_direct32(i, &breakpoint, 0, 0) < 0x20)
- PRINTF("0x%.2x ", (uint8_t)eval_direct32(i, &breakpoint, 0, 0));
+ if (eval_direct32(i, 0, 0) < 0x20)
+ PRINTF("0x%.2x ", (uint8_t)eval_direct32(i, 0, 0));
else
- PRINTF("0x%.2x'%c' ", (uint8_t)eval_direct32(i, &breakpoint, 0, 0),
- (char)eval_direct32(i, &breakpoint, 0, 0));
+ PRINTF("0x%.2x'%c' ", (uint8_t)eval_direct32(i, 0, 0),
+ (char)eval_direct32(i, 0, 0));
}
PRINTF(OR1K_MEM_VERILOG_FOOTER);
}
@@ -114,18 +113,17 @@ void dumpverilog(char *verilog_modname,
void dumphex(unsigned int from, unsigned int to)
{
unsigned int i;
- int breakpoint;
for(i = from; i < to; i++) {
- unsigned int _insn = eval_direct32 (i, &breakpoint, 0, 0);
+ unsigned int _insn = eval_direct32 (i, 0, 0);
int index = insn_decode(_insn);
if (index >= 0)
{
- PRINTF("%.8"PRIx32"\n", eval_direct32(i, &breakpoint, 0, 0));
+ PRINTF("%.8"PRIx32"\n", eval_direct32(i, 0, 0));
i += insn_len(index) - 1;
}
else
- PRINTF("%.2x\n", eval_direct8(i, &breakpoint, 0, 0));
+ PRINTF("%.2x\n", eval_direct8(i, 0, 0));
}
}
diff -upr --unidirectional-new-file ./support/simprintf.c /home/nog/or1ksim-ac/support/simprintf.c
--- ./support/simprintf.c 2005-03-31 16:39:44.000000000 +0200
+++ /home/nog/or1ksim-ac/support/simprintf.c 2005-05-20 17:59:44.000000000 +0200
@@ -49,13 +49,12 @@ char *simgetstr(oraddr_t stackaddr, unsi
{
oraddr_t fmtaddr;
int i;
- int breakpoint = 0;
fmtaddr = regparam;
i = 0;
- while (eval_direct8(fmtaddr,&breakpoint,1,0) != '\0') {
- fmtstr[i++] = eval_direct8(fmtaddr,&breakpoint,1,0);
+ while (eval_direct8(fmtaddr,1,0) != '\0') {
+ fmtstr[i++] = eval_direct8(fmtaddr,1,0);
fmtaddr++;
if (i == FMTLEN - 1)
break;
@@ -68,7 +67,6 @@ char *simgetstr(oraddr_t stackaddr, unsi
void simprintf(oraddr_t stackaddr, unsigned long regparam)
{
FILE *f;
- int breakpoint = 0;
simgetstr(stackaddr, regparam);
@@ -100,7 +98,7 @@ void simprintf(oraddr_t stackaddr, unsig
int string = 0;
debug(6, " 3");
#if STACK_ARGS
- arg = eval_direct32(argaddr,&breakpoint,1,0);
+ arg = eval_direct32(argaddr,1,0);
argaddr += 4;
#else
{
@@ -121,14 +119,14 @@ void simprintf(oraddr_t stackaddr, unsig
if (string) {
int len = 0;
char *str;
- for(; eval_direct8(arg++,&breakpoint,1,0); len++);
+ for(; eval_direct8(arg++,1,0); len++);
len++; /* for null char */
arg -= len;
str = (char *)malloc(len);
len = 0;
- for(; eval_direct8(arg,&breakpoint,1,0); len++)
- *(str+len) = eval_direct8(arg++,&breakpoint,1,0);
- *(str+len) = eval_direct8(arg,&breakpoint,1,0); /* null ch */
+ for(; eval_direct8(arg,1,0); len++)
+ *(str+len) = eval_direct8(arg++,1,0);
+ *(str+len) = eval_direct8(arg,1,0); /* null ch */
debug(6, "4a: len=%d str=%s\n", len, str);
debug(6, "4b:");
fprintf(f, fmtstrpart, str);
--- cpu/or32/dyn_rec.c 2005-04-27 19:39:32.000000000 +0200
+++ /home/nog/or1ksim-split/cpu/or32/dyn_rec.c 2005-05-20 18:17:05.000000000 +0200
@@ -460,7 +460,6 @@
/* Runs the scheduler. Called from except_handler (and dirtyfy_page below) */
void run_sched_out_of_line(int add_normal)
{
- int brk;
oraddr_t pc = get_pc();
if(!cpu_state.ts_current)
@@ -468,7 +467,7 @@
if(add_normal && do_stats) {
cpu_state.iqueue.insn_addr = pc;
- cpu_state.iqueue.insn = eval_insn_direct(pc, &brk, 1);
+ cpu_state.iqueue.insn = eval_insn_direct(pc, 1);
cpu_state.iqueue.insn_index = insn_decode(cpu_state.iqueue.insn);
runtime.cpu.instructions++;
analysis(&cpu_state.iqueue);
|
 |