From: Vijay Kumar <vijaykumar@bravegnu.org>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH] mipsnet incorrect device ID fix
Date: Fri, 22 Feb 2008 06:16:25 +0530 [thread overview]
Message-ID: <47BE1B61.8080604@bravegnu.org> (raw)
The mipsnet device returns wrong values for device ID, since it returns
the contents of the pointer rather that the contents of the device ID
string. Also the contents of the string is returned such that the order
is host endianess dependent. The patch fixes both these issues.
Signed-off-by: Vijay Kumar B. <vijaykumar@bravegnu.org>
--- qemu-orig/hw/mipsnet.c 2007-12-27 11:18:52.000000000 +0530
+++ qemu-mod/hw/mipsnet.c 2008-02-20 20:23:44.000000000 +0530
@@ -101,6 +101,19 @@
mipsnet_update_irq(s);
}
+static uint32_t bytes_to_int32(const unsigned char *arr)
+{
+ int i;
+ uint32_t ret = 0;
+ int nbytes = sizeof(int32_t);
+
+ for (i = 0; i < nbytes; i++) {
+ ret = ret << 8 | arr[nbytes - 1 - i];
+ }
+
+ return ret;
+}
+
static uint32_t mipsnet_ioport_read(void *opaque, uint32_t addr)
{
MIPSnetState *s = opaque;
@@ -110,10 +123,10 @@
addr &= 0x3f;
switch (addr) {
case MIPSNET_DEV_ID:
- ret = *((uint32_t *)&devid);
+ ret = bytes_to_int32(devid);
break;
case MIPSNET_DEV_ID + 4:
- ret = *((uint32_t *)(&devid + 4));
+ ret = bytes_to_int32(devid + 4);
break;
case MIPSNET_BUSY:
ret = s->busy;
next reply other threads:[~2008-02-22 0:48 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-22 0:46 Vijay Kumar [this message]
2008-03-13 1:09 ` [Qemu-devel] [PATCH] mipsnet incorrect device ID fix Aurelien Jarno
2008-03-13 1:18 ` Paul Brook
2008-03-13 1:54 ` Aurelien Jarno
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=47BE1B61.8080604@bravegnu.org \
--to=vijaykumar@bravegnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).