From bdb897f00375ae1311a3ac82d97901f2c9cbb244 Mon Sep 17 00:00:00 2001 From: trix Date: Sat, 15 Jun 2002 11:01:34 +0000 Subject: [PATCH] Fix for transfers across segments. --- sim/d10v/ChangeLog | 4 ++++ sim/d10v/interp.c | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/sim/d10v/ChangeLog b/sim/d10v/ChangeLog index 91d71f3f51..b5343d61d1 100644 --- a/sim/d10v/ChangeLog +++ b/sim/d10v/ChangeLog @@ -1,3 +1,7 @@ +2002-06-13 Tom Rix + + * interp.c (xfer_mem): Fix transfers across multiple segments. + 2002-06-09 Andrew Cagney * Makefile.in (INCLUDE): Update path to callback.h. diff --git a/sim/d10v/interp.c b/sim/d10v/interp.c index e465a809d0..0f7295dc23 100644 --- a/sim/d10v/interp.c +++ b/sim/d10v/interp.c @@ -715,7 +715,7 @@ xfer_mem (SIM_ADDR virt, { int xfered = 0; - while (xfered < size) + while (0 < size) { uint8 *memory; unsigned long phys; @@ -754,9 +754,10 @@ xfer_mem (SIM_ADDR virt, virt += phys_size; buffer += phys_size; xfered += phys_size; + size -= phys_size; } - return size; + return xfered; } -- 2.11.0