diff options
author | balrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-04-26 16:04:29 +0000 |
---|---|---|
committer | balrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-04-26 16:04:29 +0000 |
commit | b22205f2f45d5c5ed1e0e0b83cf258352283d6c4 (patch) | |
tree | 35dbf8e6e1949d89f03604a8921194baee13ecc2 /vl.c | |
parent | 47e4ca5abd9679300e78771de923ce9d708467cb (diff) |
Errors while registering ioports are not fatal (Glauber Costa).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4261 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'vl.c')
-rw-r--r-- | vl.c | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -324,13 +324,13 @@ int register_ioport_read(int start, int length, int size, } else if (size == 4) { bsize = 2; } else { - hw_error("register_ioport_read: invalid size"); + fprintf(stderr, "register_ioport_read: invalid size\n"); return -1; } for(i = start; i < start + length; i += size) { ioport_read_table[bsize][i] = func; if (ioport_opaque[i] != NULL && ioport_opaque[i] != opaque) - hw_error("register_ioport_read: invalid opaque"); + fprintf(stderr, "register_ioport_read: invalid opaque\n"); ioport_opaque[i] = opaque; } return 0; @@ -349,13 +349,15 @@ int register_ioport_write(int start, int length, int size, } else if (size == 4) { bsize = 2; } else { - hw_error("register_ioport_write: invalid size"); + fprintf(stderr, "register_ioport_write: invalid size\n"); return -1; } for(i = start; i < start + length; i += size) { ioport_write_table[bsize][i] = func; - if (ioport_opaque[i] != NULL && ioport_opaque[i] != opaque) - hw_error("register_ioport_write: invalid opaque"); + if (ioport_opaque[i] != NULL && ioport_opaque[i] != opaque) { + fprintf(stderr, "register_ioport_write: invalid opaque\n"); + return -1; + } ioport_opaque[i] = opaque; } return 0; |