qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] ecc804: slirp: Fix type casts and format stri


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] ecc804: slirp: Fix type casts and format strings in debug ...
Date: Thu, 12 Nov 2015 07:00:05 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: ecc804cac31cec6cb90feaa459503afda8b38d09
      
https://github.com/qemu/qemu/commit/ecc804cac31cec6cb90feaa459503afda8b38d09
  Author: Stefan Weil <address@hidden>
  Date:   2015-11-12 (Thu, 12 Nov 2015)

  Changed paths:
    M slirp/bootp.c
    M slirp/if.c
    M slirp/ip_icmp.c
    M slirp/ip_input.c
    M slirp/ip_output.c
    M slirp/mbuf.c
    M slirp/misc.c
    M slirp/sbuf.c
    M slirp/socket.c
    M slirp/tcp_input.c
    M slirp/tcp_output.c
    M slirp/tcp_subr.c
    M slirp/udp.c

  Log Message:
  -----------
  slirp: Fix type casts and format strings in debug code

Casting pointers to long won't work on 64 bit Windows.
It is not needed with the right format strings.

Signed-off-by: Stefan Weil <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 20f3e86362758b5085aa17baa7bc109c858acf67
      
https://github.com/qemu/qemu/commit/20f3e86362758b5085aa17baa7bc109c858acf67
  Author: Leonid Bloch <address@hidden>
  Date:   2015-11-12 (Thu, 12 Nov 2015)

  Changed paths:
    M hw/net/e1000.c
    M hw/net/e1000_regs.h

  Log Message:
  -----------
  e1000: Cosmetic and alignment fixes

This fixes some alignment and cosmetic issues. The changes are made
in order that the following patches in this series will look like
integral parts of the code surrounding them, while conforming to the
coding style. Although some changes in unrelated areas are also made.

Signed-off-by: Leonid Bloch <address@hidden>
Signed-off-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 9e11773417d98fd2ec961568ec2875063b95569b
      
https://github.com/qemu/qemu/commit/9e11773417d98fd2ec961568ec2875063b95569b
  Author: Leonid Bloch <address@hidden>
  Date:   2015-11-12 (Thu, 12 Nov 2015)

  Changed paths:
    M hw/net/e1000.c

  Log Message:
  -----------
  e1000: Add support for migrating the entire MAC registers' array

This patch makes the migration of the entire array of MAC registers
possible during live migration. The entire array is just 128 KB long, so
practically no penalty should be felt when transmitting it, additionally
to the previously transmitted individual registers. The advantage here is
eliminating the need to introduce new vmstate subsections in the future,
when additional MAC registers will be implemented.

Backward compatibility is preserved by introducing a e1000-specific
boolean parameter (in a later patch), which will be on by default.
Setting it to off would enable migration to older versions of QEMU.

Additionally, this parameter will be used to control the access to the
extra MAC registers in the future.

Signed-off-by: Leonid Bloch <address@hidden>
Signed-off-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: bc0f0674f037a01f2ce0870ad6270a356a7a8347
      
https://github.com/qemu/qemu/commit/bc0f0674f037a01f2ce0870ad6270a356a7a8347
  Author: Leonid Bloch <address@hidden>
  Date:   2015-11-12 (Thu, 12 Nov 2015)

  Changed paths:
    M hw/net/e1000.c

  Log Message:
  -----------
  e1000: Introduced an array to control the access to the MAC registers

The array of uint8_t's which is introduced here, contains access metadata
about the MAC registers: if a register is accessible, but partly implemented,
or if a register requires a certain compatibility flag in order to be
accessed. Currently, 6 hypothetical flags are supported (3 exist for e1000
so far) but in the future, if more than 6 flags will be needed, the datatype
of this array can simply be swapped for a larger one.

This patch is intended to solve the following current problems:

1) In a scenario of migration between different versions of QEMU, which
differ by the MAC registers implemented in them, some registers need not to
be active if a compatibility flag is set, in order to preserve the machine's
state perfectly for the older version. Checking this for each register
individually, would create a lot of clutter in the code.

2) Some registers are (or may be) only partly implemented (e.g.
placeholders that allow reading and writing, but lack other functions).
In such cases it is better to print a debug warning on read/write attempts.
As above, dealing with this functionality on a per-register level, would
require longer and more messy code.

Signed-off-by: Leonid Bloch <address@hidden>
Signed-off-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 72ea771c9711cba63686d5d3284bc6645d13f7d2
      
