--- trunk/src/devices/dev_le.c 2007/10/08 16:18:31 11 +++ trunk/src/devices/dev_le.c 2007/10/08 16:18:38 12 @@ -25,7 +25,7 @@ * SUCH DAMAGE. * * - * $Id: dev_le.c,v 1.40 2005/06/26 11:43:48 debug Exp $ + * $Id: dev_le.c,v 1.43 2005/07/27 06:57:34 debug Exp $ * * LANCE ethernet, as used in DECstations. * @@ -93,7 +93,7 @@ int reg_select; uint16_t reg[N_REGISTERS]; - unsigned char sram[SRAM_SIZE]; + unsigned char *sram; /* Initialization block: */ uint32_t init_block_addr; @@ -779,6 +779,13 @@ memset(d, 0, sizeof(struct le_data)); d->irq_nr = irq_nr; + d->sram = malloc(SRAM_SIZE); + if (d->sram == NULL) { + fprintf(stderr, "out of memory\n"); + exit(1); + } + memset(d->sram, 0, SRAM_SIZE); + /* TODO: Are these actually used yet? */ d->len = len; d->buf_start = buf_start; @@ -817,7 +824,8 @@ memory_device_register(mem, "le_sram", baseaddr, SRAM_SIZE, dev_le_sram_access, (void *)d, - MEM_BINTRANS_OK | MEM_BINTRANS_WRITE_OK, d->sram); + MEM_DYNTRANS_OK | MEM_DYNTRANS_WRITE_OK + | MEM_READING_HAS_NO_SIDE_EFFECTS, d->sram); name2 = malloc(nlen); if (name2 == NULL) {