25 |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
26 |
* |
* |
27 |
* |
* |
28 |
* $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 $ |
29 |
* |
* |
30 |
* LANCE ethernet, as used in DECstations. |
* LANCE ethernet, as used in DECstations. |
31 |
* |
* |
93 |
int reg_select; |
int reg_select; |
94 |
uint16_t reg[N_REGISTERS]; |
uint16_t reg[N_REGISTERS]; |
95 |
|
|
96 |
unsigned char sram[SRAM_SIZE]; |
unsigned char *sram; |
97 |
|
|
98 |
/* Initialization block: */ |
/* Initialization block: */ |
99 |
uint32_t init_block_addr; |
uint32_t init_block_addr; |
779 |
memset(d, 0, sizeof(struct le_data)); |
memset(d, 0, sizeof(struct le_data)); |
780 |
d->irq_nr = irq_nr; |
d->irq_nr = irq_nr; |
781 |
|
|
782 |
|
d->sram = malloc(SRAM_SIZE); |
783 |
|
if (d->sram == NULL) { |
784 |
|
fprintf(stderr, "out of memory\n"); |
785 |
|
exit(1); |
786 |
|
} |
787 |
|
memset(d->sram, 0, SRAM_SIZE); |
788 |
|
|
789 |
/* TODO: Are these actually used yet? */ |
/* TODO: Are these actually used yet? */ |
790 |
d->len = len; |
d->len = len; |
791 |
d->buf_start = buf_start; |
d->buf_start = buf_start; |
824 |
|
|
825 |
memory_device_register(mem, "le_sram", baseaddr, |
memory_device_register(mem, "le_sram", baseaddr, |
826 |
SRAM_SIZE, dev_le_sram_access, (void *)d, |
SRAM_SIZE, dev_le_sram_access, (void *)d, |
827 |
MEM_BINTRANS_OK | MEM_BINTRANS_WRITE_OK, d->sram); |
MEM_DYNTRANS_OK | MEM_DYNTRANS_WRITE_OK |
828 |
|
| MEM_READING_HAS_NO_SIDE_EFFECTS, d->sram); |
829 |
|
|
830 |
name2 = malloc(nlen); |
name2 = malloc(nlen); |
831 |
if (name2 == NULL) { |
if (name2 == NULL) { |