https://github.com/qemu/qemu/commit/72ea771c9711cba63686d5d3284bc6645d13f7d2
  Author: Leonid Bloch <address@hidden>
  Date:   2015-11-12 (Thu, 12 Nov 2015)

  Changed paths:
    M hw/net/e1000.c
    M hw/net/e1000_regs.h

  Log Message:
  -----------
  e1000: Trivial implementation of various MAC registers

These registers appear in Intel's specs, but were not implemented.
These registers are now implemented trivially, i.e. they are initiated
with zero values, and if they are RW, they can be written or read by the
driver, or read only if they are R (essentially retaining their zero
values). For these registers no other procedures are performed.

For the trivially implemented Diagnostic registers, a debug warning is
produced on read/write attempts.

PLEASE NOTE: these registers will not be active, nor will migrate, until
a compatibility flag will be set (in a later patch in this series).

The registers implemented here are:

Transmit:
RW: AIT

Management:
RW: WUC     WUS     IPAV    IP6AT*  IP4AT*  FFLT*   WUPM*   FFMT*   FFVT*

Diagnostic:
RW: RDFH    RDFT    RDFHS   RDFTS   RDFPC   PBM*    TDFH    TDFT    TDFHS
    TDFTS   TDFPC

Statistic:
RW: FCRUC
R:  RNBC    TSCTFC  MGTPRC  MGTPDC  MGTPTC  RFC     RJC     SCC     ECOL
    LATECOL MCC     COLC    DC      TNCRS   SEC     CEXTERR RLEC    XONRXC
    XONTXC  XOFFRXC XOFFTXC

Signed-off-by: Leonid Bloch <address@hidden>
Signed-off-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 1f67f92c4fdf59a98c2fdf67d3e78deba489a370
      
https://github.com/qemu/qemu/commit/1f67f92c4fdf59a98c2fdf67d3e78deba489a370
  Author: Leonid Bloch <address@hidden>
  Date:   2015-11-12 (Thu, 12 Nov 2015)

  Changed paths:
    M hw/net/e1000.c

  Log Message:
  -----------
  e1000: Fixing the received/transmitted packets' counters

According to Intel's specs, these counters (as the other Statistic
registers) stick at 0xffffffff when this maximal value is reached.
Previously, they would reset after the max. value.

Signed-off-by: Leonid Bloch <address@hidden>
Signed-off-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 45e93764711484440e56f580f233009bb3da18bc
      
https://github.com/qemu/qemu/commit/45e93764711484440e56f580f233009bb3da18bc
  Author: Leonid Bloch <address@hidden>
  Date:   2015-11-12 (Thu, 12 Nov 2015)

  Changed paths:
    M hw/net/e1000.c

  Log Message:
  -----------
  e1000: Fixing the received/transmitted octets' counters

Previously, these 64-bit registers did not stick at their maximal
values when (and if) they reached them, as they should do, according to
the specs.

This patch introduces a function that takes care of such registers,
avoiding code duplication, making the relevant parts more compatible
with the QEMU coding style, while ensuring that in the unlikely case
of reaching the maximal value, the counter will stick there, as it
supposed to.

Signed-off-by: Leonid Bloch <address@hidden>
Signed-off-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 4aeea330f022f45d0dabff6090ecbb98755c2116
      
https://github.com/qemu/qemu/commit/4aeea330f022f45d0dabff6090ecbb98755c2116
  Author: Leonid Bloch <address@hidden>
  Date:   2015-11-12 (Thu, 12 Nov 2015)

  Changed paths:
    M hw/net/e1000.c

  Log Message:
  -----------
  e1000: Fixing the packet address filtering procedure

Previously, if promiscuous unicast was enabled, a packet was received
straight away, even if it was a multicast or a broadcast packet. This
patch fixes that behavior, while making the filtering procedure a bit
more human-readable.

Signed-off-by: Leonid Bloch <address@hidden>
Signed-off-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 3b27430177498a1728b6765c70b455900f93d73a
      
https://github.com/qemu/qemu/commit/3b27430177498a1728b6765c70b455900f93d73a
  Author: Leonid Bloch <address@hidden>
  Date:   2015-11-12 (Thu, 12 Nov 2015)

  Changed paths:
    M hw/net/e1000.c

  Log Message:
  -----------
  e1000: Implementing various counters

This implements the following Statistic registers (various counters)
according to Intel's specs:

TSCTC  GOTCL  GOTCH  GORCL  GORCH  MPRC   BPRC   RUC    ROC
BPTC   MPTC   PTC... PRC...

