X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fdevices%2Fgeneric.c;h=1e06a80936776e82baf148edf19c65b3a58d6a1d;hb=9e70ba8a6d2bae61d62c99cbab56753cf1440716;hp=23f00ce753a5eaa932dffc049f6d1d07ba6856e8;hpb=d22c11cec4e8c3390bfe6bf16ed07f5d073f0d4a;p=palacios.git diff --git a/palacios/src/devices/generic.c b/palacios/src/devices/generic.c index 23f00ce..1e06a80 100644 --- a/palacios/src/devices/generic.c +++ b/palacios/src/devices/generic.c @@ -194,14 +194,19 @@ static int generic_read_port_print_and_passthrough(struct guest_info * core, uin rc=generic_read_port_passthrough(core,port,src,length,priv_data); - PrintDebug(core->vm_info, core, " done ... read 0x"); - - for (i = 0; i < rc; i++) { - PrintDebug(core->vm_info, core, "%x", ((uint8_t *)src)[i]); + if (rc<0) { + PrintError(core->vm_info, core, "FAILED\n"); + return rc; + } else { + PrintDebug(core->vm_info, core, " done ... read 0x"); + + for (i = 0; i < rc; i++) { + PrintDebug(core->vm_info, core, "%x", ((uint8_t *)src)[i]); + } + + PrintDebug(core->vm_info, core, "\n"); } - - PrintDebug(core->vm_info, core, "\n"); - + return rc; }