diff options
author | Miodrag Dinic <miodrag.dinic@imgtec.com> | 2015-03-31 19:43:11 +0200 |
---|---|---|
committer | Miodrag Dinic <miodrag.dinic@imgtec.com> | 2015-06-01 15:23:35 +0200 |
commit | b4cda1b8c90b36bcecd7170cf99a9e269cab1a10 (patch) | |
tree | b6c6925f0cdf5d7370fb4203e709c08fb649eaf0 | |
parent | 3a1d5bcfef75950af05ccf969f44738fadc6a60f (diff) | |
download | qemu-android-b4cda1b8c90b36bcecd7170cf99a9e269cab1a10.tar.gz |
hw/char/goldfish_tty.c: Sign extend addresses for mips
When running 32-bit mips kernel with 64-bit qemu-system-mips64el
addresses coming from this device should be sign-extended to
be properly translated.
Change-Id: Idf513bd4000201f64dcc30e8bf69c24d7640dd3c
Signed-off-by: Miodrag Dinic <miodrag.dinic@imgtec.com>
-rw-r--r-- | hw/char/goldfish_tty.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/char/goldfish_tty.c b/hw/char/goldfish_tty.c index a7aee8c1d2..5525e3f3d6 100644 --- a/hw/char/goldfish_tty.c +++ b/hw/char/goldfish_tty.c @@ -172,7 +172,11 @@ static void goldfish_tty_write(void *opaque, hwaddr offset, uint64_t value, unsi break; case TTY_DATA_PTR: +#if defined(TARGET_MIPS64) + s->ptr = (int32_t)deposit64(s->ptr, 0, 32, value); +#else s->ptr = deposit64(s->ptr, 0, 32, value); +#endif break; case TTY_DATA_PTR_HIGH: |