PLEASE NOTE: these registers will not be active, nor will migrate, until
a compatibility flag will be set (in the next patch in this series).

Signed-off-by: Leonid Bloch <address@hidden>
Signed-off-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: ba63ec8594a5dd412182aced07b4bf042403766a
      
https://github.com/qemu/qemu/commit/ba63ec8594a5dd412182aced07b4bf042403766a
  Author: Leonid Bloch <address@hidden>
  Date:   2015-11-12 (Thu, 12 Nov 2015)

  Changed paths:
    M hw/net/e1000.c
    M include/hw/compat.h

  Log Message:
  -----------
  e1000: Introducing backward compatibility command line parameter

This follows the previous patches, where support for migrating the
entire MAC registers' array, and some new MAC registers were introduced.

This patch introduces the e1000-specific boolean parameter
"extra_mac_registers", which is on by default. Setting it to off will
enable migration to older versions of QEMU, but will disable the read
and write access to the new registers, that were introduced since adding
the ability to migrate the entire MAC array.

Example for usage to enable backward compatibility and to disable the
new MAC registers:

    qemu-system-x86_64 -device e1000,extra_mac_registers=off,... ...

As mentioned above, the default value is "on".

Signed-off-by: Leonid Bloch <address@hidden>
Signed-off-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 54c59b4de584b3467166febb4ff84627a2f29a0e
      
https://github.com/qemu/qemu/commit/54c59b4de584b3467166febb4ff84627a2f29a0e
  Author: Vincenzo Maffione <address@hidden>
  Date:   2015-11-12 (Thu, 12 Nov 2015)

  Changed paths:
    M net/netmap.c

  Log Message:
  -----------
  net: netmap: Fix compilation issue

Reorganization of struct NetClientOptions (commit e4ba22b) caused a
compilation failure of the netmap backend. This patch fixes the issue
by properly accessing the union field.

Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Vincenzo Maffione <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 39bec4f38b028a2cff8c38f3455aef44d7b3b6c4
      
https://github.com/qemu/qemu/commit/39bec4f38b028a2cff8c38f3455aef44d7b3b6c4
  Author: Vincenzo Maffione <address@hidden>
  Date:   2015-11-12 (Thu, 12 Nov 2015)

  Changed paths:
    M net/netmap.c

  Log Message:
  -----------
  net: netmap: use error_setg() helpers in place of error_report()

This update was required to align error reporting of netmap backend
initialization to the modifications introduced by commit a30ecde.

Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Vincenzo Maffione <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 17e50a72a3aade0eddfebc012a5d7bdd40a03573
      
https://github.com/qemu/qemu/commit/17e50a72a3aade0eddfebc012a5d7bdd40a03573
  Author: Peter Maydell <address@hidden>
  Date:   2015-11-12 (Thu, 12 Nov 2015)

  Changed paths:
    M hw/net/e1000.c
    M hw/net/e1000_regs.h
    M include/hw/compat.h
    M net/netmap.c
    M slirp/bootp.c
    M slirp/if.c
    M slirp/ip_icmp.c
    M slirp/ip_input.c
    M slirp/ip_output.c
    M slirp/mbuf.c
    M slirp/misc.c
    M slirp/sbuf.c
    M slirp/socket.c
    M slirp/tcp_input.c
    M slirp/tcp_output.c
    M slirp/tcp_subr.c
    M slirp/udp.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/jasowang/tags/net-pull-request' into 
staging

# gpg: Signature made Thu 12 Nov 2015 08:01:55 GMT using RSA key ID 398D6211
# gpg: Good signature from "Jason Wang (Jason Wang on RedHat) <address@hidden>"
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 215D 46F4 8246 689E C77F  3562 EF04 965B 398D 6211

* remotes/jasowang/tags/net-pull-request:
  net: netmap: use error_setg() helpers in place of error_report()
  net: netmap: Fix compilation issue
  e1000: Introducing backward compatibility command line parameter
  e1000: Implementing various counters
  e1000: Fixing the packet address filtering procedure
  e1000: Fixing the received/transmitted octets' counters
  e1000: Fixing the received/transmitted packets' counters
  e1000: Trivial implementation of various MAC registers
  e1000: Introduced an array to control the access to the MAC registers
  e1000: Add support for migrating the entire MAC registers' array
  e1000: Cosmetic and alignment fixes
  slirp: Fix type casts and format strings in debug code

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/df1ac44e9f0c...17e50a72a3aa

reply via email to

[Prev in Thread] Current Thread [Next in Thread]