* dcache.c (dcache_write_line): Write dirty lines right.
This commit is contained in:
parent
ca2329727e
commit
69c626a9aa
|
@ -1,3 +1,7 @@
|
||||||
|
Fri Aug 18 17:48:55 1995 steve chamberlain <sac@slash.cygnus.com>
|
||||||
|
|
||||||
|
* dcache.c (dcache_write_line): Write dirty lines right.
|
||||||
|
|
||||||
Fri Aug 18 06:26:56 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
|
Fri Aug 18 06:26:56 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
|
||||||
|
|
||||||
* sparc-tdep.c (isbranch): Fix typo which caused wrong
|
* sparc-tdep.c (isbranch): Fix typo which caused wrong
|
||||||
|
|
32
gdb/dcache.c
32
gdb/dcache.c
|
@ -230,22 +230,22 @@ dcache_write_line (dcache, db)
|
||||||
int len = 0;
|
int len = 0;
|
||||||
for (e = s ; e < LINE_SIZE; e++, len++)
|
for (e = s ; e < LINE_SIZE; e++, len++)
|
||||||
if (db->state[e] != ENTRY_DIRTY)
|
if (db->state[e] != ENTRY_DIRTY)
|
||||||
{
|
break;
|
||||||
/* all bytes from s..s+len-1 need to
|
{
|
||||||
be written out */
|
/* all bytes from s..s+len-1 need to
|
||||||
int done = 0;
|
be written out */
|
||||||
while (done < len) {
|
int done = 0;
|
||||||
int t = dcache->write_memory (db->addr + s + done,
|
while (done < len) {
|
||||||
db->data + s + done,
|
int t = dcache->write_memory (db->addr + s + done,
|
||||||
len - done);
|
db->data + s + done,
|
||||||
if (t == 0)
|
len - done);
|
||||||
return 0;
|
if (t == 0)
|
||||||
done += t;
|
return 0;
|
||||||
}
|
done += t;
|
||||||
memset (db->state + s, ENTRY_OK, len);
|
}
|
||||||
s = e;
|
memset (db->state + s, ENTRY_OK, len);
|
||||||
break;
|
s = e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
db->anydirty = 0;
|
db->anydirty = 0;
|
||||||
|
|
Loading…
Reference in New Issue