* 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)
|
||||
|
||||
* 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;
|
||||
for (e = s ; e < LINE_SIZE; e++, len++)
|
||||
if (db->state[e] != ENTRY_DIRTY)
|
||||
{
|
||||
/* all bytes from s..s+len-1 need to
|
||||
be written out */
|
||||
int done = 0;
|
||||
while (done < len) {
|
||||
int t = dcache->write_memory (db->addr + s + done,
|
||||
db->data + s + done,
|
||||
len - done);
|
||||
if (t == 0)
|
||||
return 0;
|
||||
done += t;
|
||||
}
|
||||
memset (db->state + s, ENTRY_OK, len);
|
||||
s = e;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
{
|
||||
/* all bytes from s..s+len-1 need to
|
||||
be written out */
|
||||
int done = 0;
|
||||
while (done < len) {
|
||||
int t = dcache->write_memory (db->addr + s + done,
|
||||
db->data + s + done,
|
||||
len - done);
|
||||
if (t == 0)
|
||||
return 0;
|
||||
done += t;
|
||||
}
|
||||
memset (db->state + s, ENTRY_OK, len);
|
||||
s = e;
|
||||
}
|
||||
}
|
||||
}
|
||||
db->anydirty = 0;
|
||||
|
|
Loading…
Reference in New Issue