[Qemu-devel] [PATCH] Disable the not fully implemented warning for e1000

Julien Duponchelle posted 1 patch 6 years, 11 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20170505125718.18337-1-julien@gns3.net
Test s390x passed
There is a newer version of this series
hw/net/e1000.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
[Qemu-devel] [PATCH] Disable the not fully implemented warning for e1000
Posted by Julien Duponchelle 6 years, 11 months ago
Otherwise for image like CISCO IOSv you got a lot
of warning on the console preventing you to use
the VM because it's slow down the machine.

This fix:
https://bugs.launchpad.net/qemu/+bug/1673722

Signed-off-by: Julien Duponchelle <julien@gns3.net>
---
 hw/net/e1000.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/hw/net/e1000.c b/hw/net/e1000.c
index f2e5072d27..095fd0133f 100644
--- a/hw/net/e1000.c
+++ b/hw/net/e1000.c
@@ -35,6 +35,7 @@
 #include "sysemu/dma.h"
 #include "qemu/iov.h"
 #include "qemu/range.h"
+#include "qemu/log.h"
 
 #include "e1000x_common.h"
 
@@ -1264,8 +1265,9 @@ e1000_mmio_write(void *opaque, hwaddr addr, uint64_t val,
         if (!(mac_reg_access[index] & MAC_ACCESS_FLAG_NEEDED)
             || (s->compat_flags & (mac_reg_access[index] >> 2))) {
             if (mac_reg_access[index] & MAC_ACCESS_PARTIAL) {
-                DBGOUT(GENERAL, "Writing to register at offset: 0x%08x. "
-                       "It is not fully implemented.\n", index<<2);
+                qemu_log_mask(LOG_UNIMP, "e1000: "
+                        "Writing to register at offset: 0x%08x. "
+                        "It is not fully implemented.\n", index << 2);
             }
             macreg_writeops[index](s, index, val);
         } else {    /* "flag needed" bit is set, but the flag is not active */
@@ -1291,8 +1293,9 @@ e1000_mmio_read(void *opaque, hwaddr addr, unsigned size)
         if (!(mac_reg_access[index] & MAC_ACCESS_FLAG_NEEDED)
             || (s->compat_flags & (mac_reg_access[index] >> 2))) {
             if (mac_reg_access[index] & MAC_ACCESS_PARTIAL) {
-                DBGOUT(GENERAL, "Reading register at offset: 0x%08x. "
-                       "It is not fully implemented.\n", index<<2);
+                qemu_log_mask(LOG_UNIMP, "e1000: "
+                        "Reading register at offset: 0x%08x. "
+                        "It is not fully implemented.\n", index << 2);
             }
             return macreg_readops[index](s, index);
         } else {    /* "flag needed" bit is set, but the flag is not active */
-- 
2.11.0 (Apple Git-81)


Re: [Qemu-devel] [PATCH] Disable the not fully implemented warning for e1000
Posted by Philippe Mathieu-Daudé 6 years, 11 months ago
Hi Julien,

On 05/05/2017 09:57 AM, Julien Duponchelle wrote:
> Otherwise for image like CISCO IOSv you got a lot
> of warning on the console preventing you to use
> the VM because it's slow down the machine.
>
> This fix:
> https://bugs.launchpad.net/qemu/+bug/1673722
>
> Signed-off-by: Julien Duponchelle <julien@gns3.net>
> ---
>  hw/net/e1000.c | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/hw/net/e1000.c b/hw/net/e1000.c
> index f2e5072d27..095fd0133f 100644
> --- a/hw/net/e1000.c
> +++ b/hw/net/e1000.c
> @@ -35,6 +35,7 @@
>  #include "sysemu/dma.h"
>  #include "qemu/iov.h"
>  #include "qemu/range.h"
> +#include "qemu/log.h"
>
>  #include "e1000x_common.h"
>
> @@ -1264,8 +1265,9 @@ e1000_mmio_write(void *opaque, hwaddr addr, uint64_t val,
>          if (!(mac_reg_access[index] & MAC_ACCESS_FLAG_NEEDED)
>              || (s->compat_flags & (mac_reg_access[index] >> 2))) {
>              if (mac_reg_access[index] & MAC_ACCESS_PARTIAL) {
> -                DBGOUT(GENERAL, "Writing to register at offset: 0x%08x. "
> -                       "It is not fully implemented.\n", index<<2);
> +                qemu_log_mask(LOG_UNIMP, "e1000: "
> +                        "Writing to register at offset: 0x%08x. "
> +                        "It is not fully implemented.\n", index << 2);

trailing newline is no more necessary.

what about:
                 qemu_log_mask(LOG_UNIMP, "%s: write to unimplemented "
                               "register addr=0x%05x val=0x%08" PRIx64,
                                __func__, index << 2, val);

>              }
>              macreg_writeops[index](s, index, val);
>          } else {    /* "flag needed" bit is set, but the flag is not active */
> @@ -1291,8 +1293,9 @@ e1000_mmio_read(void *opaque, hwaddr addr, unsigned size)
>          if (!(mac_reg_access[index] & MAC_ACCESS_FLAG_NEEDED)
>              || (s->compat_flags & (mac_reg_access[index] >> 2))) {
>              if (mac_reg_access[index] & MAC_ACCESS_PARTIAL) {
> -                DBGOUT(GENERAL, "Reading register at offset: 0x%08x. "
> -                       "It is not fully implemented.\n", index<<2);
> +                qemu_log_mask(LOG_UNIMP, "e1000: "
> +                        "Reading register at offset: 0x%08x. "
> +                        "It is not fully implemented.\n", index << 2);

                 qemu_log_mask(LOG_UNIMP, "%s: read  to unimplemented "
                               "register addr=0x%05x" PRIx64, __func__,
                               index << 2);

>              }
>              return macreg_readops[index](s, index);
>          } else {    /* "flag needed" bit is set, but the flag is not active */
>

Regard,

Phil.

Re: [Qemu-devel] [PATCH] Disable the not fully implemented warning for e1000
Posted by Philippe Mathieu-Daudé 6 years, 11 months ago
Hi Julien,

> On 05/05/2017 09:57 AM, Julien Duponchelle wrote:
>> Otherwise for image like CISCO IOSv you got a lot
>> of warning on the console preventing you to use
>> the VM because it's slow down the machine.
>>
>> This fix:
>> https://bugs.launchpad.net/qemu/+bug/1673722
>>
>> Signed-off-by: Julien Duponchelle <julien@gns3.net>
>> ---
>>  hw/net/e1000.c | 11 +++++++----
>>  1 file changed, 7 insertions(+), 4 deletions(-)
>>
>> diff --git a/hw/net/e1000.c b/hw/net/e1000.c
>> index f2e5072d27..095fd0133f 100644
>> --- a/hw/net/e1000.c
>> +++ b/hw/net/e1000.c
>> @@ -35,6 +35,7 @@
>>  #include "sysemu/dma.h"
>>  #include "qemu/iov.h"
>>  #include "qemu/range.h"
>> +#include "qemu/log.h"
>>
>>  #include "e1000x_common.h"
>>
>> @@ -1264,8 +1265,9 @@ e1000_mmio_write(void *opaque, hwaddr addr,
>> uint64_t val,
>>          if (!(mac_reg_access[index] & MAC_ACCESS_FLAG_NEEDED)
>>              || (s->compat_flags & (mac_reg_access[index] >> 2))) {
>>              if (mac_reg_access[index] & MAC_ACCESS_PARTIAL) {
>> -                DBGOUT(GENERAL, "Writing to register at offset:
>> 0x%08x. "
>> -                       "It is not fully implemented.\n", index<<2);
>> +                qemu_log_mask(LOG_UNIMP, "e1000: "
>> +                        "Writing to register at offset: 0x%08x. "
>> +                        "It is not fully implemented.\n", index << 2);
>
> trailing newline is no more necessary.

I mistaken with error_report(), qemu_log_mask() do use trailing newline, 
sorry!

>
> what about:
>                 qemu_log_mask(LOG_UNIMP, "%s: write to unimplemented "
>                               "register addr=0x%05x val=0x%08" PRIx64,
>                                __func__, index << 2, val);
>
>>              }
>>              macreg_writeops[index](s, index, val);
>>          } else {    /* "flag needed" bit is set, but the flag is not
>> active */
>> @@ -1291,8 +1293,9 @@ e1000_mmio_read(void *opaque, hwaddr addr,
>> unsigned size)
>>          if (!(mac_reg_access[index] & MAC_ACCESS_FLAG_NEEDED)
>>              || (s->compat_flags & (mac_reg_access[index] >> 2))) {
>>              if (mac_reg_access[index] & MAC_ACCESS_PARTIAL) {
>> -                DBGOUT(GENERAL, "Reading register at offset: 0x%08x. "
>> -                       "It is not fully implemented.\n", index<<2);
>> +                qemu_log_mask(LOG_UNIMP, "e1000: "
>> +                        "Reading register at offset: 0x%08x. "
>> +                        "It is not fully implemented.\n", index << 2);
>
>                 qemu_log_mask(LOG_UNIMP, "%s: read  to unimplemented "
>                               "register addr=0x%05x" PRIx64, __func__,
>                               index << 2);
>
>>              }
>>              return macreg_readops[index](s, index);
>>          } else {    /* "flag needed" bit is set, but the flag is not
>> active */
>>
>
> Regard,
>
> Phil.