projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Automatic date update in version.in
[deliverable/binutils-gdb.git]
/
sim
/
bfin
/
dv-bfin_emac.c
diff --git
a/sim/bfin/dv-bfin_emac.c
b/sim/bfin/dv-bfin_emac.c
index 1abdf9998bcfdcd76abff451596ce3dfcbc4c6a9..07600a6c5f1d49a2307d5aa36d8adac53dde1059 100644
(file)
--- a/
sim/bfin/dv-bfin_emac.c
+++ b/
sim/bfin/dv-bfin_emac.c
@@
-1,6
+1,6
@@
/* Blackfin Ethernet Media Access Controller (EMAC) model.
/* Blackfin Ethernet Media Access Controller (EMAC) model.
- Copyright (C) 2010-201
5
Free Software Foundation, Inc.
+ Copyright (C) 2010-201
9
Free Software Foundation, Inc.
Contributed by Analog Devices, Inc.
This file is part of simulators.
Contributed by Analog Devices, Inc.
This file is part of simulators.
@@
-177,8
+177,10
@@
bfin_emac_io_write_buffer (struct hw *me, const void *source,
bu32 value;
bu32 *valuep;
bu32 value;
bu32 *valuep;
+ /* Invalid access mode is higher priority than missing register. */
/* XXX: 16bit accesses are allowed ... */
/* XXX: 16bit accesses are allowed ... */
- dv_bfin_mmr_require_32 (me, addr, nr_bytes, true);
+ if (!dv_bfin_mmr_require_32 (me, addr, nr_bytes, true))
+ return 0;
value = dv_load_4 (source);
mmr_off = addr - emac->base;
value = dv_load_4 (source);
mmr_off = addr - emac->base;
@@
-263,7
+265,7
@@
bfin_emac_io_write_buffer (struct hw *me, const void *source,
break;
default:
dv_bfin_mmr_invalid (me, addr, nr_bytes, true);
break;
default:
dv_bfin_mmr_invalid (me, addr, nr_bytes, true);
-
break
;
+
return 0
;
}
return nr_bytes;
}
return nr_bytes;
@@
-277,8
+279,10
@@
bfin_emac_io_read_buffer (struct hw *me, void *dest,
bu32 mmr_off;
bu32 *valuep;
bu32 mmr_off;
bu32 *valuep;
+ /* Invalid access mode is higher priority than missing register. */
/* XXX: 16bit accesses are allowed ... */
/* XXX: 16bit accesses are allowed ... */
- dv_bfin_mmr_require_32 (me, addr, nr_bytes, false);
+ if (!dv_bfin_mmr_require_32 (me, addr, nr_bytes, false))
+ return 0;
mmr_off = addr - emac->base;
valuep = (void *)((unsigned long)emac + mmr_base() + mmr_off);
mmr_off = addr - emac->base;
valuep = (void *)((unsigned long)emac + mmr_base() + mmr_off);
@@
-328,7
+332,7
@@
bfin_emac_io_read_buffer (struct hw *me, void *dest,
break;
default:
dv_bfin_mmr_invalid (me, addr, nr_bytes, false);
break;
default:
dv_bfin_mmr_invalid (me, addr, nr_bytes, false);
-
break
;
+
return 0
;
}
return nr_bytes;
}
return nr_bytes;
@@
-409,7
+413,7
@@
bfin_emac_dma_read_buffer (struct hw *me, void *dest, int space,
if (ret < 0)
return 0;
ret += 4; /* include crc */
if (ret < 0)
return 0;
ret += 4; /* include crc */
- pad_ret =
MAX
(ret + 4, 64);
+ pad_ret =
max
(ret + 4, 64);
len = pad_ret;
memcpy (dest, &len, 2);
len = pad_ret;
memcpy (dest, &len, 2);
This page took
0.023511 seconds
and
4
git commands to generate.